加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

Webservice_22_编写WSDL的不同方式(wrappered bare rpc)

发布时间:2020-12-17 00:11:29 所属栏目:安全 来源:网络整理
导读:非常感谢孙浩老师。 wrappered 推荐使用wrappered ?xml version="1.0" encoding="UTF-8" standalone="no"?wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"xmlns:tns="http://service.lichen.cn" xmlns:wsdl="http://schemas.xmlsoap.o

非常感谢孙浩老师。

wrappered

推荐使用wrappered

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
	xmlns:tns="http://service.lichen.cn" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
	xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="UserService"
	targetNamespace="http://service.lichen.cn">
	<wsdl:types>
		<xsd:schema targetNamespace="http://service.lichen.cn">
			<!-- <xsd:include schemaLocation="user.xsd"></xsd:include> -->

			<xsd:element name="add" type="tns:addType" />
			<xsd:element name="addResponse" type="tns:addResponseType" />
			<xsd:element name="delete" type="tns:deleteType" />
			<xsd:element name="deleteResponse" type="tns:deleteResponseType" />
			<xsd:element name="list" type="tns:listType" />
			<xsd:element name="listResponse" type="tns:listResponseType" />
			<xsd:element name="login" type="tns:loginType" />
			<xsd:element name="loginResponse" type="tns:loginResponseType" />
			<xsd:complexType name="addType">
				<xsd:sequence>
					<xsd:element name="user" type="tns:user" />
				</xsd:sequence>
			</xsd:complexType>
			<xsd:complexType name="addResponseType">
				<xsd:sequence />
			</xsd:complexType>
			<xsd:complexType name="deleteType">
				<xsd:sequence>
					<xsd:element name="username" type="xsd:string" />
				</xsd:sequence>
			</xsd:complexType>
			<xsd:complexType name="deleteResponseType">
				<xsd:sequence />
			</xsd:complexType>
			<xsd:complexType name="listType">
				<xsd:sequence />
			</xsd:complexType>
			<xsd:complexType name="listResponseType">
				<xsd:sequence minOccurs="1" maxOccurs="unbounded">
					<xsd:element name="user" type="tns:user" />
				</xsd:sequence>
			</xsd:complexType>
			<xsd:complexType name="loginType">
				<xsd:sequence>
					<xsd:element name="username" type="xsd:string" />
					<xsd:element name="passwrod" type="xsd:string" />
				</xsd:sequence>
			</xsd:complexType>
			<xsd:complexType name="loginResponseType">
				<xsd:sequence>
					<xsd:element name="user" type="tns:user" />
				</xsd:sequence>
			</xsd:complexType>
			<xsd:complexType name="user">
				<xsd:sequence>
					<xsd:element name="username" type="xsd:string" />
					<xsd:element name="nickname" type="xsd:string" />
					<xsd:element name="passwrod" type="xsd:string" />
				</xsd:sequence>
			</xsd:complexType>
		</xsd:schema>
	</wsdl:types>

	<wsdl:message name="add">
		<wsdl:part element="tns:add" name="parameters" />
	</wsdl:message>
	<wsdl:message name="addResponse">
		<wsdl:part element="tns:addResponse" name="parameters" />
	</wsdl:message>
	<wsdl:message name="delete">
		<wsdl:part element="tns:delete" name="parameters" />
	</wsdl:message>
	<wsdl:message name="deleteResponse">
		<wsdl:part element="tns:deleteResponse" name="parameters" />
	</wsdl:message>
	<wsdl:message name="login">
		<wsdl:part element="tns:login" name="parameters" />
	</wsdl:message>
	<wsdl:message name="loginResponse">
		<wsdl:part element="tns:loginResponse" name="parameters" />
	</wsdl:message>
	<wsdl:message name="list">
		<wsdl:part element="tns:list" name="parameters" />
	</wsdl:message>
	<wsdl:message name="listResponse">
		<wsdl:part element="tns:listResponse" name="parameters" />
	</wsdl:message>


	<wsdl:portType name="IMyService">
		<wsdl:operation name="add">
			<wsdl:input message="tns:add" />
			<wsdl:output message="tns:addResponse" />
		</wsdl:operation>
		<wsdl:operation name="delete">
			<wsdl:input message="tns:delete" />
			<wsdl:output message="tns:deleteResponse" />
		</wsdl:operation>
		<wsdl:operation name="login">
			<wsdl:input message="tns:login" />
			<wsdl:output message="tns:loginResponse" />
		</wsdl:operation>
		<wsdl:operation name="list">
			<wsdl:input message="tns:list" />
			<wsdl:output message="tns:listResponse" />
		</wsdl:operation>
	</wsdl:portType>

	<wsdl:binding name="userServiceSOAP" type="tns:IMyService">
		<soap:binding style="document"
			transport="http://schemas.xmlsoap.org/soap/http" />
		<wsdl:operation name="add">
			<wsdl:input>
				<soap:body use="literal" />
			</wsdl:input>
			<wsdl:output>
				<soap:body use="literal" />
			</wsdl:output>
		</wsdl:operation>
		<wsdl:operation name="delete">
			<wsdl:input>
				<soap:body use="literal" />
			</wsdl:input>
			<wsdl:output>
				<soap:body use="literal" />
			</wsdl:output>
		</wsdl:operation>
		<wsdl:operation name="login">
			<wsdl:input>
				<soap:body use="literal" />
			</wsdl:input>
			<wsdl:output>
				<soap:body use="literal" />
			</wsdl:output>
		</wsdl:operation>
		<wsdl:operation name="list">
			<wsdl:input>
				<soap:body use="literal" />
			</wsdl:input>
			<wsdl:output>
				<soap:body use="literal" />
			</wsdl:output>
		</wsdl:operation>
	</wsdl:binding>
	<wsdl:service name="UserService">
		<wsdl:port binding="tns:userServiceSOAP" name="UserServicePort">
			<soap:address location="http://localhost:8800/us/" />
		</wsdl:port>
	</wsdl:service>
</wsdl:definitions>


bare

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<wsdl:definitions 
	xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" 
	xmlns:tns="http://service.zttc.edu.cn" 
	xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" 
	xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
	name="UserService" 
	targetNamespace="http://service.zttc.edu.cn">
<!-- 
bare不进行封装的类型
 -->	
  <wsdl:types>
    <xsd:schema targetNamespace="http://service.zttc.edu.cn">
    	<!-- <xsd:import namespace="http://service.zttc.edu.cn" schemaLocation="user.xsd"></xsd:import> -->
    	<!-- <xsd:include schemaLocation="user.xsd"></xsd:include> -->
		<xsd:element name="user" type="tns:user"></xsd:element>
		<xsd:element name="username" type="xsd:string"></xsd:element>
		<xsd:element name="loginResponse">
			<xsd:complexType>
				<xsd:sequence>
					<xsd:element name="user" type="tns:user"></xsd:element>
				</xsd:sequence>
			</xsd:complexType>
		</xsd:element>
		
		<xsd:element name="login">
			<xsd:complexType>
				<xsd:sequence>
					<xsd:element name="username" type="xsd:string"></xsd:element>
					<xsd:element name="password" type="xsd:string"></xsd:element>
				</xsd:sequence>
			</xsd:complexType>
		</xsd:element>
		<xsd:element name="listResponse">
			<xsd:complexType>
				<xsd:sequence minOccurs="1" maxOccurs="unbounded">
					<xsd:element name="user" type="tns:user"></xsd:element>
				</xsd:sequence>
			</xsd:complexType>
		</xsd:element>
		
		<xsd:complexType name="user">
			<xsd:sequence>
				<xsd:element name="username" type="xsd:string"/>
				<xsd:element name="password" type="xsd:string"/>
				<xsd:element name="nickname" type="xsd:string"/>
			</xsd:sequence>
		</xsd:complexType>
    </xsd:schema>
  </wsdl:types>
  <wsdl:message name="add">
    <wsdl:part element="tns:user" name="user"/>
  </wsdl:message>
  <wsdl:message name="addResponse"/>
  
  <wsdl:message name="delete">
    <wsdl:part element="tns:username" name="username"/>
  </wsdl:message>
  <wsdl:message name="deleteResponse"/>
  
  <wsdl:message name="list"/>
  
  <wsdl:message name="listResponse">
    <wsdl:part element="tns:listResponse" name="parameters"/>
  </wsdl:message>
  
  <wsdl:message name="login">
    <wsdl:part element="tns:login" name="parameters"/>
  </wsdl:message>
  <wsdl:message name="loginResponse">
    <wsdl:part element="tns:loginResponse" name="parameters"/>
  </wsdl:message>
  
  <wsdl:portType name="IUserService">
    <wsdl:operation name="add">
      <wsdl:input message="tns:add"/>
      <wsdl:output message="tns:addResponse"/>
    </wsdl:operation>
    
     <wsdl:operation name="delete">
      <wsdl:input message="tns:delete"/>
      <wsdl:output message="tns:deleteResponse"/>
    </wsdl:operation>
    
     <wsdl:operation name="list">
      <wsdl:input message="tns:list"/>
      <wsdl:output message="tns:listResponse"/>
    </wsdl:operation>
    
     <wsdl:operation name="login">
      <wsdl:input message="tns:login"/>
      <wsdl:output message="tns:loginResponse"/>
    </wsdl:operation>
  </wsdl:portType>
  
  
  <wsdl:binding name="userServiceSOAP" type="tns:IUserService">
    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
    <wsdl:operation name="add">
      <wsdl:input>
        <soap:body use="literal"/>
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal"/>
      </wsdl:output>
    </wsdl:operation>
    
    <wsdl:operation name="delete">
      <wsdl:input>
        <soap:body use="literal"/>
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal"/>
      </wsdl:output>
    </wsdl:operation>
    
    <wsdl:operation name="list">
      <wsdl:input>
        <soap:body use="literal"/>
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal"/>
      </wsdl:output>
    </wsdl:operation>
    
    <wsdl:operation name="login">
      <wsdl:input>
        <soap:body use="literal"/>
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal"/>
      </wsdl:output>
    </wsdl:operation>
  </wsdl:binding>
  
  
  <wsdl:service name="UserService">
    <wsdl:port binding="tns:userServiceSOAP" name="UserServicePort">
      <soap:address location="http://localhost:9898/us/"/>
    </wsdl:port>
  </wsdl:service>
</wsdl:definitions>


rpc

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<wsdl:definitions 
	xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" 
	xmlns:tns="http://service.zttc.edu.cn" 
	xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" 
	xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
	name="UserService" 
	targetNamespace="http://service.zttc.edu.cn">
<!-- RPC的方式 -->	
  <wsdl:types>
    <xsd:schema targetNamespace="http://service.zttc.edu.cn">
    	<!-- <xsd:import namespace="http://service.zttc.edu.cn" schemaLocation="user.xsd"></xsd:import> -->
    	<!-- <xsd:include schemaLocation="user.xsd"></xsd:include> -->
		<xsd:complexType name="user">
			<xsd:sequence>
				<xsd:element name="username" type="xsd:string"/>
				<xsd:element name="password" type="xsd:string"/>
				<xsd:element name="nickname" type="xsd:string"/>
			</xsd:sequence>
		</xsd:complexType>
		
		<xsd:complexType name="listUser">
			<xsd:sequence maxOccurs="unbounded" minOccurs="1">
				<xsd:element name="user" type="tns:user"></xsd:element>
			</xsd:sequence>
		</xsd:complexType>
    </xsd:schema>
  </wsdl:types>
  
  
  <wsdl:message name="add">
    <wsdl:part name="user" type="tns:user"/>
  </wsdl:message>
  <wsdl:message name="addResponse"/>
  
  <wsdl:message name="delete">
    <wsdl:part type="xsd:string" name="username"/>
  </wsdl:message>
  <wsdl:message name="deleteResponse"/>
  
  <wsdl:message name="list">
  </wsdl:message>
  <wsdl:message name="listResponse">
    <wsdl:part name="user" type="tns:listUser">
    </wsdl:part>
  </wsdl:message>
  
  <wsdl:message name="login">
    <wsdl:part type="xsd:string" name="username"/>
    <wsdl:part type="xsd:string" name="password"/>
  </wsdl:message>
  <wsdl:message name="loginResponse">
    <wsdl:part name="user" type="tns:user"/>
  </wsdl:message>
  
  <wsdl:portType name="IUserService">
    <wsdl:operation name="add">
      <wsdl:input message="tns:add"/>
      <wsdl:output message="tns:addResponse"/>
    </wsdl:operation>
    
     <wsdl:operation name="delete">
      <wsdl:input message="tns:delete"/>
      <wsdl:output message="tns:deleteResponse"/>
    </wsdl:operation>
    
     <wsdl:operation name="list">
      <wsdl:input message="tns:list"/>
      <wsdl:output message="tns:listResponse"/>
    </wsdl:operation>
    
     <wsdl:operation name="login" parameterOrder="username password">
      <wsdl:input message="tns:login"/>
      <wsdl:output message="tns:loginResponse"/>
    </wsdl:operation>
  </wsdl:portType>
  
  
  <wsdl:binding name="userServiceSOAP" type="tns:IUserService">
    <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
    <wsdl:operation name="add">
      <wsdl:input>
        <soap:body use="literal" namespace="http://service.zttc.edu.cn"/>
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" namespace="http://service.zttc.edu.cn"/>
      </wsdl:output>
    </wsdl:operation>
    
    <wsdl:operation name="delete">
      <wsdl:input>
        <soap:body use="literal" namespace="http://service.zttc.edu.cn"/>
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" namespace="http://service.zttc.edu.cn"/>
      </wsdl:output>
    </wsdl:operation>
    
    <wsdl:operation name="list">
      <wsdl:input>
        <soap:body use="literal" namespace="http://service.zttc.edu.cn"/>
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" namespace="http://service.zttc.edu.cn"/>
      </wsdl:output>
    </wsdl:operation>
    
    <wsdl:operation name="login">
      <wsdl:input>
        <soap:body use="literal" namespace="http://service.zttc.edu.cn"/>
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" namespace="http://service.zttc.edu.cn"/>
      </wsdl:output>
    </wsdl:operation>
  </wsdl:binding>
  
  
  <wsdl:service name="UserService">
    <wsdl:port binding="tns:userServiceSOAP" name="UserServicePort">
      <soap:address location="http://localhost:9898/us/"/>
    </wsdl:port>
  </wsdl:service>
</wsdl:definitions>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读