有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java传输级别信息与SOAP消息命名空间URI不匹配

我得到了错误"Transport level information does not match with SOAP Message namespace URI"。请您提供解决问题的详细信息

我已经在客户端设置了以下选项

HttpTransportProperties.ProxyProperties proxyProperties = new HttpTransportProperties.ProxyProperties();
proxyProperties.setProxyName(proxyAddress);
proxyProperties.setProxyPort(proxyPort);
stub._getServiceClient().getOptions().setProperty(HTTPConstants.CHUNKED,Boolean.FALSE);
stub._getServiceClient().getOptions().setProperty(HTTPConstants.PROXY, proxyProperties);
stub._getServiceClient().getOptions().setProperty(HTTPConstants.HEADER_CONTENT_TYPE,"application/soap+xml");
stub._getServiceClient().getOptions().setProperty("type","application/soap+xml");
stub._getServiceClient().getOptions().setProperty(HTTPConstants.HEADER_SOAP_ACTION, Action_URL);
stub._getServiceClient().getOptions().setProperty ( HTTPConstants.HTTP_PROTOCOL_VERSION, HTTPConstants.HEADER_PROTOCOL_11 ) ;
stub._getServiceClient().getOptions().setProperty ( "Transfer-Encoding", "chunked" ) ;
stub._getServiceClient().getOptions().setProperty(HTTPConstants.REUSE_HTTP_CLIENT, "true");

你能帮我解决这个问题吗


共 (2) 个答案

  1. # 1 楼答案

    如果接收到的消息的内容类型与SOAP版本(由SOAP信封的命名空间URI确定)不匹配,则会发生该错误。例如,如果Axis2接收到内容类型为text/xml的SOAP 1.2消息,它将触发该错误

  2. # 2 楼答案

    Joe-如果您遇到这个错误,那么我假设您正在尝试访问一个非常旧的服务,并且您可能正在使用Axis 2.0版。您将无法通过使用Axis或CXF创建客户端来调用该服务。我花了好几天时间想弄明白这一点。最终,我使用SAAJ API创建请求WSDL并将其发布到服务

    这很容易,并且让你远离试图弄清楚RPC/文字/文档样式等

    看这篇帖子——Post