1

私はたくさんの調査を行いましたが、私の問題を具体的に解決するものは何も見つかりません.

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 属性を完全に削除する必要があります。

4

1 に答える 1

-1

SOAPヘッダーはオプションの要素です..削除できるはずです..

messagecontext.getEnvelope().getHeader().detach();

たくさんの調査を行う必要はありません:)

于 2013-04-24T17:52:49.620 に答える