Тонкая настройка SOAP запросов в "Web service toolkit"

Модератор: Модераторы

Тонкая настройка SOAP запросов в "Web service toolkit"

Сообщение Ichthyander » 14.02.2018 18:56:16

Всем привет!
Может кто подсказать по выполнению SOAP запросов со стороны клиента? Я использую WST. После выполнения простого запроса я получаю от сервиса SOAP ошибку.
Код: Выделить всё
<?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 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>

Но если посмотреть примеры запросов в документации к этому сервису SOAP, к которому я выполняю запрос, то отличии, которое сразу бросается в глаза это то, что пространство имен прописано только для корневого элемента getAgents, для вложенного используются обычные элементы без указания конкретного Name Space.
Пример SOAP запроса из документации к требуемому сервису:
Код: Выделить всё
<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-ENV:Envelope>

Вопрос, скорее нубский, но все же: как можно тюнинговать SOAP запросы в WST. То есть конкретно интересует можно ли сделать так, чтобы вложенные указанные вложенные элементы XML были без указания пространства имен (Name space) ровно как в примерах, которые я увидел в документации?
Аватара пользователя
Ichthyander
энтузиаст
 
Сообщения: 685
Зарегистрирован: 04.04.2007 08:32:43
Откуда: Астрахань

Вернуться в Сети

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3

Рейтинг@Mail.ru