soap_action

SOAPコマンドを発行します

説明
定義
soap_action(URL文字列,SOAPACTION,xml文字列,[ヘッダー連想配列],[タイムアウトミリ秒]);
引数
1.URL文字列
SOAPコマンドを発行したい URLを書きます。
2.SOAPACTION
動作させたいSOAPACTIONを書きます。 ヘッダーのダブルクウォートは自動的に行われます。
3.xml文字列
実行させた命令に渡すxmlを書きます。
4.ヘッダー連想配列
追加HTTPヘッダを連想配列で書きます。
5.タイムアウトミリ秒
タイムアウトする時間をミリ秒で書きます。
(互換性のためミリ秒で書きますが、内部的には、千分の一されて秒で計算されます。)
戻り値
サーバーの応答を文字列で返します。 失敗は例外で通知されます。
この関数は同期処理されます。
//WeMaをSOAP経由で操作します。
var wemoHost = "192.168.10.6:49153";
var sw = 1;
var url = "http://" + wemoHost + "/upnp/control/basicevent1";

var data =
'<?xml version="1.0" encoding="utf-8"?>\n' +
'<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">\n' +
' <s:Body>\n' +
'  <u:SetBinaryState xmlns:u="urn:Belkin:service:basicevent:1">\n' + // 対象の Action を指定
'   <BinaryState>' + sw + '</BinaryState>\n' + // ON/OFF を 1/0 で指定
'  </u:SetBinaryState>\n' +
' </s:Body>\n' +
'</s:Envelope>\n';

var appendHeader = {};
appendHeader['User-Agent'] = 'CyberGarage-HTTP/1.0'; // iPhone App と同じ User-Agent

soap_action(url,"urn:Belkin:service:basicevent:1#SetBinaryState",data,appendHeader,5000);
		
注意とヒント
ディフォルトのタイムアウトは5秒です
ディフォルトは、5秒で強制的にタイムアウトされます。 これは、FHCがリソースを使い切らないためです。 よほど遅いサーバ以外は大丈夫だと思いますが、、、
参考