基于SoapUI的JBossWS Web Service开发入门

红薯 发布于 2009/02/03 11:21
阅读 1K+
收藏 1

SoapUI是一款先进的Web Service开发和测试工具,它既可作为桌面应用软件使用,也可利用插件集成到Eclipsemaven2.Xnetbeansintellij中使用。您可以到SoapUISourceForge站点下载最新版本。

开发环境:JBoss AS 4.2.2GA + JBossTools 2.0.1GA + SoapUI 2.0.2

1. 创建Dynamic Web Project项目

1.1. JBossTools中选择菜单“New->Project…”,在出现的对话框中选择“Web->Dynamic Web Project”;

1.2. 在出现的“Dynamic Web Project”对话框中输入如下信息:

Project Nameechows

Target RuntimeJBoss 4.2 Runtime

ConfigurationsDefault Configuration for JBoss 4.2 Runtime

1.3. 选择“Finish”结束创建Dynamic Web Project项目。

2. 编辑WSDL文件

2.1. JBossTools中选择菜单“New->Other…”,在出现的对话框中选择“Web Services->WSDL”;

2.2. 在出现的“New WSDL File”对话框中输入如下信息:

Enter or Select the Parent Folderechows/WebContent/WEB-INF

File nameechows.wsdl

2.3. 选择“Finish”结束创建WSDL文件,JBossTools会在工作台打开刚创建的WSDL文件,选择“Design”视图为echows接口添加一个echo操作,修改后的wsdl文件内容如下:

<?xml version=“1.0″ encoding=“UTF-8″?>

<wsdl:definitions xmlns:soap=“http://schemas.xmlsoap.org/wsdl/soap/”

xmlns:tns=“http://www.jbossweek.com/echows/”

xmlns:wsdl=“http://schemas.xmlsoap.org/wsdl/”

xmlns:xsd=“http://www.w3.org/2001/XMLSchema” name=“echows”

targetNamespace=“http://www.jbossweek.com/echows/”>

<wsdl:types>

<xsd:schema

targetNamespace=“http://www.jbossweek.com/echows/”>

<xsd:element name=“echo”>

<xsd:complexType>

<xsd:sequence>

<xsd:element name=“in” type=“xsd:string” />

</xsd:sequence>

</xsd:complexType>

</xsd:element>

<xsd:element name=“echoResponse”>

<xsd:complexType>

<xsd:sequence>

<xsd:element name=“out” type=“xsd:string” />

</xsd:sequence>

</xsd:complexType>

</xsd:element>

</xsd:schema>

</wsdl:types>

<wsdl:message name=“echoRequest”>

<wsdl:part element=“tns:echo” name=“msg” />

</wsdl:message>

<wsdl:message name=“echoResponse”>

<wsdl:part element=“tns:echoResponse” name=“msg” />

</wsdl:message>

<wsdl:portType name=“echows”>

<wsdl:operation name=“echo”>

<wsdl:input message=“tns:echoRequest” />

<wsdl:output message=“tns:echoResponse” />

</wsdl:operation>

</wsdl:portType>

<wsdl:binding name=“echowsSOAP” type=“tns:echows”>

<soap:binding style=“document”

transport=“http://schemas.xmlsoap.org/soap/http” />

<wsdl:operation name=“echo”>

<soap:operation

soapAction=“http://www.jbossweek.com/echows/NewOperation” />

<wsdl:input>

<soap:body use=“literal” />

</wsdl:input>

<wsdl:output>

<soap:body use=“literal” />

</wsdl:output>

</wsdl:operation>

</wsdl:binding>

<wsdl:service name=“echows”>

<wsdl:port binding=“tns:echowsSOAP” name=“echowsSOAP”>

<soap:address

location=“http://@jboss.binding.address@:8080/echows/echo” />

</wsdl:port>

</wsdl:service>

</wsdl:definitions>

 

 

3. 实现Web Service

3.1. JBossTools中切换到“Java Perspective”,右键选中echows项目,在弹出的上下文菜单中选择“soapUI->Add soapUI Nature”,为echows项目添加soapUI支持;

3.2. 右键选择“WebContent->WEB-INF”目录下的echows.wsdl文件,在弹出的上下文菜单中选择“soapUI->Add to soapUI Project”,将echows.wsdl文件添加到soapUI项目中;

3.3. 切换到“soapUI Perspective”,打开echows项目,右键选择“echowsSOAP”接口,在弹出的上下文菜单中选择“Generate Code->JBossWS JAX-WS Artifacts”,在弹出的“JBossWS JAX-WS Artifacts”对话框中单击“Tools”按钮,在弹出的“soapUI Preferences”对话框中输入如下信息:

JBossWS wstoolsJBoss安装目录下的bin目录(注:该JBoss已经安装了JBossWS

选择“Ok”回到“JBossWS JAX-WS Artifacts”对话框,并输入如下信息:

Source Directorysrc

Packagedemo

钩选Keepkeep generated files),

单击“Generate”按钮生成Web Service框架代码。

3.4. demo包下新建一个实现Web ServiceEchowsImpl.java文件,其内容如下:

package demo;

import javax.jws.WebService;

 

@WebService(endpointInterface=“demo.Echows”)

public class EchowsImpl implements Echows {

 

public String echo(String in) {

return in;

}

 

}

3.5. 打开WebContent->WEB-INF目录下的web.xml文件,添加一个Servlet

Servlet-NameEchowsServlet

Servlet-Classdemo.EchowsImpl

然后再添加一个Servlet Mapping

Servlet-NameEchowsServlet

url-pattern/echo

 

4. 部署与测试

4.1. 打开“JBoss Server View”,将echows.war包部署到JBossAS服务器上;启动JBossAS服务器;

4.2. JBossTools中切换到“soapUI Perspective”,选择“echows->echowsSOAP->echo->Request1”,在打开的request1编辑视图中,将<in>元素的内容修改为:hello jbossweek!

4.3. 点击request1编辑视图左上方的“submit”按钮,request1编辑视图的右边窗格就会出现请求的结果,效果如下:

image

4.4. 恭喜您,WebService开发成功!

加载中
0
polly
polly

soapUI太大了,100多M

返回顶部
顶部