SOAP响应显示错误-SAAJ Java

时间:2017-11-26 11:21:21

标签: java xml web-services soap saaj

我有一个生成SOAP请求的函数。我可以在SOAP UI工具中运行请求并获取它。

我正在创建像这样的SOAPMessage

MessageFactory messageFactory = MessageFactory.newInstance();
SOAPMessage soapMessage = messageFactory.createMessage();
MimeHeaders headers = soapMessage.getMimeHeaders();
headers.removeAllHeaders();
headers.addHeader("Content-Type", "text/xml");
SOAPPart soapPart = soapMessage.getSOAPPart();

当我打电话

SOAPMessage soapResponse = soapConnection.call(soapMessage, url);

得到此错误:

  

严重:SAAJ0537:内容类型无效。可能是错误消息而不是SOAP消息   com.sun.xml.internal.messaging.saaj.SOAPExceptionImpl:com.sun.xml.internal.messaging.saaj.SOAPExceptionImpl:Invalid Content-Type:text / html。这是一条错误消息而不是SOAP响应吗?

你可以帮忙解决一下吗? 这是否意味着连接无法建立??

1 个答案:

答案 0 :(得分:0)

SOAP消息的最可能预期HTTP Content-Type标头为application/soap+xml(请参阅XML SOAP)。

您获得的异常源自SOAP服务容器,表示Content-Type标头的值为text/html。我认为SOAP UI为您设置了正确的请求标头值。

您的代码发送的标头值似乎是默认值。您应该检查服务器的预期Content-Type值是什么,并使用框架/库来设置它。