soapUI中如何获取请求的httpheaders信息?

How to get http headers information of request in soapUI?

我正在使用 Java 1.8 使用肥皂服务。这是创建消息和调用服务的相关代码:

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 object 的字符串复制到 soapUI。 soapUI 能够成功连接到服务器并执行创建操作。

我的代码有没有错误?另外,如何获取从 soapUI 发出的 http headers 的详细信息?

谢谢,

亚历克斯

在 SoapUI 中,您可以在测试中看到 'raw request' 请求步骤。

从 SoapUI 发出 API 调用并获得响应后,您应该能够看到 'Raw' 选项卡。这准确显示了 SoapUI 发送到 Web 服务的内容,包括 headers.

注意,我刚刚在 SoapUI 5.6.0(免费版)中检查过这个。

事实证明,当我从“createString”获取字节数组时,我需要添加编码选项。