Показать сообщение отдельно
Старый 27.08.2018, 17:59   #2  
BuzCom is offline
BuzCom
Участник
 
59 / 17 (1) ++
Регистрация: 10.08.2017
Итак, вожусь с веб-сервисом славного ФСС. Из документации только вот это:
http://fz122.fss.ru/doc/API%20%D1%88...%82%D0%B0).pdf
Начал писать функцию с целью получить хоть что-нибудь от их сервиса:

X++:
txtSoapAction  := '"http://asystems.fss/IGatewayService/UploadsGet"';
txtMethod      := 'POST';
txtContentType := 'application/soap+xml; charset=utf-8';
FullXMLText1 := '<s:Envelope xmlns:s="http://www.w3.org/2003/05/soap-envelope" xmlns:a="http://www.w3.org/2005/08/addressing">' +
                '<s:Header>' + 
                '<a:To>http://docs.fss.ru/ExtService/GatewayService.svc</a:To>' + 
                '</s:Header>';
FullXMLText2 := '<s:Body>' + 
                '<UploadsGet xnlns="http://asystems.fss">' +
                '<regNum>000000003</regNum>' +
                '<filter>Year</filter>' +
                '</UploadsGet>' +
                '</s:Body>' + 
                '</s:Envelope>';
CLEAR(vBigText);
vBigText.ADDTEXT(FullXMLText1);
vBigText.ADDTEXT(FullXMLText2);
vBigText.GETSUBTEXT(TempString,1);
oXMLDom := oXMLDom.XmlDocument();
oXMLDom.LoadXml(TempString);
SendHttpRequest(oXMLDom,oXMLDom);
FullXMLText1@1000000009 : Text[1024];
FullXMLText2@1000000008 : Text[1024];
FullXMLText3@1000000007 : Text[1024];
FullXMLText4@1000000006 : Text[1024];
vBigText@1000000010 : BigText;
oXMLDom@1000000012 : DotNet "'System.Xml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.System.Xml.XmlDocument";


Дальше функция SendHttpRequest:

X++:
LOCAL SendHttpRequest(VAR InXMLDom : DotNet "System.Xml.XmlDocument";VAR OutXMLDom : DotNet "System.Xml.XmlDocument")
oXMLHttp := oXMLHttp.Create(TextURI);
oXMLHttp.Method(txtMethod);
oXMLHttp.ContentType(txtContentType);

streamWritter := streamWritter.StreamWriter(oXMLHttp.GetRequestStream);
streamWritter.Write(TempString);
streamWritter.Close();

XMLHttpResponse := oXMLHttp.GetResponse();
OutXMLDom.Load(XMLHttpResponse.GetResponseStream);
XMLHttpResponse.Close();
oXMLHttp@1000000002 : DotNet "'System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.System.Net.HttpWebRequest";
streamWritter@1000000004 : DotNet "'mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.System.IO.StreamWriter";
XMLHttpResponse@1000000008 : DotNet "'System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.System.Net.HttpWebResponse";
TextURI@1000000009 : TextConst 'RUS=http://docs.fss.ru/ExtService/GatewayService.svc';

На методе GetResponse получаю ответ 500 Internal Server Error. И на их тестовом сервере, и на боевом. Тестовый у них еще и лежит периодически. Что я делаю не так ? С SOAP знаком только по картинке, не могу понять, где ошибка.