我正在使用我的webservice(我使用jax ws,jboss应用服务器版本4.0.4,用于实现Web服务的EJB),当我开始使用它的人开始测试我的web服务时,所有对我来说还可以,但他们的软件是错误的
{"The content type text/xml;charset=UTF-8 of the response message does not match the content type of the binding (application/soap+xml; charset=utf-8). If using a custom encoder, be sure that the IsContentTypeSupported method is implemented properly}
。
对我来说,看起来我的网络服务使用soap 1.1而不是soap 1.2,是否可以通过我班级的jax ws注释来设置它?我找到了@BindingType
注释并尝试在我的EJB类中使用@BindingType(SOAPBinding.SOAP12HTTP_BINDING)
,但是wsdl仍然和以前一样,内容类型没有改变。非常感谢
答案 0 :(得分:0)
我认为这不是SOAP版本的问题。
Exchange Server对charset规范非常挑剔。它必须是charset=utf-8
,小写且没有引号。我不得不覆盖我的SOAP代码添加到SOAP调用中的默认charset="utf-8"
。
我无法帮助你如何在Java中执行此覆盖,因为我在Delphi中工作。也许另一位读者可以编辑我的答案,并用适当的指令替换最后一段用Java。