Доступ к Siebel WSDL через пакеты Python (SOAPpy, suds, запросы)

Я пытаюсь получить доступ к Siebel WSDL через модуль Python. Мой конечный сценарий создает запрос на обслуживание в Siebel через внешнюю ссылку.

Я пытался,

Просьбы, Suds и soapPY.

При импорте файла WSDL в SOAP-UI после внесения изменений в URL-адрес и добавления имени пользователя и пароля к тому же и внесения изменений в тело, он работает для меня и дает ответ сервера 200.

При попытке получить доступ к тому же с помощью почтальона (остального клиента) и предоставления URL-адреса с добавленным именем пользователя и паролем. И передавая требуемый XML как часть тела, я получаю 500 внутренних ошибок сервера.

Не понимаю, в чем разница в том, как запрос проходит через soapUI и почтальон.

Какая разница, что я должен сделать, чтобы он работал с почтальоном.

Как правильно использовать службу WSDL в python.

Мыльный ввод:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:aud="http://siebel.com/Service/ServiceReqs" xmlns:aud1="http://www.siebel.com/xml/%20Service%20Request%20IO">
   <soapenv:Header/>
   <soapenv:Body>
      <aud:SRQueryByExample_Input>
         <aud1:ListOfServiceRequestIo>
            <aud1:ServiceRequestOpen Operation="?">
            <aud1:IntegrationId>0000123</aud1:IntegrationId>
        </aud1:ServiceRequestOpen>
        </aud1:ListOfAudetemiServiceRequestIo>
      </aud:SRQueryByExample_Input>
   </soapenv:Body>
</soapenv:Envelope>

Здесь мне нужно знать, является ли идентификатор интеграции чем-то, что мне нужно передать динамически, как добиться того же.

Большое спасибо за ваше время


person Alok Agarwal    schedule 13.06.2016    source источник


Ответы (1)


Если вы получаете сообщение об ошибке 500, это означает, что запрос застрял на веб-сервере и еще не попал на стоящий за ним сервер siebel. Если ошибка связана с отсутствием чего-либо в xml, в ответ вы получите код ошибки «SBL-». Пока вы не получите это и не получите 500 ошибок, запрос SOAP еще не попал на сервер siebel.

Я не знаю python, но я бы предложил захватить сообщение RAW, идущее из вашего скрипта python, и сравнить его с сообщением RAW в SOAP-UI. Особо проверьте строку SOAPAction, она должна содержать косую черту (/) и двоеточие (:). "Тип контента", "текст/xml"

Для дальнейшей отладки вам нужно будет проверить журналы веб-сервера, чтобы увидеть, как туда поступает сообщение.

person Ranjith R    schedule 14.06.2016