[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

comp.lang.python

python SUDS library

yamamoto

3/4/2010 5:23:00 AM

Hi,
I tried to make a simple script with SUD library for caching torrent
files. it doenst work!

[versions]
suds: 0.4, python: 2.6.4

[code]
from suds.client import Client
import base64

path = 'sample.torrent'
doc = open(path, 'rb').read()
encoded_doc = base64.b64encode(doc)
url = 'http://torrag...torrage...
client = Client(url, cache=None)
print client
hash = client.service.cacheTorrent(encoded_doc)
print hash

[result]

Suds ( https://fedorahosted... ) version: 0.4 (beta) build:
R663-20100303

Service ( CacheService ) tns="urn:Torrage"
Prefixes (0)
Ports (1):
(CachePort)
Methods (1):
cacheTorrent(xs:string torrent, )
Types (0):

Traceback (most recent call last):
File "C:\Documents and Settings\yamamoto\workspace\python\console
\extract.py", line 13, in <module>
result = client.service.cacheTorrent(encoded_doc)
File "C:\Python26\lib\site-packages\suds\client.py", line 539, in
__call__
return client.invoke(args, kwargs)
File "C:\Python26\lib\site-packages\suds\client.py", line 598, in
invoke
result = self.send(msg)
File "C:\Python26\lib\site-packages\suds\client.py", line 627, in
send
result = self.succeeded(binding, reply.message)
File "C:\Python26\lib\site-packages\suds\client.py", line 659, in
succeeded
r, p = binding.get_reply(self.method, reply)
File "C:\Python26\lib\site-packages\suds\bindings\binding.py", line
143, in get_reply
replyroot = sax.parse(string=reply)
File "C:\Python26\lib\site-packages\suds\sax\parser.py", line 136,
in parse
sax.parse(source)
File "C:\Python26\lib\xml\sax\expatreader.py", line 107, in parse
xmlreader.IncrementalParser.parse(self, source)
File "C:\Python26\lib\xml\sax\xmlreader.py", line 123, in parse
self.feed(buffer)
File "C:\Python26\lib\xml\sax\expatreader.py", line 211, in feed
self._err_handler.fatalError(exc)
File "C:\Python26\lib\xml\sax\handler.py", line 38, in fatalError
raise exception
xml.sax._exceptions.SAXParseException: <unknown>:2:0: junk after
document element


this is a php code provided by torrage
<?
$client = new SoapClient("http://torrag...
torrage.wsdl");
$infoHash = $client-
>cacheTorrent(base64_encode(file_get_contents("my.torrent")));
?>

any suggestions?
thanks in advance

1 Answer

Diez B. Roggisch

3/4/2010 9:43:00 PM

0

Am 04.03.10 06:23, schrieb yamamoto:
> Hi,
> I tried to make a simple script with SUD library for caching torrent
> files. it doenst work!
>
> [versions]
> suds: 0.4, python: 2.6.4
>
> [code]
> from suds.client import Client
> import base64
>
> path = 'sample.torrent'
> doc = open(path, 'rb').read()
> encoded_doc = base64.b64encode(doc)
> url = 'http://torrag...torrage...
> client = Client(url, cache=None)
> print client
> hash = client.service.cacheTorrent(encoded_doc)
> print hash
>
> [result]
>
> Suds ( https://fedorahosted... ) version: 0.4 (beta) build:
> R663-20100303
>
> Service ( CacheService ) tns="urn:Torrage"
> Prefixes (0)
> Ports (1):
> (CachePort)
> Methods (1):
> cacheTorrent(xs:string torrent, )
> Types (0):
>
> Traceback (most recent call last):
> File "C:\Documents and Settings\yamamoto\workspace\python\console
> \extract.py", line 13, in<module>
> result = client.service.cacheTorrent(encoded_doc)
> File "C:\Python26\lib\site-packages\suds\client.py", line 539, in
> __call__
> return client.invoke(args, kwargs)
> File "C:\Python26\lib\site-packages\suds\client.py", line 598, in
> invoke
> result = self.send(msg)
> File "C:\Python26\lib\site-packages\suds\client.py", line 627, in
> send
> result = self.succeeded(binding, reply.message)
> File "C:\Python26\lib\site-packages\suds\client.py", line 659, in
> succeeded
> r, p = binding.get_reply(self.method, reply)
> File "C:\Python26\lib\site-packages\suds\bindings\binding.py", line
> 143, in get_reply
> replyroot = sax.parse(string=reply)
> File "C:\Python26\lib\site-packages\suds\sax\parser.py", line 136,
> in parse
> sax.parse(source)
> File "C:\Python26\lib\xml\sax\expatreader.py", line 107, in parse
> xmlreader.IncrementalParser.parse(self, source)
> File "C:\Python26\lib\xml\sax\xmlreader.py", line 123, in parse
> self.feed(buffer)
> File "C:\Python26\lib\xml\sax\expatreader.py", line 211, in feed
> self._err_handler.fatalError(exc)
> File "C:\Python26\lib\xml\sax\handler.py", line 38, in fatalError
> raise exception
> xml.sax._exceptions.SAXParseException:<unknown>:2:0: junk after
> document element
>
>
> this is a php code provided by torrage
> <?
> $client = new SoapClient("http://torrag...
> torrage.wsdl");
> $infoHash = $client-
>> cacheTorrent(base64_encode(file_get_contents("my.torrent")));
> ?>
>
> any suggestions?

Looks like the XML is malformed. Can you post it? You can insert
print-statements into the library to do so, eg in line 143 of
suds.bindings.binding.

Diez

Diez