2016-01-21 8 views
16

私はオプションのヘッダーでWSDLを持っている:WSDLでオプションとしてSOAPヘッダーをマークするにはどうすればよいですか?

<s:element name="AuthIdentifier" type="tns:AuthIdentifier"/> 
<s:complexType name="AuthIdentifier"> 
    <s:sequence> 
    <s:element minOccurs="0" maxOccurs="1" name="identifier" type="s:string"/> 
    </s:sequence> 
    <s:anyAttribute/> 
</s:complexType> 

クライアント私のサービスに接続し、ヘッダが必要であることを主張し、その彼がそれを送信しなければならないために統合ソフトウェア(tibco)を使用しています空の値:

<Header.AuthIdentifier> 
    <ns0:AuthIdentifier xmlns:ns0 = "http://www.tal.com/schemas"/> 
</Header.AuthIdentifier> 

どうすればいいですか?だから彼はヘッダー全体を送る必要はないだろうか? minOccursなどありますか?それとも今はオプションなのか? "Webサービスの契約デザイン&バージョン管理" によると

+0

私はTibcoと同じ問題があります。あなたはそれを修正しましたか? –

+2

ヘッダーの構造を定義するスニペットですか?そうであれば、 '

答えて

3

トーマス・アールら(ISBN-13:978-0-13-613517-3)章15.4、WSDLで定義SOAPブロック:

WSDL 1.1 WSDL文書に記述されているSOAPヘッダ がコンシューマによって含まれていなければならないかどうかについての仕様は不明である。 WS-I基本プロファイルは、消費者に を含めることを必須としましたが、消費者が を含めるべきかどうかを選択することができます。ページ472.

WSDL 2.0では、カスタムSOAPヘッダーブロックにwsdl:required = "false"という属性を設定して、コンシューマーがこのヘッダーブロックを含める必要があるかどうかを指定できます。

関連する問題