ผมเคยใช้งาน web service มาหลายตัว แต่ก็ไม่เคยเจอปัญหาแบบนี้เลย ไม่แน่ใจว่า error ที่เกิดขึ้นต้องไปแก้ที่จุดไหน รบกวนให้คำแนะนำด้วยครับ
Error ที่เกิดขึ้น
Warning: SoapClient::SoapClient(http://mth-sv-anchor/MTFTService/Service.asmx?wsdl) [soapclient.soapclient]: failed to open stream: HTTP request failed! HTTP/1.1 401 Unauthorized in C:\AppServ\www\test_page\index_CreateFolder_PPO.php on line 20
Warning: SoapClient::SoapClient() [soapclient.soapclient]: I/O warning : failed to load external entity "http://mth-sv-anchor/MTFTService/Service.asmx?wsdl" in C:\AppServ\www\test_page\index_CreateFolder_PPO.php on line 20
Fatal error: Uncaught SoapFault exception: [WSDL] SOAP-ERROR: Parsing WSDL: Couldn't load from 'http://mth-sv-anchor/MTFTService/Service.asmx?wsdl' in C:\AppServ\www\test_page\index_CreateFolder_PPO.php:20 Stack trace: #0 C:\AppServ\www\test_page\index_CreateFolder_PPO.php(20): SoapClient->SoapClient('http://mth-sv-a...', Array) #1 {main} thrown in C:\AppServ\www\test_page\index_CreateFolder_PPO.php on line 20
ตัวอย่าง code ที่ใช้ call web service
Code (PHP)
<html>
<head>
<title>Create Folder</title>
</head>
<body>
<?
$client = new SoapClient("http://mth-sv-anchor/MTFTService/Service.asmx?wsdl",
array(
"trace" => 1, // enable trace to view what is happening
"exceptions" => 1, // disable exceptions
"cache_wsdl" => 1) // disable any caching on the wsdl, encase you alter the wsdl server
);
$params = array(
'FolderPath' => '\\chip\ppoonline\test'
);
$disposition_data = $client->CreateFolder($params);
print_r($disposition_data);
?>
</body>
</html>
ขอบคุณ TC Admin มากครับ ผมลองใช้ nusoap_client กับ web service ตัวอื่นๆ ก็ทำงานได้ปกติ แต่พอจะใช้กับ web service ตัวนี้ก็ทำงานไม่ได้เหมือนเดิมครับ แต่ไม่ได้แสดง error อะไร ผมคิดว่าน่าจะมีปัญหาที่ตัวของ web service เองแล้วมั้งครับ เดี๋ยวต้องลองไปปรึกษากับคนที่ทำเว็ป web service อีกทีครับ