Skip to main content

This is documentation for Caché & Ensemble. See the InterSystems IRIS version of this content.Opens in a new tab

For information on migrating to InterSystems IRISOpens in a new tab, see Why Migrate to InterSystems IRIS?

SoapBindingStyle

Web メソッドとして使用される場合に、このメソッドが使用するバインディング・スタイルまたは SOAP 呼び出し機能を指定します。Web サービスまたは Web クライアントとして定義されているクラス内でのみ適用されます。

使用法

メソッドが (Web メソッドとして使用される場合に) 使用する既定のバインディング・スタイルをオーバーライドするには、以下の構文を使用します。

Method name(formal_spec) As returnclass [ WebMethod, SoapBindingStyle = soapbindingstyle ] 
{
   //implementation
}

soapbindingstyle は以下のいずれかになります。

  • document (既定) — この Web メソッドはドキュメント・スタイルの呼び出しを使用します。

    このバインディング・スタイルにより、SOAP メッセージはドキュメントとしてフォーマットされ、通常はパートを 1 つのみ持ちます。

    SOAP メッセージでは、通常、<Body> 要素に 1 つの子要素が含まれます。<Body> 要素のそれぞれの子は、メッセージ・パートに対応します。

  • rpc — この Web メソッドは RPC (リモート・プロシージャ呼び出し) スタイルの呼び出しを使用します。

    このバインディング・スタイルにより、SOAP メッセージは複数のパートを持つメッセージとしてフォーマットされます。

    SOAP メッセージでは、<Body> 要素に 1 つの子要素が含まれ、その名前は対応する処理名から取得されます。この要素は生成されたラッパ要素であり、これにはメソッドの引数リストの引数ごとに 1 つの子要素が含まれます。

Important:

手動で作成した Web サービスでは、通常はこのキーワードの既定値が最適な値となります。SOAP ウィザードで WSDL から Web クライアントまたは Web サービスを生成すると、このキーワードはその WSDL に最適に設定されます。この値を変更すると、Web クライアントまたは Web サービスは機能しなくなる場合があります。

詳細

このキーワードにより、Web メソッドが使用するバインディング・スタイルを指定できます。これは、SOAP 本文の形式に影響します (SOAP ヘッダの形式には影響しません)。

このキーワードは、指定されたメソッドに対して、SoapBindingStyle クラス・キーワードをオーバーライドします。

既定値

このキーワードを省略すると、<soap:operation> 要素の style 属性が、代わりに SoapBindingStyle クラス・キーワードの値により決定されます。

WSDL との関係

SoapBindingStyle メソッド・キーワードにより、WSDL の <binding> セクション内の <soap:operation> 要素の style 属性の値を指定します。例えば、SoapBindingStyle メソッド・キーワードが document の場合、WSDL は次のようになります。

...
<binding ...>
 ...
    <operation ...>
        <soap:operation ... style="document"/>
...

一方、SoapBindingStyle が rpc の場合は、WSDL は次のようになります。

...
<binding ...>
 ...
    <operation ...>
        <soap:operation ... style="rpc"/>
...

バインディング・スタイルは、次のように、Web メソッドの要求または応答の <message> 要素にも影響します。

  • バインディング・スタイルが document の場合、既定では各メッセージはパートを 1 つのみ持ちます。以下に例を示します。

    <message name="AddSoapIn">
        <part name="parameters" .../>
    </message>
    

    ARGUMENTSTYLE パラメータが message の場合、メッセージは複数のパートを持つことができます。以下に例を示します。

    <message name="AddSoapIn">
       <part name="a" .../>
       <part name="b" .../>
    </message>
    
    
  • バインディング・スタイルが rpc の場合、メッセージは複数のパートを持つことができます。以下に例を示します。

    <message name="AddSoapIn">
        <part name="a" .../>
        <part name="b" .../>
    </message>
    

SOAP メッセージへの影響

詳細は、SoapBindingStyle クラス・キーワードのエントリを参照してください。

%XML.DataSet での使用

タイプ %XML.DataSetOpens in a new tab のオブジェクトを入力または出力として使用するメソッドでこのキーワードを使用する場合は、いくつかの制約が適用されます。詳細は、SoapBindingStyle クラス・キーワードのエントリを参照してください。

関連項目

FeedbackOpens in a new tab