PHPはSOAP呼び出しを用いる.NetのWebServiceデータ

2027 ワード

これは一般的なPHP POSTやGETの値を伝えてライブラリを調べてデータを取る考え方とは少し異なり、SOAPモジュールを使う必要があり、処理方法も簡単で、注意しなければならないことがあります.
まずあなたのPHPを確認します.iniが開きました.SOAP、つまりextension=php_soap.dllこの前のセミコロンに行きますよ.
コードは簡単です.
 
  
$client = new SoapClient('http://www.aa.net/SearchService.asmx?WSDL');// SOAP
$client->soap_defencoding = 'utf-8'; 
$client->decode_utf8 = false;  
$client->xml_encoding = 'utf-8';
$param = array('param1'=>'01', 'param2'=>'02');
//$param["param1"]="01";
//$param["param2"]="02";
//$result = $client->__soapCall("GetArticle", array( $param ));
$result = $client->__Call("GetArticle", array( $param ));
if (is_soap_fault($result))
{
    trigger_error("SOAP Fault: (faultcode: {$result->faultcode}, faultstring: {$result->faultstring})", E_USER_ERROR);
}
else
{
    $data = $result->GetArticleResult; // , ->
    print_r($data);
}
?>

注意すべき点は,パラメータが配列外に配列をさらに包むことであり,array(array()である.
SOAPインタフェースのパラメータをいくつか添付します.
以下にSOAP 1.2の要求および応答例を示す.表示されるプレースホルダは、実際の値に置き換える必要があります.
 
  
POST /SearchService.asmx HTTP/1.1
Host: 202.105.183.61
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://tempuri.org/GetTrafficViolationInfo"


 
   
      string
      string