php 비누 메소드 호출: 1. php.ini 파일에서 "php_soap.dll"을 엽니다. 2. 웹 서비스 메소드, 매개변수 및 데이터 유형을 쿼리합니다. 3. 개발 문서에 따라 xml 문자열을 연결합니다. 브라우저에서 코드를 실행하면 됩니다.
PHP 비누 메소드를 호출하는 방법은 무엇입니까?
도킹을 실현하기 위해 PHP에서 비누를 호출
이 기사에서는 한 회사의 iPhone 6 휴대폰 예약 인터페이스 개발을 예로 들어 PHP5에서 SOAP 호출 구현 프로세스를 소개합니다.
SOAP(Simple Object Access Protocol) ) 단순 개체 액세스 프로토콜은 분산 또는 분산 환경에서 정보를 교환하기 위한 간단한 프로토콜입니다. 이는 XML 기반 프로토콜로 다음 네 부분으로 구성됩니다. SOAP 봉투(봉투)는 메시지 내용에 대한 설명을 정의합니다. 무엇을, 누가 보냈는지, 누가 이를 수락하고 처리해야 하는지, 그리고 이를 처리하는 방법에 대한 프레임워크 SOAP 인코딩 규칙(인코딩; 규칙), 애플리케이션이 사용해야 하는 데이터 유형의 인스턴스를 나타내는 데 사용됩니다(RPC). 표현)은 정보를 교환하기 위해 기본 프로토콜을 사용하는 SOAP 바인딩을 위한 프로토콜을 나타냅니다.
WSDL(웹 서비스 설명 언어)은 XML을 설명합니다. 웹 서비스의 표준 XML 형식인 WSDL은 Ariba, Intel, IBM 및 Microsoft와 같은 개발자가 제안했습니다. 이는 특정 언어와 관계없이 추상적인 방식으로 특정 웹 서비스에서 보내고 받는 관련 작업과 메시지를 정의합니다. 정의에 따르면 아직 WSDL을 객체 인터페이스 정의 언어로 생각할 수 없습니다. 예를 들어 CORBA 또는 COM과 같은 애플리케이션 아키텍처는 객체 인터페이스 정의 언어를 사용합니다. WSDL은 프로토콜 중립성을 유지하지만 SOAP 바인딩을 기본적으로 지원하므로 SOAP와 분리할 수 없는 링크를 설정합니다. 따라서 이 기사에서 WSDL을 논의할 때 SOAP를 통신 프로토콜로 사용한다고 가정합니다.
SOAP와 WSDL은 웹 서비스의 두 가지 주요 표준이지만 반드시 연결되어 있지는 않으며 독립적으로 사용할 수 있습니다. 이들 사이의 관계는 HTTP와 HTML 사이의 관계와 유사합니다. 전자는 프로토콜이고 후자는 웹 서버에 대한 설명입니다.
php 구성 파일 php.ini에서
extension=php_soap.dll
를 찾아 앞에 있는 ";" 기호를 제거한 다음 웹 서비스를 다시 시작하세요
지방 통신사의 주문 입력 인터페이스는 http://***.*****.com/services/AcceptedBusiness?wsdl
우리는 __geunctions() 및 __getTypes() 메소드를 사용합니다. 인터페이스 메소드, 매개변수 및 데이터 유형을 보기 위한 SoapClient
__getFunctions에 나열된 인터페이스만 비누로 호출할 수 있습니다.
루트 디렉터리에 비누.php 코드를 생성하세요
<?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; } ?>
브라우저에서 실행한 후: http://localhost/soap.php, 반환 결과는 다음과 같습니다
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[] )
introvertedBusinessByStandardInterface(string $xmlStr) 메소드가 있습니다. 이는 개발 문서가 될 것입니다. 매개 변수에 언급된 인터페이스는 xml 문자열입니다
또한 일부 인터페이스에는 __setSoapHeaders 메서드를 추가해야 하는 SoapHeader 인증이 언급되어 있습니다. 자세한 내용은 http://php.net/manual을 참조하세요. /zh/soapclient.setsoapheaders.php
이 단계에서는 개발 문서에 따라 xml 문자열을 연결한 다음 이를 IntroductionAcceptedBusinessByStandardInterface의 매개 변수로 전달해야 합니다.
다음 내용으로 allowedbusiness.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>
추천 학습으로 돌아갑니다: "PHP Video Tutorial"
위 내용은 PHP 비누 메소드를 호출하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!