zoukankan      html  css  js  c++  java
  • ZendStudio WSDL编辑器

    如何用Zend Stuido 的WSDL编辑器
    File ->Other->Webservice->WSDL


    选择Next

    选择Finish.生成如下图所示的TestSoap.wsdl

    TestSoapSoap下面填写php webService 如myservice.php
    NewOption:添加方法。WebService里需要提供给别人调用的方法名
    input :设置输入参数名和类型
    output:设置返回值。
    Add part:如果在input里添加,就是添加多个参数
    示例:


    看看TestSoap.wsdl代码
    <?xml version="1.0" encoding="UTF-8"?>
    <wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://localhost/test/soap" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="test" targetNamespace="http://localhost/test/soap">
      
    <wsdl:types>
        
    <xsd:schema targetNamespace="http://localhost/test/soap">
          
    <xsd:element name="Add">
            
    <xsd:complexType>
              
    <xsd:sequence>
                
    <xsd:element name="in" type="xsd:string"/>
              
    </xsd:sequence>
            
    </xsd:complexType>
          
    </xsd:element>
          
    <xsd:element name="AddResponse">
            
    <xsd:complexType>
              
    <xsd:sequence>
                
    <xsd:element name="out" type="xsd:int"/>
              
    </xsd:sequence>
            
    </xsd:complexType>
          
    </xsd:element>
                
    <xsd:element name="b" type="xsd:string"></xsd:element>
                
    <xsd:element name="Add_fault" type="xsd:string"></xsd:element>
                
    <xsd:element name="Sub">
                    
    <xsd:complexType>
                        
    <xsd:sequence>
                            
    <xsd:element name="in" type="xsd:string"></xsd:element>
                        
    </xsd:sequence>
                    
    </xsd:complexType>
                
    </xsd:element>
                
    <xsd:element name="SubResponse">
                    
    <xsd:complexType>
                        
    <xsd:sequence>

                            
    <xsd:element name="out" type="xsd:int"></xsd:element>
                        
    </xsd:sequence>
                    
    </xsd:complexType>
                
    </xsd:element>
                
    <xsd:element name="MulResponse">
                    
    <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 element="tns:AddResponse" name="AddReturn"/>
      
    </wsdl:message>
      
    <wsdl:message name="Add_faultMsg">

      
    </wsdl:message>
      
    <wsdl:message name="SubRequest">
          
    <wsdl:part name="a" type="xsd:int"></wsdl:part>
      
    </wsdl:message>
      
    <wsdl:message name="SubResponse">
          
    <wsdl:part name="SubReturn" element="tns:SubResponse"></wsdl:part>
      
    </wsdl:message>
      
    <wsdl:message name="MulRequest">
          
    <wsdl:part name="a" type="xsd:int"></wsdl:part>
          
    <wsdl:part name="b" type="xsd:int"></wsdl:part>
      
    </wsdl:message>
      
    <wsdl:message name="MulResponse">
          
    <wsdl:part name="MulReturn" element="tns:MulResponse"></wsdl:part>
      
    </wsdl:message>
      
    <wsdl:portType name="test">
        
    <wsdl:operation name="Add">
          
    <wsdl:input message="tns:AddRequest"/>
          
    <wsdl:output message="tns:AddResponse"/>
            
    </wsdl:operation>
        
    <wsdl:operation name="Sub">
            
    <wsdl:input message="tns:SubRequest"></wsdl:input>
            
    <wsdl:output message="tns:SubResponse"></wsdl:output>
        
    </wsdl:operation>
        
    <wsdl:operation name="Mul">
            
    <wsdl:input message="tns:MulRequest"></wsdl:input>
            
    <wsdl:output message="tns:MulResponse"></wsdl:output>
        
    </wsdl:operation>
      
    </wsdl:portType>
      
    <wsdl:binding name="testSOAP" type="tns:test">
        
    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
        
    <wsdl:operation name="Add">
          
    <soap:operation soapAction="http://localhost/test/soap/NewOperation"/>
          
    <wsdl:input>
            
    <soap:body use="literal"/>
          
    </wsdl:input>
          
    <wsdl:output>
            
    <soap:body use="literal"/>
          
    </wsdl:output>
        
    </wsdl:operation>
      
    </wsdl:binding>
      
    <wsdl:service name="test">
        
    <wsdl:port binding="tns:testSOAP" name="testSOAP">
          
    <soap:address location="http://localhost/test/soap/myservice.php"/>
        
    </wsdl:port>
      
    </wsdl:service>
    </wsdl:definitions>
    这就是WSDL源代码。如何引用,如何使用参考http://www.cnblogs.com/likwo/archive/2009/09/18/1569036.html
    注意事项:在WSDL源代码里面发现wsdl:operation 标签里只有Add 方法,而其他的Sub Mul等方法都没有添加,
    这个时候请跟新Bind,重新生成该节点信息。
  • 相关阅读:
    MySQL5.7.17解压版安装
    autocomplete初步使用
    前端面试题:驼峰体与匈牙利语法的相互转换
    前端常用正则表达式
    解决npm报错:Module build failed: TypeError: this.getResolve is not a function
    vue实现对语言的切换,结合vue-il8n。
    大量数据处理的一个思路
    不同格式矢量数据源在MapServer上发布服务后切片缓存效率对比
    CentOS7使用yum安装PostgreSQL和PostGIS
    ArcGIS消除图斑重叠错误
  • 原文地址:https://www.cnblogs.com/likwo/p/1569531.html
Copyright © 2011-2022 走看看