Пакеты bet365 / soap игнорируют префикс пространства имен для элементов типа «sequence» - PullRequest
0 голосов
/ 24 мая 2018

Я использую следующий пакет erlang для работы с некоторыми WSDL-сервисами: https://github.com/bet365/soap.

Большая часть работает нормально!Но мой WSDL-сервис ожидает, что элементы типа sequence (включая все подэлементы) имеют существующий префикс пространства имен в XML.Проблема в том, что bet365/soap игнорирует это, когда я пытаюсь сделать запрос сгенерированным клиентом.

Пожалуйста, посмотрите на мои простые примеры:

Что необходимо:

<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:urn="urn:s:v2">
   <soap:Header/>
   <soap:Body>
      <urn:getArticles>
         <client>my-client</client>
         <articleRequest Id="99999">

            <!-- List 1 to 50 elements:-->
            <urn:article>
               <urn:id>1234</urn:id >
               <urn:quantity>4</urn:quantity >
            </urn:article >

         </articleRequest >
      </urn:getArticles >
   </soap:Body>
</soap:Envelope>

Что генерирует bet365/soap:

<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:urn="urn:s:v2">
   <soap:Header/>
   <soap:Body>
      <urn:getArticles>
         <client>my-client</client>
         <articleRequest Id="99999">

            <!-- List 1 to 50 elements:-->
            <article>
               <id>1234</id >
               <quantity>4</quantity >
            </article >

         </articleRequest >
      </urn:getArticles >
   </soap:Body>
</soap:Envelope>

Может кто-нибудь помочь?Может быть, есть опция, которую я могу передать bet365/soap, чтобы добавить и использовать отсутствующий префикс namespace?

Может быть, требуется изменение кода в пакете bet365/soap?

Многиеспасибо!

...