[python] SOAP pres knihovnu ZSI

Dan Ohnesorg dan.ohnesorg na gmail.com
Úterý Červenec 4 01:11:34 CEST 2006


Pokousim se pouzit knihovnu ZSI, abych vydoloval z webservices
atcomputers nejake zajimave udaje a nejak zadne zajimave udaje
nedostavam ;-)

Myslim si, ze problem je v tom, ze zatimco ukazkovy request vypada
takto:

POST /webservices/zbozi.asmx HTTP/1.1
Host: www.atcomp.cz
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://www.atcomp.cz/webservices/Cenik"

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Body>
    <Cenik xmlns="http://www.atcomp.cz/webservices">
      <strUzivatelskeJmeno>string</strUzivatelskeJmeno>
      <strUzivatelskeHeslo>string</strUzivatelskeHeslo>
      <strZboziKod>string</strZboziKod>
      <strZboziPartNumber>string</strZboziPartNumber>
      <strZboziPopis>string</strZboziPopis>
      <strVyrobceKod>string</strVyrobceKod>
      <strKategorieKod>string</strKategorieKod>
      <strPodkategorieKod>string</strPodkategorieKod>
    </Cenik>
  </soap:Body>
</soap:Envelope>

tak request vygenerovany knihovnou ZSI vypada takto

POST /webservices/zbozi.asmx HTTP/1.1
Host: www.atcomp.cz
Accept-Encoding: identity
Content-length: 871
Content-type: text/xml; charset=utf-8
SOAPAction: "http://www.atcomp.cz/webservices/Cenik"

<SOAP-ENV:Envelope
xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ZSI="http://www.zolera.com/schemas/ZSI/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
        <SOAP-ENV:Header></SOAP-ENV:Header>
        <SOAP-ENV:Body>
                <Cenik>
                        <strUzivatelskeJmeno
xsi:type="xsd:string">XXXXXXXX</strUzivatelskeJmeno>
                        <strUzivatelskeHeslo
xsi:type="xsd:string">XXXXXXXX</strUzivatelskeHeslo>
                        <strZboziKod
xsi:type="xsd:string"></strZboziKod>
                        <strZboziPartNumber
xsi:type="xsd:string"></strZboziPartNumber>
                        <strZboziPopis
xsi:type="xsd:string">PCI</strZboziPopis>
                        <strVyrobceKod
xsi:type="xsd:string"></strVyrobceKod>
                        <strKategorieKod
xsi:type="xsd:string"></strKategorieKod>
                        <strPodkategorieKod
xsi:type="xsd:string"></strPodkategorieKod>
                </Cenik>
        </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

vypada takto. Knihovna ZSI zrejme nedokaze vygenerovat pozadavek ad1,
nicmene vsude pisi, ze je kompatibilni s .Net implementaci. Myslite, ze
odlisnost vygenerovaneho dotazu je zasadni a fungovat to nikdy nebude a
nebo je to v ramci SOAPu normalni chovani a odpoved by prijit mela?

Pro upresneni, server neodpovi chybou, odpovi celkem "rozumne"

Cache-Control: private, max-age=0
Content-Length: 774
Content-Type: text/xml; charset=utf-8
Server: Microsoft-IIS/6.0
X-Powered-By: ASP.NET
X-AspNet-Version: 1.1.4322
Date: Mon, 03 Jul 2006 16:54:21 GMT

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xmlns:xsd="http://www.w3.org/2001/XMLSchema">
        <soap:Body>
                <CenikResponse
xmlns="http://www.atcomp.cz/webservices">
                        <CenikResult>
                                <xs:schema id="NewDataSet" xmlns=""
xmlns:xs="http://www.w3.org/2001/XMLSchema"

xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
                                          <xs:element name="NewDataSet"
msdata:IsDataSet="true" msdata:Locale="cs-CZ">
                                                  <xs:complexType>
                                                          <xs:choice
maxOccurs="unbounded" />
                                                  </xs:complexType>
                                          </xs:element>
                                </xs:schema>
                                <diffgr:diffgram
xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"

xmlns:diffgr="urn:schemas-microsoft-com:xml-diffgram-v1" />
                        </CenikResult>
                </CenikResponse>
        </soap:Body>
</soap:Envelope>

Jen odpoved neobsahuje data, ackoliv zcela zarucene nejaka musi
takovyto dotaz vratit. Nenu tu nekdo, kdo uspesne pouziva kombinaci
python + ZSI + SOAP?

zdravim
dan



Další informace o konferenci Python