[python] SOAP pres knihovnu ZSI
Michal Příhoda
michal na prihoda.net
Pátek Červenec 7 20:49:32 CEST 2006
Zkusenost primo s ZSI sice nemam, ale co se tyce rozdilu, pokusil bych
se primarne odstranit rozdil v namespace dotazu. Cenik v ukazce ma
namespace "http://www.atcomp.cz/webservices", kdezto pouzity dotaz
namespace nema. Takze je mozne, ze server nenalezne v dotazu potrebna data.
Dan Ohnesorg napsal(a):
> 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