我有一个生成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响应吗?
答案 0 :(得分:0)
SOAP消息的最可能预期HTTP Content-Type
标头为application/soap+xml
(请参阅XML SOAP)。
您获得的异常源自SOAP服务容器,表示Content-Type
标头的值为text/html
。我认为SOAP UI为您设置了正确的请求标头值。
您的代码发送的标头值似乎是默认值。您应该检查服务器的预期Content-Type
值是什么,并使用框架/库来设置它。