WSDL规则与示例(2)

王朝other·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

看看两段简单的JAVA代码,我们用它作为WSDL的服务实现代码:

//CatDTO.java

public class CatDTO

{

private long id;

private String name;

public long getId()

{

return id;

}

public String getName()

{

return name;

}

public void setId(long id)

{

this.id = id;

}

public void setName(String name)

{

this.name = name;

}

}

//Test.java

public class Test

{

public String echo(CatDTO cd){

return "Hello " + cd.getName();

}

}

然后看看用它导出的WSDL:

<?xml version="1.0" encoding="UTF-8"?>

<wsdl:definitions targetNamespace="http://businessEngine.hongsoft.com" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="http://businessEngine.hongsoft.com-impl" xmlns:intf="http://businessEngine.hongsoft.com" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">

//自定义类型

<wsdl:types>

<schema targetNamespace="http://businessEngine.hongsoft.com" xmlns="http://www.w3.org/2001/XMLSchema">

<import namespace="http://schemas.xmlsoap.org/soap/encoding/"/>

//复合类型

<complexType name="CatDTO">

<sequence>

<element name="id" type="xsd:long"/>

<element name="name" nillable="true" type="xsd:string"/>

</sequence>

</complexType>

<element name="CatDTO" nillable="true" type="intf:CatDTO"/>

</schema>

</wsdl:types>

<wsdl:message name="echoResponse">

<wsdl:part name="echoReturn" type="xsd:string"/>

</wsdl:message>

//表示复合类型的消息

<wsdl:message name="echoRequest">

<wsdl:part name="cd" type="intf:CatDTO"/>

</wsdl:message>

//portType雷同一个类

<wsdl:portType name="Test">

<wsdl:operation name="echo" parameterOrder="cd">

<wsdl:input message="intf:echoRequest" name="echoRequest"/>

<wsdl:output message="intf:echoResponse" name="echoResponse"/>

</wsdl:operation>

</wsdl:portType>

//与实现进行绑定,这里用SOAP方式

<wsdl:binding name="TestSoapBinding" type="intf:Test">

<wsdlsoap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>

<wsdl:operation name="echo">

<wsdlsoap:operation soapAction=""/>

<wsdl:input name="echoRequest">

<wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://businessEngine.hongsoft.com" use="encoded"/>

</wsdl:input>

<wsdl:output name="echoResponse">

<wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://businessEngine.hongsoft.com" use="encoded"/>

</wsdl:output>

</wsdl:operation>

</wsdl:binding>

//用于发布服务

<wsdl:service name="TestService">

<wsdl:port binding="intf:TestSoapBinding" name="Test">

<wsdlsoap:address location="http://localhost:8080/hongsoft/services/Test"/>

</wsdl:port>

</wsdl:service>

</wsdl:definitions>

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航