在Java中使用WCF WsHttpBinding WebService

vic*_*csz 11 java wcf web-services wcf-binding wshttpbinding

我正在尝试让Java客户端与WCF wshttpbinding WebService进行通信.但我无法这样做.电话会挂起,或者我得到"musunderstoodheader expcetions".

我的Web服务只是默认的Visual Studio生成的"WCF服务库模板".

我的Web服务客户端只是一个空白的IntelliJ项目,使用"添加Web服务客户端"生成相应的存根(指定的Web服务平台是JAX-WS 2.X).

当我将绑定更改为BasicHttpBinding时,一切都完美无瑕.

我尝试过使用WsHttpBinding配置,包括关闭安全性,但我没有成功.

建议?想法?WAXHttpBinding仅部分支持JAX-WS 2.0吗?

Ran*_*pho 14

您的问题是JAX-WS不支持wsHttpBinding中使用的相同WS协议.您需要使用WSIT.WSIT作为Metro库的一部分提供,也可以在Glassfish上获得.

我建议尽可能使用wsHttpBinding或ws2007HttpBinding,但您仍然可以使用基于SSL/Transport Auth的basicHttpBinding进行相当安全的服务.