代码之家  ›  专栏  ›  技术社区  ›  qdot

SOAPpy、C#和对象传递

  •  1
  • qdot  · 技术社区  · 15 年前

    我正在尝试为我的C#WebService编写一个SOAPpy客户端。它以空值到达:(

    如何从WebService使用的C#SOAP解析器中获得调试?

    <?xml version="1.0" encoding="UTF-8"?>
    <SOAP-ENV:Envelope
     SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
     xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
     xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance"
     xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
     xmlns:xsd="http://www.w3.org/1999/XMLSchema"
    >                    
     <SOAP-ENV:Body>
      <ns1:UpdateSession xmlns:ns1="http://www.xlogic.pl/SENACA" SOAP-ENC:root="1">
       <xsd:Session>        
        <ID xsi:type="xsd:int">420</ID>
        <RecordCreationTime SOAP-ENC:arrayType="xsd:ur-type[6]" xsi:type="SOAP-ENC:Array"> 
         <item xsi:type="xsd:int">2010</item>
         <item xsi:type="xsd:int">8</item> 
         <item xsi:type="xsd:int">17</item>
         <item xsi:type="xsd:int">11</item> 
         <item xsi:type="xsd:int">13</item> 
         <item xsi:type="xsd:double">21.0</item>
        </RecordCreationTime>
        <ASP_SessionID xsi:type="xsd:string">92072674A04CB88D62776EA7</ASP_SessionID>
        <LangID xsi:type="xsd:string">fr-FR</LangID>
        <OneTimeKey xsi:type="xsd:string">a334cea18e014f4d8d04</OneTimeKey> 
       </xsd:Session>  
      </ns1:UpdateSession>
     </SOAP-ENV:Body>
    </SOAP-ENV:Envelope>
    

    这就是C#的期望

    <?xml version="1.0" encoding="utf-16"?>
    <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xmlns:xsd="http://www.w3.org/2001/XMLSchema"
          xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
          xmlns:tns="http://www.xlogic.pl/SENACA"
          xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
      <soap:Body>
        <tns:UpdateSession>
          <s href="#id1"/>
        </tns:UpdateSession>
        <tns:Session id="id1" xsi:type="tns:Session">
          <ID xsi:type="xsd:int">int</ID>
          <RecordCreationTime
                xsi:type="xsd:dateTime">dateTime</RecordCreationTime>
          <ASP_SessionID xsi:type="xsd:string">string</ASP_SessionID>
          <LangID xsi:type="xsd:string">string</LangID>
          <OneTimeKey xsi:type="xsd:string">string</OneTimeKey>
        </tns:Session>
      </soap:Body>
    </soap:Envelope>
    
    1 回复  |  直到 15 年前
        1
  •  0
  •   PaulMcG    15 年前

    不是Python的答案,但是 soapUI 是调试和自动测试web服务的非常有用的工具。我在一个C#WCF项目中大量使用了它,使用了多种客户端,包括Python、Boo、Java和C#。