一、利用jdk web服务api实现,这里使用基于 SOAP message 的 Web 服务
1.首先建立一个Web services EndPoint:
packageHello;importjavax.jws.WebService;importjavax.jws.WebMethod;importjavax.xml.ws.Endpoint;
@WebServicepublic classHello {
@WebMethodpublicString hello(String name) {return "Hello, " + name + "\n";
}public static voidmain(String[] args) {//create and publish an endpoint
Hello hello = newHello();
Endpoint endpoint= Endpoint.publish("http://localhost:8080/hello", hello);
}
}
2.使用 apt 编译 Hello.java(例:apt -d [存放编译后的文件目录] Hello.java ) ,会生成 jaws目录
3.使用java Hello.Hello运行,然后将浏览器指向http://localhost:8080/hello?wsdl就会出现下列显示
4.使用wsimport 生成客户端
使用如下:wsimport -p . -keep http://localhost:8080/hello?wsdl
这时,会在当前目录中生成如下文件:
5.客户端程序:
1classHelloClient{
2public static voidmain(String args[]) {3 HelloService service = newHelloService();4 Hello helloProxy =service.getHelloPort();5 String hello = helloProxy.hello("你好");6System.out.println(hello);7}8}
以上方法还稍显繁琐,还有更加简单的方法
二、使用xfire,我这里使用的是myeclipse集成的xfire进行测试的
利用xfire开发WebService,可以有三种方法:
1一种是从javabean 中生成;
2 一种是从wsdl文件中生成;
3 还有一种是自己建立webservice
步骤如下:
用myeclipse建立webservice工程,目录结构如下:
首先建立webservice接口,
代码如下:
1packagecom.myeclipse.wsExample;2//Generated by MyEclipse
34public interfaceIHelloWorldService {5
6 publicString example(String message);7
8}
接着实现这个借口:
1packagecom.myeclipse.wsExample;2//Generated by MyEclipse
34public class HelloWorldServiceImpl implementsIHelloWorldService {5
6 publicString example(String message) {7 r