[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