Доступ к fedresurs

Автор:ZaharovSanj
Дата:08.09.2020
Просмотров:1786
Скачиваний:529
Оценка: - , Оценок - 0
Сохранить в файле

Обсудить в форуме

Описание

Для доступа к федресурсу и поиску там внесудебных банкротов (а можно и всего остального).
Реализовано для тестовой среды, чтобы перейти в рабочую среду надо запросить у них логин и заплатить денег :(

Текст примера

 import rslx, rcw, rslxml, globals;
import "rslstring.d32";
macro SearchDebtorByCode ( _Code)
    var server, 
    ax:object = CreateObject("rsax","TRsAxServer","RsAxServer",true), 
    WinHttpReq = ax.CreateComObject("WinHttp.WinHttpRequest.5.1"),
    stat, ResultString, xml;

xml = "<soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:tem=\"http://tempuri.org/\">"+
    "<soapenv:Header/>"+
        "<soapenv:Body>"+
            "<tem:SearchDebtorByCode>"+
                "<tem:codeType>PersonInn</tem:codeType>"+
                "<tem:codeValue>"+string(_Code)+"</tem:codeValue>"+
            "</tem:SearchDebtorByCode>"+
        "</soapenv:Body>"+
    "</soapenv:Envelope>";

server = "http://test.fedresurs.ru/MessageService/WebService.svc?singleWsdl"; 


    WinHttpReq.Open("POST", Server, true);
    WinHttpReq.SetRequestHeader("Content-Type", "text/xml; charset=UTF-8");
    WinHttpReq.SetRequestHeader("SOAPAction", "http://tempuri.org/IMessageService/SearchDebtorByCode");
    WinHttpReq.SetRequestHeader("Content-Length", "363");
    WinHttpReq.SetRequestHeader("Accept-Encodig", "gzip,deflate");
    WinHttpReq.SetRequestHeader("Connection", "Keep-Alive");
    WinHttpReq.SetRequestHeader("User-Agent", "Apache-HttpClient/4.1.1 (java 1.5)");
    WinHttpReq.SetCredentials( "demowebuser", "Ax!761BN", 0);

    WinHttpReq.Send(xml);
    WinHttpReq.waitForResponse(1000);
    stat = WinHttpReq.Status;


// 200 - success
    if( stat != 200 )
        ResultString = stat + " Ошибка обращения к веб-сервису fedresurs: " + WinHttpReq.statusText;
        println(ResultString);
		return 0
    else
        ResultString = stat + " " + WinHttpReq.statusText +"\n" + WinHttpReq.ResponseText ;
        msgbox(ResultString);
    end;


    onError( er )
       msgbox( er.Message,"|", er.Module,"|", er.Line);

end;

SearchDebtorByCode("020400339908");