SOAP ヘッダーをサポートする Web サービスの公開
BizTalk Web サービス公開ウィザードを実行すると、Web サービスに SOAP ヘッダーが追加されます。 SOAP ヘッダーをサポートする Web サービスを公開すると、追加されたヘッダーは、SOAP ヘッダーの文字列表記を含むコンテキスト プロパティとして、オーケストレーションおよびパイプライン コンポーネントに対して使用可能となります。
定義済みの SOAP ヘッダー
ウィザードを使用して、定義済みの SOAP ヘッダーを追加すると、ウィザードによってコンテキスト プロパティが作成されます。このプロパティには、SOAP ヘッダーのルート要素に対応する名前が付けられます。 定義されているすべての SOAP ヘッダー コンテキスト プロパティには、 名前空間 http://schemas.microsoft.com/BizTalk/2003/SOAPHeader
があります。 SOAP ヘッダーのコンテキスト プロパティは、SOAP アダプタによって SOAP 要求が BizTalk メッセージに変換されるときに作成されます。
簡単な SOAP 要求の例を次に示します。
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Header>
<OrigDest xmlns="http://SOAPHeaderWS.ItemAvailability">
<Origination>Work</Origination>
<Destination>Home</Destination>
</OrigDest>
</soap:Header>
<soap:Body>
</soap:Body>
</soap:Envelope>
単純な SOAP 要求の場合、SOAP アダプターは、1 つの SOAP ヘッダー コンテキスト プロパティ OrigDest と文字列を含む BizTalk メッセージを作成しました。
次の例は、SOAP アダプタによって作成される文字列を示しています。
"<?xml version="1.0" encoding="utf-16"?><OrigDest xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://SOAPHeaderSchemas.OrigDestSOAPHeader"><Origination xmlns="">Home</Origination><Destination xmlns="">Work</Destination> </OrigDest>"
不明な SOAP ヘッダー
ウィザードで不明な SOAP ヘッダーをサポートする場合、ウィザードは UnknownHeaders という名前と名前空間 http://schemas.microsoft.com/BizTalk/2003/soap-properties
を持つコンテキスト プロパティを作成します。 UnknownHeaders コンテキスト プロパティには、受信した不明な SOAP ヘッダーがすべて含まれます。
たとえば、ルート要素名 CustomerGroup を持つ不明な SOAP ヘッダーを受け取った場合、 UnknownHeaders コンテキスト プロパティには次の文字列が含まれます。
"<?xml version="1.0" encoding="utf-16"?><UnknownHeaders><CustomerGroup xmlns="http://SOAPHeaderWS/CustomerGroup"><Id xmlns="">My Customer</Id>
</CustomerGroup></UnknownHeaders>"
定義済みの SOAP ヘッダーの追加または不明な SOAP ヘッダーのサポートの詳細については、「 Web サービスとしてのオーケストレーションの発行」を参照してください。 「 Web サービスとしてのスキーマの発行」も参照してください。