powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Сталкивался ли кто-либо тесно с WST (SOAP клиент на базе WST)
1 сообщений из 1, страница 1 из 1
Сталкивался ли кто-либо тесно с WST (SOAP клиент на базе WST)
    #39649047
Ренат C.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день! Имел ли кто опыт работы с web service toolkit для Lazarus?
Проблема в том, что у меня не получается настроить генерацию тела SOAP запроса так как надо. Конкретно
Существующий SOAP сервер отвечает
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
   <?xml version="1.0" encoding="UTF-8"?>
    <S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
       <S:Body>
          <ns2:getAgentsResponse xmlns:ns2="http://ws.server.example.com/">
             <return>
                <messages>
                   <message>
                      <message>Отсутствует элемент 'context'</message>
                      <type>ERROR</type>
                   </message>
                </messages>
             </return>
          </ns2:getAgentsResponse>
       </S:Body>
    </S:Envelope>


Но в теле SOAP запроса этот элемент точно существует!
Тело SOAP запроса (сгенерированного в WST) ниже:
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
    <?xml version="1.0" encoding="utf-8"?>
    <SOAP-ENV:Envelope xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
      <SOAP-ENV:Body xmlns:ns1="http://ws.server.example.com/">
        <ns1:getAgents>
          <ns1:context>
            <ns1:locale>ru</ns1:locale>
            <ns1:loginName>user</ns1:loginName>
            <ns1:password>pass</ns1:password>
            <ns1:salesPointCode>WEB_SITE</ns1:salesPointCode>
          </ns1:context>
        </ns1:getAgents>
      </SOAP-ENV:Body>
    </SOAP-ENV:Envelope>


Предполагаю, что правильно интерпретировать запрос мешает ns1: в элементе context. Так как если посмотреть примеры запросов в документации к этому сервису SOAP, к которому я выполняю запрос, то отличие, которое сразу бросается в глаза это то, что пространство имен прописано только для корневого элемента getAgents, для вложенного используются обычные элементы без указания конкретного Name Space.
Пример SOAP запроса из документации к требуемому сервису:
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://ws.server.example.com/">
  <SOAP-ENV:Body>
<ns1:getAgents>
  <context>
    <locale>ru</locale>
    <loginName>user</loginName>
    <password>pass</password>
    <salesPointCode>WEB_SITE</salesPointCode>
  </context>
</ns1:getAgents>
  </SOAP-ENV:Body>


Как можно тюнинговать SOAP запросы в WST? Изменения типа с document на RPC пробовал - не то, не помогает. Видимо нужна более тонка настройка. То есть конкретно интересует можно ли сделать так, чтобы вложенные указанные вложенные элементы XML были без указания пространства имен (Name space) ровно как в примерах, которые я увидел в документации?
Спасибо за любые наводки и советы!
...
Рейтинг: 0 / 0
1 сообщений из 1, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Сталкивался ли кто-либо тесно с WST (SOAP клиент на базе WST)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]