eclipse下开发java 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

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

3           开发、发布websevice

      *         新建一个动态web project名为eclipse4WS

*         添加Axislib下的jar包到工程中

*         改变class文件的输出路径为

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

package service;

public class HelloService {

     public String sayHello(String username) {

            return "Hello: " + username;

     }

}

*         发布该类为webservice

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

next

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

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

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

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

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

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部分,选择slider

install client,然后按照默认一路next,直到Finish。这样eclipse就为你创建了一个client工程eclipse4WSClient

     

(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,你就可以看到控制台的返回信息了。

收藏  | 打印  | 字体:  -缩小  放大+    
[ x ] 请正确填写下面信息


是否保存此网页快照 是否公开此收藏

查看全部评论(2)我来说两句