当客户端尝试使用application / soap + xml(soap 1.2)进行通信时,服务器正在Content-Type:Text / xml(soap 1.1)上运行。这是抛出http错误
HTTP/1.1 415 Unsupported Media Type
Date: Thu, 24 Jul 2014 15:35:02 GMT
Content-Length: 0
X-Powered-By: Servlet/3.0 JSP/2.2
那么有什么方法可以解决这个问题吗?
webservice是在weblogic服务器配置上部署的jax-ws webservice。我们希望通过更改客户端代码来解决问题。
我们如何确保服务器soap接受1.1和1.2请求
答案 0 :(得分:1)
因为weblogic 9.2(甚至可能在之前)都是Soap 1.1。和Soap 1.2受支持。您可以在Oracle Docs
中查看相关文档您最终必须将应用程序本身更改为支持1.2,因为1.1是默认值。特别是通过更改weblogic.jws.Binding
喜欢:
package examples.webservices.soap12;
...
import javax.jws.WebMethod;
import javax.jws.WebService;
import weblogic.jws.Binding;
@WebService(name="SOAP12PortType",
serviceName="SOAP12Service",
targetNamespace="http://example.org")
@Binding(Binding.Type.SOAP12)
public class SOAP12Impl {
@WebMethod()
public String sayHello(String message) {
...
}
}
关于如何支持两者,还有一些其他好的例子,你可能必须实现两次方法并更改你的WSDL以列出两个实现。将这些视为良好来源:
http://blog.allanglen.com/2010/04/wcf-interoperability-with-soap-1-1-and-soap-1-2-clients