PHP中soap的用法实例

前端技术 2023/09/01 PHP

本文实例讲述了PHP中soap的用法,分享给大家供大家参考。具体用法分析如下:

PHP 使用soap有两种方式。

一、用wsdl文件

服务器端:

复制代码 代码如下:
<?php
class service
{
  public function HelloWorld()
   {
      return  \"Hello\";
   }
  public  function Add($a,$b)
   {
      return $a+$b;
   }
}
$server=new SoapServer(\'soap.wsdl\',array(\'soap_version\' => SOAP_1_2));
$server->setClass(\"service\");
$server->handle();
?>

资源描述文件,可以用工具(zend studio)生成。其实就是一个xml文件。
复制代码 代码如下:
<?xml version=\"1.0\" encoding=\"UTF-8\"?>
<wsdl:definitions xmlns:soap=\"http://schemas.xmlsoap.org/wsdl/soap/\" xmlns:tns=\"http://localhost/interface/\" xmlns:wsdl=\"http://schemas.xmlsoap.org/wsdl/\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" name=\"soap\" targetNamespace=\"http://localhost/interface/\">
  <wsdl:types>
    <xsd:schema targetNamespace=\"http://localhost/interface/\">
      <xsd:element name=\"HelloWorld\">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element name=\"in\" type=\"xsd:string\"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name=\"HelloWorldResponse\">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element name=\"out\" type=\"xsd:string\"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name=\"Add\">
       <xsd:complexType>
        <xsd:sequence>
         <xsd:element name=\"in\" type=\"xsd:int\"></xsd:element>
        </xsd:sequence>
       </xsd:complexType>
      </xsd:element>
      <xsd:element name=\"AddResponse\">
       <xsd:complexType>
        <xsd:sequence>

         <xsd:element name=\"out\" type=\"xsd:int\"></xsd:element>
        </xsd:sequence>
       </xsd:complexType>
      </xsd:element>
    </xsd:schema>
  </wsdl:types>
   <wsdl:message name=\"AddRequest\">    <wsdl:part name=\"a\" type=\"xsd:int\"></wsdl:part>
   <wsdl:part name=\"b\" type=\"xsd:int\"></wsdl:part>
  </wsdl:message>
  <wsdl:message name=\"AddResponse\">
   <wsdl:part name=\"c\" type=\"xsd:int\"></wsdl:part>
  </wsdl:message>
  <wsdl:portType name=\"TestSoap\">     <wsdl:operation name=\"Add\">
     <wsdl:input message=\"tns:AddRequest\"></wsdl:input>
     <wsdl:output message=\"tns:AddResponse\"></wsdl:output>
    </wsdl:operation>
  </wsdl:portType>
  <wsdl:binding name=\"soapSOAP\" type=\"tns:TestSoap\">
   <soap:binding style=\"document\"
    transport=\"http://schemas.xmlsoap.org/soap/http\" />
   <wsdl:operation name=\"Add\">
    <soap:operation soapAction=\"http://localhost/interface/Add\" />
    <wsdl:input>
     <soap:body use=\"literal\"
      namespace=\"http://localhost/interface/\" />
    </wsdl:input>
    <wsdl:output>
     <soap:body use=\"literal\"
      namespace=\"http://localhost/interface/\" />
    </wsdl:output>
   </wsdl:operation>
  </wsdl:binding>
  <wsdl:service name=\"TestSoap\">
    <wsdl:port binding=\"tns:soapSOAP\" name=\"soapSOAP\">
      <soap:address location=\"http://localhost/interface/myservice.php\"/>
    </wsdl:port>
  </wsdl:service>
</wsdl:definitions>

本文地址:https://www.stayed.cn/item/2366

转载请注明出处。

本站部分内容来源于网络,如侵犯到您的权益,请 联系我

我的博客

人生若只如初见,何事秋风悲画扇。