WebService最大的有点就是,可以实现不同应用程序和在不同系统平台上开发出来的应用程序之间通信。我的理解WebService必备的四个组成部分有: 接口、该接口实现类、服务端、客户端
下面用eclipse/Myeclipse构建一个简单的WebService工程:
1、创建一个java Project工程
2、创建一个接口,注意 @WebService 标注
package com.weizhi;
import javax.jws.WebService;
/**
* @author liugao
*
* 2018年6月11日-下午4:16:59
*/
@WebService
public interface WebServiceTest {
public int one(int i, int j);
public int two(int i, int j);
}
3、该接口的实现类,注意 @WebService 标注,即后面 endpointInterface 注解属性,里面填上原始接口的路径,在这里是com.weizhi.WebServiceTest
/**
*
*/
package com.weizhi;
import javax.jws.WebService;
/**
* @author liugao
*
* 2018年6月11日-下午4:18:43
*/
@WebService(endpointInterface="com.weizhi.WebServiceTest")
public class WebServiceImpl implements WebServiceTest {
@Override
public int one(int a, int b) {
System.out.println("a"+"+"+"b"+"="+"a+b");
return a+b;
}
@Override
public int two(int a, int b) {
System.out.println("a"+"-"+"b"+"="+"a-b");
return a-b;
}
}
4、服务端 Endpoint.publish 方法中填入的是服务对象,此处是 new WebServiceImpl()
/**
*
*/
package com.weizhi;
import javax.xml.ws.Endpoint;
/**
* @author liugao
*
* 2018年6月11日-下午4:21:59
*/
public class MyServer {
/**
* @param args
*/
public static void main(String[] args) {
String address = "http://localhost:6699/webtest";
Endpoint.publish(address, new WebServiceImpl());
}
}
以上四步写完后,启动main方法,在浏览器上访问 http://localhost:6699/webtest?wsdl 服务地址。注意后面的“?wsdl”不要忘了,浏览器会显示一下xml页面:着重点在(targetNamespace="http://weizhi.com/" name="WebServiceImplService" )
5、写一个客户端,注意QName对象中填上上面xml页面框出的两个值(targetNamespace 的值 , name 的值)。
/**
*
*/
package com.weizhi;
import java.net.MalformedURLException;
import java.net.URL;
import javax.xml.namespace.QName;
import javax.xml.ws.Service;
/**
* @author liugao
*
* 2018年6月11日-下午5:15:36
*/
public class WebClient {
/**
* @param args
*/
public static void main(String[] args) {
try {
URL url = new URL("http://localhost:6699/webtest?wsdl");
QName name = new QName("http://weizhi.com/","WebServiceImplService");
Service create = Service.create(url, name);
WebServiceTest port = create.getPort(WebServiceTest.class);
int one = port.one(10,20);
int two = port.two(20, 10);
System.out.println("one:"+one+"........"+"two:"+two);
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
先运行服务端,在运行客户端。运行结果:
one:30........two:10
——————————————————————————————
以上构建一个简单的WebService工程,写的比较易懂,对初学者有比较大的帮助,欢迎交流~v~