我正在查看我正在开发的Web服务的SOAP输出,我发现了一些好奇的东西:
<soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope">
<soapenv:Body>
<ns1:CreateEntityTypesResponse xmlns:ns1="http://somedomain.com/wsinterface">
<newKeys>
<value>1234</value>
</newKeys>
<newKeys>
<value>2345</value>
</newKeys>
<newKeys>
<value>3456</value>
</newKeys>
<newKeys xsi:nil="1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>
<newKeys xsi:nil="1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>
<errors>Error1</errors>
<errors>Error2</errors>
</ns1:CreateEntityTypesResponse>
</soapenv:Body>
</soapenv:Envelope>
我有两个newKeys元素是nil,两个元素都插入了xsi的命名空间引用。 我想在soapenv:Envelope元素中包含该命名空间,以便命名空间引用只发送一次。
我使用WSDL2Java生成服务框架,因此我无法直接访问Axis2 API。