开发环境 eclipse + wtp
如何使用
eclipse
的
"Web Service Explorer"
来
Test
已经存在的
web service
http://www.eclipse.org/webtools/jst/components/ws/1.0/tutorials/WebServiceExplorer/WebServiceExplorer.html
如何开发一个
JAX-WS 2.0
的
web service (
非
stateless bean
版
)
Step 1: 创建一个dynamic web project。 File -> New -> Other... -> Web -> Dynamic Web Project。


Step 2: 把与ejb相关的jar添加到classpath,另外最好还需要添加jaxb jar(
因为对于一些复杂的
data type
,例如
list
,需要用到
jaxb
的
annotation)

Step 3: 创建一个HelloWS.java
================================
package
ws;
import
javax.jws.WebMethod;
import
javax.jws.WebService;
@WebService
(name =
"HelloWorld"
,
serviceName =
"HelloWorldService"
)
public
class
HelloWS {
@WebMethod
public
String getHello(String name){
return
"hello "
+ name;
}
}
================================
Step 4: 在eclipse J2EE perspective里,double click该dynamic web project的“Deployment Descriptor: XXX”,在打开的web.xml里添加下列内容来
把上面的web service class设置成servlet。
================================
<
servlet
>
<
servlet-name
>
HelloWS
</
servlet-name
>
<
servlet-class
>
ws.HelloWS
</
servlet-class
>
</
servlet
>
<
servlet-mapping
>
<
servlet-name
>
HelloWS
</
servlet-name
>
<
url-pattern
>
/hellows
</
url-pattern
>
</
servlet-mapping
>
================================

Step 5: 把上面的web project
打包成
WAR
文件:在eclipse J2EE perspective里, right click the web project node,select menu “
Export
à
WAR file”,然后把WAR file deploy到你的WEB SERVER里即可(我是用JBOSS,所以把WAR file copy to “deploy” folder)。

Step 6: 检查你的web service是否运行正常。启动jboss server,然后输入
http://localhost:8080/jbossws/services , 看是否有你的web service。如果有,则用前面所说的eclipse web service explorer来测试它。
上面的步骤是讲解开发JAX-WS 2.0的web service。如果要
用
eclipse
开发
Apache Axis 2 web service,请参看
如何针对一个已经存在的
web service
,来创建一个
java web service client
Step 1: 创建一个normal java project
Step 2: 然后通过wizard来生成一个web service client:
File -> New -> Other... -> Web Services -> Web Service Client


这样就会根据你提供的wsdl自动生成下列文件:
Step 3
================================
import
ws.HelloWorld;
import
ws.HelloWorldProxy;
public
class
TestWS {
public
static
void
main(String args[]) {
try
{
// Call Web Service Operation
HelloWorldProxy service = new HelloWorldProxy();
HelloWorld port = service.getHelloWorld();
System.
out
.println(port.getHello(
"tomson"
));
}
catch
(Exception ex) {
ex.printStackTrace();
}
}
}
================================
Step 4:运行TestWS.java来测试
如何根据一个
WSDL
文件来创建
web service
(
Top Down
方式)
Step 1: 创建一个dynamic web project。 File -> New -> Other... -> Web -> Dynamic Web Project。(
注意:要勾上“Add project to an EAR”选项)

Step 2: 把WSDL文件import到project的root目录下

Step 3: right click该wsdl文件,select menu “Web services
à Generate Java bean skeleton”,根据wizard来生成web service。


注:上面
top down
方式生成的
web service
是基于
apache axis
的
web service
(不是基于
jax-ws 2.0
的),因此不会生成使用
annotation
的
web service
。
另:
http://www.eclipse.org/webtools/community/tutorials/TopDownAxis2WebService/td_tutorial.html 教你如何通过apache axis 2来生成TOP DOWN方式的web service(
同样也是不使用
annotation)
: 创建一个TestWS.java