ทำการร้องขอ SOAP

ฉันยังใหม่กับ PHP - เริ่มต้นได้เดือนกว่าๆ ด้วย PHP, JS และ HTML โดยใช้เวลาไม่กี่ชั่วโมงต่อวัน

ฉันทำการบ้านมามากเกี่ยวกับเรื่องนี้ แต่ไม่สามารถตัดสินใจได้เมื่อต้องนำไปปฏิบัติ ฉันไม่มีโปรแกรมเมอร์ตัวยงที่จะนั่งเคียงข้างฉันในเรื่องนี้ ดังนั้นที่นี่ แต่ฉันมั่นใจว่าหากคำถามนี้ได้รับคำตอบ มันจะช่วยมือใหม่และโปรแกรมเมอร์ที่มีประสบการณ์จำนวนมากที่นั่น

ปัญหา - ฉันเข้าใจแนวคิดของ SOAP ได้ แต่ไม่รู้ว่าจะขอสบู่ง่ายๆ ได้อย่างไร PHP มีขั้นตอนอย่างไรบ้าง

//ติดตั้งส่วนขยาย php SOAP อย่างถูกต้อง

สร้างไคลเอ็นต์ SOAP ใหม่:

$variable = new SoapClient ;

$inputxml = " the input XML file as a string ";

varibale__doRequest($input xml, "string location -??

ฉันมีอินพุต XML เป็นตัวแปร .. ฉันระบุตำแหน่งใด .. ต้องเปิดใช้งานแคชและตำแหน่งแคช ??,...) นั่นคือฟังก์ชัน php ที่ฉันพยายามใช้ - วิธีใช้

// รหัส PHP เพื่อรับการตอบสนองในรูปแบบ XML // วิธีจัดเก็บการตอบกลับในตัวแปรในรูปแบบสตริง

ใครสามารถสาธิตคำขอ SOAP อย่างง่ายโดยใช้ PHP บนบล็อกได้

ฉันไม่พบตัวอย่างหนึ่งตัวอย่าง ทั้งหมดมุ่งเน้นที่การสร้างบริการ SOAP หรือเซิร์ฟเวอร์ SOAP .. ฉันแค่อยากสร้างไคลเอ็นต์ SOAP และทำการร้องขอใน PHP - คู่มือเลย์มานาแบบละเอียดใด ๆ - เฉพาะ PHP ??

นี่คือบริการ SOAP ที่ฉันประสบปัญหา - ค้นหาบริษัทด้วยคำหลักที่

http://developer.dnb.com/service-directory/sales/16682663-1.html

หากมีใครสามารถเขียนบล็อกโพสต์เดียวเพื่ออธิบายรายละเอียดได้จะรู้สึกขอบคุณอย่างมาก

PS: ไม่แน่ใจว่าความคับข้องใจของฉันเป็นสิ่งที่สมเหตุสมผลหรือไม่ แต่แนวคิด SOAP และ REST ทำให้การเขียนโปรแกรมดูเหมือน Rocket Science... ฉันใช้เวลามากกว่าหนึ่งสัปดาห์ 8 ชั่วโมงต่อวัน แต่ไม่มีความคิดที่ชัดเจนในการส่งคำขอ SOAP แม้ว่าฉันจะมีความเข้าใจที่ยุติธรรม ของแนวคิด SOAP เท่าที่ REST ดำเนินไป มันทำให้ฉันสับสนมาก - ฉันไม่อยากแตะสิ่งนั้นที่นี่ในขณะนี้


person Community    schedule 13.07.2012    source แหล่งที่มา


คำตอบ (2)


มีไคลเอนต์ php soap แต่คุณไม่จำเป็นต้องใช้มัน .. คุณสามารถสร้างคำขอของคุณด้วยตนเองและโพสต์ด้วย curl จากนั้นคุณสามารถแยกวิเคราะห์การตอบสนองตามที่คุณต้องการ

/**
* Request login body
*/
const REQUEST_LOGIN = '<?xml version="1.0" encoding="utf-8"?>
<env:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="http://www.company.com/soap" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://www.w3.org/2003/05/soap-encoding">
 <env:Body>
  <ns1:RequestLogin xmlns:ns1="http://www.company.com/soap">
   <ns1:Name>%username%</ns1:Name>
   <ns1:OrgId>0</ns1:OrgId>
   <ns1:AuthType>simple</ns1:AuthType>
  </ns1:RequestLogin>
 </env:Body>
</env:Envelope>
';
person Vince Lowe    schedule 14.07.2012

SOAP ใน PHP นั้นง่ายกว่าที่คิดเล็กน้อย หากคุณกำลังมองหาบทช่วยสอนที่มีรูปแบบยาว มีคำแนะนำดีๆ อยู่ใน DevZone. ฉันยังจะเก็บเอกสารประกอบของคลาส SoapClient ไว้ใช้สะดวก

สาระสำคัญของการทำงานร่วมกับสบู่

// $endpoint is the callback/uri of the WSDL.
// $options is an array of options.
$client = new SoapClient($endpoint, $options);

คุณสามารถเรียนรู้เพิ่มเติมเกี่ยวกับตัวเลือกและจุดสิ้นสุดได้ในรายละเอียดสำหรับตัวสร้าง .

PHP มี เมธอดเวทย์มนตร์ และ __call เป็นหนึ่งในนั้น วิธีที่ง่ายที่สุดในการใช้ SOAP มักจะเรียกวิธีการที่มีอยู่ ตัวอย่างเช่น:

$response = $client->getLoginToken(array(
    'siteid' => 'foo',
    'secid' => 'bar',
));

ในกรณีนี้ getLoginToken เป็นการเรียกเมธอด SOAP ไคลเอนต์ SOAP เห็นว่าไม่ใช่วิธีการบนออบเจ็กต์และส่งผ่านนั้นเป็นวิธีการไปยัง SOAP อาร์เรย์ที่ส่งผ่านเป็นอาร์กิวเมนต์ที่จะส่งต่อไปยังจุดสิ้นสุด SOAP เป็นอาร์กิวเมนต์

นอกจากนี้ ฉันจะดูตัวอย่างในหน้าsoapCall ขอให้โชคดี

person Matt Farina    schedule 13.07.2012