Ok well the error here is that the STS you are using does not support
Renew, or it is not configured. The CXF client will then fall back to
getting a new token via "issue".

Colm.

On Tue, Jan 27, 2015 at 4:09 PM, Laci Gaspar <[email protected]> wrote:

> I rebuilt the sts with cxf 2.7.14 and I get this: (I am sending a
> directory full of files to a server)
>
> Every time the token expires there is an Error in the log, but no
> exception is thrown:
> Jan 27, 2015 5:03:23 PM org.apache.cxf.ws.security.policy.interceptors.
> IssuedTokenInterceptorProvider$IssuedTokenOutInterceptor renewToken
> Warnung: Error renewing a token
> org.apache.cxf.binding.soap.SoapFault: Implementation for this operation
> not found.
>     at org.apache.cxf.binding.soap.interceptor.Soap11FaultInInterceptor.
> unmarshalFault(Soap11FaultInInterceptor.java:84)
>     at org.apache.cxf.binding.soap.interceptor.Soap11FaultInInterceptor.
> handleMessage(Soap11FaultInInterceptor.java:51)
>     at org.apache.cxf.binding.soap.interceptor.Soap11FaultInInterceptor.
> handleMessage(Soap11FaultInInterceptor.java:40)
>     at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(
> PhaseInterceptorChain.java:272)
>     at org.apache.cxf.interceptor.AbstractFaultChainInitiatorObs
> erver.onMessage(AbstractFaultChainInitiatorObserver.java:113)
>     at org.apache.cxf.binding.soap.interceptor.CheckFaultInterceptor.
> handleMessage(CheckFaultInterceptor.java:69)
>     at org.apache.cxf.binding.soap.interceptor.CheckFaultInterceptor.
> handleMessage(CheckFaultInterceptor.java:34)
>     at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(
> PhaseInterceptorChain.java:272)
>     at org.apache.cxf.endpoint.ClientImpl.onMessage(ClientImpl.java:849)
>     at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.
> handleResponseInternal(HTTPConduit.java:1626)
>     at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.
> handleResponse(HTTPConduit.java:1515)
>     at org.apache.cxf.transport.http.HTTPConduit$
> WrappedOutputStream.close(HTTPConduit.java:1318)
>     at org.apache.cxf.transport.AbstractConduit.close(
> AbstractConduit.java:56)
>     at org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.
> java:632)
>     at org.apache.cxf.interceptor.MessageSenderInterceptor$
> MessageSenderEndingInterceptor.handleMessage(
> MessageSenderInterceptor.java:62)
>     at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(
> PhaseInterceptorChain.java:272)
>     at org.apache.cxf.endpoint.ClientImpl.doInvoke(ClientImpl.java:572)
>     at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:481)
>     at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:382)
>     at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:335)
>     at org.apache.cxf.ws.security.trust.AbstractSTSClient.renew(
> AbstractSTSClient.java:1066)
>     at org.apache.cxf.ws.security.trust.STSClient.
> renewSecurityToken(STSClient.java:82)
>     at org.apache.cxf.ws.security.policy.interceptors.
> IssuedTokenInterceptorProvider$IssuedTokenOutInterceptor.renewToken(
> IssuedTokenInterceptorProvider.java:439)
>     at org.apache.cxf.ws.security.policy.interceptors.
> IssuedTokenInterceptorProvider$IssuedTokenOutInterceptor.handleMessage(
> IssuedTokenInterceptorProvider.java:156)
>     at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(
> PhaseInterceptorChain.java:272)
>     at org.apache.cxf.endpoint.ClientImpl.doInvoke(ClientImpl.java:572)
>     at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:481)
>     at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:382)
>     at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:335)
>     at org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:96)
>     at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(
> JaxWsClientProxy.java:136)
>     at com.sun.proxy.$Proxy42.submitInvoice(Unknown Source)
>     at ch.curabill.msp.service.invoicedelivery.client.
> InvoiceDeliveryClient.submitDocument(InvoiceDeliveryClient.java:216)
>     at ch.curabill.msp.service.invoicedelivery.client.
> InvoiceDeliveryClient.main(InvoiceDeliveryClient.java:138)
>
>
>
> but then before all files are sent I get an exception:
> Jan 27, 2015 5:04:23 PM org.apache.cxf.ws.addressing.soap.MAPCodec
> restoreExchange
> Warnung: Response message does not contain WS-Addressing properties.  Not
> correlating response.
> Jan 27, 2015 5:04:23 PM org.apache.cxf.ws.security.wss4j.WSS4JInInterceptor
> handleMessage
> Warnung: Request does not contain Security header, but it's a fault.
> Jan 27, 2015 5:04:23 PM org.apache.cxf.ws.addressing.ContextUtils
> retrieveMAPs
> Warnung: WS-Addressing - failed to retrieve Message Addressing Properties
> from context
> javax.xml.ws.soap.SOAPFaultException: General security error (SAML token
> security failure)
>     at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(
> JaxWsClientProxy.java:158)
>     at com.sun.proxy.$Proxy42.submitInvoice(Unknown Source)
>     at ch.curabill.msp.service.invoicedelivery.client.
> InvoiceDeliveryClient.submitDocument(InvoiceDeliveryClient.java:216)
>     at ch.curabill.msp.service.invoicedelivery.client.
> InvoiceDeliveryClient.main(InvoiceDeliveryClient.java:138)
> Caused by: org.apache.cxf.binding.soap.SoapFault: General security error
> (SAML token security failure)
>     at org.apache.cxf.binding.soap.interceptor.Soap11FaultInInterceptor.
> unmarshalFault(Soap11FaultInInterceptor.java:84)
>     at org.apache.cxf.binding.soap.interceptor.Soap11FaultInInterceptor.
> handleMessage(Soap11FaultInInterceptor.java:51)
>     at org.apache.cxf.binding.soap.interceptor.Soap11FaultInInterceptor.
> handleMessage(Soap11FaultInInterceptor.java:40)
>     at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(
> PhaseInterceptorChain.java:272)
>     at org.apache.cxf.interceptor.AbstractFaultChainInitiatorObs
> erver.onMessage(AbstractFaultChainInitiatorObserver.java:113)
>     at org.apache.cxf.binding.soap.interceptor.CheckFaultInterceptor.
> handleMessage(CheckFaultInterceptor.java:69)
>     at org.apache.cxf.binding.soap.interceptor.CheckFaultInterceptor.
> handleMessage(CheckFaultInterceptor.java:34)
>     at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(
> PhaseInterceptorChain.java:272)
>     at org.apache.cxf.endpoint.ClientImpl.onMessage(ClientImpl.java:849)
>     at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.
> handleResponseInternal(HTTPConduit.java:1626)
>     at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.
> handleResponse(HTTPConduit.java:1515)
>     at org.apache.cxf.transport.http.HTTPConduit$
> WrappedOutputStream.close(HTTPConduit.java:1318)
>     at org.apache.cxf.transport.AbstractConduit.close(
> AbstractConduit.java:56)
>     at org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.
> java:632)
>     at org.apache.cxf.interceptor.MessageSenderInterceptor$
> MessageSenderEndingInterceptor.handleMessage(
> MessageSenderInterceptor.java:62)
>     at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(
> PhaseInterceptorChain.java:272)
>     at org.apache.cxf.endpoint.ClientImpl.doInvoke(ClientImpl.java:572)
>     at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:481)
>     at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:382)
>     at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:335)
>     at org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:96)
>     at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(
> JaxWsClientProxy.java:136)
>     ... 3 more
>
>
> Any idea?
>
> Thanks
> Laci
>
> On 27.01.2015 16:45, Colm O hEigeartaigh wrote:
>
>> Token renewing is, or should be, supported. However, maybe there is some
>> other issue that is causing the problem.
>>
>> Colm.
>>
>> On Tue, Jan 27, 2015 at 3:37 PM, Laci Gaspar <[email protected]> wrote:
>>
>>  Thanks for your quick answer, Colm.
>>> Are you saying, that with a more recent version of CXF the token should
>>> be
>>> renewed automatically?
>>>
>>> Thanks,
>>> Laci
>>>
>>> On 27.01.2015 16:34, Colm O hEigeartaigh wrote:
>>>
>>>  Could you try with a more recent version of CXF? There have been a bunch
>>>> of
>>>> issues fixed in relation to renewing tokens since the 2.7.7 release.
>>>>
>>>> Colm.
>>>>
>>>> On Tue, Jan 27, 2015 at 3:26 PM, Laci Gaspar <[email protected]> wrote:
>>>>
>>>>   Hi
>>>>
>>>>> We are using an sts (cxf 2.7.7) to issue saml 2 tokens for our
>>>>> webservices.
>>>>>
>>>>> Our WS Clients are instantiated by spring. Something like this:
>>>>>
>>>>>           SpringBusFactory bf = new SpringBusFactory();
>>>>>           URL busFile = new ClassPathResource("wssec-
>>>>> client.xml").getURL();
>>>>>
>>>>>           Bus bus = bf.createBus(busFile.toString());
>>>>>           SpringBusFactory.setDefaultBus(bus);
>>>>>           SpringBusFactory.setThreadDefaultBus(bus);
>>>>>
>>>>>           Service service = Service.create(wsdlURL, SERVICE_NAME);
>>>>>           while (true) {
>>>>>               Greeter port = service.getPort(PORT_NAME, Greeter.class);
>>>>>           }
>>>>>
>>>>>
>>>>> After the token expires I receive an exception calling the WS. Can
>>>>> anybody
>>>>> please help me with how I renew the token after it expires?
>>>>>
>>>>> Any help is most appreciated.
>>>>>
>>>>> Thanks,
>>>>> Laci
>>>>>
>>>>>
>>>>>
>>>>>
>>
>


-- 
Colm O hEigeartaigh

Talend Community Coder
http://coders.talend.com

Reply via email to