客户端和服务器之间不匹配 - 肥皂

时间:2014-07-24 15:52:52

标签: java web-services soap weblogic jax-ws

当客户端尝试使用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请求

1 个答案:

答案 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

https://community.jboss.org/thread/158841