11

我正在尝试让 Java 客户端与 WCF wshttpbinding WebService 进行通信。但我无法这样做。电话要么挂起,要么我得到“musunderstoodheader excetions”。

我的 Web 服务只是默认的 Visual Studio 生成的“WCF 服务库模板”。

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

当我将绑定更改为 BasicHttpBinding 时,一切正常。

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

建议?想法?JAX-WS 2.0 是否仅部分支持 WsHttpBinding?

4

2 回答 2

14

您的问题是JAX-WS不支持 wsHttpBinding 中使用的相同 WS 协议。您需要改用WSIT。WSIT 可作为Metro库的一部分使用,该库也可在Glassfish上使用。

我建议尽可能使用 wsHttpBinding 或 ws2007HttpBinding,但您仍然可以使用 basicHttpBinding over SSL/Transport Auth 提供相当安全的服务。

于 2010-01-29T17:26:13.990 回答
0

我会仔细检查您的 WCF 配置并删除所有身份验证、授权等属性。请记住,默认情况下,WCF 将在使用安全传输/绑定时安全地公开您的服务。因此,除非您将 Java 客户端配置为满足这些安全要求,否则它很可能无法进行身份验证,并且您不会看到两者相反。

一旦你让两个人说话,逐步添加每个安全元素,直到你的 Java 客户端配置正确。

于 2009-07-16T23:46:15.603 回答