panggilan kaedah sabun php: 1. Buka "php_soap.dll" dalam fail php.ini 2. Tanya kaedah perkhidmatan web, parameter dan jenis data 3. Sambungkan rentetan xml mengikut dokumen pembangunan ; 4. Hanya jalankan kod dalam pelayar.
Bagaimana untuk memanggil kaedah sabun php?
Memanggil sabun di bawah PHP untuk merealisasikan dok
Artikel ini mengambil pembangunan antara muka tempahan telefon bimbit iPhone 6 sebuah syarikat sebagai contoh untuk memperkenalkan pelaksanaan panggilan SOAP di bawah proses PHP5.
SOAP (Simple Object Access Protocol ) Protokol Akses Objek Mudah ialah protokol mudah untuk bertukar-tukar maklumat dalam persekitaran terpencar atau diedarkan Ia adalah protokol berasaskan XML Ia merangkumi empat bahagian: Sampul surat mentakrifkan perihalan kandungan mesej. Apa, siapa yang menghantarnya, siapa yang harus menerima dan memprosesnya dan rangka kerja cara memprosesnya peraturan pengekodan SOAP (pengekodan peraturan), digunakan untuk mewakili contoh jenis data yang perlu digunakan oleh aplikasi SOAP RPC representasi (RPC representasi), yang mewakili protokol untuk panggilan prosedur jauh dan tindak balas SOAP, yang menggunakan protokol asas untuk bertukar maklumat.
WSDL (Bahasa Penerangan Perkhidmatan Web) ialah XML penerangan Format XML standard untuk perkhidmatan Web, WSDL dicadangkan oleh pembangun seperti Ariba, Intel, IBM dan Microsoft. Ia mentakrifkan operasi dan mesej yang berkaitan yang dihantar dan diterima oleh perkhidmatan Web tertentu dalam cara abstrak yang bebas daripada bahasa tertentu. Mengikut definisinya, anda belum boleh menganggap WSDL sebagai bahasa definisi antara muka objek Contohnya, seni bina aplikasi seperti CORBA atau COM akan menggunakan bahasa definisi antara muka objek. WSDL kekal neutral protokol, tetapi ia mempunyai sokongan terbina dalam untuk mengikat SOAP, sekali gus mewujudkan pautan yang tidak boleh dipisahkan dengan SOAP. Jadi, apabila saya membincangkan WSDL dalam artikel ini, saya akan menganggap bahawa anda menggunakan SOAP sebagai protokol komunikasi anda.
Walaupun SOAP dan WSDL adalah dua standard utama untuk perkhidmatan web, ia tidak semestinya disambungkan dan boleh digunakan secara bebas. Hubungan antara mereka adalah serupa dengan hubungan antara HTTP dan Html. Yang pertama ialah protokol, dan yang terakhir ialah perihalan Pelayan Web.
Dalam fail konfigurasi php php.ini, cari
extension=php_soap.dll
dan alih keluar tanda sebelumnya, dan kemudian mulakan semula Perkhidmatan web
Antara muka kemasukan pesanan syarikat telekomunikasi wilayah ialah http://***.******.com/ services/AcceptedBusiness?wsdl
Kami menggunakan kaedah __geunctions() dan __getTypes() SoapClient untuk melihat kaedah, parameter dan jenis data antara muka
Hanya antara muka yang disenaraikan dalam __getFunctions boleh dipanggil oleh sabun.
Buat kod soap.php dalam direktori akar
<?php header("content-type:text/html;charset=utf-8");try { $client = new SoapClient("http://***.******.com/services/AcceptedBusiness?wsdl"); print_r($client->__getFunctions()); print_r($client->__getTypes()); } catch (SOAPFault $e) { print $e; } ?>
Selepas dijalankan dalam penyemak imbas: http://localhost/soap.php, hasil yang dikembalikan adalah seperti berikut
Array( [0] => ArrayOf_xsd_anyType introduceAcceptedBusiness(string $c3, string $c4, string $linkman, string $linknum, string $num, string $idcard, string $remark, string $address) [1] => ArrayOf_xsd_anyType introduceAcceptedBusinessByAiZhuangWei(string $subname, string $linkphone, string $idcard, string $address, string $businesstype, string $marketcode, string $surveycode, string $commanager, string $commanagerphone, string $bendiwang, string $fenju, string $zhiju, string $remark) [2] => string introduceAcceptedBusinessByStandardInterface(string $xmlStr) [3] => string introduceAcceptedBusinessByCallOut(string $xmlStr) [4] => string introduceAcceptedBusinessByYddj(string $xmlParam) [5] => ArrayOf_xsd_anyType queryAcceptedBusinessByAiZhuangWei(string $surveycode, string $starttime, string $endtime) [6] => string queryCallOutOrderByConfig(string $xmlParam) )Array( [0] => anyType ArrayOf_xsd_anyType[] )
di mana Terdapat kaedah introduceAcceptedBusinessByStandardInterface(string $xmlStr), yang akan menjadi antara muka yang akan digunakan dalam dokumen pembangunan Parameter ialah rentetan xml
Selain itu, beberapa antara muka menyebut pengesahan SoapHeader , yang perlu ditambah_ kaedah _setSoapHeaders, untuk butiran, sila semak http://php.net/manual/zh/soapclient.setsoapheaders.php
<?php header("content-type:text/html;charset=utf-8");try { $client = new SoapClient('http://***.*******.com/services/AcceptedBusiness?wsdl'); $xml = " <?xml version='1.0' encoding='UTF-8' ?> <PACKAGE> <C3>**电信</C3> <C4></C4> <LINKMAN>张三</LINKMAN> <LINKNUM>13412341234</LINKNUM> <LINKADDRESS>广东深圳</LINKADDRESS> <REMARK>iPhone 6</REMARK> <CHANNEL></CHANNEL> <GRIDCODE>1111111111111111111111111111111</GRIDCODE> <AGENTCODE>2111</AGENTCODE> <KEY>1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111</KEY> </PACKAGE> "; $return = $client->introduceAcceptedBusinessByStandardInterface($xml); print_r($return); } catch (SOAPFault $e) { print_r('Exception:'.$e); } ?>
<?xml version="1.0" encoding="UTF-8"?> <PACKAGE> <STATUS>0</STATUS> <REASON>入单成功!</REASON> <ORDERSEQ>2014100905523549742</ORDERSEQ> </PACKAGE>
Atas ialah kandungan terperinci Bagaimana untuk memanggil kaedah sabun php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!