Skip to main content

HTTP SOAP アクションおよび要求メッセージ名のオーバーライド

HTTP 経由で Web メソッドを呼び出す場合、HTTP ヘッダには SOAP アクションが含まれている必要があります。これは、SOAP HTTP 要求の目的を示す URI です。SOAP 1.1 の場合、SOAP アクションは、SOAPAction HTTP ヘッダとして含まれます。SOAP 1.2 の場合は、Content-Type HTTP ヘッダ内に含まれます。

SOAP アクションは、SOAP HTTP 要求の目的を示すものです。値は、目的を特定する URI です。通常は、着信 SOAP メッセージの転送に使用されます。例えば、ファイアウォールは、HTTP での SOAP 要求メッセージを適切にフィルタするためにこのヘッダを使用できます。

InterSystems IRIS® データ・プラットフォーム Web サービスの Web メソッドの場合、SOAPAction HTTP ヘッダの形式は、既定で次のようになります (SOAP 1.1 の場合)。

SOAPAction: NAMESPACE/Package.Class.Method

NAMESPACE は、Web サービスの NAMESPACE パラメータの値です。Package.Class.Method は Web メソッドとして使用するメソッドの名前です。以下はその例です。

SOAPAction: http://www.myapp.org/GSOAP.WebService.GetPerson

これをオーバーライドするには、Web メソッドの定義内で SoapAction メソッドのキーワードに値を指定します。SOAP 要求の目的を識別する引用符付きの文字列として指定します。一般的なシナリオでは、Web サービス内の各 Web メソッドは SoapAction に一意の値 (ある場合) を指定します。

SoapAction がこの Web サービス内で一意でない場合、各メソッドは SoapRequestMessage メソッド・キーワードの一意の値を持っている必要があります。このキーワードにより、要求メッセージの SOAP 本文内に最上位要素名を指定します。SoapRequestMessage は、wrapped document/literal メッセージにのみ影響することに注意してください。

FeedbackOpens in a new tab