使用CXF开发WebService客户端
发布时间:2020-12-16 23:47:54 所属栏目:安全 来源:网络整理
导读:使用CXF开发WebService客户端 (2012-12-25 09:15:47) 转载 ▼ 标签: 杂谈 分类: Java学习 首先服务器端,分为六步 第一步:创建一个Java 项目,我创建的是WS_Server。然后创建一个Interface,我创建的是HelloWorld,包名是edu.xaut.cxf.ws。该接口要用@Web
使用CXF开发WebService客户端
首先服务器端,分为六步
第一步:创建一个Java 项目,我创建的是WS_Server。然后创建一个Interface,我创建的是HelloWorld,包名是edu.xaut.cxf.ws。该接口要用@WebService修饰 package edu.xaut.cxf.ws; import javax.jws.WebService; @WebService public interface HelloWorld { ? } 第二步:新建一个class,来实现HelloWorld 接口,该类要用@WebService修饰 package edu.xaut.cxf.ws.impl; import java.util.Date; import javax.jws.WebService; import edu.xaut.cxf.ws.HelloWorld; @WebService(endpointInterface="edu.xaut.cxf.ws.HelloWorld",serviceName="HelloWorldWebService") public class HelloWorldWS implements HelloWorld{ ? ? ? ? } 第三步:引入Jar包 第四步:发布webservice package test; import javax.xml.ws.Endpoint; import edu.xaut.cxf.ws.HelloWorld; import edu.xaut.cxf.ws.impl.HelloWorldWS; public class ServerMain { ? ? ? ? ? ? ? } 第五步:运行 运行结果是:publich success! 第六步:访问http://202.200.113.204/?wsdl,查看是否显示 wsdl,如果正常,会出现如下图所示: 接着开发客户端 第一步:创建一个Java 项目,我创建的是WS_Client 第二步:调用CXF提供的wsdl2java工具,根据wsdl文档生成相应的Java代码。不管是哪种开发语言都要提供并暴露WSDL文档 具体操作:注:我的workspace在F盘,先转到src路径,F:workspaceWS_Clientsrc,然后使用wsdl2java 我的是wsdl2java http://202.200.113.204/?wsdl 然后会在src下自动生成一些文件。wsdl2java所生成的类中,一个继承了service的类,该类的实例可以当工厂来使用
第三步:创建ClientMain类, package wuqiang; import edu.xaut.cxf.ws.HelloWorld; import edu.xaut.cxf.ws.impl.HelloWorldWebService; public class ClientMain { ? ? ? public static void main(String args[]) { ? ? ? ? ? ? HelloWorldWebService factory = new HelloWorldWebService(); ? ? ? ? ? ? // 此处返回的只是远程WebService的代理 ? ? ? ? ? ? HelloWorld helloWorld = factory.getHelloWorldWSPort(); ? ? ? ? ? ? System.out.println(helloWorld.sayHello("Libra")); ? ? ? } } 第四步:运行 运行结果:Hello Libra,it is Tue Dec 25 10:35:56 CST 2012
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 带有angularjs的github redirect_uri
- twitter-bootstrap – 跨区无法在引导3中工作
- Free Geocoding Webservice 免费 邮编 转 经纬度 webservic
- Bootstrap导航菜单点击后无法自动添加active的处理方法
- 初尝Bootstrap
- WebService学习笔记-Ajax通过servlet请求跨域Webservice
- angularjs – 当使用passport-http基本护照本地组合时,如何
- bash – 如何删除当前目录中的所有文件,包括当前目录?
- angularjs – 错误:[$controller:ctrlreg]名称为“Counte
- vimのcopy和move的另一种方式