webservice学习第一章
发布时间:2020-12-16 21:57:52 所属栏目:安全 来源:网络整理
导读:什么是webservice? ** webservice是一种跨平台,跨语言的规范,用于不同平台,不同语言开发的应用之间交互的规范。 ** 例如:天气预报对外提供接口,供别人调用获取天气的信息。 又比如在Windows server上面开发了一个C#应用A,在linux服务器上面又用java开发
|
什么是webservice? ** webservice是一种跨平台,跨语言的规范,用于不同平台,不同语言开发的应用之间交互的规范。 ** 例如:天气预报对外提供接口,供别人调用获取天气的信息。 又比如在Windows server上面开发了一个C#应用A,在linux服务器上面又用java开发了一个应用B,两个应用直接互相调用,获取对方的业务数据。 使用CXF实现客户端和服务器交互的HelloWorld程序。 客户端代码 package com.xukaiqiang.webservice.test;
import com.xukaiqiang.webservice.HelloWorld;
import com.xukaiqiang.webservice.HelloWorldService;
public class Client {
public static void main(String[] args) {
HelloWorldService service=new HelloWorldService();
HelloWorld helloWorld=service.getHelloWorldPort();
System.out.println(helloWorld.say("_xukaiqiang"));
}
}
服务器端代码 package com.xukaiqiang.webservice.impl;
import org.apache.cxf.jaxws.JaxWsServerFactoryBean;
import com.xukaiqiang.webservice.HelloWorld;
/**
* @ClassName: Server
* @Description: CXF发布webservice接口
* @author xukaiqiang
* @date 2016年12月16日 下午6:21:35
* @modifier
* @modify-date 2016年12月16日 下午6:21:35
* @version 1.0
*/
public class Server {
public static void main(String[] args) {
System.out.println("web service start.");
HelloWorld helloWorldImpl=new HelloWorldImpl();
String address="http://192.168.2.169/helloWorld";
JaxWsServerFactoryBean factoryBean =new JaxWsServerFactoryBean();
//设置暴露地址
factoryBean.setAddress(address);
//接口类
factoryBean.setServiceClass(HelloWorld.class);
factoryBean.setServiceBean(helloWorldImpl);
//创建webservice接口
factoryBean.create();
System.out.println("web service started");
}
}
server依赖 <dependencies> <!-- https://mvnrepository.com/artifact/org.apache.cxf/cxf-rt-frontend-jaxws --> <dependency> <groupId>org.apache.cxf</groupId> <artifactId>cxf-rt-frontend-jaxws</artifactId> <version>3.1.6</version> </dependency> <!-- https://mvnrepository.com/artifact/org.apache.cxf/cxf-core --> <dependency> <groupId>org.apache.cxf</groupId> <artifactId>cxf-core</artifactId> <version>3.1.6</version> </dependency> <!-- https://mvnrepository.com/artifact/org.apache.cxf/cxf-rt-transports-http-jetty --> <dependency> <groupId>org.apache.cxf</groupId> <artifactId>cxf-rt-transports-http-jetty</artifactId> <version>3.1.6</version> </dependency> </dependencies> 接口和接口实现类 package com.xukaiqiang.webservice.impl;
import javax.jws.WebService;
import com.xukaiqiang.webservice.HelloWorld;
@WebService
public class HelloWorldImpl implements HelloWorld {
public String say(String words) {
return "Hello"+words;
}
}
客户端的代码需要使用wsdl2java命令进行生成: 首先运行server端程序。 然后再要生成代码的目录下面如:client项目的 C:UsersxukaiqianggitwebserviceWS_Clientsrcmainjava文件, 在此处执行命令 wsdl2java http://192.168.2.169/helloWorld?wsdl 就会生成源码到该目录下面。 源码github下载地址 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
热点阅读
