以下是开发webservice采用wsdl-first开发模式的一个wsdl例子(摘自CXF example),一个wsdl的编写必须由5小节元素构成:
<?xml version="1.0" encoding="utf-8"?>
<!--wsdl根元素definitions,同时使用xmlns:xxx对各命名空间进行缩写,方便引用-->
<wsdl:definitions name="SOAPBuilders-mime-cr-test" xmlns:types="http://cxf.apache.org/mime/types"
xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:tns="http://cxf.apache.org/mime"
xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"
xmlns:xmime="http://www.w3.org/2005/05/xmlmime"
targetNamespace="http://cxf.apache.org/mime">
<!--第一节types元素:主要是使用schema对webservice组件的方法参数和返回值进行类型定义,类似于java的编写class-->
<wsdl:types>
<schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://cxf.apache.org/mime/types"
xmlns:xmime="http://www.w3.org/2005/05/xmlmime" elementFormDefault="qualified">
<complexType name="ByteArrayType">
<sequence>
<element name="name" type="xsd:string" />
<element name="attachinfo" type="xsd:base64Binary"/>
</sequence>
</complexType>
<element name="testByteArray" type="types:ByteArrayType" />
<element name="testByteArrayResponse" type="types:ByteArrayType" />
<complexType name="DataHandlerType">
<sequence>
<element name="name" type="xsd:string" />
<element name="attachinfo" type="xsd:base64Binary"
xmime:expectedContentTypes="application/octet-stream"/>
</sequence>
</complexType>
<element name="testDataHandler" type="types:DataHandlerType" />
<element name="testDataHandlerResponse" type="types:DataHandlerType" />
</schema>
</wsdl:types>
<!--第二节message元素:主要是引用第一节的类型定义来创建webservice组件的方法参数和返回值元素,类似于java创建类的实例-->
<wsdl:message name="testByteArrayIn">
<wsdl:part name="data" element="types:testByteArray" />
</wsdl:message>
<wsdl:message name="testByteArrayOut">
<wsdl:part name="data" element="types:testByteArrayResponse" />
</wsdl:message>
<wsdl:message name="testDataHandlerIn">
<wsdl:part name="data" element="types:testDataHandler" />
</wsdl:message>
<wsdl:message name="testDataHandlerOut">
<wsdl:part name="data" element="types:testDataHandlerResponse" />
</wsdl:message>
<!--第三节portType元素:定义了webservice组件的方法名、参数和返回值元素-->
<wsdl:portType name="TestMtomPortType">
<wsdl:operation name="testByteArray">
<wsdl:input message="tns:testByteArrayIn" />
<wsdl:output message="tns:testByteArrayOut" />
</wsdl:operation>
<wsdl:operation name="testDataHandler">
<wsdl:input message="tns:testDataHandlerIn" />
<wsdl:output message="tns:testDataHandlerOut" />
</wsdl:operation>
</wsdl:portType>
<!--第四节bingding元素:定义了底层的传输协议是基于http还是别的协议,同时指定绑定模式是rpc/encode还是document/literal等模式-->
<wsdl:binding name="TestMtomBinding" type="tns:TestMtomPortType">
<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" />
<wsdl:operation name="testByteArray">
<soap:operation soapAction="" />
<wsdl:input>
<soap:body use="literal" />
</wsdl:input>
<wsdl:output>
<soap:body use="literal" />
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="testDataHandler">
<soap:operation soapAction="" />
<wsdl:input>
<soap:body use="literal" />
</wsdl:input>
<wsdl:output>
<soap:body use="literal" />
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<!--第五节service元素,定义了发布的组件服务名和端口地址-->
<wsdl:service name="TestMtomService">
<wsdl:port name="TestMtomPort" binding="tns:TestMtomBinding">
<soap:address location="http://localhost:9000/mime-test" />
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
分享到:
相关推荐
之前有人写过,但是有点错误,并且描述不是很清晰。这是我的完整解析wsdl的方法 wsdl wsdl wsdl wsdl wsdl wsdl wsdl wsdl wsdl wsdl wsdl
芥末一个简单的WSDL解析器。安装Wasabi可通过,并可通过以下方式安装: $ gem install wasabi入门document = Wasabi . document File . read ( "some.wsdl" ) 获取SOAP端点: document . endpoint# => ...
基于java语言,根据.wsdl解析出对应的信息,如服务,方法名及参数
使用C#开发的一个WSDL解析器。可以从本地或网络获取WSDL文件进行分析。
很不错的一款工具哦,大家可以好好使用下,很方便的
Java解析wsdl文档获取具体的方法与参数
wsdl4j 解析wsdl 文件wsdl4j 解析wsdl 文件wsdl4j 解析wsdl 文件
NULL 博文链接:https://hongyegu.iteye.com/blog/283970
一个用wsdl4j.jar,ws-commons-java5-1.0.1.jar,XmlSchema-1.3.2.jar完全解析wsdl的例子, 本例子原本是xcalia studio中的一个模块,拿来和初次接触的人参考,因为我走了很多弯路,希望别人能少走。
幸运的是,gSOAP包中的'wsdl2h'WSDL解析器和'soapcpp2’存根及架构编译器能够将web服务客户端及服务端的开发工作自动化。 'soapcpp2’存根及架构编译器是可以生成构建C++ SOAP客户端所需的C++源码的预编译器。该预...
解析wsdl文件,获取关键词。package wsdl2java; import java.io.File; import java.io.FileOutputStream; //import java.io.FileWriter; //import java.io.OutputStreamWriter; import java.io.PrintStream; //...
java解析wsdl
java解析wsdl文档获取方法与参数的工具类,与博客中描述内容相符。我目前把我的资源全部调成了0分,我希望不要因为其他什么原因改变我的资源下载积分,不然以后只能搞百度云等链接了。
Java基于soapui解析WSDl 支持https
首先完整的内容应该是实现java解析wsdl文档获取方法与参数,然后使用soapui发送soap请求获取返回值并解析,而且基本可以解析主流webservice框架生成的wsdl
WebService WSDL贵子解析,讲解了服务器端暴露的信息WSDL文件的分析。
wsdl4j的jar包,对wsdl文档进行解析的好工具包……
WSDL 解析和生成样本##为什么? 我试图解析 wsdl 并为 wsdl 操作生成示例请求以自动生成文档。 我发现了许多有用的基于 Java 的库,但在 Javascript 中没有,因此创建了一个围绕的包装器这就是你可以使用它的方式...
一个wsdl文件,用axis2解析,一个wsdl文件,用axis2解析,
该文档详细介绍esb开发webservice服务的流程及测试