![]() |
#2 |
Участник
|
Итак, вожусь с веб-сервисом славного ФСС. Из документации только вот это:
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); 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(); 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 знаком только по картинке, не могу понять, где ошибка. |
|