>백엔드 개발 >PHP 튜토리얼 >PHP에서 웹 서비스 인터페이스 인스턴스 생성 및 호출에 대한 자세한 설명

PHP에서 웹 서비스 인터페이스 인스턴스 생성 및 호출에 대한 자세한 설명

伊谢尔伦
伊谢尔伦원래의
2017-07-03 10:45:112824검색

개발자로서 웹 서비스 인터페이스를 작성하거나 다른 사람의 웹 서비스 인터페이스를 호출하려면 먼저 웹 서비스가 무엇인지 이해해야 합니다. 간단히 말해서 WebService는 일부 사이트에서 제공되는 서비스이거나 귀하가 개발한 서비스, 즉 일부 메소드일 수 있습니다. URL을 통해 메소드 이름을 지정하고 서비스(메소드)를 요청합니다. 사이트는 귀하의 요청을 받습니다. 요청은 전달된 매개변수를 기반으로 일부 처리를 수행한 다음 처리된 결과를 XML 형식으로 반환합니다. 그런 다음 이를 표시하거나 다른 작업을 수행합니다. 웹 서비스를 작성할 때 이해해야 할 사항: 기본 웹 서비스 플랫폼은 XML + HTTP이며, 웹 서비스 플랫폼의 요소: SOAP(SimpleObjectAccess Protocol), UDDI(Universal Description, Discovery and Integration) ), WSDL(웹 서비스 설명 언어), 모든 웹 서비스에는 클라이언트와 서버가 포함됩니다. 다음은

예제를 사용하여

PHP를 사용하여 다른 사람이 호출할 수 있는 웹 서비스 인터페이스를 작성하는 방법을 설명합니다.먼저 .wsdl 파일을 만들어야 하는데, PHP는 이 파일을 어떻게 생성합니까? 이를 달성하는 방법에는 두 가지가 있습니다. 하나는 zend studio 도구를 사용하여 직접 생성하는 것이고, 다른 하나는 상황에 따라 선택하는 SoapDiscovery.class.php를 기반으로 wsdl 파일을 자동으로 생성하는 것입니다. 나는 일반적으로 전자를 사용합니다. 클래스를 이용하여 wsdl 파일을 생성하는 방법을 적어보자. 먼저 인터넷에서 클래스 파일을 다운로드한 후 클래스 파일을 가져온 후 다음 코드를 살펴보자. creat_wsdl.php

코드는 다음과 같다.

<?php
include_once(&#39;Service.php&#39;);
include_once(&#39;SoapDiscovery.class.php&#39;);
$wsdl=new SoapDiscovery(&#39;Service&#39;,&#39;soap&#39;);//第一参数为类名,也是生成wsdl的文件名Service.wsdl,第二个参数是服务的名字可以随便写
$wsdl->getWSDL();
?>

이런 식으로 creat_wsdl.php 파일을 실행하면 wsdl 파일이 생성됩니다. 매우 간단하지 않나요? 모든 웹 서비스는 구현 클래스에 바인딩되어야 합니다. 즉, 타인이 호출하는 wsdl 파일의 실제 기능은 클래스에 메소드를 구현하는 것입니다. 다음 코드는 서버 클래스 파일

Service.php


코드는 다음과 같습니다.

<?php
class Service
{
public function Hello()
{
echo &#39;hello good&#39;;
}
public function Add($a,$b)
{
return $a+$b;
}
}
$server=SoapServer(&#39;Service.php&#39;,array(&#39;soap_version&#39;=>soap_1_2));
$server->setClass(&#39;Service&#39;);//注册Service类的所有方法
$server->handle();//处理请求
?>

작성 후 server 및 wsdl 파일이 있는 경우 클라이언트를 호출해야 합니다. 클라이언트 호출 코드를 참조하세요:

client.php

코드는 다음과 같습니다.

<?php
ini_set(&#39;soap.wsdl_cache_enabled&#39;,&#39;0&#39;);//关闭缓存
$soap=new SoapClient(&#39;http://127.0.0.1/soap/Service.php?wsdl&#39;);
echo $soap->Add(1,2);
//echo $soap->_soapCall(&#39;Add&#39;,array(1,2))//或者这样调用也可以
?>

이것은 웹 서비스 인터페이스 작성 및 호출을 위한 완전한 예제 코드입니다. phper가 필요한 사람들에게 도움이 되기를 바랍니다.
그런 다음 다른 사람의 웹 서비스를 호출합니다. 인터페이스는 client.php에 작성된 코드에 의해 호출됩니다.

위 내용은 PHP에서 웹 서비스 인터페이스 인스턴스 생성 및 호출에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.