在Java中与SOAPUI集成时操作SOAP请求参数

在Java中与SOAPUI集成时操作SOAP请求参数,java,web-services,soap,wsdl,soapui,Java,Web Services,Soap,Wsdl,Soapui,我正在尝试设置一个Fitnesse夹具来测试SOAP服务。我试图使用SOAPUIAPI从WSDL构建请求,并可能发送和传播响应。我正在尝试与SoapUI API集成,如下所述: 我可以很好地读入.wsdl文件,并根据我想要调用的操作为SOAP请求创建一个模板。然而,就我的一生而言,我无法理解如何在请求中操作操作的参数字段 getName操作的请求示例: <soapenv:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instanc

我正在尝试设置一个Fitnesse夹具来测试SOAP服务。我试图使用SOAPUIAPI从WSDL构建请求,并可能发送和传播响应。我正在尝试与SoapUI API集成,如下所述:

我可以很好地读入.wsdl文件,并根据我想要调用的操作为SOAP请求创建一个模板。然而,就我的一生而言,我无法理解如何在请求中操作操作的参数字段

getName
操作的请求示例:

<soapenv:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:Foo">
   <soapenv:Header/>
   <soapenv:Body>
      <urn:getName soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
         <in xsi:type="urn:GetNamedRequest">
            <name xsi:type="xsd:string">?</name>
         </in>
      </urn:updateRecord>
   </soapenv:Body>
</soapenv:Envelope>

?
在本例中,我希望能够更改

理想情况下,我希望能够使用SOAPUIAPI来更改它,如果它提供了该功能的话。但这些文件的评论很差,令人愤怒。我并没有超出接受它生成的请求并对其进行处理的范围,但我更愿意不去做这件事,因为API肯定有办法处理
的内部html


有谁能帮我或给我指出正确的方向吗?

事实上,我只是处理了这个问题,遗憾的是,没有那么多好的方法来处理它。这实际上取决于您如何获取XML等。我假设您的XML采用w3c.dom格式。如果没有,您可以使用

XmlUtils.selectFirstDomNode(XmlUtils.createXmlObject(xmlString),XPath); 
创建一个节点

之后,使用

XmlUtils.setNodeValue(Node,Value);
然后,根据您设置请求的方式,我必须将其恢复为字符串:

XmlUtils.prettyPrintXml(Node);
SoapUI处理其请求内容的方式很难使用。老实说,这是一个在我办公室里流传的笑话,但目前这对我们来说很有效