【问题标题】:Access Siebel WSDL through Python Packages (SOAPpy, suds, requests)通过 Python 包(SOAPpy、suds、请求)访问 Siebel WSDL
【发布时间】:2016-10-13 22:10:21
【问题描述】:

我正在尝试通过 python 模块访问 Siebel WSDL。 我的最终场景是通过外部链接在 Siebel 中创建服务请求。

我试过了,

请求、Suds 和 soapPY。

在更改 URL 并将用户名和密码附加到相同并更改正文后将 WSDL 文件导入 SOAP-UI 时,它对我有用并给出 200 个服务器响应。

当尝试使用 postman(rest 客户端)访问相同内容并提供添加了用户名和密码的 URL 时。并将所需的 XML 作为正文的一部分传递,我收到 500 个内部服务器错误。

不明白请求通过soapUI和邮递员的方式有何不同。

我必须做些什么才能让它与邮递员一起工作。

在 python 中使用 WSDL 服务的正确方法是什么。

SOAP 输入:

<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>

我需要在这里知道集成 ID 是否是我需要动态传递的东西,如何实现。

非常感谢您的宝贵时间

【问题讨论】:

    标签: python soap wsdl siebel soappy


    【解决方案1】:

    如果您收到 500 错误,这意味着请求被卡在 Web 服务器上,并且尚未到达其后面的 siebel 服务器。如果错误是由于 xml 中缺少某些内容,您将在响应中收到“SBL-”错误代码。在您得到它并得到 500 个错误之前,请求 SOAP 还没有到达 siebel 服务器。

    我不了解 python,但我的建议是捕获来自 python 脚本的 RAW 消息,并将其与 SOAP-UI 中的 RAW 消息进行比较。特别检查 SOAPAction 字符串,它应该有一个正斜杠 (/) 和一个冒号 (:)。 “内容类型”、“文本/xml”

    为了进一步调试,您必须检查网络服务器日志以了解消息是如何到达那里的。

    【讨论】:

      猜你喜欢
      • 2016-12-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-02-20
      • 2021-02-02
      相关资源
      最近更新 更多