SOAP / Przykład integracji w C#

 

Aby móc skorzystać z usługi SOAP  należy dodać w swoim projekcie  Service References podając jako parametr adres url: https://soap.serwersms.pl/server.php?wsdl

Poniżej przedstawiono przykład jak wysłać wiadomość SMS dzięki tej usłudze:

{

  using System;
  using System.Collections.Generic;
  using System.Linq;
  using System.Text;
  using System.Threading.Tasks;
  using System.Web;
  using System.ServiceModel;
  using System.ServiceModel.Channels;

  var service = new namespace.Service.SerwerSMSplPortTypeClient();
  service.ClientCredentials.UserName.UserName= "demo";
  service.ClientCredentials.UserName.Password = "demo";

try {

   String encoded = System.Convert.ToBase64String(System.Text.Encoding.GetEncoding("UTF-8")
         .GetBytes(service.ClientCredentials.UserName.UserName + ":" + service.ClientCredentials.UserName.Password));

   HttpRequestMessageProperty request = new HttpRequestMessageProperty();
   request.Headers[System.Net.HttpRequestHeader.Authorization] = "Basic " + encoded;
   OperationContextScope clientScope = new OperationContextScope(service.InnerChannel);
   OperationContext.Current.OutgoingMessageProperties.Add(HttpRequestMessageProperty.Name, request);

   soap.Service.paramsMessageSendSms param = new namespace.Service.paramsMessageSendSms { };
   param.details = true;
   var response = service.messages_sendSms("500000002", "text", "sender", param);
   Console.WriteLine(response);

 } catch(Exception e) {  Console.WriteLine("{0} Exception caught.", e); } }

}