webservices的开发

WebNMS 贡献于2016-10-18

作者 onway  创建于2014-09-19 08:25:00   修改者onway  修改于2014-09-20 14:23:00字数2385

文档摘要:
关键词:

Web Services 的开发 1. Axis2 在 Eclipse中的使用. Eclipse 的版本是 Kepler。下载Axis2的最新版本Axis2, http://axis.apache.org/axis2/java/core/download.cgi 下载 binary 和 War 文件包。再下载eclipse 的工具插件, 包括了2个工具:service codegen。 http://axis.apache.org/axis2/java/core/tools/index.html 1)开发前配置:在Eclipse的菜单栏中,Window --> Preferences --> Web Service --> Axis2 Perferences,在Axis2 runtime location中选择Axis2 binary 解压缩包的位置,设置好后,点"OK"即行。(如图) 2)将axis2-1.6.2.-war 中的 axis2.war 放置在C:\Program Files\Apache Software Foundation\Tomcat 6.0\webapps 目录下。部署 axis2 的服务器完成。 3)将 axis2-eclipse-service-plugin-1.6.2.jar 和 axis2-eclipse-codegen-plugin-1.6.2.jar 放置在eclipse 的 dropin 目录下, 重新启动 eclipse, 实现开发工具的安装。 2. 使用Eclipse 开发 Web Services Project 的 service 端 建立新的 Java EE -> Utility Project 或者 Web -> Dynamic Web Project . 得到项目目录。填写 service 接口或 bean 程序, 基于service 接口和 bean 程序, 使用 Bottom up Java bean Web service 方式创建 Axis2 service archiver, 填写正确的路径,得到 my_service.aar 服务模块。 将 my_service.aar服务模块放入C:\Program Files\Apache Software Foundation\Tomcat 6.0\webapps\axis2\WEB-INF\services。运行 tomcat 6 , 用浏览器打开http://localhost:8080/axis2/, 点击进入 services, 见下图: 3.使用Eclipse 开发Web Services 消费者端 使用 Axis2 Wizards -> Axis 3 code generator 创建 client 端的stub 通信栈。给定http://localhost:8080/axis2/services/calculateService?wsdl 的 web services description list, 由此服务接口描述文档,产生客户端的协议栈,客户端通过网络中的 target地址,找到服务, 并建立通信栈的实例。 1) Synchronous Call Services a) String target = "http://localhost:8080/axis2/services/calculateService"; b) try { c) CalculateServiceStub stub = new CalculateServiceStub(target); d) e) CalculateServiceStub.Plus plus = new CalculateServiceStub.Plus(); f) plus.setX(10.0f); g) plus.setY(123.0f); h) CalculateServiceStub.PlusResponse res= stub.plus(plus); i) j) System.out.println("Plus result: "+res.get_return()); k) l) } catch (AxisFault e) { m) // TODO Auto-generated catch block n) e.printStackTrace(); o) } catch (RemoteException e) { p) // TODO Auto-generated catch block q) e.printStackTrace(); r) }*/ 2) Asynchronous Call Services a) try { b) CalculateServiceStub stub = new CalculateServiceStub(target); c) d) // sayHello 为webService提供参数 e) myCalcuCallbackHandler sayHello = new myCalcuCallbackHandler(); f) g) CalculateServiceStub.Plus plus = new CalculateServiceStub.Plus(); h) plus.setX(10.0f); i) plus.setY(123.0f); j) k) stub.startplus(plus, sayHello); l) m) //System.out.println("Plus result: "+res.get_return()); n) Thread.sleep(3000); o) p) } catch (AxisFault e) { q) // TODO Auto-generated catch block r) e.printStackTrace(); s) } catch (RemoteException e) { t) // TODO Auto-generated catch block u) e.printStackTrace(); v) } catch (InterruptedException e) { w) // TODO Auto-generated catch block x) e.printStackTrace(); y) }

下载文档到电脑,查找使用更方便

文档的实际排版效果,会与网站的显示效果略有不同!!

需要 10 金币 [ 分享文档获得金币 ] 0 人已下载

下载文档