Java 带数组的Webservice请求

Java 带数组的Webservice请求,java,xml,web-services,soap,Java,Xml,Web Services,Soap,我有一个Web服务,它接受一个包含6个字符串的RequestDTO。在测试Web服务时,我只需发送如下XML,它工作正常: <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:java="java:dk.thg.fll" xmlns:java1="java:dk.thg.common"> <soapenv:Header/> <soapenv:Bod

我有一个Web服务,它接受一个包含6个字符串的RequestDTO。在测试Web服务时,我只需发送如下XML,它工作正常:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"   
xmlns:java="java:dk.thg.fll" 
xmlns:java1="java:dk.thg.common">
<soapenv:Header/>
<soapenv:Body>
  <web:service>
     <web:request>
        <java:request>
           <java1:Id>1</java1:Id>
           <java1:User>anton</java1:User>
        </java:request>
        <java:ms>4453</java:ms>
        <java:element>GG</java:element>
        <java:service>L</java:service>
        <java:data><![CDATA[ <data><task><type>T</type><action>A</action> </task></data> ]]></java:data>
     </web:request>
  </web:service>
</soapenv:Body>
</soapenv:Envelope>

1.
安东
4453
游戏打得好
L
TA]]>
我现在的问题是,我必须创建一个能够处理一组请求的Web服务。我的想法是简单地拥有一个RequestDTO数组。这意味着新的Web服务接受一个包含RequestDTO数组的MultiRequestDTO

但是XML应该是什么样子呢当我使用SoapUI进行测试时,它会自动生成请求xml,它说我的新webservice xml是这样的:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" 
xmlns:java="java:dk.thg.fll" 
xmlns:java1="java:dk.thg.common">
<soapenv:Header/>
<soapenv:Body>
  <web:service>
     <web:multiRequest>
        <java:request>
           <java1:Id>?</java1:Id>
           <java1:User>?</java1:User>
        </java:request>
        <java:requests/>
     </web:multiRequest>
  </web:service>
</soapenv:Body>
</soapenv:Envelope>

?
?
发送请求时(我的数组)应该是什么样子

我试图简单地从第一个XML复制内容(复制标记),但没有成功

有人能帮忙吗

*编辑*-请求

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:java="java:dk.thg.fll" xmlns:java1="java:dk.thg.common">
<soapenv:Header/>
<soapenv:Body>
  <web:service>
     <web:multiRequest>
        <java:requestInfo>
           <java1:Id>10</java1:Id>
           <java1:User>1234</java1:User>
        </java:requestInfo>
        <java:requests>
        singleRequest
                <java:request>
                    <java1:Id>10</java1:Id>
                    <java1:User>789</java1:User>
                </java:request>
                <java:msisdn>4561814453</java:msisdn>
                <java:element>4453</java:element>
                <java:service>GG</java:service>
                <java:details><![CDATA[ <details><task><type>T</type><action>A</action> </task></details>]]></java:details>
    </java1:singleRequest>
    </java:requests>
     </web:multiRequest>
  </web:service>

10
1234
单一请求
10
789
4561814453
4453
游戏打得好
TA]]>

这就是我现在发出的。。但是没有接收到数组中的所有值,数组中的对象只包含空值。


<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"  xmlns:java="java:dk.thg.fll"  xmlns:java1="java:dk.thg.common"> 
<soapenv:Header/>
 <soapenv:Body> 
  <web:service>  
    <web:multiRequest>  
       <java:request>   
         <java1:Id>?</java1:Id>   
         <java1:User>?</java1:User>  
       </java:request>   
   <java:request>   
         <java1:Id>?</java1:Id>   
         <java1:User>?</java1:User>  
       </java:request>     
  <java:requests/>  
  <java:request>   
         <java1:Id>?</java1:Id>   
         <java1:User>?</java1:User>  
       </java:request>   
  </web:multiRequest> 
  </web:service> </soapenv:Body> 
</soapenv:Envelope>
? ? ? ? ? ?
如果您想触发多个java:request,那么您的XML请求应该是这样的 ? ? ? ? ? ?
如果您想在XML中触发多个java:request

哪个元素是数组类型?java:requests是arrayAre类型使用任何XSD或元素在wsdl中声明?对于您的java:requests是maxOccurs=“unbounded”?在XML中,哪个元素是数组类型?java:requests是arrayAre类型,使用任何XSD或元素在wsdl中声明?对于java:request是maxOccurs=“unbounded”?您可以添加多个java:request并在SOAPUII上触发它。我会收到以下错误消息:由以下原因引起:com.bea.xml.XmlException:必需的soap数组类型不存在问题您的java:request具有maxOccurs=“unbounded”?你能分享你的WSDL吗?嗨。。是的,java:requests有maxOccurs=“unbounded”好的,我认为您的web:multirequest应该采用java:request的数组类型,所以maxOccurs=“unbounded”将适用于web:multirequest而不是java:request。您可以添加多个java:request并在SOAPUII上触发它。我会收到以下错误消息:由:com.bea.xml.XmlException引起:必需的soap数组类型不存在问题您的java:request具有maxOccurs=“unbounded”?你能分享你的WSDL吗?嗨。。是的,java:requests有maxOccurs=“unbounded”好的,我认为您的web:multirequest应该采用java:request的数组类型,因此maxOccurs=“unbounded”将适用于web:multirequest,而不是java:request。