0

我在 SOAPUI 中有这样的请求消息:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"    xmlns:service="www.xxxxx.xx">
<soapenv:Header>
  <service:SessionInfo>
    <service:UserPassword>?</service:UserPassword>
 </service:SessionInfo></soapenv:Header> 
<soapenv:Body>
 <service:Method1>
 <!--Optional:-->
 <service:Arguments>
    <service:Parameter1>?</service:Parameter1>
    <service:Parameter2>?</service:Parameter2>
    <!--Optional:-->
    <service:Parameter3>?</service:Parameter3>
    <!--Optional:-->
    <service:Parameter4>?</service:Parameter4>
 </service:Arguments>
 </service:Method1></soapenv:Body></soapenv:Envelope>

我在用 Java 发送此 wsdl 的标头消息时遇到问题。我成功地用 C# 和 SOAPUI 发送了请求消息。我能够在 C# 中查看部分类,即 SOAPUI 中的 soapenv:Header。在 Java 中导入 wsdl 后,我无法查看部分类。我必须在 Java 中做一些不同的事情吗?

谢谢。

4

1 回答 1

0

通常您会使用一个库来调用 SOAP 端点,例如axis2。

这篇博客文章展示了如何使用这个库设置标题。

MessageContext responseMessageContext =
       MessageContext.getCurrentMessageContext().getOperationContext().getMessageContext(
               WSDLConstants.MESSAGE_LABEL_OUT_VALUE);
List headers = new ArrayList();
headers.add(new Header(HTTPConstants.HEADER_CONTENT_ENCODING, "identity"));
responseMessageContext.setProperty(HTTPConstants.HTTP_HEADERS, headers);
于 2013-10-22T08:19:51.963 回答