我正在为使用 SOAP 的 WCF Web 服务创建一个带有 CXF 2.7.0 的 java 客户端。
我使用了 wsdl2java 工具来生成与 Web 服务通信所需的类。
我的问题是,在端点绑定上的 Web 服务中,reliableSession 已启用,因此当我尝试使用 cxf 向 Web 服务发送消息时,我得到了
Oct 19, 2012 1:11:59 AM org.apache.cxf.ws.rm.Proxy invoke
INFO: Sending out-of-band RM protocol message {http://schemas.xmlsoap.org/ws/2005/02/rm}CreateSequence.
Oct 19, 2012 1:11:59 AM org.apache.cxf.phase.PhaseInterceptorChain doDefaultLogging
WARNING: Interceptor for {http://schemas.xmlsoap.org/ws/2005/02/rm}SequenceAbstractService#{http://schemas.xmlsoap.org/ws/2005/02/rm}CreateSequence has thrown exception, unwinding now
org.apache.cxf.interceptor.Fault: Could not send Message.
at org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:64)
at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:271)
at org.apache.cxf.endpoint.ClientImpl.doInvoke(ClientImpl.java:531)
at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:464)
at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:376)
at org.apache.cxf.ws.rm.Proxy.invoke(Proxy.java:287)
at org.apache.cxf.ws.rm.Proxy.createSequence(Proxy.java:183)
at org.apache.cxf.ws.rm.RMManager.getSequence(RMManager.java:448)
at org.apache.cxf.ws.rm.RMOutInterceptor.handle(RMOutInterceptor.java:152)
at org.apache.cxf.ws.rm.AbstractRMInterceptor.handleMessage(AbstractRMInterceptor.java:83)
at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:271)
at org.apache.cxf.endpoint.ClientImpl.doInvoke(ClientImpl.java:531)
at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:464)
at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:367)
at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:320)
at org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:89)
at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:134)
at .........
有谁知道如何在 CXF 中启用可靠会话?