Я использую следующий пакет 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
?
Многиеспасибо!