前言
本章讲解WebService的基本概念以及快速入门
方法
1.概念
Web service是一个平台独立的,低耦合的,自包含的、基于可编程的web的应用程序,可使用开放的XML(标准通用标记语言下的一个子集)标准来描述、发布、发现、协调和配置这些应用程序,用于开发分布式的互操作的应用程序。
Web Service技术, 能使得运行在不同机器上的不同应用无须借助附加的、专门的第三方软件或硬件, 就可相互交换数据或集成。依据Web Service规范实施的应用之间, 无论它们所使用的语言、 平台或内部协议是什么, 都可以相互交换数据。Web Service是自描述、 自包含的可用网络模块, 可以执行具体的业务功能。Web Service也很容易部署, 因为它们基于一些常规的产业标准以及已有的一些技术,诸如标准通用标记语言下的子集XML、HTTP。Web Service减少了应用接口的花费。Web Service为整个企业甚至多个组织之间的业务流程的集成提供了一个通用机制。
通俗点讲,就是不同语言编写的web系统之间的通信。
2.基于Java API实现WebService
1)新建Java工程
2)创建可供使用的接口和实现类
package cn.edu.ccut.service;
import javax.jws.WebService;
@WebService
public interface TestService {
//加法
public int add(int a,int b);
}
package cn.edu.ccut.service.impl;
import javax.jws.WebService;
import cn.edu.ccut.service.TestService;
@WebService(endpointInterface="cn.edu.ccut.service.TestService")
public class TestServiceImpl implements TestService {
@Override
public int add(int a, int b) {
System.out.println("a="+a+",b="+b);
return a+b;
}
}
3)构建WebService服务器端
package cn.edu.ccut.server;
import javax.xml.ws.Endpoint;
import cn.edu.ccut.service.impl.TestServiceImpl;
public class MyServer {
public static void main(String[] args) {
String address = "http://localhost:6666/ns";
Endpoint.publish(address, new TestServiceImpl());
}
}
运行该服务器类即可!
4)通过浏览器访问验证WebService
出现以上画面,则证明我们的WebService服务端配置完毕!
5)配置客户端访问
package cn.edu.ccut.client;
import java.net.URL;
import javax.xml.namespace.QName;
import javax.xml.ws.Service;
import cn.edu.ccut.service.TestService;
public class MyClient {
public static void main(String[] args) throws Exception{
URL url = new URL("http://localhost:6666/ns?wsdl");
QName qName = new QName("http://impl.service.ccut.edu.cn/", "TestServiceImplService");
Service service = Service.create(url, qName);
TestService testService = service.getPort(TestService.class);
System.out.println(testService.add(1, 2));
}
}
这样,我们通过其对外提供的XML调用其接口实现访问!!
如果你的结果是3,那么你就成功的完成了第一个WebService程序!