我正在尝试使用 JAX-WS 使用 Exchange 2010 Web 服务接口。我正在使用 JAX-WS 2.2 RI (Metro 2.0)。2.1 出现了同样的问题。
我遇到了 Exchange 的问题,它返回“HTTP/1.1 415 无法处理消息,因为内容类型 'text/xml;charset=utf-8' 不是预期的类型 'text/xml;charset=utf-8' 。” 作为响应(2.1 引用了字符集值,否则相同的响应)。
显然,我需要指定确切的 Content-type 标头才能让 Exchange 满意。
有没有办法让我在不强迫我手动重建依赖项的情况下做到这一点?我目前依赖于已发布的 Maven 工件,如果可能的话,我希望继续这样做。
消费进程是一个常规的 J2SE 应用程序,看不到容器。我可以控制应用程序,并且可以向应用程序范围添加几乎所有需要的东西,但不能添加像代理服务器这样的进程外项目。客户端类是从本地 WSDL 生成的,但字符集规范派生自 jaxws RI 实现中声明的常量,而不是生成的代码。因此,生成的 HTTP 传输由 Sun JRE5 或 JRE6 的标准 http/https 客户端处理。