注册 登录  
 加关注
查看详情
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

一路奔跑

奔跑着一路向前...

 
 
 

日志

 
 

eclipse下开发webservice教程  

2009-10-26 14:09:08|  分类: 默认分类 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

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

  评论这张
 
阅读(17309)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018