您的位置:首页 > 编程语言 > Java开发

使用Eclipse自带的Axis1插件生成WSDL文件

2017-07-31 10:43 453 查看
版权声明:本文为博主原创文章,未经博主允许不得转载。

JDK版本:1.5.0_22

Eclipse版本:Helios Service Release 2(3.6.2)

首先创建一个web工程,创建过程如下:



如果选择Apache Tomcat v5.5,Dynamic web module version最高只能选择2.4,填写完成后点击“下一步”:



填写默认输出文件夹,填写完成后点击“下一步”:



填写根目录,填写完成后点击“完成”:



工程创建完成后,编写服务接口:

[java] view plain copy

package com.sean.ws;

public interface MathIntf {

public int plus(int a, int b);

}

然后编写服务接口实现类:

[java] view plain copy

package com.sean.ws;

public class MathImpl implements MathIntf {

public int plus(int a, int b) {

return a + b;

}

}

然后在服务接口实现类的基础上自动生成服务接口WSDL文件:



服务器选择Tomcat 6.0,Web Service环境选择Apache Axis(可选项还包含Axis2和CXF,不过这两项在使用前要预先设置),服务工程选择前面创建的ws_create工程,选择完成后点击“下一步”:



这里可以修改生成的WSDL文件文件名、接口方法以及WSDL文件类型,选择完成后点击“下一步”:



只生成Web Service WSDL文件的话,不需要发布接口(此时也不能发布接口),这里直接点击“完成”即可



Web Service环境Apache Axis所需的jar包会自动放入WebRoot\WEB-INF\lib路径下

并且在WebRoot\wsdl路径下生成Web Service接口描述文件MathImpl.wsdl

接口部署文件将会生成在WebRoot\WEB-INF\MathImplService\com\sean\ws路径下



Web Service WSDL文件内容如下(MathImpl.wsdl):

[java] view plain copy

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

<wsdl:definitions targetNamespace="http://ws.sean.com"

xmlns:apachesoap="http://xml.apache.org/xml-soap"

xmlns:impl="http://ws.sean.com" xmlns:intf="http://ws.sean.com"

xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"

xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/"

xmlns:xsd="http://www.w3.org/2001/XMLSchema">

<!--WSDL created by Apache Axis version: 1.4

Built on Apr 22, 2006 (06:55:48 PDT)-->

<wsdl:types>

<schema elementFormDefault="qualified"

targetNamespace="http://ws.sean.com"

xmlns="http://www.w3.org/2001/XMLSchema">

<element name="plus">

<complexType>

<sequence>

<element name="a" type="xsd:int"/>

<element name="b" type="xsd:int"/>

</sequence>

</complexType>

</element>

<element name="plusResponse">

<complexType>

<sequence>

<element name="plusReturn" type="xsd:int"/>

</sequence>

</complexType>

</element>

</schema>

</wsdl:types>

<wsdl:message name="plusResponse">

<wsdl:part element="impl:plusResponse" name="parameters">

</wsdl:part>

</wsdl:message>

<wsdl:message name="plusRequest">

<wsdl:part element="impl:plus" name="parameters">

</wsdl:part>

</wsdl:message>

<wsdl:portType name="MathImpl">

<wsdl:operation name="plus">

<wsdl:input message="impl:plusRequest" name="plusRequest">

</wsdl:input>

<wsdl:output message="impl:plusResponse" name="plusResponse">

</wsdl:output>

</wsdl:operation>

</wsdl:portType>

<wsdl:binding name="MathImplSoapBinding" type="impl:MathImpl">

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

<wsdl:operation name="plus">

<wsdlsoap:operation soapAction=""/>

<wsdl:input name="plusRequest">

<wsdlsoap:body use="literal"/>

</wsdl:input>

<wsdl:output name="plusResponse">

<wsdlsoap:body use="literal"/>

</wsdl:output>

</wsdl:operation>

</wsdl:binding>

<wsdl:service name="MathImplService">

<wsdl:port binding="impl:MathImplSoapBinding" name="MathImpl">

<wsdlsoap:address location="http://localhost:8080/ws_create/services/MathImpl"/>

</wsdl:port>

</wsdl:service>

</wsdl:definitions>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐