如何在soapUI中获取请求的HTTP标头信息?

问题描述

我正在使用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”中获取字节数组时,我需要添加编码选项。