Python + SUDS:在base64编码中通过XML请求

时间:2012-11-15 15:13:11

标签: python xml base64 suds

我正在尝试用Python创建一个客户端,它将与Web服务(NuSoap)进行通信。标识数据和查询以XML格式作为加密字符串(base64)发送。 这个XML是:

<CV3Data version="2.0">
  <request>
    <authenticate>
      <user>m*****</user>
      <pass>m******</pass>
      <serviceID>b*******0</serviceID>
    </authenticate>
    <requests>
      <reqProducts>
        <reqProductRange start="9294" end="9296"/>
      </reqProducts>
    </requests>
  </request>
</CV3Data>

此Web服务具有此wsdl:

<definitions xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns="https://service.commercev3.com/CV3Data.xsd" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns="http://schemas.xmlsoap.org/wsdl/" targetNamespace="https://service.commercev3.com/CV3Data.xsd">
 <types>
  <xsd:schema targetNamespace="https://service.commercev3.com/CV3Data.xsd">
   <xsd:import namespace="http://schemas.xmlsoap.org/soap/encoding/"/>
   <xsd:import namespace="http://schemas.xmlsoap.org/wsdl/"/>
  </xsd:schema>
 </types>    
 <message name="CV3DataRequest">
  <part name="data" type="xsd:base64Binary"/>
 </message>
 <message name="CV3DataResponse">
  <part name="return" type="xsd:base64Binary"/>
 </message>
 <portType name="CV3Data.xsdPortType">
  <operation name="CV3Data">
   <input message="tns:CV3DataRequest"/>
   <output message="tns:CV3DataResponse"/>
  </operation>
 </portType>
 <binding name="CV3Data.xsdBinding" type="tns:CV3Data.xsdPortType">
  <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
  <operation name="CV3Data">
   <soap:operation soapAction="http://service.commercev3.com/index.php/CV3Data" style="rpc"/>
   <input>
    <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
   </input>
   <output>
    <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
   </output>
  </operation>
 </binding>
 <service name="CV3Data.xsd">
  <port name="CV3Data.xsdPort" binding="tns:CV3Data.xsdBinding">
   <soap:address location="http://service.commercev3.com/index.php"/>
  </port>
 </service>
</definitions>

我需要阅读CV3Data。 我会感谢你的工作建议。

有什么建议吗?

0 个答案:

没有答案