短信webservices接口怎么实现

 我来答
huanglenzhi
2015-08-05 · 知道合伙人数码行家
huanglenzhi
知道合伙人数码行家
采纳数:117538 获赞数:517184
长期从事计算机组装,维护,网络组建及管理。对计算机硬件、操作系统安装、典型网络设备具有详细认知。

向TA提问 私信TA
展开全部
采用web Service接口实现短信收发, 本程序适合网关版本v1.0开发。

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using SMS.cn.woxp.gateway;
using System.IO;
using System.Xml;
namespace SMS
{

* 如果发送失败原因与通道有关.可能是由于某些原因导致通道关闭.请切换其它通道使用
* 短信通道发送出现延时比较长.建议切换通道发送.[任何短信网关都会出现短信延时.请谅解]
*/

public partial class Form1 : Form
{
private cn.woxp.gateway.WebSMS wsms = new SMS.cn.woxp.gateway.WebSMS();
private string strIdentity = "";
public Form1()
{
InitializeComponent();
}

private void label7_Click(object sender, EventArgs e)
{

}

private void Form1_Load(object sender, EventArgs e)
{
this.l_money.Text = "0.00";
}
private bool CheckGate()
{
int temp = 0;
if (this.t_eid.Text.ToString().Trim() == "" || this.t_gateid.Text.ToString().Trim() == "" || this.t_pwd.Text.ToString().Trim() == "" || this.t_uid.Text.ToString().Trim() == "")
{
MessageBox.Show("网关参数输入不全!请重新输入", "网关参数配置", MessageBoxButtons.OK, MessageBoxIcon.Error);
return false;
}
if (!Int32.TryParse(this.t_eid.Text.ToString().Trim(), out temp) || !Int32.TryParse(this.t_gateid.Text.ToString().Trim(),out temp))
{
MessageBox.Show("企业代码或者网关通道ID必须为数字!请重新输入.", "网关参数配置", MessageBoxButtons.OK, MessageBoxIcon.Error);
return false;
}
return true;
}
private void button1_Click(object sender, EventArgs e)
{
this.button1.Enabled = false;
if (!CheckGate())
{
this.button1.Enabled = true;
return;
}
if (this.t_sendNo.Text.ToString().Trim() == "" || this.t_sendMemo.Text.ToString().Trim() == "")
{
MessageBox.Show("请输入目标号码和短信内容", "发送短信", MessageBoxButtons.OK, MessageBoxIcon.Error);
this.t_sendNo.Focus();
this.button1.Enabled = true;
return;
}
if (this.t_sendTime.Text.ToString().Trim() != "")
{
DateTime dt;
if (!DateTime.TryParse(this.t_sendTime.Text.ToString().Trim(), out dt))
{
MessageBox.Show("定时发送格式不正确!", "发送短信", MessageBoxButtons.OK, MessageBoxIcon.Error);
this.button1.Enabled = true;
this.t_sendTime.Focus();
return;
}
if (dt <= DateTime.Now)
{
MessageBox.Show("定时发送时间必须大于当前时间!", "发送短信", MessageBoxButtons.OK, MessageBoxIcon.Error);
this.button1.Enabled = true;
return;
}
}
strIdentity= wsms.GetIdentityMark(Int32.Parse(this.t_eid.Text.ToString().Trim()),this.t_uid.Text.ToString().Trim(),this.t_pwd.Text.ToString().Trim(),Int32.Parse(this.t_gateid.Text.ToString().Trim()));
if(strIdentity == null || strIdentity =="")
{
MessageBox.Show("获取身份标识串失败!", "发送短信", MessageBoxButtons.OK, MessageBoxIcon.Error);
this.button1.Enabled = true;
return;
}
string js="";
//全速提交短信
SendResult status = wsms.FastSend(strIdentity,this.t_sendNo.Text.ToString().Trim(),this.t_sendMemo.Text.ToString().Trim(),this.t_sendTime.Text.ToString().Trim(),"");
if(status.RetCode>0)
{
this.l_money.Text = wsms.GetMoney(strIdentity).ToString("0.00");
js="发送成功!共发送:"+status.RetCode.ToString()+"条";
MessageBox.Show(js, "发送短信状态", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
else
{
js="发送失败,代码:"+status.RetCode.ToString().Trim()+",原因:"+status.ErrorDesc;
MessageBox.Show(js, "发送短信状态", MessageBoxButtons.OK, MessageBoxIcon.Error);
}

this.button1.Enabled = true;
}

/// <summary>
/// 收到的XML转成dataset型
/// </summary>
/// <param name="xmlData"></param>
/// <returns></returns>
public DataSet ConvertXMLToDataSet(string xmlData)
{
StringReader stream = null;
XmlTextReader reader = null;
try
{
DataSet xmlDS = new DataSet();
stream = new StringReader(xmlData);
reader = new XmlTextReader(stream);
xmlDS.ReadXml(reader);
return xmlDS;
}
catch (Exception ex)
{
string strTest = ex.Message;
return null;
}
finally
{
if (reader != null)
reader.Close();
}
}

private void button2_Click(object sender, EventArgs e)
{
this.button2.Enabled = false;
if (!CheckGate())
{
this.button2.Enabled = true;
return;
}
strIdentity = wsms.GetIdentityMark(Int32.Parse(this.t_eid.Text.ToString().Trim()), this.t_uid.Text.ToString().Trim(), this.t_pwd.Text.ToString().Trim(), Int32.Parse(this.t_gateid.Text.ToString().Trim()));
if (strIdentity == null || strIdentity == "")
{
MessageBox.Show("获取身份标识串失败!", "发送短信", MessageBoxButtons.OK, MessageBoxIcon.Error);
this.button1.Enabled = true;
return;
}
string xml = wsms.ReadXml(strIdentity);
if (xml == null || xml.ToString().Trim()=="")
{
MessageBox.Show("没有收到回复短信!", "接收短信", MessageBoxButtons.OK, MessageBoxIcon.Information);
this.button2.Enabled = true;
return;
}
DataSet ds = new DataSet();
try
{
int code = 0;
if (Int32.TryParse(xml, out code))
{
MessageBox.Show("加载短信失败,原因:" +wsms.GetErrorHint(code), "接收短信", MessageBoxButtons.OK, MessageBoxIcon.Information);
this.button2.Enabled = true;
return;
}
ds = ConvertXMLToDataSet(xml);
}
catch(Exception ex)
{
MessageBox.Show("加载短信异常,原因:"+ex.Message, "接收短信", MessageBoxButtons.OK, MessageBoxIcon.Information);
this.button2.Enabled = true;
return;
}
this.dgv_receive.DataSource = ds.Tables[0];
this.button2.Enabled = true;
}

private void button3_Click(object sender, EventArgs e)
{
this.t_sendMemo.Text = "";
this.t_sendNo.Text = "";
this.t_sendTime.Text = "";
this.button1.Enabled = true;
this.button2.Enabled = true;
this.button3.Enabled = true;
}
}
}
童心依旧依旧
2014-03-15 · 超过13用户采纳过TA的回答
知道答主
回答量:49
采纳率:0%
帮助的人:39.7万
展开全部

您好,很高兴为您解答。

我是从事此行业多年的技术人员,短信平台提供一个webservices接口,业务系统去调用这个接口。有相关的接口开发文档可以发给你。具体请查看文档。

本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式