webservice学习第一章

前端之家收集整理的这篇文章主要介绍了webservice学习第一章前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

什么是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:\Users\xukaiqiang\git\webservice\WS_Client\src\main\java文件

在此处执行命令

wsdl2java http://192.168.2.169/helloWorld?wsdl

就会生成源码到该目录下面。

源码github下载地址

猜你在找的WebService相关文章