PHP 에서 웹 서 비 스 를 어떻게 호출 하 는 지 실례 참조
1706 단어 php 호출 웹 서비스
php 5 개발 클 라 이언 트 사용:
<?php
try {
//$client = new SoapClient("HelloService.wsdl",array('encoding'=>'UTF-8'));
$client = new SoapClient("http://webservice.webxml.com.cn/webservices/qqOnlineWebService.asmx?wsdl");
var_dump($client->__getFunctions());
print("<br/>");
var_dump($client->__getTypes());
print("<br/>");
class qqCheckOnline{
var $qqCode = "10000";
};
$arrPara = array(new qqCheckOnline);
$arrResult = $client->__Call("qqCheckOnline",$arrPara);//$client->qqCheckOnline($arrPara);
echo $arrResult->qqCheckOnlineResult . "<br/>";
} catch (SOAPFault $e) {
print $e;
}
?>
코드 는 정말 간단 합 니 다.SoapClient 대상 을 만 들 때 로 컬 WSDL 파일 에 저장 할 수도 있 고 원 격 주 소 를 사용 할 수도 있 습 니 다.뒤의 array 배열 에 많은 파 라 메 터 를 가 져 갈 수 있 습 니 다.구체 적 인 파 라 메 터 는 phop 의 SoapClient 도움말 을 찾 을 수 있 습 니 다.여기 에는 문자 집합 인 코딩 이 있 습 니 다.호출 방법의 매개 변수 에 중국어 가 있 으 면...문자 집합 인 코딩 을 지정 해 야 합 니 다.그렇지 않 으 면 오류 가 발생 할 수 있 습 니 다.웹 서 비 스 를 호출 하기 전에 SoapClient 의 를 호출 할 수 있 습 니 다.geunctions()와getTypes()방법 은 호출 할 웹 서비스 노출 방법,파라미터 와 데이터 형식 을 보 세 요.입력 한 매개 변수 이름 은 반드시 soapclient 에서 정의 한 것 과 일치 해 야 합 니 다.그렇지 않 으 면 매개 변 수 는 전달 되 지 않 습 니 다.
SoapClient 의 를 사용 해 야 합 니 다.soapCall()또는call()방법,구체 적 인 사용 방법 은 php 의 도움말 문 서 를 찾 을 수 있 습 니 다.만약 매개 변수 가 하나의 구조 체 를 요구한다 면,위의 코드 와 같은 클래스 로 대체 하 십시오.
또 하나의 문 제 를 발견 했다.만약 웹 서비스 방법 이 xml 형식의 문자열 을 되 돌려 준다 면 php 는 받 은 후에 xml 문자열 이 아 닌 데이터 내용 을 스스로 해석 할 것 이다.