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 ...
随机推荐
- jquery表单序列化
$(function(){ $('#send').click(function(){ $.ajax({ type: "GET", url: "test.json" ...
- Python之道1-环境搭建与pycharm的配置django安装及MySQL数据库配置
近期做那个python的开发,今天就来简单的写一下开发路线的安装及配置, 开发路线 Python3.6.1+Pycharm5.0.6+Django1.11+MySQL5.7.18 1-安装Python ...
- 利用php做出简单的发布信息和回复功能
题目要求 1.建一个pinglun的数据库,自己建表2.完成一个简单的发布信息回复功能3.布局可以随便,主要是功能要实现4.注意回复是可以回复每一条的评论5.评论回复功能类似于qq空间的发布信息和回复 ...
- oracle表的简单操作
版权声明:本文为博主原创文章,转载时请注明原文链接. 1.创建表 ) ) not null,primary key(num)); 创建了一个两个字段的表,num和name,都设置为非空,num设为主键 ...
- cookie的路径问题
今天公司网站(不考虑跨域访问情况)有个需求就是在一个路径下存一个cookie 比如这样 www.fdf.com/vichain/dashback/myback 在这个目录下存放一个cookie 在这 ...
- 原生JS+Canvas实现五子棋游戏
一.功能模块 先看下现在做完的效果: 线上体验:https://wj704.github.io/five_game.html 主要功能模块为: 1.人机对战功能 2.悔棋功能 3.撤销悔棋功能 二.代 ...
- css__金属质感的文字
金属质感的文字 网上看到的优秀思想!神奇的css~~~~ css div.a { width: 300px; text-align: center; color: white; background: ...
- 使用websocket-sharp来创建c#版本的websocket服务
当前有一个需求,需要网页端调用扫描仪,javascript不具备调用能力,因此需要在机器上提供一个ws服务给前端网页调用扫描仪.而扫描仪有一个c#版本的API,因此需要寻找一个c#的websocket ...
- webpack vue 配置
vue-loader 1.)首先创建项目目录 --vue-loader文件夹 |-index.html 入口文件 |-main.js 入口文件 |-App.vue Vue文件 |-package.js ...
- jq和js插件的各个文件夹里放置的内容
1. demo文件夹,存放各种实例. 2. dist文件夹,全称是distribution.在某些框架中,因为开发和发布的内容或者代码形式是不一样的(比如利用Grunt压缩等等),这时候就需要一个存放 ...