Un saluto a tutti. sto cercando di accedere ad un webservice tramite un client soap. Sono assolutamente digiuno del protocollo e facendo delle prove sono arrivato a questo... Per verificare le funzionalità del webservice ho installato soapUI e riesco a richiamare il metodo "dir" che compone la richesta soap come riportato in coda... Ad occhio noto che nella richiesta emessa dal mio script ho:
SOAP-ENV:Envelope xmlns:ns1 ns1:Body ns0:dir mentre in quella di soapUI ho: soapenv:Envelope xmlns:web soapenv:Body web:dir avete idea di come risolvere? Vi seguo con passione anche se scrivo poco, grazie a tutti ;-)) # INIZIO SCRIPT *#!/usr/bin/python* * * *from suds.client import Client* *import logging, sys* * * *class OutgoingFilter(logging.Filter):* * def filter(self, record):* * return record.msg.startswith('sending:')* * * * * *if __name__ == '__main__':* * * * handler = logging.StreamHandler(sys.stderr)* * handler.addFilter(OutgoingFilter())* * logger = logging.getLogger('suds.transport.http')* * logger.setLevel(logging.DEBUG)* * handler.setLevel(logging.DEBUG)* * logger.addHandler(handler)* * * * username = 'username' # ovviamente ho messo dati validi* * password = 'password'* * * * wsdl_url = 'file:///home/aabate/Documenti/PROGR/webDAA/TelematicoFtp.wsdl'* * soap_url = ' https://ws-telematico.agenziadogane.it/TelematicoFtpEjbHttpRouter/TelematicoFtpWsBindingImplService '* * * * client = Client(wsdl_url,location=soap_url, username=username, password=password)* * print client* * * * res = client.service.dir('?')* * print res* # FINE SCRIPT # INIZIO RISPOSTA riporto la risposta dello script... Suds ( https://fedorahosted.org/suds/ ) version: 0.4.1 (beta) build: R703-20101015 Service ( TelematicoFtpWsBindingImplService ) tns=" http://webservices.ftp.telematico.dogana.dogane.ag_dogane.finanze.it" Prefixes (0) Ports (1): (TelematicoFtpWsBindingImpl) Methods (6): dir(xs:string pattern, ) get(xs:string fileName, ) getlog() ls(xs:string pattern, ) mget(xs:string mGetInput_Nome, xs:string mGetInput_Prog, ) put(xs:base64Binary fileMsg_Content, xs:string fileMsg_Nome, ) Types (0): sending: URL: https://ws-telematico.agenziadogane.it/TelematicoFtpEjbHttpRouter/TelematicoFtpWsBindingImplService HEADERS: {'SOAPAction': '"dir"', 'Content-Type': 'text/xml; charset=utf-8', 'Content-type': 'text/xml; charset=utf-8', 'Soapaction': '"dir"'} MESSAGE: <?xml version="1.0" encoding="UTF-8"?> <SOAP-ENV:Envelope xmlns:ns0=" http://webservices.ftp.telematico.dogana.dogane.ag_dogane.finanze.it" xmlns:ns1="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi=" http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENV=" http://schemas.xmlsoap.org/soap/envelope/"> <SOAP-ENV:Header/> <ns1:Body> <ns0:dir><pattern>?</pattern></ns0:dir> </ns1:Body> </SOAP-ENV:Envelope> Traceback (most recent call last): File "webdaa.py", line 32, in <module> res = client.service.dir('?') File "/usr/lib/python2.7/dist-packages/suds/client.py", line 542, in __call__ return client.invoke(args, kwargs) File "/usr/lib/python2.7/dist-packages/suds/client.py", line 602, in invoke result = self.send(soapenv) File "/usr/lib/python2.7/dist-packages/suds/client.py", line 647, in send result = self.succeeded(binding, reply.message) File "/usr/lib/python2.7/dist-packages/suds/client.py", line 684, in succeeded reply, result = binding.get_reply(self.method, reply) File "/usr/lib/python2.7/dist-packages/suds/bindings/binding.py", line 145, in get_reply replyroot = sax.parse(string=reply) File "/usr/lib/python2.7/dist-packages/suds/sax/parser.py", line 136, in parse sax.parse(source) File "/usr/lib/python2.7/xml/sax/expatreader.py", line 107, in parse xmlreader.IncrementalParser.parse(self, source) File "/usr/lib/python2.7/xml/sax/xmlreader.py", line 123, in parse self.feed(buffer) File "/usr/lib/python2.7/xml/sax/expatreader.py", line 211, in feed self._err_handler.fatalError(exc) File "/usr/lib/python2.7/xml/sax/handler.py", line 38, in fatalError raise exception xml.sax._exceptions.SAXParseException: <unknown>:1:0: syntax error # FINE RISPOSTA # richiesta methodo "dir" con soapUI <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:web=" http://webservices.ftp.telematico.dogana.dogane.ag_dogane.finanze.it"> <soapenv:Header/> <soapenv:Body> <web:dir> <pattern>?</pattern> </web:dir> </soapenv:Body> </soapenv:Envelope>
_______________________________________________ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python