zoukankan      html  css  js  c++  java
  • SOAP简单例子

    简介:这是SOAP简单例子的详细页面,介绍了和php,有关的知识、技巧、经验,和一些php源码等。

    class='pingjiaF' frameborder='0' src='http://biancheng.dnbcw.info/pingjia.php?id=339598' scrolling='no'>

    soap_client.php

    <?php
      $client = new SoapClient('http://www.phptest.com/soap/soap_server.php?WSDL');
      //$client = new SoapClient('http://localhost/php/soap/math.wsdl');
      try {
        $result = $client->div(10, 2); // will cause a Soap Fault if divide by zero
        print "The answer is: $result";
      } catch(SoapFault $e) {
        print "Sorry an error was caught executing your request: {$e->getMessage()}";
      }
    
    ?>

    soap_server.php

    <?php
    
    class math {
    
      public function add($a, $b) {
        return $a + $b;
      }
      
      public function div($a, $b) {
        if($b == 0) {
          throw new SoapFault(-1, "Cannot divide by zero!");
        }
        return $a / $b;
      }  
    }
    $server = new SoapServer('math.wsdl', array('soap_version' => SOAP_1_2));
    $server->setClass("math");
    $server->handle();
      
    ?>

    math.wsdl (可以通过zend studio生成)

    <?xml version='1.0' encoding='UTF-8'?>
    
    <!-- WSDL file generated by Zend Studio. -->
    
    <definitions name="math" targetNamespace="urn:math" xmlns:typens="urn:math" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns="http://schemas.xmlsoap.org/wsdl/">
    	<message name="add">
    		<part name="a" type="xsd:integer"/>
    		<part name="b" type="xsd:integer"/>
    	</message>
    	<message name="addResponse">
    		<part name="addReturn" type="xsd:integer"/>
    	</message>
    	<message name="div">
    		<part name="a" type="xsd:integer"/>
    		<part name="b" type="xsd:integer"/>
    	</message>
    	<message name="divResponse">
    		<part name="divReturn" type="xsd:double"/>
    	</message>
    	<portType name="mathPortType">
    		<documentation>
    			A simple math utility class
    		</documentation>
    		<operation name="add">
    			<documentation>
    				Add two integers together
    			</documentation>
    			<input message="typens:add"/>
    			<output message="typens:addResponse"/>
    		</operation>
    		<operation name="div">
    			<documentation>
    				Div two integers from each other
    			</documentation>
    			<input message="typens:div"/>
    			<output message="typens:divResponse"/>
    		</operation>
    	</portType>
    	<binding name="mathBinding" type="typens:mathPortType">
    		<soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
    		<operation name="add">
    			<soap:operation soapAction="urn:mathAction"/>
    			<input>
    				<soap:body namespace="urn:math" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
    			</input>
    			<output>
    				<soap:body namespace="urn:math" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
    			</output>
    		</operation>
    		<operation name="div">
    			<soap:operation soapAction="urn:mathAction"/>
    			<input>
    				<soap:body namespace="urn:math" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
    			</input>
    			<output>
    				<soap:body namespace="urn:math" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
    			</output>
    		</operation>
    	</binding>
    	<service name="mathService">
    		<port name="mathPort" binding="typens:mathBinding">
    			<soap:address location="http://www.phptest.com/soap/soap_server.php"/>
    		</port>
    	</service>
    </definitions>

    爱J2EE关注Java迈克尔杰克逊视频站JSON在线工具

    http://biancheng.dnbcw.info/php/339598.html pageNo:7
  • 相关阅读:
    四种访问修饰符详解(推荐)
    三层架构中DAL层Sqlhelper怎样快速掌握?(常用)
    ASP.NET中最常用的验证控件使用方法(推荐)
    .NetFrom验证方便的webconfig 配置及前台使用(推荐)
    CefSharp访问需要认证网页或接口(在Request的Headers中添加认证Token)
    CentOS7中配置vsftpd
    CentOS7下安装RabbitMQ
    CentOS7下让Asp.Net Core的网站自动运行
    Winform下的Combox根据值来选中项
    golang简单实现jwt验证(beego、xorm、jwt)
  • 原文地址:https://www.cnblogs.com/ooooo/p/2245280.html
Copyright © 2011-2022 走看看