中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

CentOS SOAP擴展模塊觸發Service端執行相應的操作是怎樣的

發布時間:2021-09-28 17:23:37 來源:億速云 閱讀:219 作者:柒染 欄目:系統運維

CentOS SOAP擴展模塊觸發Service端執行相應的操作是怎樣的,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

從PHP5開始內置CentOS SOAP擴展模塊,通過它,我們可以方便的向Service發送一個CentOS SOAP消息,從而觸發Service端執行相應的操作,并將結果返回;

首先,要確保安裝了CentOS SOAP擴展,沒有安裝的表現是,當運行使用了soapclient的代碼時候會有php error Class ‘SoapClient’ not found的錯誤;這時候應該安裝php-soap,在CentOS SOAP上可以方便的使用yum更新安裝包>yum install php-soap更新過這些安裝包后,需要重新啟動一下apache服務,此后SoapClient類就可以用在php script中了下邊是使用過程中的一個范例:

<?php $client = new SoapClient("some.wsdl");   $client->SomeFunction($a, $b, $c);  $arr= $client->__soapCall("SomeFunction", array($a, $b, $c));   print_r($arr);  ?>

1.in WSDL mode,soapCall應用web service,例子用的是asp.net的web service,提供service.asmx頁面,調用及查看都比較簡單,手冊上的example也大多是這個類型,比較簡單

CentOS SOAP發送的協議:

POST /servicepath/service.asmx HTTP/1.1   Host: 211.186.1.4   Content-Type: text/xml; charset=utf-8   Content-Length: length   SOAPAction: "http://211.186.5.15/Service/ServiceMethod"
<?xml version="1.0" encoding="utf-8"?>   <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">   <soap:Body>   <ServiceMethod xmlns="http://211.186.5.15/Service">   <param1>string</param1>   <param2>string</param2>   <param3>string</param3>   </ServiceMethod>   </soap:Body>   </soap:Envelope>

調用方法:

$client = new SoapClient("http://www.xxx.com/service/service.asmx?WSDL");   //向SOAP服務方發送參數值   $param1 = "p1";   $param2 = "p2";   $param3 = "p3";

//serviceParam1,serviceParam2,serviceParam3為發送參數值所對應的參數名(或service端提供的字段名) $param = array('serviceParam1' => $param1,'serviceParam2' => $param2,'serviceParam3' => $param3);

//方法名為ServiceMethod,參數數組為$param,默認以parameters字段標示傳遞的參數數組 $arr = $client->__soapCall('ServiceMethod',array('parameters' => $param)); print_r($arr);

此處,print_r($arr)打印出來的是一個對象,類似于

stdClass Object   ( [BindValidateResult] => 01062947546 )

經過我多次的嘗試,發現使用$arr[1],$arr[0],$arr[BindValidateResult]均不能取得有效值;后來查詢到通過$arr->BindValidateResult可以訪問到返回值;

看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

汉阴县| 金山区| 睢宁县| 宁乡县| 嘉荫县| 哈巴河县| 晴隆县| 乐陵市| 互助| 英吉沙县| 建德市| 延安市| 德安县| 拜城县| 星子县| 扶绥县| 丹东市| 孝感市| 乌什县| 赞皇县| 邵武市| 茶陵县| 潞西市| 徐水县| 泰来县| 鄂托克前旗| 南郑县| 平陆县| 台中市| 南溪县| 江永县| 长海县| 富平县| 延吉市| 潍坊市| 越西县| 荥阳市| 武威市| 浙江省| 儋州市| 呼图壁县|