我做了大量的研究,无法找到任何能够明确解决我问题的方法。
我使用wsdl2java生成了我的SOAP客户端,问题是我的信封在发送时会在HeaderElement中创建我不需要的属性。
我已经创建了一个处理程序来构建我的标题但是无法从标题中删除这些属性。
示例XML出去了。
<soapenv:Envelope xmlns:soapenv="http://..."
xmlns:v2="http://..."
xmlns:xsd="http://..." xmlns:xsi="...">
<soapenv:Header>
<v2:wsMessageHeader soapenv:actor="http://schemas.xmlsoap.org/soap/actor/next"
soapenv:mustUnderstand="0">
<v2:trackingMessageHeader>
<values>....</values>
</v2:trackingMessageHeader>
</v2:wsMessageHeader>
</soapenv:Header>
<soapenv:Body>
<item
xmlns="http://...">
<geoCode>Zip</geoCode>
<zip>
<uspsPostalCd>49001</uspsPostalCd>
</zip>
</item>
</soapenv:Body>
我需要完全删除soapenv:actor和soapenv:mustUnderstand属性。
答案 0 :(得分:-1)
SOAP Header是可选元素。您应该能够将其删除..
messagecontext.getEnvelope().getHeader().detach();
无需进行大量研究:)