Webservice(实践)——入门实例
来源:互联网 发布:淘宝怎么不让别人看 编辑:程序博客网 时间:2024/05/18 23:16
JDK1.6以后自带Webservice服务,因此这篇我们先通过一种简单的,基于代码优先的方式来理解一下Webservice
一、什么是Webservice?
Web service是一个平台独立的,低耦合的,自包含的、基于可编程的web的应用程序,可使用开放的XML(标准通用标记语言下的一个子集)标准来描述、发布、发现、协调和配置这些应用程序,用于开发分布式的互操作的应用程序。(摘自百度百科!)
看其描述:一句话归纳一下,开发分布式的互操作的应用程序!而且这种程序不关乎平台,主要用来实现异构系统交互!
二、实例
1、提供接口
<span style="font-size:18px;">IMyservice:import javax.jws.WebService;@WebServicepublic interface IMyservice {public int add(int a, int b);public int minus(int a, int b);}</span>
2、提供实现类
Myservice:import javax.jws.WebService;@WebService(endpointInterface="com.tgb.service.IMyservice")public class Myservice implements IMyservice {@Overridepublic int add(int a, int b) {System.out.println("a+b="+a+b);return a+b;}@Overridepublic int minus(int a, int b) {System.out.println("a-b="+(a-b));return a-b;}}
3、发布服务
<span style="font-size:18px;">public class Myserver {public static void main(String[] args) {String address="http://localhost:6666/ns";Endpoint.publish(address, new Myservice());}}</span>
4、查看服务
ps:Webservice的核心——wsdl!都在上图中(types,message,porttype,binding,service (没截出来))这就是wsdl的五大核心内容!
5、客户端调用
import java.net.MalformedURLException;import java.net.URL;import javax.xml.namespace.QName;import javax.xml.ws.Service;public class TestClient {public static void main(String[] args) {try {//webservice服务的发布路径URL url=new URL("http://localhost:6666/ns?wsdl");//发布的服务的名称QName qname=new QName("http://service.tgb.com/", "MyserviceService");//获取服务Service service=Service.create(url, qname);IMyservice myservice=service.getPort(IMyservice.class);System.err.println(myservice.add(12, 22));} catch (MalformedURLException e) {e.printStackTrace();}}}
服务端效果:
由于实现类那里写的有点问题,打印的成字符串了!所以服务端出的结果不太理想,将就一下吧;可以修改一下实现类!
客户端效果:
PS这里是“伪客户端”,理论上来说,应该模拟另一个java项目或程序,但是这里没有通过ws-import导出Webservice服务,因此这里就模拟在了同一个项目中!主要目的在于宏观上了解一下Webservice的相关内容
三、未完待续
这里只是通过JDK自带的注解简单实现了一下Webservice的大体流程和整体印象!至于其核心,WSDL以及具体的完整实例,后续博客继续!【提示:这是代码优先,即先提供接口与服务,然后发布成wsdl;如果基于契约优先,我们需要先编写wsdl然后在导出服务!】
0 0
- Webservice(实践)——入门实例
- 【WebService】——入门实例
- WebService(实践)——天气预报WebService
- AXIS2 webservice入门实践
- 【WebService框架-CXF】——CXF入门实例
- webService入门实例
- Java WebService入门实例
- webservice入门实例
- Java WebService入门实例
- Java WebService入门实例
- Java WebService入门实例
- Java WebService入门实例
- Java WebService入门实例
- webservice入门实例
- Java WebService入门实例
- WebService入门实例
- webservice入门实例(一)
- webservice 入门实例
- qt界面自动放大缩小【转】
- #ifdef和#if defined的差别以及复杂判断
- Unity3D研究院之打开Activity与调用JAVA代码传递参数(十八)
- Linux的 iptables详解
- Android程序员自己动手制作.9.png图片
- Webservice(实践)——入门实例
- 关于H.264概述
- USB Type-C,接口上的大统一
- poj-3696 The Luckiest number
- 类的sizeof
- devexpress表格控件gridcontrol图片列,按钮列,时间列等特殊列的实现
- Java 装箱和拆箱
- 集合的模拟实现(函数模板)
- net start mysql 发生系统错误2