【发布时间】:2011-11-04 13:39:53
【问题描述】:
我正在尝试让 Java 客户端与 WCF wshttpbinding WebService 进行通信。但到目前为止,我一直没有成功。呼叫挂起,或者我得到:“SOAPFaultException:无法处理消息。这很可能是因为操作“http://tempuri.org/ISampleService/GetServiceName”不正确,或者因为消息包含无效或过期的安全上下文令牌,或者因为绑定之间不匹配。如果服务由于不活动而中止通道,则安全上下文令牌将无效。为了防止服务过早中止空闲会话,增加服务端点绑定的接收超时。”
我的 Web 服务只是默认的 Visual Studio 2010 生成的“WCF 服务库模板”。
我的 java 客户端是在 netBeans 7.0.1 中生成的,存根是使用新的 Other --> Web Services --> Web Service Client 生成的,我正在引用本地 WSDL。
我尝试添加 WebServiceFeature wsAddressing = new AddressingFeature(true);在生成的存根中,但它只是抛出上面的异常。
我看到其他人也有类似的问题;但是,我没有看到任何真正的解决方案。任何建议将不胜感激。
【问题讨论】:
-
WsHttpBinding默认使用带有 SSPI 协商和安全对话的消息安全性。 -
我在这方面也花了很多时间,但我还没有找到任何解决方案。 Glassfish 应该支持 WS 安全性,但我无法得到任何工作。
-
@Jeff 你找到解决方案了吗?我面临着完全相同的问题。
标签: java wcf web-services java-metro-framework wshttpbinding