webservice服务端和客户端编程:基于jws
来源:互联网 发布:深圳网络推广工资标准 编辑:程序博客网 时间:2024/06/05 15:02
webservice是一种跨语言,跨平台,跨防火墙的远程调用技术。webservice的主要组成是wsdl(webservice defination language) 和soap(simple object access protocol)两部分组成。wsdl描述发布的webservice,soap是基于http和xml实现的,http是一种可以跨防火墙的协议,xml给webservice提供了良好的跨语言性。下面开始webservice的开发,这个webservice的发布了一个接口用于10进制向二进制的转换。
一。服务端开发
1.建立一个javaproject,定义一个接口并实现它,写一个发布类。如下图:
其中三个类的代码如下:
1.接口
package com.txx.service;public interface DecimalToBinary { public String transfrom(int decimal);//将十进制的数转换为二进制}
2.实现类
package com.txx.service.impl;import javax.jws.WebService;import com.txx.service.DecimalToBinary;@WebServicepublic class DecimalToBinaryImpl implements DecimalToBinary { @Override public String transfrom(int decimal) { StringBuilder b= new StringBuilder(); while(decimal!=0){ String temp = decimal%2==0?"0":"1"; b.append(temp); decimal /=2; } return b.reverse().toString(); }}
3.发布类
package com.txx.service.test;import javax.xml.ws.Endpoint;import com.txx.service.impl.DecimalToBinaryImpl;public class DtobServiceTest { public static void main(String[] args) { Endpoint.publish("http://localhost:55555/dtob", new DecimalToBinaryImpl());//发布的地址,实现类的实例 System.out.println("发布成功!"); }}
注意要在实现类上加上@webservice注解,表示这个作为webservice程序发布;
运行类DtobServiceTest ,在浏览器中打开你的发布地址,我这里是http://localhost:55555/dtob,打开后如下,jdk1.8只能打开使用说明书
http://localhost:55555/dtob?wsdl:
点击wsdl后面的链接可以看到该服务的使用说明书:
上述页面能打开其中一个都表示发布成功.
二、客户端开发
1.建立javaproject
2.打开命令提示符,定位到ws_client客户端项目的src目录,输入命令:
wsimport -s . http://localhost:55555/dtob?wsdl
后面的地址是你发布服务端的wsdl地址,根据wsdl生成客户端代码
刷新建立的客户端javaproject,可以看到生成的代码。
3.新建一个类,调用服务端发布的接口
调用类的代码:
package client.invoke;import com.txx.service.impl.DecimalToBinaryImpl;import com.txx.service.impl.DecimalToBinaryImplService;public class ClientTest { public static void main(String[] args) { DecimalToBinaryImplService dtbis = new DecimalToBinaryImplService(); DecimalToBinaryImpl dtbi = dtbis.getPort(DecimalToBinaryImpl.class); System.out.println(dtbi.transfrom(265)); }}
运行代码得到结果:
可以看到客户端调用服务端成功,到此为止一个jws开发的webservice服务端和客户端开发完成。这里只阐述了开发的过程,未详述原理,原理就下次在写把。
- webservice服务端和客户端编程:基于jws
- webservice服务端和客户端
- WebService生成客户端和服务端
- webservice服务端和客户端实践
- 基于linux下的epoll服务端和客户端编程实例
- javax.jws.WebService获取客户端IP地址
- Myeclipse 基于JAX-WS 的 WebService 服务端和客户端的搭建
- 创建WebService简单服务端和客户端
- web 项目生成webservice 服务端 和 客户端
- XFire WebService服务端和客户端例子
- XFire WebService服务端和客户端例子
- Axis创建webservice客户端和服务端
- CXF创建webservice客户端和服务端
- CXF创建webservice客户端和服务端
- CXF创建webservice客户端和服务端
- 用myeclipse建立webservice服务端和客户端
- 使用java6开发WebService服务端和客户端
- WebService--使用Axis2创建服务端和客户端
- 重新安装mysql 出现问题 can't connect to mysql server on 'localhost'的解决办法
- 你足够了解Context吗?
- Android Studio中那些让你相见恨晚的操作集锦
- unity自动构建
- JavaScript易错知识点整理
- webservice服务端和客户端编程:基于jws
- 简单焦点取消
- The Langkawi Sky Association
- xcode 6.0.1 使用模拟器调试异常 code=146
- 一行代码解决各种IE兼容问题,IE6,IE7,IE8,IE9,IE10
- 【教程】Quagga安装与配置
- 一道需要完备逻辑思考的小Java题目(对入小白)
- ExpandableListView中包含EditText 时不能输入内容
- QQ相关(一)【导出所有QQ好友】