
使用JDK Web服务API实现Web服务时,首先需要定义一个WebservicesEndPoint类。例如:
package Hello;
@WebService
public class Hello {
@WebMethod
public String hello(String name) {
return "Hello," + name + "\n";
}
public static void main(String[] args) {
Hello hello = new Hello();
Endpoint endpoint = Endpoint.publish("", hello);
}
}
接着,使用apt编译Hello.java文件(例如:apt-d[存放编译后的文件目录]Hello.java),这将生成jaws目录。然后使用java Hello.Hello运行,通过浏览器访问特定URL,可以查看服务输出。通过wsimport命令生成客户端代码,可以简化客户端开发过程。
另一种简化开发的方式是使用xfire框架。通过MyEclipse集成xfire,可以方便地开发Web服务。可以采用从JavaBean生成、从WSDL文件生成或自己创建Web服务这三种方法。具体步骤包括创建Web服务接口、实现接口、修改service.xml文件等。
部署项目到Tomcat服务器后,可以通过浏览器访问http://localhost:8989/HelloWorld/services/HelloWorldService?wsdl来查看服务定义。客户端实现代码中,使用XFireFactory和XFireProxyFactory来创建服务代理,并通过URL访问Web服务,执行特定方法。
若直接使用WSDL地址引用远程Web服务,有时会遇到验证错误。此时,可以在类中直接引用WSDL地址,通过XFire框架创建服务代理,实现与远程Web服务的交互。