📄 smswebservice.java
字号:
package com.jdev.sms.soa;
import java.util.Arrays;
import javax.xml.rpc.ParameterMode;
import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
import org.apache.axis.encoding.XMLType;
import org.apache.log4j.Logger;
import com.jdev.security.Md5;
import com.jdev.sms.Const;
import com.jdev.sms.samples.SendSMSTest;
import com.jdev.util.Debug;
/**
* 短信服务
*
* Author: Lin.Jin
* CrateDate: 2008-6-30 下午03:55:10
* Copyright(C) 2008 北京合智创展科技责任有限公司
*
*/
public class SMSWebService {
private final static String module = SMSWebService.class.getName();
public static String sendMsg(String msg, String[] callees, String isReturn, int msgId) {
String rand = Register.getRandom();
Service service = new Service();
Call call;
String ret = "-1";
Debug.logVerbose("准备发送短信。。。");
Debug.logVerbose(rand + "--" + msg + "--" + Arrays.toString(callees) + "--" + isReturn + "--" + msgId + "--");
try {
// 发送短信
call = (Call) service.createCall();
call.setTargetEndpointAddress(new java.net.URL(Const.HWWebServiceSMSURL));
call.setOperationName("sendSMS");
call.addParameter("uc", XMLType.XSD_STRING, ParameterMode.IN);
call.addParameter("pw", XMLType.XSD_STRING, ParameterMode.IN);
call.addParameter("rand", XMLType.XSD_STRING, ParameterMode.IN);
call.addParameter("callee",XMLType.XSD_ANYTYPE, ParameterMode.IN);
call.addParameter("isreturn", XMLType.XSD_STRING, ParameterMode.IN);
call.addParameter("cont", XMLType.XSD_STRING, ParameterMode.IN);
call.addParameter("msgid", XMLType.XSD_INTEGER, ParameterMode.IN);
call.addParameter("connID", XMLType.XSD_STRING, ParameterMode.IN);
call.setReturnType(XMLType.XSD_STRING);
call.getMessageContext().setUsername(Const.HWWebServiceUser);// 用户名。
call.getMessageContext().setPassword(Const.HWWebServiceUserPasswd);// 密码
Debug.logVerbose("短信原文:" + msg);
String msgContent = (new sun.misc.BASE64Encoder()).encode( msg.getBytes() );
Debug.logVerbose("BASE64编码后的短信内容:" + msgContent);
Debug.logVerbose("密码原文:" + Const.UC_PASSWORD);
String pw = Md5.MD5(rand + Const.UC_PASSWORD + Const.UC_PASSWORD);
Debug.logVerbose("密码:" + pw);
ret = (String) call.invoke(new java.lang.Object[] {Const.UC, pw, rand, callees, isReturn,
msgContent, msgId, Const.CONNID});
Debug.logVerbose("发送的状态:" + ret);
} catch (Exception e) {
e.printStackTrace();
}
Debug.logVerbose("结束发送!");
return ret;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -