Xpoint
   [напомнить пароль]

URL строка (как сформировать SOAP запрос через Http-POST)?

Метки: [без меток]
2016-05-12 14:38:09 [обр] Михаил Макушев(0/3)[досье]

Добрый день, коллеги.
Возникла острая необходимость проконсультироваться у вас по весьма специфическому вопросу. Постановка вопроса такова: есть клиент, которые отсылает серверу некие SOAP запросы через HTTP методом POST. Структура этих запросов уже известна (заголовки и тело). Вопрос заключается в следующем: как мне сформировать строку URL запроса (скажем даже через браузер) дабы повторить данные запросы. Грубо говоря эмулировать клиента.
Честно говоря вопрос или очень сложен или крайне прост, что поставил меня в глубокий тупик.

структура запроса примерно такая

POST http://127.0.0.1:2505/ HTTP/1.1
Connection: Keep-Alive
Content-Type: text/xml
Content-Length: 200
Host: 127.0.0.1:2505
Cookie: IDHTTPSESSIONID=HMgknblSgt6IDSE

<?xml version="1.0" encoding="windows-1251"?>
<SOAP-ENV:Envelope xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Body>
  <UPDATEOBJECT>
     <P0>37717</P0>
     <P1>Test</P1>
     <P2>
        <Scenario name="Test" period="1" customers="0" id="37717">
            <Tasks>
               <task id="30" period="0" name="test" service="8" params="SELECTED_ITEM_KINDS=0"/>
            </Tasks>
            <Params SELECTED_CUSTOMER="58717">
              <xsd:element name="schema"/>
            </Params>
        </Scenario>
     </P2>
  </UPDATEOBJECT>
  </SOAP-ENV:Body>
  </SOAP-ENV:Envelope>

PS: очень прошу не отвлекаться на сторонние вроде "почему вы так делаете". Думаю ситуация знакомая до боли всем - безутешная поддержка проприетарной, самописной системы, лицензия на тех.поддержку который не продлевается в силу обитания тараканов сами знаете где

спустя 42 минуты [обр] Евгений Седов aka KPbIC(0/176)[досье]
LWP?
спустя 4 минуты [обр] Евгений Седов aka KPbIC(0/176)[досье]
$ curl --data
спустя 23 минуты [обр] Михаил Макушев(0/3)[досье]
$ curl --data - представляется более интересным. Он может сформировать URL строку? Или он сразу как отправитель работает?
спустя 32 минуты [обр] Евгений Седов aka KPbIC(0/176)[досье]
Не понимаю вопроса. Думаю, $ man curl поможет.
спустя 4 дня [обр] Михаил Макушев(0/3)[досье]

курловский ман мало в чем помогает. В чем проблема - не понимаю
Вот пример: curl --data-urlencode @2 127.0.0.1:2505

На что получаю ясный и четкий ответ: curl: no URL specified!

При этом, как я делаю по аналогии с документацией "2" - это наименование файла в котором содержится упомянутое выше содержимое:
<?xml version="1.0" encoding="windows-1251"?>
<SOAP-ENV:Envelope xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Body>
  <UPDATEOBJECT>
     <P0>37717</P0>
     <P1>Test</P1>
     <P2>
        <Scenario name="Test" period="1" customers="0" id="37717">
            <Tasks>
               <task id="30" period="0" name="test" service="8" params="SELECTED_ITEM_KINDS=0"/>
            </Tasks>
            <Params SELECTED_CUSTOMER="58717">
              <xsd:element name="schema"/>
            </Params>
        </Scenario>
     </P2>
  </UPDATEOBJECT>
  </SOAP-ENV:Body>
  </SOAP-ENV:Envelope>

спустя 1 час [обр] Евгений Седов aka KPbIC(0/176)[досье]

У меня ваша конструктция работает.

Посмотрите официальный сайт cURL, погуглите "curl POST example". Или покажите вывод:

$ curl --data-urlencode @2 79.174.68.190
спустя 20 часов [обр] Михаил Макушев(0/3)[досье]
Спасибо. Действительно всё работает.
Powered by POEM™ Engine Copyright © 2002-2005