СЕРВИС0 отдает запрос СЕРВИСУ1 (моему, код ниже), СЕРВИС1 обрабатывет, отдает СЕРВИСУ2, получает от него ответ, обрабатывает(обработки пока в коде нет) и отдает назад СЕРВИСУ0. Если подскажете что тут не так, буду очень благодарен
спасибо.
using System;
using System.Web;
using System.Web.Services;
using System.Web.Services.Protocols;
using System.Net;
using System.Text;
using System.IO;
using System.Net.Security;
using System.Security.Cryptography.X509Certificates;
using System.Security.Policy;
class CertPolicy : ICertificatePolicy
{
public bool CheckValidationResult(ServicePoint srvPoint, X509Certificate
certificate, WebRequest request, int certificateProblem)
{
return true;
}
}
[WebService(Namespace="My_Service")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
public class Service : System.Web.Services.WebService
{
public Service()
{
}
[WebMethod]
public string SendQuery(string duser, string dpass, string cid, string trans, string sum)
{
//объявление переменных
string ready_query;
DateTime dt = DateTime.Now;
string curr_date = String.Concat(dt.Year, dt.Month, dt.Day);
string curr_time = String.Concat(dt.Hour, dt.Minute, dt.Second);
string responce;
string cer_file_path = "d:/cert.cer";
//Формирование строки запроса на СЕРВИС2
ready_query = String.Concat("https://129.9.0.54:7001/xmlinterface.asmx/Payment?ps_id=3222&rrn=", trans,
"&pt=8&date=", curr_date,
"&time=", curr_time,
"&phone=", cid,
"&amount=", sum,
"¤cy=RUR");
//создание сертификации из файла-сертификата
System.Security.Cryptography.X509Certificates.X509Certificate Serv_Certificate =
System.Security.Cryptography.X509Certificates.X509Certificate.CreateFromCertFile
(cer_file_path);
ServicePointManager.CertificatePolicy = new CertPolicy();
//Отправка запроса на сервер СЕРВИС2 с использованием сертификации
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(ready_query);
request.ClientCertificates.Add(Serv_Certificate);
request.ContentType = "application/x-www-form-urlencoded";
request.Method = "GET";
//Получение ответа от СЕРВИСА2, запись резуьтата в переменную responce
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
Stream receiveStream = response.GetResponseStream();
StreamReader reader = new StreamReader(receiveStream, Encoding.UTF8);
responce = reader.ReadToEnd();
//Возврат ответа СЕРВИСУ0
return responce;
}
}