0

我有一个非常令人沮丧的问题。我有一个使用 JAX WS 注释和 Endpoint.publish(...) 技巧创建的 Web 服务。当然,它使用 com.sun.net.HttpServer。当我尝试在 Visual Studio 中添加服务引用时,它不会让步。服务员说:

不支持的内容类型:仅接受 text/xml

但是 .net 使用 application/soap+xml 内容类型询问。

如何更改 jax ws 中的内容类型?或者,我如何更改 Visual Studio 添加参考的内容类型。

谢谢你。这非常令人沮丧!

4

1 回答 1

2

谷歌搜索后,我发现...

你好,

我已经解决了这个问题。

'application/soap+xml' 是用于 SOAP 1.2 消息的内容类型,而 text/xml 用于 SOAP 1.1。因此,客户端发送 SOAP 1.2 请求,而服务只需要 SOAP 1.1。

Metro 默认使用 SOAP 1.1。这里解释了如何启用 SOAP 1.2 绑定: - http://forums.java.net/jive/thread.jspa?messageID=322894 - https://metro.dev.java.net/1.4/docs/soap12.html

参考。希望这可以帮助 :)

编辑:尝试以下注释...

@WebService 
@BindingType(javax.xml.ws.soap.SOAPBinding.SOAP12HTTP_BINDING) 

或者

Endpoint endpoint = Endpoint.create("http://java.sun.com/xml/ns/jaxws/2003/05/soap/bindings/HTTP/", impl); 
endpoint.publish("http://localhost:9080/PatientDiscovery"); 
于 2011-01-10T15:57:40.363 回答