説明
リクエストする前に、SOAP ヘッダを Web サービスリクエストに追加します。
戻り値
なし
カテゴリ
関数のシンタックス
AddSOAPRequestHeader(webservice, namespace, name, value [, mustunderstand])
関連項目
AddSOAPResponseHeader、GetSOAPRequest、GetSOAPRequestHeader、GetSOAPResponse、GetSOAPResponseHeader、
IsSOAPRequest、『ColdFusion アプリケーションの開発』の基本サービスコンポーネント
履歴
ColdFusion MX 7: この関数が追加されました。
パラメーター
パラメーター |
説明 |
---|---|
webservice |
cfobject タグまたは CreateObject 関数から返される Web サービスオブジェクトです。 |
namespace |
ヘッダの名前空間を含む文字列です。 |
name |
リクエスト内の SOAP ヘッダの名前を含む文字列です。 |
value |
SOAP ヘッダの値です。この値は CFML XML 値でもかまいません。 |
mustunderstand |
オプション。値は true または false (デフォルト) です。このヘッダの SOAP mustunderstand 値を設定します。 |
使用方法
Web サービスのコンシューマの CFML コード内で、Web サービスを呼び出す前に使用されます。value パラメーターで XML を渡すと、ColdFusion は namespace と name パラメーターを無視します。名前空間が必要な場合は、XML 内で定義してください。
例
この例は 2 つの部分で構成されています。最初の部分は Web サービス CFC です。この関数およびその他の ColdFusion SOAP 関数は、この Web サービス CFC を使用して、Web サービスとのやり取りを示します。この関数に web サービスを実装する方法については、AddSOAPResponseHeader の列を参照してください。以下の例をクライアントとして実行し、the AddSOAPRequestHeader 関数の動作をご覧ください。
<! ---CreateObject 関数の URL が headerservice.cfc ファイルのサーバーおよび場所がここに示す内容と異なる場合、一致するよう変更するよう必要が出ることがあります。末尾の cfinvoke タグについても同様です。---> <h3>AddSOAPRequestHeader の例</h3> <cfscript> // Web サービスオブジェクトを作成します。 ws = CreateObject("webservice", "http://localhost/soapheaders/headerservice.cfc?WSDL"); // username ヘッダーを文字列として設定します。 addSOAPRequestHeader(ws, "http://mynamespace/", "username", "tom", false); // password ヘッダーを CFML XML オブジェクトとして設定します。 doc = XmlNew(); doc.password = XmlElemNew(doc, "http://mynamespace/", "password"); doc.password.XmlText = "My Voice は私のパスワードです"; doc.password.XmlAttributes["xsi:type"] = "xsd:string"; addSOAPRequestHeader(ws, "ignoredNameSpace", "ignoredName", doc); // Web サービス操作を呼び出します。 ret = ws.echo_me("argument"); // 最初のヘッダーをオブジェクト(文字列)として取得します。 header = getSOAPResponseHeader(ws, "http://www.tomj.org/myns", "returnheader"); XMLheader = getSOAPResponseHeader(ws, "http://www.tomj.org/myns", "returnheader", true); // 2番目のヘッダーを object (string) および XML として取得します。 header2 =getSOAPResponseHeader(ws, "http://www.tomj.org/myns", "returnheader2"); XMLheader2 = getSOAPResponseHeader(ws, "http://www.tomj.org/myns", "returnheader2", true); </cfscript> <hr> <cfoutput> Soap Header value: #HTMLCodeFormat(header)#<br> Soap Header XML value: #HTMLCodeFormat(XMLheader)#<br> Soap Header 2 value: #HTMLCodeFormat(header2)#<br> Soap Header 2 XML value: #HTMLCodeFormat(XMLheader2)#<br> Return value: #HTMLCodeFormat(ret)#<br> </cfoutput> <hr> <cfinvoke component="soapheaders.headerservice" method="echo_me" returnvariable="ret" in_here="hi"> </cfinvoke> <cfoutput>返される cfinvoke タグ:#ret#</cfoutput>