eclipse下开发webservice小教程

最近在研究使用eclipse开发简单的webservice,现总结一下:

1           境准

        wtp-all-in-one-sdk-R-1.5.4-win32个是eclipseweb开发插件

        jakarta-tomcat-5.0.30

        下载axis-src-1_4.zip

2           环境配置

         配置tomcat关联到你的eclipse

eclipse下开发webservice小教程_第1张图片

         axis-1_4/webapps/axis/WEB-INF/lib中的文件复制到$TOMCATHOME$/common/lib

3           开发、发布websevice

               新建一个动态web project名为eclipse4WS

eclipse下开发webservice小教程_第2张图片

         添加Axislib下的jar包到工程中

eclipse下开发webservice小教程_第3张图片

         改变class文件的输出路径为

eclipse下开发webservice小教程_第4张图片

         src下编写一个简单的java类作为webservice

package service;

public class HelloService {

     public String sayHello(String username) {

            return "Hello: " + username;

     }

}

         发布该类为webservice

eclipse下开发webservice小教程_第5张图片

         在向导中调整如下选项,尤其是选择到test service,点击next

eclipse下开发webservice小教程_第6张图片

         选择供访问的方法sayHello,点击next

eclipse下开发webservice小教程_第7张图片

         一路点击next,直到出现start server按钮,点击运行tomcat,然后点击Finish按钮完成发布。

         点击webservice Explore中的Operations中的sayHello方法

eclipse下开发webservice小教程_第8张图片

         username中输入测试数据:little gril,点击Go

         status栏中出现访问该service的返回值:Hello: little girl,表示service已经发布成功并且可以访问

eclipse下开发webservice小教程_第9张图片

4           编写并运行客户端程序

l         手动编写

src目录下建立如下java类:

public class HelloClient {

       /**

        * @param args

        */

       public static void main(String[] args) {

              // TODO Auto-generated method stub

              String username = "guest";

              if (args.length != 0) {

                     username = args[0];

              }

//WebServiceLocation,在上图中可以找到,也可以在wsdl文件中找到。

              String endpoint = "http://localhost:8080/eclipse4WS/services/HelloService";

              Service service = new Service();

              try {

                     Call call = (Call) service.createCall();

                     call.setTargetEndpointAddress(endpoint);

//要访问的method

                     call.setOperationName(new QName("urn:HelloService", "sayHello"));

//传参

                     String returnValue = (String) call

                                   .invoke(new Object[] { username });

                     System.out.println(returnValue);

              } catch (ServiceException e) {

                     // TODO Auto-generated catch block

                     e.printStackTrace();

              } catch (RemoteException e) {

                     // TODO Auto-generated catch block

                     e.printStackTrace();

              }

 

       }

 

}

l         你也可以运用wtp插件来生成一个客户端proxy

(1)    在向导的client部分,选择sliderinstall client,然后按照默认一路next,直到Finish。这样eclipse就为你创建了一个client工程eclipse4WSClient

      eclipse下开发webservice小教程_第10张图片

(2)    打开这个工程的src下的service目录,你可以看到一个HelloServiceProxy类,这就是自动创建好的代理类,该类中封装好了要访问的HelloServiceendpoint以及发布的方法及参数类型、返回值,你只需要编写一个测试类实例化这个proxy类,并调用你想访问的webservice的方法就可以了。如:

public class HelloClient {

       public static void main(String[] args) throws RemoteException,

                     MalformedURLException {

              HelloServiceProxy proxy = new HelloServiceProxy();

              System.out.println(proxy.sayHello("zhii"));

       }

l         运行HelloClient as Java Allication,你就可以看到控制台的返回信息了。

 

你可能感兴趣的:(eclipse下开发webservice小教程)