跨系統的資料交換與溝通, MIS常會提供.NET Webservice :

Image 20

 

在php中如何發送soap 呢? 如何發送請求呢? 最簡單的方式如下, 紅色文字自行變更, 應輸出XML格式:

header('Content-Type: text/xml; charset=UTF-8'); //避免中文亂碼且輸出為 xml
$client = new SoapClient("http://www.XXX.com/GetService.asmx?WSDL", array('trace' => 1)); //網址請自行變更
$result = $client->GetCompanyCode(); //要呼叫的方法,請自行變更
echo $client->__getLastResponse();

如果順利印出xml, 可到此驗證xml: http://www.w3schools.com/xml/xml_validator.asp

 

另一個方式, 取得格式不同:


header('Content-Type: text/html; charset=UTF-8'); //避免中文亂碼
$client = new SoapClient("http://xxx.xxx.com/GetService.asmx?WSDL");  //網址請自行變更

//要傳入的參數,請自行變更,如不需傳入參數,則下方紅色字全部移除
$params = array(
  "Contact" => $contact,
  "description" => "Barrel of Oil",
  "amount" => 500,
);

$response = $client->__soapCall("Function1", array($params)); //要呼叫的方法,請自行變更

var_dump($response);
 

 

如果提供service的MIS 需要你傳入一段XML當作參數, 而非傳入一個ARRAY呢?


header('Content-Type: text/xml; charset=UTF-8'); //避免中文亂碼且輸出為 xml

$url = 'http://www.xxx.com/GetService.asmx?WSDL';
$client = new SoapClient($url);

$xmlr = new SimpleXMLElement('<?xml version="1.0" encoding="UTF-8"?><XXXX><Command><ID>30</ID></Command></XXXX>');  //自行更改要傳入的XML


$params = new stdClass();
$params->xml = $xmlr->asXML();

$result = $client->方法名稱($params); //自行更改方法名稱
echo $result->方法名稱; //自行更改方法名稱
 

前往討論區 這篇文章的網址 (可分享到FB、PTT、Mobile01):

用LINE分享給朋友:

這篇文章的QR CODE:(用手機掃我)

延伸閱讀:北部新冠快篩站預約與等候結果

延伸閱讀:疫情嚴重時少出門必備工具

延伸閱讀:口罩有縫隙! 美國CDC教你knot and tuck改良自己的口罩

延伸閱讀:居家工作 網路攝影機 幫忙看門/看小孩

延伸閱讀:「公費疫苗可選廠牌」哪種廠牌好? 要投保疫苗險嗎?

延伸閱讀:WFH在家工作 急需傳真不用跑便利商店

延伸閱讀:WFH在家工作時時關心疫情 – 小米盒子(追劇看新聞)

延伸閱讀:勞工紓困貸款 貸了有何影響?

延伸閱讀:打不到新冠肺炎(COVID-19)疫苗? 先打肺炎鏈球菌疫苗?

延伸閱讀:COVID-19新冠肺炎 居家快篩試劑,保護自己保護家人

延伸閱讀:必須在長輩手機上設定的 緊急聯絡人與緊急醫療資訊 (快樂缺氧怎麼辦?!) 

延伸閱讀:打不到新冠肺炎(COVID-19)疫苗? 先打肺炎鏈球菌疫苗?

延伸閱讀:必須在長輩手機上設定的 緊急聯絡人與緊急醫療資訊 (快樂缺氧怎麼辦?!) 

延伸閱讀:打了新冠肺炎(COVID-19)疫苗 副作用 (親身經歷)