第一步:WebService框架选择【以CXF为例】

1、下载地址:http://cxf.apache.org/download.html,请事先安装好JDK(本人使用的是apache-cxf-2.7.18,JDK1.7)

2、第二步:解压apache-cxf-2.7.11.zip到指定目录,环境变量设置:创建CXF_HOME并加到path下

3、在cmd下加入wsdl2java–h

显示以上结果,成功

第二步:解析wsdl文件

1、使用短信方提供的wsdl地址,右键另存为wsdl文件(以wsdl.wsdl为例)

2、在cmd输入以下命令

wsdl2java -p com.ucp -d D:\\ucp -all D:\\cxf\\wsdl.wsdl  根据D:\\cxf\\wsdl.wsdl文件生成代码,com.ucp是指定包名,方便复制到实际项目中

3、将生成的代码拷贝到实际项目中

第三步:代码导入

一般只需要用到这个ExtCommandServicePortType_ExtCommandServiceHttpPort_Client.java类

package com.ucp;

/**
* Please modify this class to meet your needs
* This class is not complete
*/ import java.io.File;
import java.net.MalformedURLException;
import java.net.URL;
import javax.xml.namespace.QName;
import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebResult;
import javax.jws.WebService;
import javax.xml.bind.annotation.XmlSeeAlso;
import javax.xml.ws.RequestWrapper;
import javax.xml.ws.ResponseWrapper; /**
* This class was generated by Apache CXF 2.7.18
* 2017-10-12T11:23:03.075+08:00
* Generated source version: 2.7.18
*
*/
public final class ExtCommandServicePortType_ExtCommandServiceHttpPort_Client { private static final QName SERVICE_NAME = new QName("http://service.message.wiscom.com", "ExtCommandService"); private ExtCommandServicePortType_ExtCommandServiceHttpPort_Client() {
} public static void main(String args[]) throws java.lang.Exception {
URL wsdlURL = ExtCommandService.WSDL_LOCATION;
if (args.length > 0 && args[0] != null && !"".equals(args[0])) {
File wsdlFile = new File(args[0]);
try {
if (wsdlFile.exists()) {
wsdlURL = wsdlFile.toURI().toURL();
} else {
wsdlURL = new URL(args[0]);
}
} catch (MalformedURLException e) {
e.printStackTrace();
}
} ExtCommandService ss = new ExtCommandService(wsdlURL, SERVICE_NAME);
ExtCommandServicePortType port = ss.getExtCommandServiceHttpPort(); {
System.out.println("Invoking createMo...");
java.lang.String _createMo_in0 = "";
java.lang.String _createMo_in1 = "";
java.lang.String _createMo_in2 = "";
java.lang.Long _createMo__return = port.createMo(_createMo_in0, _createMo_in1, _createMo_in2);
System.out.println("createMo.result=" + _createMo__return); }
{
System.out.println("Invoking createMessage...");
com.ucp.ArrayOfString _createMessage_in0 = null;
java.lang.String _createMessage_in1 = "";
java.lang.String _createMessage_in2 = "";
java.lang.String _createMessage_in3 = "";
java.lang.Long _createMessage__return = port.createMessage(_createMessage_in0, _createMessage_in1, _createMessage_in2, _createMessage_in3);
System.out.println("createMessage.result=" + _createMessage__return); }
System.exit(0);
} }

第四步:根据代码的接口调用

推荐使用配置文件加载参数

private static final Logger logger = Logger.getLogger("DefaultSmsSender");
private static String ucpSmsUrl;
private static String ucpMsg;
private static String apiKey;
private static final QName SERVICE_NAME = new QName("http://service.message.wiscom.com", "ExtCommandService"); static {
Properties prop = new Properties();
try {
prop.load(UcpSmsSender.class.getResourceAsStream("/registerConf.properties"));
ucpSmsUrl=prop.getProperty("ucpSmsUrl");
apiKey=prop.getProperty("apiKey");
} catch (IOException e) {
logger.error("加载配置文件异常", e);
}
}

发送短信

 @Override
public boolean send(String mobile, String msg) {
logger.info(String.format("请求发送短信[%s, %s]", mobile, msg));
try {
msg = URLEncoder.encode(msg, "UTF-8");
System.out.println("start to send sms");
String tmp =httpPost(smsUrl, "id="+smsAccount+"&psw="+smsPassword+"&mobile="+mobile+"&msg="+msg);
System.out.println(tmp);
if(tmp!=null&&tmp.contains("\"msg\": \"Success\"")){
System.out.println("success to send sms");
return true;
}
} catch (UnsupportedEncodingException e) {
System.out.println("fail to send sms");
e.printStackTrace();
} return false;
}

根据返回结果,匹配

返回值

错误描述

0

成功

1

提交参数不能为空

2

账号无效,

3

账号密码错误,

4

时间格式不正确,格式为:yyyy-MM-dd HH:mm:ss

20

系统错误

WebService短信网关配置的更多相关文章

  1. jquery ajax跨域请求webservice webconfig配置

    <configuration> <system.web> <compilation debug="true" targetFramework=&quo ...

  2. 使用WCF和WEBService出现配置的问题

    错误代码:system.serviceModel/bindings/customBinding 处的绑定没有名称为"SMSServiceServiceSoapBinding"的已配 ...

  3. kettle的HTTPPOST控件发送WSDL的webservice请求配置

    1.webservice请求的URL:http://pubservice.rjhn.com.cn/AppserviceTest/JsonWcfService.svc?WSDL 2.使用SOAPUI测试 ...

  4. ajax跨域请求webservice webconfig配置

    <configuration> <system.web> <compilation debug="true" targetFramework=&quo ...

  5. WebService "因 URL 意外地以 结束,请求格式无法识别" 的解决方法

    最近在做一个图片上传的功能,js调用用webservice进行异步访问服务器,对于不是经常用webservice的菜鸟来说,经常会遇到以下的问题(起码我是遇到了) 在页面上写了js调用代码如下所示: ...

  6. 史上最详cxf-Springmvc-maven实现webservice教程(转)

    虽知道webservice,工作两年一直没使用过,最近不忙趁机研究了下,实现了简单的服务端及客户端调用.鉴于慕课网没有webservice的教程,大多又都是学生,就在这里跟大家分享下,内容比较详细.大 ...

  7. webservice的Axis2入门教程java版

    本文转自百度文库 Axis2是一套崭新的WebService引擎,该版本是对Axis1.x重新设计的产物.Axis2不仅支持SOAP1.1和SOAP1.2,还集成了非常流行的REST WebServi ...

  8. Android webservice的用法详细讲解

    Android webservice的用法详细讲解 看到有很多朋友对WebService还不是很了解,在此就详细的讲讲WebService,争取说得明白吧.此文章采用的项目是我毕业设计的webserv ...

  9. Spring 3 整合Apache CXF WebService[转]

    http://www.cnblogs.com/hoojo/archive/2012/07/13/2590593.html 在CXF2版本中,整合Spring3发布CXF WebService就更加简单 ...

随机推荐

  1. Cleaner, more elegant, and wrong(msdn blog)

    Cleaner, more elegant, and wrong Just because you can't see the error path doesn't mean it doesn't e ...

  2. 通过js添加的元素点击事件无法触发

    var blk_have ='<div class="sw-off"></div>'; $('#blk').prepend(blk_have); $(doc ...

  3. 2、公司部门的组成 - CEO之公司管理经验谈

    今天讲讲公司部门的组成.公司部门一般是根据公司业务来进行划分的,IT企业和其它企业的部门划分有一定的区别.企业部门的划分还是比较重要的,部门主要明确各部门所具有的自己的职责.这里对IT企业的部门做了一 ...

  4. 巧用php中的array_filter()函数去掉多维空值

    一直一维array_filter() 函数只能去除一维数组,其实这个函数也能去除多维数组: $arr =[ '0'=>array(), '1'=>'false', '2'=>'tes ...

  5. Numpy

    一  : 安装ipython以及用到的包介绍 # 这里我们会用到ipython解释器,本文代码在ipython下运行 Pip3 install ipython Pip3 install jupyter ...

  6. EditTable-V1.0--续集

    上一个功能有点少,这个V1.0版本是最小集合的. ================================= 双击单元格编辑,可以添加,删除单元格.并且保持相邻单元格不同的背景色. 引用了“M ...

  7. struts实现文件上传和下载。

    先来实现上传. 写上传不管语言,都要先注意前端的form那儿有个细节. <form name="form1" method="POST" enctype= ...

  8. 2、ABPZero系列教程之拼多多卖家工具 更改数据库为Mysql

    因为要部署项目到云服务器,不想在服务器上装SqlServer,所以需要把项目改为Mysql. 项目初始化 1.下载项目压缩包,前面文章已经说到,可以加群到群文件里下载.解压缩下载的项目源码,使用VS2 ...

  9. 利用树莓派实现监控系统二(用motion实现监控)

    终于要开始实现监控啦!ಠ౪ಠ 看起来很简单的步骤,但是过程却无比艰辛,踩坑是最好的成长 (/= _ =)/~┴┴ 第一步,不是安装!而是 update!ㄟ( ▔, ▔ )ㄏ sudo apt-get ...

  10. MDK C++中对内联的极度优化

    先来看看我们SmartIRQ的具体实现 // 智能IRQ,初始化时备份,销毁时还原 class SmartIRQ { public: force_inline SmartIRQ(bool enable ...