|
|
|
ช่วยทีครับ PHP Web Service ผมติดมาเดือนกว่าๆและ ยังหาไม่เจอไม่รู้เป็นที่อะไร |
|
|
|
|
|
|
|
รบกวนหน่อยครับ php เรียกใช้ web service จาก Server JAVA
Document ของเซอร์วิสที่นี่ครับ
http://ebizonline.allianzcp.com/online_insurance_test/IssuePolicySoapHttpPort?wsdl
นี่คือโค๊ต PHP เรียกใช้ของผมครับ
Code (PHP)
$soapclient = new soapclient('http://ebizonline.allianzcp.com/online_insurance_test/IssuePolicySoapHttpPort?wsdl', array("trace" => 1, "exception" => 0));
$service = $soapclient->__getFunctions();
var_dump($service);
$soapclient->__setLocation("http://ebizonline.allianzcp.com/online_insurance_test/IssuePolicySoapHttpPort");
$ap_param = array("METHOD" => "VERIFY");
$result = $soapclient->__call("OnlineMainWS", array("RequestModel"=>$ap_param));
var_dump($result);
echo "<br><br><br> ====== REQUEST HEADERS ===== <br>";
var_dump($soapclient->__getLastRequestHeaders());
echo "<br> ====== REQUEST ===== <br>";
var_dump(htmlentities($soapclient->__getLastRequest()));
echo "<br><br><br> ====== ResponseHeaders ===== <br>";
var_dump($soapclient->__getLastResponseHeaders());
echo "<br> ====== Response ===== <br>";
var_dump(htmlentities($soapclient->__getLastResponse()));
โดยค่าตัวแปรขอให้ส่ง METHOD ไปด้วยเท่านั้น ถ้ามีเออเร่อจะขึ้นตามนี้ครับ
Code
000 = success
001 = ข้อมูลที่ส่งมาไม่มีค่าประกอบด้วย [?]
002 = ข้อมูลไม่ถูกต้องประกอบด้วย [?]
003 = รถคันนี้มีข้อมูลกรมธรรม์ในช่วงความคุ้มครองที่ระบุอยู่แล้ว [ทะเบียน:?,จังหวัด:?,เลขตัวถัง:?,ปร+B1ะเภทกรมธรรม์:?]
004 = ข้อมูลตัวแทน/นายหน้าไม่ถูกต้อง [?]
005 = กรมธรรม์ต้องคุ้มครองแบบต็มปี [?]
006 = รายชื่ออยู่ในกลุ่มบัญชีถูกจับตามอง [?]
007 = รายชื่ออยู่ในกลุ่มบัญชีดำ [?]
008 = Partner incomplete [?] เปลี่ยนเป็น บันทึกข้อมูลของลูกค้าไม่สำเร็จ โปรดติดต่อเจ้าหน้าที่ [Exception Desc]
009 = Issued incomplete เปลี่ยนเป็น ออกกรมธรรม์ไม่สำเร็จ โปรดติดต่อเจ้าหน้าที่ [Exception Desc]
010 = send tx_id, issue duplidate เปลี่ยนเป็น รายการส่งมาซ้ำ(TX_ID:???) โปรดติดต่อเจ้าหน้าที่
011 = วันเริ่มคุ้มครองล่วงหน้าห้ามเกิน x วัน [?]
012 = ไม่สามารถออกกรมธรรม์ย้อนหลังผ่านระบบนี้ได้ โปรดออกผ่านระบบ E-Motor [?]
013 = กรมธรรม์ที่ส่งมาถูกใช้งานไปแล้ว [?]
014 = รหัส Package ที่ส่งมาไม่ถูกต้อง [?]
015 = รหัสยี่ห้อ/รุ่นรถ(Make/Model)ที่ส่งมาไม่ถูกต้อง [?]
016 = รหัสจังหวัด/อำเภอ(Province/District)ที่ส่งมาไม่ถูกต้อง [?]
017 = รหัสอาชีพ(Occupation)ที่ส่งมาไม่ถูกต้อง [?]
018 = รหัสคำนำหน้าชื่อ(Befor Title)ที่ส่งมาไม่ถูกต้อง [?]
019 = รหัสสัญชาติ(Nationality)ที่ส่งมาไม่ถูกต้อง [?]
020 = รหัสประเภทการใช้งานของรถไม่ถูกต้อง [?]
021 = ข้อมูลที่ส่งมาไม่มีใน sticker [?]
022 = Azcp ปิดระบบชั่วคราวโปรดติดต่อเจ้าหน้าที่
023 = ตรวจสอบประเมรความเสี่ยง ไม่สามารถทำรายการต่อได้โปรดติดต่อเจ้าหน้าที่ [เลขที่ : ?]
999 = เกิดข้อผิดพลาดในระบบ [?]
นี่คือผลลับจากโค๊ต php
Code
array(1) { [0]=> string(73) "OnlineMainWSResponseElement OnlineMainWS(OnlineMainWSElement $parameters)" }
object(stdClass)#2 (1) { ["result"]=> object(stdClass)#3 (8) { ["DESC"]=> NULL ["TX_ID"]=> NULL ["CODE"]=> NULL ["CMI_URL_PRINT"]=> NULL ["VMI_URL_PRINT"]=> NULL ["CMI_POLICY_NO"]=> NULL ["VMI_POLICY_NO"]=> NULL ["METHOD"]=> NULL } }
====== REQUEST HEADERS =====
string(260) "POST /online_insurance_test/IssuePolicySoapHttpPort HTTP/1.1 Host: ebizonline.allianzcp.com Connection: Keep-Alive User-Agent: PHP-SOAP/5.2.17 Content-Type: text/xml; charset=utf-8 SOAPAction: "http://azcp.online.ws//OnlineMainWS" Content-Length: 349 "
====== REQUEST =====
string(457) "<?xml version="1.0" encoding="UTF-8"?> <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns1="http://azcp.online.ws/types/"><SOAP-ENV:Body><ns1:OnlineMainWSElement><ns1:requestModel xsi:nil="true"/></ns1:OnlineMainWSElement></SOAP-ENV:Body></SOAP-ENV:Envelope> "
====== ResponseHeaders =====
string(316) "HTTP/1.1 200 OK Content-Type: text/xml; charset=utf-8 Connection: Keep-Alive Keep-Alive: timeout=20, max=999 Server: Oracle-Application-Server-10g/10.1.3.1.0 Oracle-HTTP-Server OracleAS-Web-Cache-10g/10.1.2.2.0 (N;ecid=14864019236067,0) Content-Length: 599 Date: Fri, 01 Nov 2013 03:52:38 GMT SOAPAction: "" "
====== Response =====
string(841) "<?xml version="1.0" encoding="UTF-8"?> <env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns0="http://azcp.online.ws/types/"><env:Body><ns0:OnlineMainWSResponseElement><ns0:result><ns0:DESC xsi:nil="1"/><ns0:TX_ID xsi:nil="1"/><ns0:CODE xsi:nil="1"/><ns0:CMI_URL_PRINT xsi:nil="1"/><ns0:VMI_URL_PRINT xsi:nil="1"/><ns0:CMI_POLICY_NO xsi:nil="1"/><ns0:VMI_POLICY_NO xsi:nil="1"/><ns0:METHOD xsi:nil="1"/></ns0:result></ns0:OnlineMainWSResponseElement></env:Body></env:Envelope>"
ถ้าส่งถูกต้อง ค่าในโค๊ตที่ส่งกลับมานี้จะต้องไม่ NULL
Code
{ ["DESC"]=> NULL ["TX_ID"]=> NULL ["CODE"]=> NULL ["CMI_URL_PRINT"]=> NULL ["VMI_URL_PRINT"]=> NULL ["CMI_POLICY_NO"]=> NULL ["VMI_POLICY_NO"]=> NULL ["METHOD"]=> NULL } }
ผมสังเกตุว่าที่ REQUEST มันไม่ส่งค่าไปด้วยครับ ผลลองเอาโค๊ตเดียวกันนี้ ไปเรียกเซอร์วิสจากที่อื่นก็ไม่มีปัญหาครับ มีตัวนี้ตัวเดียวเลย
ช่วยดูทีครับ ผมติดตรงนี้มาเดือนกว่าๆแล้ว ไม่รู้เป็นที่อะไร
Tag : PHP, Oracle, JAVA, Web Service
|
|
|
|
|
|
Date :
2013-11-01 14:06:04 |
By :
awachai007 |
View :
1183 |
Reply :
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 04
|