Web Service--第一次接触web service
Web Service
首发于开源中国
1. 背景
- 中国移动短信网关需求,要能够发送短信。开发材料只有一个短信发送配置:包括ID,password,code,url。一个jar包还有一个老旧的html帮助文档。
- 最初将单个jar包加入工程,按照文档中new 一个对象,直接填入参数发送的来,以为就可以了。但是线上调试有null异常。之后一直在用该jar包调试,以为缺少依赖,于是在pom文件中加入了各种依赖,没跑一次就说缺class,终于不报缺calss错误了,还是有null异常。为此调试了好几次,还写了测试程序都不行。
- 于是网上找材料,发邮件问部署短信服务的人,给的结论是:jar包老旧仅供参考,要使用web service自行开发。还给了一个比较新的html帮助文档。但是文档在win10下都打不开,还得再win7上才能看。于是就开始了web service的探索。
- 还好网上搜到了一个网址,可以帮助理解,不然每次都得远程上线调试真是要命。
2. 基础知识
- 该web service类似于:http://111.1.3.11:9080/OpenMasService
- 该服务的主要内容是:http://111.1.3.11:9080/OpenMasService?wsdl
- 于是参考: 使用命令wsimport构建WebService客户端 在线上执行以下命令:这里必须在线上运行,不然会报连接错误。而且这个命令也不是都能成功,很多不匹配的规范会导致不能解析。还好我这儿没出错。
wsimport -keep -d ./ -s ./src -p com.james1 -verbose url或保存本地的wsdl文件
于是生成本地文件,就是java的开发包了。
└─james
AddTask1.java
AddTask1Response.java
AddTask2.java
AddTask2Response.java
ArrayOfstring.java
DayOfWeek.java
GetMessage.java
GetMessageResponse.java
GetWaitSmsMessageCount.java
GetWaitSmsMessageCountResponse.java
ISms.java
ObjectFactory.java
package-info.java
PeriodTime.java
PeriodType.java
PeriodValue.java
RemoveMessage.java
RemoveMessageResponse.java
RemoveTask.java
RemoveTaskResponse.java
SendMessage3.java
SendMessage3Response.java
SendMessage4.java
SendMessage4Response.java
SendWapPush1.java
SendWapPush1Response.java
SendWapPush2.java
SendWapPush2Response.java
SmsImplementation.java
SmsMessage.java
- 这样在java工程中调用SmsImplementation.java即可:
String result = smsImplementation.getBasicHttpBindingISms().sendMessage3(address,message,extendCode,applicationID,password);
- 对于自定义web service服务参考材料:
- 公共开放WebService接口:http://blog.csdn.net/yixiaoping/article/details/16877623
3. 打jar包
- 参考:Java中打jar包的方法
- 查看jar包中的内容:
jar tvf target/myproject-0.0.1-SNAPSHOT.jar
- 创建jar包
jar cvf 打成的jar包的名字 (一个或者多个)class文件或者文件夹
Web Service--第一次接触web service的更多相关文章
- Rest风格WEB服务(Rest Style Web Service)的真相
http://blog.csdn.net/jia20003/article/details/8365585 Rest风格WEB服务(Rest Style Web Service)的真相 分类: J2E ...
- windows service承载的web api宿主搭建(Microsoft.Owin+service)
今天突然想起改良一下以前搭建的“windows service承载的web api”服务,以前也是直接引用的类库,没有使用nuget包,时隔几年应该很旧版本了吧.所以本次把需要nuget获取的包记录一 ...
- Java Web中的mapper,service,controller,model
Java Web中的mapper,service,controller,model作用分别是:java web中mapper是对象持久化映射层,一般会继承ibatis或者mybatisservive是 ...
- 基于Web的Kafka管理器工具之Kafka-manager安装之后第一次进入web UI的初步配置(图文详解)
前期博客 基于Web的Kafka管理器工具之Kafka-manager的编译部署详细安装 (支持kafka0.8.0.9和0.10以后版本)(图文详解) 基于Web的Kafka管理器工具之Kafka- ...
- 天人合一物我相融,站点升级渐进式Web应用PWA(Progressive Web Apps)实践
原文转载自「刘悦的技术博客」https://v3u.cn/a_id_216 PWA(Progressive web apps,渐进式 Web 应用)使用现代的 Web API 以及传统的渐进式增强策略 ...
- Java Web学习系列——Maven Web项目中集成使用Spring、MyBatis实现对MySQL的数据访问
本篇内容还是建立在上一篇Java Web学习系列——Maven Web项目中集成使用Spring基础之上,对之前的Maven Web项目进行升级改造,实现对MySQL的数据访问. 添加依赖Jar包 这 ...
- javaweb学习总结十七(web应用组织结构、web.xml作用以及配置虚拟主机搭建网站)
一:web应用组织结构 1:web应用组成结构 2:安装web组成机构手动创建一个web应用程序目录 a:在webapps下创建目录web b:在web目录下创建html.jsp.css.js.WEB ...
- Service Fabric —— Actor / Stateless Service 概念
作者:潘罡 (Van Pan) @ Microsoft 上一节我们谈到了Stateful Service.在Service Fabric中,Stateful Service是理解Micro Servi ...
- Java开发工程师(Web方向) - 01.Java Web开发入门 - 第3章.Tomcat
第3章--Tomcat Tomcat安装与运行 Tomcat:目前最常用的基于java的web应用服务器 本课程中所有的Java代码最终都需要部署到Tomcat中运行 Tomcat的配置文件是XML的 ...
- IDEA02 利用Maven创建Web项目、为Web应用添加Spring框架支持、bean的创建于获取、利用注解配置Bean、自动装配Bean、MVC配置
1 环境版本说明 Jdk : 1.8 Maven : 3.5 IDEA : 专业版 2017.2 2 环境准备 2.1 Maven安装及其配置 2.2 Tomcat安装及其配置 3 详细步骤 3.1 ...
随机推荐
- Angular JS的Placeholder功能在IE8/9浏览器中不可用
附上如下代码可正常工作: .directive('placeholder', function($timeout){ var i = document.createElement('input'); ...
- react native-调用react-native-fs插件时,如果数据的接口是需要验证信息的,在android上运行报错
调用react-native-fs插件时,如果数据的接口是需要验证信息的,在android上运行报错,而在iOS上运行没问题.原因是因为接口是有验证信息的,而调用这个插件时没有传入,在iOS上会自动加 ...
- 自动清理SQLServerErrorLog错误日志避免太大
问题描述:开启SQLServer自动备份后,备份文件越来越多,有没有及时清理,导致服务器空间不足,备份出错,以至于出现几个G的ErrorLog文件,影响系统的登录管理. 解决办法:定期清理SQLSer ...
- 基于Mac制作iPhone铃声教程,iTunes定制铃声
前言: 网上太多制作方法了,不管是借助第三方软件还是基于iTunes的,不过这些方法都太旧了,有时看起来 ,界面的变化或其他原因,导致很不爽. 正好记录下我最近使用的一种方法: 正文: 一.下载你需要 ...
- React.js 小书介绍
React.js 小书 Github 关于作者 这是一本关于 React.js 的小书. 因为工作中一直在使用 React.js,也一直以来想总结一下自己关于 React.js 的一些知识.经验.于是 ...
- ps命令注意事项
1.ps命令由于历史原因,版本比较多,主要分为三种版本 1)Unix风格的版本,命令参数加单横线.比如ps -ef 2)BSD风格的版本,命令参数前不加任何横线.比如ps aux 3)GNU风格的版本 ...
- java中String与StringBuffer拼接的区别
学习笔记: 1.String拼接会创建一个新的String对象,存储拼接后的字符串: StringBuffer拼接是直接在本身拼接,会即时刷新. 2.String只能拼接String类型的字符串: S ...
- 【Android Developers Training】 27. 序言:和其它应用交互
注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好. 原文链接:http://developer ...
- 浅谈 Requests包
浅谈 Requests包 一:Requests包是做什么的? 简单地说,是用python处理HTTP的一个包. 它的标志也非常有气质,是一个双蛇杖,按照官方的说法,一条蛇代表client,一条代表se ...
- man ssh翻译(ssh命令中文手册)
本文为命令ssh的man文档翻译,翻译了90%的内容,剩余是一些没必要翻译的东西,请见谅. 如此文有所疑惑,希望我的另一篇文章能解惑: SSH(1) BSD Ge ...