java - 客户端和服务器之间不匹配 - Soap

标签 java web-services soap weblogic jax-ws

服务器正在 Content-Type 上运行:Text/xml(soap 1.1),而客户端尝试使用 application/soap+xml(soap 1.2) 进行通信。这引发了以下 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

那么有什么办法可以解决这个问题吗?

Web 服务是部署在 Weblogic 服务器配置上的 jax-ws Web 服务。我们希望通过更改客户端代码来解决该问题。

我们如何确保服务器soap同时接受1.1和1.2请求

最佳答案

从 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

关于java - 客户端和服务器之间不匹配 - Soap,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24938472/

相关文章:

SoapUI 端点随机错误

java - 要 SOAP,还是不要 SOAP?就是那个问题

java - 我应该使用什么数据存储来在我的应用程序中存储歌词?

java - 如何在 Android 中以编程方式检查蓝牙网络共享状态

java - 什么是NullPointerException,我该如何解决?

c# - 为什么 Visual Studio 2012 生成的 Web 服务代理类以小写字母开头?

javascript - 网络服务和asp

java - 使用 Jersey 添加新资源

java - 自定义服务器 SOAP 故障字符串

java - 无法从类 io.netty.channel.sctp.nio.NioSctpChannel 创建 channel