0

最も使用されているsoapサービスフレームワーク(少なくとも私が試したもの)を使用して、この種のsoapリクエストを思い付くのは驚くほど難しいようです。

<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="https://bencws.foobar.com/doc/2008-01-01/" 
    xmlns:soap="http://www.w3.org/2003/05/soap-envelope/">
    <soap:Header xmlns:foo="http://safe.foobar.com/doc/2007-01-01/" xmlns:oof="http://www.w3.org/2005/08/addressing">
        <foo:AccessKeyId>0PKRFZMV7GRJ11N791R2</foo:AccessKeyId>
        <foo:Timestamp>2008-03-07T23:55:22.693Z</foo:Timestamp>
        <foo:Signature>someencodedstring</foo:Signature>
        <oof:Action>SomeAction</oof:Action>
        <oof:To>http://bencws.foobar.com</oof:To>
        <oof:MessageID>120493412293</oof:MessageID>
        <oof:ReplyTo>
            <oof:Address> http://www.w3.org/2005/08/addressing/anonymous</oof:Address>
        </oof:ReplyTo>
    </soap:Header>
    <soap:Body>
    ...

cxfを使用して、cxf-codegen-pluginを使用してwsdlファイルからクラススタブを作成し始めまし。しかし、「標準的な」ものは、​​soap:Header名前空間を変更したり、タグ内に何かを追加したりすることさえできませんでした(2回後ろに曲がらない限り)

axis2ではWSDL2Javaを使用しましたが、同じような問題が発生しました。

私は正式に「正しい」soapリクエストのように見えるものを考え出しましたが、私のsoap:Envelopesoap:Headerが正確にそのように見えない限り、おかしなfoobarサービスはとにかくそれらを受け入れません。

どんな助けでも大歓迎です。他のことを試してみるべきですか?私たちは今、xmlリクエストを手動で書くことを考えているところですが、これは避けたいものです。

4

1 に答える 1