问题描述
我正在使用Java 1.8使用Soap服务。这是创建消息并调用服务的相关代码:
String URLString = "https://endpoint url";
URL url = new URL(URLString);
SOAPConnectionFactory factory = SOAPConnectionFactory.newInstance();
SOAPConnection soapConn = factory.createConnection();
InputStream is = new ByteArrayInputStream(createString.getBytes());
SOAPMessage request= MessageFactory.newInstance().createMessage(null,is);
MimeHeaders headers = request.getMimeHeaders();
headers.addHeader("SOAPAction","Create");
request.saveChanges();
SOAPMessage response = soapConn.call(request,url);
....
服务器以500:server错误响应,因此我将用于创建SOAPMessage对象的字符串复制到soapUI。 soapUI能够成功连接到服务器并执行创建操作。
我的代码是否包含任何错误?另外,如何获取从soapUI发送的http标头的详细信息?
谢谢
亚历克斯
解决方法
在SoapUI中,您可以在测试中看到请求步骤的“原始请求”。
从SoapUI进行API调用并获得响应后,您应该能够看到“原始”标签。这正好显示了SoapUI发送到Web服务的内容,包括标题。
注意,我刚刚在SoapUI 5.6.0(免费版本)中进行了检查。
,事实证明,当我从“ createString”中获取字节数组时,我需要添加编码选项。