Сервис отправки смс - C#
Формулировка задачи:
Всем привет! Задача такая - веб-сервис для отправки смс.
Отправка идет через шлюз оператора. Использую библиотеку - ALT.SMS.SMPP.
Не могу понять, в чем проблема, может что-то неправильно передаю или еще что-то. Помогите пожалуйста.
Заранее спасибо.
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Services; using EasySMPP; using System.Collections; using System.Text; using ALT.SMS; namespace SmsSend { [WebService(Namespace = "http://microsoft.com/webservices/")] [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] [System.ComponentModel.ToolboxItem(false)] public class Service1 : System.Web.Services.WebService { SmppClient client; #region SendSms [WebMethod(Description = "Сервис для отправки sms")] public void SendSms(String phone, String message) { // Параметры для соединения с интернет шлюзом провайдера string host = "******"; int port = *****; byte source_ton = *; byte source_npi = *; string source_address = "*****"; byte target_ton = *; byte target_npi = *; string system_id = "*****"; string password = "******"; client = new SmppClient(); // Создание SMPP клиента //client.evError += new SmppClient.ErrorEventHandler(client_evError); client.AddrNpi = *; client.AddrTon = *; client.Timeout = 120000; client.NeedEnquireLink = false; if(client.Connect(host,port)) //Создание соединения с шлюзом провайдера { try { var pduBindResp = client.Bind(system_id, password); if(pduBindResp.Status==CommandStatus.ESME_ROK || pduBindResp.Status==CommandStatus.ESME_RALYBND) { var req = client.PrepareSubmit(SubmitMode.ShortMessage, source_ton, source_npi, source_address, target_ton, target_npi, phone, DataCodings.UCS2, message); var submitResp = client.Submit(req); var unbindResp = client.UnBind(); //if(0 >= submitResp.Length) //{ // throw new ApplicationException("Ответ от сервера НЕ ПОЛУЧЕН"); //} if(submitResp[0].Status !=CommandStatus.ESME_ROK) { } } } finally { client.Disconnect(); } } else { String.Format("Невозможно соединиться с сервером смс ({0}:{1})",host,port); } } #endregion } }
Решение задачи: «Сервис отправки смс»
textual
Листинг программы
System.NullReferenceException: Object reference not set to an instance of an object. at ALT.SMS.SmppClient.UnBind() at Service.SendSms(String phone, String message) in c:\*****\*****\Downloads\SmsWebService\App_Code\Service.cs:line 57
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д