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?

SoapMessageName

この Web メソッドに対する応答メッセージの <part> 要素の name 属性を指定します。Web サービスまたは Web クライアントとして定義されているクラス内でのみ適用されます。

使用法

応答メッセージの <part> 要素の既定名をオーバーライドするには、以下の構文を使用します。

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

soapmessagename は、XML で有効な任意の識別子です。

詳細

Note:

このキーワードは、SoapBindingStyle が (既定の) document に設定されている Web メソッドにのみ影響します。

このキーワードにより、応答メッセージの本文の子要素名を指定します。

既定値

このキーワードを省略すると、メッセージ名は、Web メソッド名の末尾に Response を追加したものになります。

Web メソッド名は、Web サービスの Web メソッド定義から取得されます。これは、そのメソッド名を変更しないと変更できません。

WSDL との関係

SoapMessageName キーワードは、Web サービスの WSDL の <messages> セクションと <types> セクションに影響します。例えば、以下の Web メソッドを考えてみます。

Method Add(a as %Numeric,b as %Numeric) As %Numeric [ SoapMessageName=MyResponseMessage,WebMethod ]
{
    Quit a + b
}

この Web サービスでは、WSDL の <types> セクションと <messages> セクションは次のようになります。

<types>
    <s:schema elementFormDefault="qualified" targetNamespace="http://www.mynamespace.org">
        <s:element name="Add">
            <s:complexType>
                <s:sequence>
                    <s:element minOccurs="0" name="a" type="s:decimal"/>
                    <s:element minOccurs="0" name="b" type="s:decimal"/>
                </s:sequence>
            </s:complexType>
        </s:element>
        <s:element name="MyResponseMessage">
            <s:complexType>
                <s:sequence>
                    <s:element name="AddResult" type="s:decimal"/>
                </s:sequence>
            </s:complexType>
        </s:element>
    </s:schema>
</types>
<message name="AddSoapIn">
    <part name="parameters" element="s0:Add"/>
</message>
<message name="AddSoapOut">
    <part name="parameters" element="s0:MyResponseMessage"/>
</message>

既定では、メソッドで SoapMessageName キーワードを指定しないと、AddSoapOut メッセージには、MyResponseMessage の代わりに AddResponse という名前の要素が含められます。

SoapMessageName は、応答メッセージの子要素 (AddResult など) には影響しません。

SOAP ウィザードを使用して WSDL から Web サービスまたはクライアントを生成する場合、その WSDL に応じてこのキーワードが設定されます。

SOAP メッセージへの影響

Web サービスは、次のような応答メッセージを送信します。

<?xml version="1.0" encoding="UTF-8" ?>
<SOAP-ENV:Body>
   <MyResponseMessage xmlns="http://www.mynamespace.org">
       <AddResult>42</AddResult>
   </MyResponseMessage>  
</SOAP-ENV:Body>

既定では、メソッドで SoapMessageName キーワードを指定しないと、<MyResponseMessage> 要素は、代わりに <AddResponse> になります。

関連項目

FeedbackOpens in a new tab