From jortel at redhat.com Mon Jan 5 14:56:04 2009
From: jortel at redhat.com (Jeff Ortel)
Date: Mon, 05 Jan 2009 09:56:04 -0500
Subject: [Fedora-suds-list] SUDS and Changing the Service Port Address
In-Reply-To: <2F51C1B5-28E7-4A1F-9B51-9278C2B96CFA@gmail.com>
References: <2F51C1B5-28E7-4A1F-9B51-9278C2B96CFA@gmail.com>
Message-ID: <49621F84.7020001@redhat.com>
Yes. You can override the
defined in the wsdl
using the "location" option as follows:
>
> client = Client(url)
> client.set_options(location='')
> ...
Regards,
Jeff
Itsa Me, Momo! wrote:
> Hi,
>
> I'm currently working with VTiger and I've noticed that the address in
> the service port definition is wrong. I am working with them to see if
> we can get that fixed, but in the meantime, is there a way that I can
> alter the address of a service port programmatically?
>
> Essentially I need to change the address that
> client.service.vtigersoapPort points to when it makes a call.
>
> Thanks!
>
> _______________________________________________
> fedora-suds-list mailing list
> fedora-suds-list at redhat.com
> https://www.redhat.com/mailman/listinfo/fedora-suds-list
From jortel at redhat.com Mon Jan 5 20:45:39 2009
From: jortel at redhat.com (Jeff Ortel)
Date: Mon, 05 Jan 2009 15:45:39 -0500
Subject: [Fedora-suds-list] Cookie Question
In-Reply-To: <994c7b7d0901050152i714d0942pfb7a8ab620f5e250@mail.gmail.com>
References: <994c7b7d0812180544k7c6a325ajaf30df3e7ffe8e1d@mail.gmail.com>
<494A5826.7060208@redhat.com>
<994c7b7d0812180654q38055df8o450460d3d5db83d6@mail.gmail.com>
<494A745E.3040606@redhat.com>
<994c7b7d0812190158h64a82198p10a2093e3f8d319b@mail.gmail.com>
<994c7b7d0901050152i714d0942pfb7a8ab620f5e250@mail.gmail.com>
Message-ID: <49627173.10503@redhat.com>
Marc,
Hmm.... I'm not sure what to tell you. I'll forward to the list and
hope that someone that has experience using cookielib can help.
Anyone?
Jeff
Marc Belmont wrote:
> Hi, I am still trying to figure out how the cookies are working, here is
> the code I use:
>
> from suds.client import Client, SoapClient
> url = "http://demo.gostai.com/WSDL001HHDIZMAKS787F2AHGHFD2DFF/rcweb.wsdl"
> client = Client(url)
> client.service.userAuthenticate("marcbelmont at gmail.com
> ", "testpass")
> print client.options.transport.cookiejar
>
> The cookie jar is empty.
>
> With the php code, I have cookies.
>
> $address =
> "http://demo.gostai.com/WSDL001HHDIZMAKS787F2AHGHFD2DFF/rcweb.wsdl";
> $client = new SoapClient($address);
> $client->userAuthenticate(array('login' => "marcbelmont at gmail.com
> ",
> 'password' => "testpass"));
> print_r($client->_cookies);
>
> Happy new year! Marc
>
> On Fri, Dec 19, 2008 at 10:58 AM, Marc Belmont > wrote:
>
> Thanks for the code, I will test my stuff more and I will let you
> know if I manage to make it work.
>
> Bye, Marc
>
>
> On Thu, Dec 18, 2008 at 5:03 PM, Jeff Ortel > wrote:
>
> Marc,
>
> Glad to help.
>
> Cookies should be working but it hasn't been tested in several
> releases. I don't have a server that uses cookies so it's hard
> for me to regression test this.
>
> The cookiejar is adding cookies to the urllib2 request and
> extracting cookies from the urllib2 response as follows:
>
> def send(self, request):
> result = None
> url = request.url
> msg = str(request.message)
> headers = request.headers
> log.debug('sending to (%s)\nmessage:\n%s', url, msg)
> try:
> u2request = u2.Request(url, msg, headers)
> self.__addcookies(u2request)
> self.__setproxy(url, u2request)
> fp = self.__open(u2request)
> self.__getcookies(fp, u2request)
> result = fp.read()
> except u2.HTTPError, e:
> if e.code in (202,204):
> result = None
> else:
> raise TransportError(e.msg, e.code, e.fp)
> return result
>
> def __addcookies(self, u2request):
> self.cookiejar.add_cookie_header(u2request)
>
> def __getcookies(self, fp, u2request):
> self.cookiejar.extract_cookies(fp, u2request)
>
> When you walk through this with the debugger, do you not see the
> cookies you're expecting?
>
> What makes you think it's not working?
>
> Regards,
>
> Jeff
>
> Marc Belmont wrote:
>
> Hi, thanks for the quick update. The cookiejar is always
> empty. Has this feature been tested ?
>
> Thanks, Marc
>
> On Thu, Dec 18, 2008 at 3:03 PM, Jeff Ortel
>
> >> wrote:
>
> Hey Marc,
>
> Thanks for your interest in suds.
>
> I'm assuming you're using 0.3.3
>
> The best way to do this is to get the (cookielib) cookie
> jar from
> the transport. You should be able to do something like this:
>
> >
> > client = Client(url)
> > cj = client.options.transport.cookiejar
> >
>
> Now that you have the cookie jar, you can do what you
> want with the
> cookies.
>
> Hope this helps,
>
> Jeff
>
>
> Marc Belmont wrote:
>
> Hi,
>
> Is it possible to get the cookie returned by a soap
> call. Example :
> client = Client(url)
> res = client.service.mymethod()
> res.getcookies() # that's what I'm trying to do
>
> I also need to set the cookie before a soap call and
> I don't
> know how to do that.
>
> Have a nice day. Bye
>
>
>
>
From plaes at plaes.org Sun Jan 11 14:25:47 2009
From: plaes at plaes.org (Priit Laes)
Date: Sun, 11 Jan 2009 16:25:47 +0200
Subject: [Fedora-suds-list] Trouble with amazon SOAP services
Message-ID: <1231683947.6022.17.camel@chi>
Hi!
I am playing around with amazon's SOAP interface with 0.3.3 and
0.3.4_beta, but ran into a backtrace problem. This is the test script:
#!/usr/bin/python
from suds.client import Client
AWS_ACCESS_KEY='' # masked out (but, backtrace happens even with the right key)
url = 'http://ecs.amazonaws.com/AWSECommerceService/2008-08-19/AWSECommerceService.wsdl'
client = Client(url)
req = client.factory.create('ItemSearchRequest')
req.Keywords = 'Canon lens'
res = client.service.ItemSearch('US', AWS_ACCESS_KEY, '', '', 'False', req)
print res
...which runs into following problem/backtrace:
plaes at chi ~/code/soaptest $ ./test.py
No handlers could be found for logger "suds.resolver"
Traceback (most recent call last):
File "./test.py", line 14, in
res = client.service.ItemSearch('US', AWS_ACCESS_KEY, '', '', 'False', req)
File "//usr/lib64/python2.5/site-packages/suds/client.py", line 229, in __call__
return target.call(*args, **kwargs)
File "//usr/lib64/python2.5/site-packages/suds/client.py", line 356, in call
return method(*args, **kwargs)
File "//usr/lib64/python2.5/site-packages/suds/client.py", line 229, in __call__
return target.call(*args, **kwargs)
File "//usr/lib64/python2.5/site-packages/suds/client.py", line 399, in call
return client.invoke(args, kwargs)
File "//usr/lib64/python2.5/site-packages/suds/client.py", line 457, in invoke
result = self.send(msg)
File "//usr/lib64/python2.5/site-packages/suds/client.py", line 482, in send
result = self.succeeded(binding, reply)
File "//usr/lib64/python2.5/site-packages/suds/client.py", line 514, in succeeded
r, p = binding.get_reply(self.method, reply)
File "//usr/lib64/python2.5/site-packages/suds/bindings/binding.py", line 129, in get_reply
result = self.reply_composite(rtypes, nodes)
File "//usr/lib64/python2.5/site-packages/suds/bindings/binding.py", line 179, in reply_composite
sobject = unmarshaller.process(node, resolved)
File "//usr/lib64/python2.5/site-packages/suds/bindings/unmarshaller.py", line 302, in process
return UMBase.process(self, content)
File "//usr/lib64/python2.5/site-packages/suds/bindings/unmarshaller.py", line 87, in process
data, result = self.append(content)
File "//usr/lib64/python2.5/site-packages/suds/bindings/unmarshaller.py", line 103, in append
self.append_children(content)
File "//usr/lib64/python2.5/site-packages/suds/bindings/unmarshaller.py", line 180, in append_children
cdata, cval = self.append(cont)
File "//usr/lib64/python2.5/site-packages/suds/bindings/unmarshaller.py", line 101, in append
self.start(content)
File "//usr/lib64/python2.5/site-packages/suds/bindings/unmarshaller.py", line 323, in start
raise TypeNotFound(content.node.qname())
suds.TypeNotFound: Type not found: 'HTTPHeaders'
Cheers,
Priit :)
From russellneufeld at gmail.com Mon Jan 12 21:00:29 2009
From: russellneufeld at gmail.com (Russell Neufeld)
Date: Mon, 12 Jan 2009 16:00:29 -0500
Subject: [Fedora-suds-list] Trouble with amazon SOAP services
Message-ID: <496BAF6D.3050604@gmail.com>
Hi Priit,
I ran into what sounds like a similar problem with a wsdl from
Commission Junction recently. The problem was suds being very strict
about the wsdl definition, and there technically being a bug in their
wsdl. I'm no expert, but try altering the amazon wsdl by adding this:
to line 5, which is currently blank.
Russ
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From plaes at plaes.org Tue Jan 13 12:59:14 2009
From: plaes at plaes.org (Priit Laes)
Date: Tue, 13 Jan 2009 14:59:14 +0200
Subject: [Fedora-suds-list] Trouble with amazon SOAP services
In-Reply-To: <496BAF6D.3050604@gmail.com>
References: <496BAF6D.3050604@gmail.com>
Message-ID: <1231851554.16986.3.camel@chi>
?hel kenal p?eval, E, 2009-01-12 kell 16:00, kirjutas Russell Neufeld:
> Hi Priit,
>
> I ran into what sounds like a similar problem with a wsdl from
> Commission Junction recently. The problem was suds being very strict
> about the wsdl definition, and there technically being a bug in their
> wsdl. I'm no expert, but try altering the amazon wsdl by adding this:
>
> namespace="http://webservices.amazon.com/AWSECommerceService/2008-08-19"/>
>
> to line 5, which is currently blank.
Thanks for the hint, but it didn't work :(
I have also tried using Import.bind(...) with various arguments, but
still no idea...
Unfortunately I have not yet figured what to look for in debug logs, so
I could give more information what fails and what doesn't :)
--
Priit Laes
http://plaes.org
From JGiangrande at clarku.edu Tue Jan 13 20:51:10 2009
From: JGiangrande at clarku.edu (Jason Giangrande)
Date: Tue, 13 Jan 2009 15:51:10 -0500
Subject: [Fedora-suds-list] SOAP Method Problem
Message-ID: <73848327A96D9344B45109682FE313631C0F12F7AE@john.ad.clarku.edu>
Is there anyway to work around a SOAP method that has the same name as a Python reserved keyword (in this case "del")? I'm calling it like this "client.service.del(options)" and this gets an invalid syntax error. Changing the WSDL is an option, but one I'd rather avoid if there's a better way. Any suggestions?
Thanks.
--
Jason Giangrande
System Administrator
Clark University
From rjalves at igc.gulbenkian.pt Tue Jan 13 22:15:21 2009
From: rjalves at igc.gulbenkian.pt (Renato Alves)
Date: Tue, 13 Jan 2009 22:15:21 +0000
Subject: [Fedora-suds-list] SOAP Method Problem
In-Reply-To: <73848327A96D9344B45109682FE313631C0F12F7AE@john.ad.clarku.edu>
References: <73848327A96D9344B45109682FE313631C0F12F7AE@john.ad.clarku.edu>
Message-ID: <496D1279.1030509@igc.gulbenkian.pt>
>From Jason Giangrande on 01/13/2009 08:51 PM:
> Is there anyway to work around a SOAP method that has the same name as a Python reserved keyword (in this case "del")? I'm calling it like this "client.service.del(options)" and this gets an invalid syntax error. Changing the WSDL is an option, but one I'd rather avoid if there's a better way. Any suggestions?
>
> Thanks.
>
> --
> Jason Giangrande
> System Administrator
> Clark University
>
>
> _______________________________________________
> fedora-suds-list mailing list
> fedora-suds-list at redhat.com
> https://www.redhat.com/mailman/listinfo/fedora-suds-list
Jeff is probably going to beat me but I couldn't find any decent way to
call it. As you stated calling "del" gives a syntax error.
Probably this will have to be renamed to something like _del or del_ to
prevent clashing.
As an ugly fix try using:
client.service.__wrapped__.resolve('del')()
Hope this helps.
Cheers
--
Renato Alves
From jortel at redhat.com Tue Jan 13 23:00:14 2009
From: jortel at redhat.com (Jeff Ortel)
Date: Tue, 13 Jan 2009 18:00:14 -0500
Subject: [Fedora-suds-list] SOAP Method Problem
In-Reply-To: <73848327A96D9344B45109682FE313631C0F12F7AE@john.ad.clarku.edu>
References: <73848327A96D9344B45109682FE313631C0F12F7AE@john.ad.clarku.edu>
Message-ID: <496D1CFE.80908@redhat.com>
Hey Jason,
I would suggest:
>
> client = Client(url)
> delete = getattr(client.service, 'del')
> reply = delete(options)
>
Regards,
Jeff
Jason Giangrande wrote:
> Is there anyway to work around a SOAP method that has the same name as a Python reserved keyword (in this case "del")? I'm calling it like this "client.service.del(options)" and this gets an invalid syntax error. Changing the WSDL is an option, but one I'd rather avoid if there's a better way. Any suggestions?
>
> Thanks.
>
> --
> Jason Giangrande
> System Administrator
> Clark University
>
>
> _______________________________________________
> fedora-suds-list mailing list
> fedora-suds-list at redhat.com
> https://www.redhat.com/mailman/listinfo/fedora-suds-list
From JGiangrande at clarku.edu Wed Jan 14 16:03:42 2009
From: JGiangrande at clarku.edu (Jason Giangrande)
Date: Wed, 14 Jan 2009 11:03:42 -0500
Subject: [Fedora-suds-list] SOAP Method Problem
In-Reply-To: <496D1CFE.80908@redhat.com>
References: <73848327A96D9344B45109682FE313631C0F12F7AE@john.ad.clarku.edu>
<496D1CFE.80908@redhat.com>
Message-ID: <73848327A96D9344B45109682FE313631C0F12F8EC@john.ad.clarku.edu>
Thanks Jeff. That worked perfectly.
Jason
> -----Original Message-----
> From: fedora-suds-list-bounces at redhat.com [mailto:fedora-suds-list-
> bounces at redhat.com] On Behalf Of Jeff Ortel
> Sent: Tuesday, January 13, 2009 6:00 PM
> To: Jason Giangrande
> Cc: fedora-suds-list at redhat.com
> Subject: Re: [Fedora-suds-list] SOAP Method Problem
>
> Hey Jason,
>
> I would suggest:
>
> >
> > client = Client(url)
> > delete = getattr(client.service, 'del')
> > reply = delete(options)
> >
>
> Regards,
>
> Jeff
>
> Jason Giangrande wrote:
> > Is there anyway to work around a SOAP method that has the same name as a
> Python reserved keyword (in this case "del")? I'm calling it like this
> "client.service.del(options)" and this gets an invalid syntax error.
> Changing the WSDL is an option, but one I'd rather avoid if there's a
> better way. Any suggestions?
> >
> > Thanks.
> >
> > --
> > Jason Giangrande
> > System Administrator
> > Clark University
> >
> >
> > _______________________________________________
> > fedora-suds-list mailing list
> > fedora-suds-list at redhat.com
> > https://www.redhat.com/mailman/listinfo/fedora-suds-list
>
> _______________________________________________
> fedora-suds-list mailing list
> fedora-suds-list at redhat.com
> https://www.redhat.com/mailman/listinfo/fedora-suds-list
From jterry at mobitv.com Thu Jan 15 20:00:51 2009
From: jterry at mobitv.com (James Terry)
Date: Thu, 15 Jan 2009 12:00:51 -0800
Subject: [Fedora-suds-list] newbie: what am i missing?
Message-ID: <2E66667565DEA14BBE00BC6678E02292028783A8@exchange01.mobitv.corp>
The Suds client object doesn't seem to define types for use as args to
the methods:
Any help appreciated.
j
############ print client ##############
Suds ( https://fedorahosted.org/suds/ ) version: 0.3.4 (beta) build:
R427-20090113
Service ( cspub ) tns="http://api.geotrust.com/webtrust/cspub"
Prefixes (1)
ns0 = "http://api.geotrust.com/webtrust/cspub"
Ports (1):
(cspubSoap)
Methods (5):
accountInfoReq(accountInfoRequest accountInfoRequest, )
applicationRetrievalReq(applicationRetrievalRequest
applicationRetrievalRequest, )
signReq(signRequest signRequest, )
statusReq(statusRequest statusRequest, )
testConnectReq(testConnectRequest testConnectRequest, )
Types (12):
accountInfo
applicationDetail
authToken
error
errors
eventBalance
infoQueryOptions
orderQueryOptions
requestHeader
responseHeader
signingService
signingServices
############ WSDL (https://api.geotrust.com/webtrust/cspub.jws?WSDL')
##############
(Definitions){
id = "Definitions:0xdb90d0"
options =
url = "https://api.geotrust.com/webtrust/cspub.jws?WSDL"
tns[] =
"s0",
"http://api.geotrust.com/webtrust/cspub",
types[] =
(Types){
definitions = (Definitions)...
},
schema = ""
imports[] =
messages =
{
(signReqSoapOut, http://api.geotrust.com/webtrust/cspub, ) =
(Message){
name = "signReqSoapOut"
qname = "(u'signReqSoapOut',
u'http://api.geotrust.com/webtrust/cspub')"
parts[] =
(Part){
root =
name = "parameters"
qname[] =
"parameters",
"http://api.geotrust.com/webtrust/cspub",
element = "(u'signReqResponse',
u'http://api.geotrust.com/webtrust/cspub')"
type = "None"
},
}
(applicationRetrievalReqSoapOut,
http://api.geotrust.com/webtrust/cspub, ) =
(Message){
name = "applicationRetrievalReqSoapOut"
qname = "(u'applicationRetrievalReqSoapOut',
u'http://api.geotrust.com/webtrust/cspub')"
parts[] =
(Part){
root =
name = "parameters"
qname[] =
"parameters",
"http://api.geotrust.com/webtrust/cspub",
element = "(u'applicationRetrievalReqResponse',
u'http://api.geotrust.com/webtrust/cspub')"
type = "None"
},
}
(statusReqSoapIn, http://api.geotrust.com/webtrust/cspub, ) =
(Message){
name = "statusReqSoapIn"
qname = "(u'statusReqSoapIn',
u'http://api.geotrust.com/webtrust/cspub')"
parts[] =
(Part){
root =
name = "parameters"
qname[] =
"parameters",
"http://api.geotrust.com/webtrust/cspub",
element = "(u'statusReq',
u'http://api.geotrust.com/webtrust/cspub')"
type = "None"
},
}
(testConnectReqSoapIn, http://api.geotrust.com/webtrust/cspub,
) =
(Message){
name = "testConnectReqSoapIn"
qname = "(u'testConnectReqSoapIn',
u'http://api.geotrust.com/webtrust/cspub')"
parts[] =
(Part){
root =
name = "parameters"
qname[] =
"parameters",
"http://api.geotrust.com/webtrust/cspub",
element = "(u'testConnectReq',
u'http://api.geotrust.com/webtrust/cspub')"
type = "None"
},
}
(testConnectReqSoapOut, http://api.geotrust.com/webtrust/cspub,
) =
(Message){
name = "testConnectReqSoapOut"
qname = "(u'testConnectReqSoapOut',
u'http://api.geotrust.com/webtrust/cspub')"
parts[] =
(Part){
root =
name = "parameters"
qname[] =
"parameters",
"http://api.geotrust.com/webtrust/cspub",
element = "(u'testConnectReqResponse',
u'http://api.geotrust.com/webtrust/cspub')"
type = "None"
},
}
(accountInfoReqSoapIn, http://api.geotrust.com/webtrust/cspub,
) =
(Message){
name = "accountInfoReqSoapIn"
qname = "(u'accountInfoReqSoapIn',
u'http://api.geotrust.com/webtrust/cspub')"
parts[] =
(Part){
root =
name = "parameters"
qname[] =
"parameters",
"http://api.geotrust.com/webtrust/cspub",
element = "(u'accountInfoReq',
u'http://api.geotrust.com/webtrust/cspub')"
type = "None"
},
}
(statusReqSoapOut, http://api.geotrust.com/webtrust/cspub, ) =
(Message){
name = "statusReqSoapOut"
qname = "(u'statusReqSoapOut',
u'http://api.geotrust.com/webtrust/cspub')"
parts[] =
(Part){
root =
name = "parameters"
qname[] =
"parameters",
"http://api.geotrust.com/webtrust/cspub",
element = "(u'statusReqResponse',
u'http://api.geotrust.com/webtrust/cspub')"
type = "None"
},
}
(accountInfoReqSoapOut, http://api.geotrust.com/webtrust/cspub,
) =
(Message){
name = "accountInfoReqSoapOut"
qname = "(u'accountInfoReqSoapOut',
u'http://api.geotrust.com/webtrust/cspub')"
parts[] =
(Part){
root =
name = "parameters"
qname[] =
"parameters",
"http://api.geotrust.com/webtrust/cspub",
element = "(u'accountInfoReqResponse',
u'http://api.geotrust.com/webtrust/cspub')"
type = "None"
},
}
(signReqSoapIn, http://api.geotrust.com/webtrust/cspub, ) =
(Message){
name = "signReqSoapIn"
qname = "(u'signReqSoapIn',
u'http://api.geotrust.com/webtrust/cspub')"
parts[] =
(Part){
root =
name = "parameters"
qname[] =
"parameters",
"http://api.geotrust.com/webtrust/cspub",
element = "(u'signReq',
u'http://api.geotrust.com/webtrust/cspub')"
type = "None"
},
}
(applicationRetrievalReqSoapIn,
http://api.geotrust.com/webtrust/cspub, ) =
(Message){
name = "applicationRetrievalReqSoapIn"
qname = "(u'applicationRetrievalReqSoapIn',
u'http://api.geotrust.com/webtrust/cspub')"
parts[] =
(Part){
root =
name = "parameters"
qname[] =
"parameters",
"http://api.geotrust.com/webtrust/cspub",
element = "(u'applicationRetrievalReq',
u'http://api.geotrust.com/webtrust/cspub')"
type = "None"
},
}
}
port_types =
{
(cspubSoap, http://api.geotrust.com/webtrust/cspub, ) =
(PortType){
name = "cspubSoap"
qname = "(u'cspubSoap',
u'http://api.geotrust.com/webtrust/cspub')"
operations =
{
testConnectReq =
(Operation){
name = "testConnectReq"
tns[] =
"s0",
"http://api.geotrust.com/webtrust/cspub",
input =
(Message){
name = "testConnectReqSoapIn"
qname = "(u'testConnectReqSoapIn',
u'http://api.geotrust.com/webtrust/cspub')"
parts[] =
(Part){
root =
name = "parameters"
qname[] =
"parameters",
"http://api.geotrust.com/webtrust/cspub",
element = "(u'testConnectReq',
u'http://api.geotrust.com/webtrust/cspub')"
type = "None"
},
}
output =
(Message){
name = "testConnectReqSoapOut"
qname = "(u'testConnectReqSoapOut',
u'http://api.geotrust.com/webtrust/cspub')"
parts[] =
(Part){
root =
name = "parameters"
qname[] =
"parameters",
"http://api.geotrust.com/webtrust/cspub",
element =
"(u'testConnectReqResponse', u'http://api.geotrust.com/webtrust/cspub')"
type = "None"
},
}
}
applicationRetrievalReq =
(Operation){
name = "applicationRetrievalReq"
tns[] =
"s0",
"http://api.geotrust.com/webtrust/cspub",
input =
(Message){
name = "applicationRetrievalReqSoapIn"
qname =
"(u'applicationRetrievalReqSoapIn',
u'http://api.geotrust.com/webtrust/cspub')"
parts[] =
(Part){
root =
name = "parameters"
qname[] =
"parameters",
"http://api.geotrust.com/webtrust/cspub",
element =
"(u'applicationRetrievalReq',
u'http://api.geotrust.com/webtrust/cspub')"
type = "None"
},
}
output =
(Message){
name = "applicationRetrievalReqSoapOut"
qname =
"(u'applicationRetrievalReqSoapOut',
u'http://api.geotrust.com/webtrust/cspub')"
parts[] =
(Part){
root =
name = "parameters"
qname[] =
"parameters",
"http://api.geotrust.com/webtrust/cspub",
element =
"(u'applicationRetrievalReqResponse',
u'http://api.geotrust.com/webtrust/cspub')"
type = "None"
},
}
}
signReq =
(Operation){
name = "signReq"
tns[] =
"s0",
"http://api.geotrust.com/webtrust/cspub",
input =
(Message){
name = "signReqSoapIn"
qname = "(u'signReqSoapIn',
u'http://api.geotrust.com/webtrust/cspub')"
parts[] =
(Part){
root =
name = "parameters"
qname[] =
"parameters",
"http://api.geotrust.com/webtrust/cspub",
element = "(u'signReq',
u'http://api.geotrust.com/webtrust/cspub')"
type = "None"
},
}
output =
(Message){
name = "signReqSoapOut"
qname = "(u'signReqSoapOut',
u'http://api.geotrust.com/webtrust/cspub')"
parts[] =
(Part){
root =
name = "parameters"
qname[] =
"parameters",
"http://api.geotrust.com/webtrust/cspub",
element = "(u'signReqResponse',
u'http://api.geotrust.com/webtrust/cspub')"
type = "None"
},
}
}
accountInfoReq =
(Operation){
name = "accountInfoReq"
tns[] =
"s0",
"http://api.geotrust.com/webtrust/cspub",
input =
(Message){
name = "accountInfoReqSoapIn"
qname = "(u'accountInfoReqSoapIn',
u'http://api.geotrust.com/webtrust/cspub')"
parts[] =
(Part){
root =
name = "parameters"
qname[] =
"parameters",
"http://api.geotrust.com/webtrust/cspub",
element = "(u'accountInfoReq',
u'http://api.geotrust.com/webtrust/cspub')"
type = "None"
},
}
output =
(Message){
name = "accountInfoReqSoapOut"
qname = "(u'accountInfoReqSoapOut',
u'http://api.geotrust.com/webtrust/cspub')"
parts[] =
(Part){
root =
name = "parameters"
qname[] =
"parameters",
"http://api.geotrust.com/webtrust/cspub",
element =
"(u'accountInfoReqResponse', u'http://api.geotrust.com/webtrust/cspub')"
type = "None"
},
}
}
statusReq =
(Operation){
name = "statusReq"
tns[] =
"s0",
"http://api.geotrust.com/webtrust/cspub",
input =
(Message){
name = "statusReqSoapIn"
qname = "(u'statusReqSoapIn',
u'http://api.geotrust.com/webtrust/cspub')"
parts[] =
(Part){
root =
name = "parameters"
qname[] =
"parameters",
"http://api.geotrust.com/webtrust/cspub",
element = "(u'statusReq',
u'http://api.geotrust.com/webtrust/cspub')"
type = "None"
},
}
output =
(Message){
name = "statusReqSoapOut"
qname = "(u'statusReqSoapOut',
u'http://api.geotrust.com/webtrust/cspub')"
parts[] =
(Part){
root =
name = "parameters"
qname[] =
"parameters",
"http://api.geotrust.com/webtrust/cspub",
element = "(u'statusReqResponse',
u'http://api.geotrust.com/webtrust/cspub')"
type = "None"
},
}
}
}
}
}
bindings =
{
(cspubSoap, http://api.geotrust.com/webtrust/cspub, ) =
(Binding){
name = "cspubSoap"
qname = "(u'cspubSoap',
u'http://api.geotrust.com/webtrust/cspub')"
operations =
{
testConnectReq =
(Operation){
name = "testConnectReq"
soap =
(soap){
action =
""http://api.geotrust.com/webtrust/cspub/testConnectReq"
"
style = "document"
input =
(Input){
body =
(Body){
use = "literal"
namespace[] =
"s0",
"http://api.geotrust.com/webtrust/cspub",
}
header = None
}
output =
(Output){
body =
(Body){
use = "literal"
namespace[] =
"s0",
"http://api.geotrust.com/webtrust/cspub",
}
header = None
}
}
}
applicationRetrievalReq =
(Operation){
name = "applicationRetrievalReq"
soap =
(soap){
action =
""http://api.geotrust.com/webtrust/cspub/applicationRetrievalReq"
"
style = "document"
input =
(Input){
body =
(Body){
use = "literal"
namespace[] =
"s0",
"http://api.geotrust.com/webtrust/cspub",
}
header = None
}
output =
(Output){
body =
(Body){
use = "literal"
namespace[] =
"s0",
"http://api.geotrust.com/webtrust/cspub",
}
header = None
}
}
}
signReq =
(Operation){
name = "signReq"
soap =
(soap){
action =
""http://api.geotrust.com/webtrust/cspub/signReq"
"
style = "document"
input =
(Input){
body =
(Body){
use = "literal"
namespace[] =
"s0",
"http://api.geotrust.com/webtrust/cspub",
}
header = None
}
output =
(Output){
body =
(Body){
use = "literal"
namespace[] =
"s0",
"http://api.geotrust.com/webtrust/cspub",
}
header = None
}
}
}
accountInfoReq =
(Operation){
name = "accountInfoReq"
soap =
(soap){
action =
""http://api.geotrust.com/webtrust/cspub/accountInfoReq"
"
style = "document"
input =
(Input){
body =
(Body){
use = "literal"
namespace[] =
"s0",
"http://api.geotrust.com/webtrust/cspub",
}
header = None
}
output =
(Output){
body =
(Body){
use = "literal"
namespace[] =
"s0",
"http://api.geotrust.com/webtrust/cspub",
}
header = None
}
}
}
statusReq =
(Operation){
name = "statusReq"
soap =
(soap){
action =
""http://api.geotrust.com/webtrust/cspub/statusReq"
"
style = "document"
input =
(Input){
body =
(Body){
use = "literal"
namespace[] =
"s0",
"http://api.geotrust.com/webtrust/cspub",
}
header = None
}
output =
(Output){
body =
(Body){
use = "literal"
namespace[] =
"s0",
"http://api.geotrust.com/webtrust/cspub",
}
header = None
}
}
}
}
type =
(PortType){
name = "cspubSoap"
qname = "(u'cspubSoap',
u'http://api.geotrust.com/webtrust/cspub')"
operations =
{
testConnectReq =
(Operation){
name = "testConnectReq"
tns[] =
"s0",
"http://api.geotrust.com/webtrust/cspub",
input =
(Message){
name = "testConnectReqSoapIn"
qname =
"(u'testConnectReqSoapIn', u'http://api.geotrust.com/webtrust/cspub')"
parts[] =
(Part){
root =
name = "parameters"
qname[] =
"parameters",
"http://api.geotrust.com/webtrust/cspub",
element =
"(u'testConnectReq', u'http://api.geotrust.com/webtrust/cspub')"
type = "None"
},
}
output =
(Message){
name = "testConnectReqSoapOut"
qname =
"(u'testConnectReqSoapOut', u'http://api.geotrust.com/webtrust/cspub')"
parts[] =
(Part){
root =
name = "parameters"
qname[] =
"parameters",
"http://api.geotrust.com/webtrust/cspub",
element =
"(u'testConnectReqResponse', u'http://api.geotrust.com/webtrust/cspub')"
type = "None"
},
}
}
applicationRetrievalReq =
(Operation){
name = "applicationRetrievalReq"
tns[] =
"s0",
"http://api.geotrust.com/webtrust/cspub",
input =
(Message){
name =
"applicationRetrievalReqSoapIn"
qname =
"(u'applicationRetrievalReqSoapIn',
u'http://api.geotrust.com/webtrust/cspub')"
parts[] =
(Part){
root =
name = "parameters"
qname[] =
"parameters",
"http://api.geotrust.com/webtrust/cspub",
element =
"(u'applicationRetrievalReq',
u'http://api.geotrust.com/webtrust/cspub')"
type = "None"
},
}
output =
(Message){
name =
"applicationRetrievalReqSoapOut"
qname =
"(u'applicationRetrievalReqSoapOut',
u'http://api.geotrust.com/webtrust/cspub')"
parts[] =
(Part){
root =
name = "parameters"
qname[] =
"parameters",
"http://api.geotrust.com/webtrust/cspub",
element =
"(u'applicationRetrievalReqResponse',
u'http://api.geotrust.com/webtrust/cspub')"
type = "None"
},
}
}
signReq =
(Operation){
name = "signReq"
tns[] =
"s0",
"http://api.geotrust.com/webtrust/cspub",
input =
(Message){
name = "signReqSoapIn"
qname = "(u'signReqSoapIn',
u'http://api.geotrust.com/webtrust/cspub')"
parts[] =
(Part){
root =
name = "parameters"
qname[] =
"parameters",
"http://api.geotrust.com/webtrust/cspub",
element = "(u'signReq',
u'http://api.geotrust.com/webtrust/cspub')"
type = "None"
},
}
output =
(Message){
name = "signReqSoapOut"
qname = "(u'signReqSoapOut',
u'http://api.geotrust.com/webtrust/cspub')"
parts[] =
(Part){
root =
name = "parameters"
qname[] =
"parameters",
"http://api.geotrust.com/webtrust/cspub",
element =
"(u'signReqResponse', u'http://api.geotrust.com/webtrust/cspub')"
type = "None"
},
}
}
accountInfoReq =
(Operation){
name = "accountInfoReq"
tns[] =
"s0",
"http://api.geotrust.com/webtrust/cspub",
input =
(Message){
name = "accountInfoReqSoapIn"
qname =
"(u'accountInfoReqSoapIn', u'http://api.geotrust.com/webtrust/cspub')"
parts[] =
(Part){
root =
name = "parameters"
qname[] =
"parameters",
"http://api.geotrust.com/webtrust/cspub",
element =
"(u'accountInfoReq', u'http://api.geotrust.com/webtrust/cspub')"
type = "None"
},
}
output =
(Message){
name = "accountInfoReqSoapOut"
qname =
"(u'accountInfoReqSoapOut', u'http://api.geotrust.com/webtrust/cspub')"
parts[] =
(Part){
root =
name = "parameters"
qname[] =
"parameters",
"http://api.geotrust.com/webtrust/cspub",
element =
"(u'accountInfoReqResponse', u'http://api.geotrust.com/webtrust/cspub')"
type = "None"
},
}
}
statusReq =
(Operation){
name = "statusReq"
tns[] =
"s0",
"http://api.geotrust.com/webtrust/cspub",
input =
(Message){
name = "statusReqSoapIn"
qname = "(u'statusReqSoapIn',
u'http://api.geotrust.com/webtrust/cspub')"
parts[] =
(Part){
root =
name = "parameters"
qname[] =
"parameters",
"http://api.geotrust.com/webtrust/cspub",
element = "(u'statusReq',
u'http://api.geotrust.com/webtrust/cspub')"
type = "None"
},
}
output =
(Message){
name = "statusReqSoapOut"
qname = "(u'statusReqSoapOut',
u'http://api.geotrust.com/webtrust/cspub')"
parts[] =
(Part){
root =
name = "parameters"
qname[] =
"parameters",
"http://api.geotrust.com/webtrust/cspub",
element =
"(u'statusReqResponse', u'http://api.geotrust.com/webtrust/cspub')"
type = "None"
},
}
}
}
}
soap =
(soap){
style = "document"
}
}
}
service =
(Service){
name = "cspub"
qname = "(u'cspub', u'http://api.geotrust.com/webtrust/cspub')"
ports[] =
(Port){
name = "cspubSoap"
qname = "(u'cspubSoap',
u'http://api.geotrust.com/webtrust/cspub')"
_Port__service = (Service)...
binding =
(Binding){
name = "cspubSoap"
qname = "(u'cspubSoap',
u'http://api.geotrust.com/webtrust/cspub')"
operations =
{
testConnectReq =
(Operation){
name = "testConnectReq"
soap =
(soap){
action =
""http://api.geotrust.com/webtrust/cspub/testConnectReq"
"
style = "document"
input =
(Input){
body =
(Body){
use = "literal"
namespace[] =
"s0",
"http://api.geotrust.com/webtrust/cspub",
}
header = None
}
output =
(Output){
body =
(Body){
use = "literal"
namespace[] =
"s0",
"http://api.geotrust.com/webtrust/cspub",
}
header = None
}
}
}
applicationRetrievalReq =
(Operation){
name = "applicationRetrievalReq"
soap =
(soap){
action =
""http://api.geotrust.com/webtrust/cspub/applicationRetrievalReq"
"
style = "document"
input =
(Input){
body =
(Body){
use = "literal"
namespace[] =
"s0",
"http://api.geotrust.com/webtrust/cspub",
}
header = None
}
output =
(Output){
body =
(Body){
use = "literal"
namespace[] =
"s0",
"http://api.geotrust.com/webtrust/cspub",
}
header = None
}
}
}
signReq =
(Operation){
name = "signReq"
soap =
(soap){
action =
""http://api.geotrust.com/webtrust/cspub/signReq"
"
style = "document"
input =
(Input){
body =
(Body){
use = "literal"
namespace[] =
"s0",
"http://api.geotrust.com/webtrust/cspub",
}
header = None
}
output =
(Output){
body =
(Body){
use = "literal"
namespace[] =
"s0",
"http://api.geotrust.com/webtrust/cspub",
}
header = None
}
}
}
accountInfoReq =
(Operation){
name = "accountInfoReq"
soap =
(soap){
action =
""http://api.geotrust.com/webtrust/cspub/accountInfoReq"
"
style = "document"
input =
(Input){
body =
(Body){
use = "literal"
namespace[] =
"s0",
"http://api.geotrust.com/webtrust/cspub",
}
header = None
}
output =
(Output){
body =
(Body){
use = "literal"
namespace[] =
"s0",
"http://api.geotrust.com/webtrust/cspub",
}
header = None
}
}
}
statusReq =
(Operation){
name = "statusReq"
soap =
(soap){
action =
""http://api.geotrust.com/webtrust/cspub/statusReq"
"
style = "document"
input =
(Input){
body =
(Body){
use = "literal"
namespace[] =
"s0",
"http://api.geotrust.com/webtrust/cspub",
}
header = None
}
output =
(Output){
body =
(Body){
use = "literal"
namespace[] =
"s0",
"http://api.geotrust.com/webtrust/cspub",
}
header = None
}
}
}
}
type =
(PortType){
name = "cspubSoap"
qname = "(u'cspubSoap',
u'http://api.geotrust.com/webtrust/cspub')"
operations =
{
testConnectReq =
(Operation){
name = "testConnectReq"
tns[] =
"s0",
"http://api.geotrust.com/webtrust/cspub",
input =
(Message){
name =
"testConnectReqSoapIn"
qname =
"(u'testConnectReqSoapIn', u'http://api.geotrust.com/webtrust/cspub')"
parts[] =
(Part){
root =
name = "parameters"
qname[] =
"parameters",
"http://api.geotrust.com/webtrust/cspub",
element =
"(u'testConnectReq', u'http://api.geotrust.com/webtrust/cspub')"
type = "None"
},
}
output =
(Message){
name =
"testConnectReqSoapOut"
qname =
"(u'testConnectReqSoapOut', u'http://api.geotrust.com/webtrust/cspub')"
parts[] =
(Part){
root =
name = "parameters"
qname[] =
"parameters",
"http://api.geotrust.com/webtrust/cspub",
element =
"(u'testConnectReqResponse', u'http://api.geotrust.com/webtrust/cspub')"
type = "None"
},
}
}
applicationRetrievalReq =
(Operation){
name = "applicationRetrievalReq"
tns[] =
"s0",
"http://api.geotrust.com/webtrust/cspub",
input =
(Message){
name =
"applicationRetrievalReqSoapIn"
qname =
"(u'applicationRetrievalReqSoapIn',
u'http://api.geotrust.com/webtrust/cspub')"
parts[] =
(Part){
root =
name = "parameters"
qname[] =
"parameters",
"http://api.geotrust.com/webtrust/cspub",
element =
"(u'applicationRetrievalReq',
u'http://api.geotrust.com/webtrust/cspub')"
type = "None"
},
}
output =
(Message){
name =
"applicationRetrievalReqSoapOut"
qname =
"(u'applicationRetrievalReqSoapOut',
u'http://api.geotrust.com/webtrust/cspub')"
parts[] =
(Part){
root =
name = "parameters"
qname[] =
"parameters",
"http://api.geotrust.com/webtrust/cspub",
element =
"(u'applicationRetrievalReqResponse',
u'http://api.geotrust.com/webtrust/cspub')"
type = "None"
},
}
}
signReq =
(Operation){
name = "signReq"
tns[] =
"s0",
"http://api.geotrust.com/webtrust/cspub",
input =
(Message){
name = "signReqSoapIn"
qname = "(u'signReqSoapIn',
u'http://api.geotrust.com/webtrust/cspub')"
parts[] =
(Part){
root =
name = "parameters"
qname[] =
"parameters",
"http://api.geotrust.com/webtrust/cspub",
element =
"(u'signReq', u'http://api.geotrust.com/webtrust/cspub')"
type = "None"
},
}
output =
(Message){
name = "signReqSoapOut"
qname =
"(u'signReqSoapOut', u'http://api.geotrust.com/webtrust/cspub')"
parts[] =
(Part){
root =
name = "parameters"
qname[] =
"parameters",
"http://api.geotrust.com/webtrust/cspub",
element =
"(u'signReqResponse', u'http://api.geotrust.com/webtrust/cspub')"
type = "None"
},
}
}
accountInfoReq =
(Operation){
name = "accountInfoReq"
tns[] =
"s0",
"http://api.geotrust.com/webtrust/cspub",
input =
(Message){
name =
"accountInfoReqSoapIn"
qname =
"(u'accountInfoReqSoapIn', u'http://api.geotrust.com/webtrust/cspub')"
parts[] =
(Part){
root =
name = "parameters"
qname[] =
"parameters",
"http://api.geotrust.com/webtrust/cspub",
element =
"(u'accountInfoReq', u'http://api.geotrust.com/webtrust/cspub')"
type = "None"
},
}
output =
(Message){
name =
"accountInfoReqSoapOut"
qname =
"(u'accountInfoReqSoapOut', u'http://api.geotrust.com/webtrust/cspub')"
parts[] =
(Part){
root =
name = "parameters"
qname[] =
"parameters",
"http://api.geotrust.com/webtrust/cspub",
element =
"(u'accountInfoReqResponse', u'http://api.geotrust.com/webtrust/cspub')"
type = "None"
},
}
}
statusReq =
(Operation){
name = "statusReq"
tns[] =
"s0",
"http://api.geotrust.com/webtrust/cspub",
input =
(Message){
name = "statusReqSoapIn"
qname =
"(u'statusReqSoapIn', u'http://api.geotrust.com/webtrust/cspub')"
parts[] =
(Part){
root =
name = "parameters"
qname[] =
"parameters",
"http://api.geotrust.com/webtrust/cspub",
element =
"(u'statusReq', u'http://api.geotrust.com/webtrust/cspub')"
type = "None"
},
}
output =
(Message){
name = "statusReqSoapOut"
qname =
"(u'statusReqSoapOut', u'http://api.geotrust.com/webtrust/cspub')"
parts[] =
(Part){
root =
name = "parameters"
qname[] =
"parameters",
"http://api.geotrust.com/webtrust/cspub",
element =
"(u'statusReqResponse', u'http://api.geotrust.com/webtrust/cspub')"
type = "None"
},
}
}
}
}
soap =
(soap){
style = "document"
}
}
location =
"https://api.geotrust.com:443/webtrust/cspub.jws"
},
methods =
{
signReq =
(Method){
name = "signReq"
location =
"https://api.geotrust.com:443/webtrust/cspub.jws"
binding =
(binding){
input =
output =
}
soap =
(soap){
action =
""http://api.geotrust.com/webtrust/cspub/signReq"
"
style = "document"
input =
(Input){
body =
(Body){
use = "literal"
namespace[] =
"s0",
"http://api.geotrust.com/webtrust/cspub",
}
header = None
}
output =
(Output){
body =
(Body){
use = "literal"
namespace[] =
"s0",
"http://api.geotrust.com/webtrust/cspub",
}
header = None
}
}
message =
(message){
input =
(Message){
name = "signReqSoapIn"
qname = "(u'signReqSoapIn',
u'http://api.geotrust.com/webtrust/cspub')"
parts[] =
(Part){
root =
name = "parameters"
qname[] =
"parameters",
"http://api.geotrust.com/webtrust/cspub",
element = "(u'signReq',
u'http://api.geotrust.com/webtrust/cspub')"
type = "None"
},
}
output =
(Message){
name = "signReqSoapOut"
qname = "(u'signReqSoapOut',
u'http://api.geotrust.com/webtrust/cspub')"
parts[] =
(Part){
root =
name = "parameters"
qname[] =
"parameters",
"http://api.geotrust.com/webtrust/cspub",
element = "(u'signReqResponse',
u'http://api.geotrust.com/webtrust/cspub')"
type = "None"
},
}
}
qname = "cspubSoap:signReq"
}
applicationRetrievalReq =
(Method){
name = "applicationRetrievalReq"
location =
"https://api.geotrust.com:443/webtrust/cspub.jws"
binding =
(binding){
input =
output =
}
soap =
(soap){
action =
""http://api.geotrust.com/webtrust/cspub/applicationRetrievalReq"
"
style = "document"
input =
(Input){
body =
(Body){
use = "literal"
namespace[] =
"s0",
"http://api.geotrust.com/webtrust/cspub",
}
header = None
}
output =
(Output){
body =
(Body){
use = "literal"
namespace[] =
"s0",
"http://api.geotrust.com/webtrust/cspub",
}
header = None
}
}
message =
(message){
input =
(Message){
name = "applicationRetrievalReqSoapIn"
qname =
"(u'applicationRetrievalReqSoapIn',
u'http://api.geotrust.com/webtrust/cspub')"
parts[] =
(Part){
root =
name = "parameters"
qname[] =
"parameters",
"http://api.geotrust.com/webtrust/cspub",
element =
"(u'applicationRetrievalReq',
u'http://api.geotrust.com/webtrust/cspub')"
type = "None"
},
}
output =
(Message){
name = "applicationRetrievalReqSoapOut"
qname =
"(u'applicationRetrievalReqSoapOut',
u'http://api.geotrust.com/webtrust/cspub')"
parts[] =
(Part){
root =
name = "parameters"
qname[] =
"parameters",
"http://api.geotrust.com/webtrust/cspub",
element =
"(u'applicationRetrievalReqResponse',
u'http://api.geotrust.com/webtrust/cspub')"
type = "None"
},
}
}
qname = "cspubSoap:applicationRetrievalReq"
}
cspubSoap:applicationRetrievalReq =
(Method){
name = "applicationRetrievalReq"
location =
"https://api.geotrust.com:443/webtrust/cspub.jws"
binding =
(binding){
input =
output =
}
soap =
(soap){
action =
""http://api.geotrust.com/webtrust/cspub/applicationRetrievalReq"
"
style = "document"
input =
(Input){
body =
(Body){
use = "literal"
namespace[] =
"s0",
"http://api.geotrust.com/webtrust/cspub",
}
header = None
}
output =
(Output){
body =
(Body){
use = "literal"
namespace[] =
"s0",
"http://api.geotrust.com/webtrust/cspub",
}
header = None
}
}
message =
(message){
input =
(Message){
name = "applicationRetrievalReqSoapIn"
qname =
"(u'applicationRetrievalReqSoapIn',
u'http://api.geotrust.com/webtrust/cspub')"
parts[] =
(Part){
root =
name = "parameters"
qname[] =
"parameters",
"http://api.geotrust.com/webtrust/cspub",
element =
"(u'applicationRetrievalReq',
u'http://api.geotrust.com/webtrust/cspub')"
type = "None"
},
}
output =
(Message){
name = "applicationRetrievalReqSoapOut"
qname =
"(u'applicationRetrievalReqSoapOut',
u'http://api.geotrust.com/webtrust/cspub')"
parts[] =
(Part){
root =
name = "parameters"
qname[] =
"parameters",
"http://api.geotrust.com/webtrust/cspub",
element =
"(u'applicationRetrievalReqResponse',
u'http://api.geotrust.com/webtrust/cspub')"
type = "None"
},
}
}
qname = "cspubSoap:applicationRetrievalReq"
}
statusReq =
(Method){
name = "statusReq"
location =
"https://api.geotrust.com:443/webtrust/cspub.jws"
binding =
(binding){
input =
output =
}
soap =
(soap){
action =
""http://api.geotrust.com/webtrust/cspub/statusReq"
"
style = "document"
input =
(Input){
body =
(Body){
use = "literal"
namespace[] =
"s0",
"http://api.geotrust.com/webtrust/cspub",
}
header = None
}
output =
(Output){
body =
(Body){
use = "literal"
namespace[] =
"s0",
"http://api.geotrust.com/webtrust/cspub",
}
header = None
}
}
message =
(message){
input =
(Message){
name = "statusReqSoapIn"
qname = "(u'statusReqSoapIn',
u'http://api.geotrust.com/webtrust/cspub')"
parts[] =
(Part){
root =
name = "parameters"
qname[] =
"parameters",
"http://api.geotrust.com/webtrust/cspub",
element = "(u'statusReq',
u'http://api.geotrust.com/webtrust/cspub')"
type = "None"
},
}
output =
(Message){
name = "statusReqSoapOut"
qname = "(u'statusReqSoapOut',
u'http://api.geotrust.com/webtrust/cspub')"
parts[] =
(Part){
root =
name = "parameters"
qname[] =
"parameters",
"http://api.geotrust.com/webtrust/cspub",
element = "(u'statusReqResponse',
u'http://api.geotrust.com/webtrust/cspub')"
type = "None"
},
}
}
qname = "cspubSoap:statusReq"
}
cspubSoap:statusReq =
(Method){
name = "statusReq"
location =
"https://api.geotrust.com:443/webtrust/cspub.jws"
binding =
(binding){
input =
output =
}
soap =
(soap){
action =
""http://api.geotrust.com/webtrust/cspub/statusReq"
"
style = "document"
input =
(Input){
body =
(Body){
use = "literal"
namespace[] =
"s0",
"http://api.geotrust.com/webtrust/cspub",
}
header = None
}
output =
(Output){
body =
(Body){
use = "literal"
namespace[] =
"s0",
"http://api.geotrust.com/webtrust/cspub",
}
header = None
}
}
message =
(message){
input =
(Message){
name = "statusReqSoapIn"
qname = "(u'statusReqSoapIn',
u'http://api.geotrust.com/webtrust/cspub')"
parts[] =
(Part){
root =
name = "parameters"
qname[] =
"parameters",
"http://api.geotrust.com/webtrust/cspub",
element = "(u'statusReq',
u'http://api.geotrust.com/webtrust/cspub')"
type = "None"
},
}
output =
(Message){
name = "statusReqSoapOut"
qname = "(u'statusReqSoapOut',
u'http://api.geotrust.com/webtrust/cspub')"
parts[] =
(Part){
root =
name = "parameters"
qname[] =
"parameters",
"http://api.geotrust.com/webtrust/cspub",
element = "(u'statusReqResponse',
u'http://api.geotrust.com/webtrust/cspub')"
type = "None"
},
}
}
qname = "cspubSoap:statusReq"
}
cspubSoap:signReq =
(Method){
name = "signReq"
location =
"https://api.geotrust.com:443/webtrust/cspub.jws"
binding =
(binding){
input =
output =
}
soap =
(soap){
action =
""http://api.geotrust.com/webtrust/cspub/signReq"
"
style = "document"
input =
(Input){
body =
(Body){
use = "literal"
namespace[] =
"s0",
"http://api.geotrust.com/webtrust/cspub",
}
header = None
}
output =
(Output){
body =
(Body){
use = "literal"
namespace[] =
"s0",
"http://api.geotrust.com/webtrust/cspub",
}
header = None
}
}
message =
(message){
input =
(Message){
name = "signReqSoapIn"
qname = "(u'signReqSoapIn',
u'http://api.geotrust.com/webtrust/cspub')"
parts[] =
(Part){
root =
name = "parameters"
qname[] =
"parameters",
"http://api.geotrust.com/webtrust/cspub",
element = "(u'signReq',
u'http://api.geotrust.com/webtrust/cspub')"
type = "None"
},
}
output =
(Message){
name = "signReqSoapOut"
qname = "(u'signReqSoapOut',
u'http://api.geotrust.com/webtrust/cspub')"
parts[] =
(Part){
root =
name = "parameters"
qname[] =
"parameters",
"http://api.geotrust.com/webtrust/cspub",
element = "(u'signReqResponse',
u'http://api.geotrust.com/webtrust/cspub')"
type = "None"
},
}
}
qname = "cspubSoap:signReq"
}
accountInfoReq =
(Method){
name = "accountInfoReq"
location =
"https://api.geotrust.com:443/webtrust/cspub.jws"
binding =
(binding){
input =
output =
}
soap =
(soap){
action =
""http://api.geotrust.com/webtrust/cspub/accountInfoReq"
"
style = "document"
input =
(Input){
body =
(Body){
use = "literal"
namespace[] =
"s0",
"http://api.geotrust.com/webtrust/cspub",
}
header = None
}
output =
(Output){
body =
(Body){
use = "literal"
namespace[] =
"s0",
"http://api.geotrust.com/webtrust/cspub",
}
header = None
}
}
message =
(message){
input =
(Message){
name = "accountInfoReqSoapIn"
qname = "(u'accountInfoReqSoapIn',
u'http://api.geotrust.com/webtrust/cspub')"
parts[] =
(Part){
root =
name = "parameters"
qname[] =
"parameters",
"http://api.geotrust.com/webtrust/cspub",
element = "(u'accountInfoReq',
u'http://api.geotrust.com/webtrust/cspub')"
type = "None"
},
}
output =
(Message){
name = "accountInfoReqSoapOut"
qname = "(u'accountInfoReqSoapOut',
u'http://api.geotrust.com/webtrust/cspub')"
parts[] =
(Part){
root =
name = "parameters"
qname[] =
"parameters",
"http://api.geotrust.com/webtrust/cspub",
element =
"(u'accountInfoReqResponse', u'http://api.geotrust.com/webtrust/cspub')"
type = "None"
},
}
}
qname = "cspubSoap:accountInfoReq"
}
cspubSoap:accountInfoReq =
(Method){
name = "accountInfoReq"
location =
"https://api.geotrust.com:443/webtrust/cspub.jws"
binding =
(binding){
input =
output =
}
soap =
(soap){
action =
""http://api.geotrust.com/webtrust/cspub/accountInfoReq"
"
style = "document"
input =
(Input){
body =
(Body){
use = "literal"
namespace[] =
"s0",
"http://api.geotrust.com/webtrust/cspub",
}
header = None
}
output =
(Output){
body =
(Body){
use = "literal"
namespace[] =
"s0",
"http://api.geotrust.com/webtrust/cspub",
}
header = None
}
}
message =
(message){
input =
(Message){
name = "accountInfoReqSoapIn"
qname = "(u'accountInfoReqSoapIn',
u'http://api.geotrust.com/webtrust/cspub')"
parts[] =
(Part){
root =
name = "parameters"
qname[] =
"parameters",
"http://api.geotrust.com/webtrust/cspub",
element = "(u'accountInfoReq',
u'http://api.geotrust.com/webtrust/cspub')"
type = "None"
},
}
output =
(Message){
name = "accountInfoReqSoapOut"
qname = "(u'accountInfoReqSoapOut',
u'http://api.geotrust.com/webtrust/cspub')"
parts[] =
(Part){
root =
name = "parameters"
qname[] =
"parameters",
"http://api.geotrust.com/webtrust/cspub",
element =
"(u'accountInfoReqResponse', u'http://api.geotrust.com/webtrust/cspub')"
type = "None"
},
}
}
qname = "cspubSoap:accountInfoReq"
}
testConnectReq =
(Method){
name = "testConnectReq"
location =
"https://api.geotrust.com:443/webtrust/cspub.jws"
binding =
(binding){
input =
output =
}
soap =
(soap){
action =
""http://api.geotrust.com/webtrust/cspub/testConnectReq"
"
style = "document"
input =
(Input){
body =
(Body){
use = "literal"
namespace[] =
"s0",
"http://api.geotrust.com/webtrust/cspub",
}
header = None
}
output =
(Output){
body =
(Body){
use = "literal"
namespace[] =
"s0",
"http://api.geotrust.com/webtrust/cspub",
}
header = None
}
}
message =
(message){
input =
(Message){
name = "testConnectReqSoapIn"
qname = "(u'testConnectReqSoapIn',
u'http://api.geotrust.com/webtrust/cspub')"
parts[] =
(Part){
root =
name = "parameters"
qname[] =
"parameters",
"http://api.geotrust.com/webtrust/cspub",
element = "(u'testConnectReq',
u'http://api.geotrust.com/webtrust/cspub')"
type = "None"
},
}
output =
(Message){
name = "testConnectReqSoapOut"
qname = "(u'testConnectReqSoapOut',
u'http://api.geotrust.com/webtrust/cspub')"
parts[] =
(Part){
root =
name = "parameters"
qname[] =
"parameters",
"http://api.geotrust.com/webtrust/cspub",
element =
"(u'testConnectReqResponse', u'http://api.geotrust.com/webtrust/cspub')"
type = "None"
},
}
}
qname = "cspubSoap:testConnectReq"
}
cspubSoap:testConnectReq =
(Method){
name = "testConnectReq"
location =
"https://api.geotrust.com:443/webtrust/cspub.jws"
binding =
(binding){
input =
output =
}
soap =
(soap){
action =
""http://api.geotrust.com/webtrust/cspub/testConnectReq"
"
style = "document"
input =
(Input){
body =
(Body){
use = "literal"
namespace[] =
"s0",
"http://api.geotrust.com/webtrust/cspub",
}
header = None
}
output =
(Output){
body =
(Body){
use = "literal"
namespace[] =
"s0",
"http://api.geotrust.com/webtrust/cspub",
}
header = None
}
}
message =
(message){
input =
(Message){
name = "testConnectReqSoapIn"
qname = "(u'testConnectReqSoapIn',
u'http://api.geotrust.com/webtrust/cspub')"
parts[] =
(Part){
root =
name = "parameters"
qname[] =
"parameters",
"http://api.geotrust.com/webtrust/cspub",
element = "(u'testConnectReq',
u'http://api.geotrust.com/webtrust/cspub')"
type = "None"
},
}
output =
(Message){
name = "testConnectReqSoapOut"
qname = "(u'testConnectReqSoapOut',
u'http://api.geotrust.com/webtrust/cspub')"
parts[] =
(Part){
root =
name = "parameters"
qname[] =
"parameters",
"http://api.geotrust.com/webtrust/cspub",
element =
"(u'testConnectReqResponse', u'http://api.geotrust.com/webtrust/cspub')"
type = "None"
},
}
}
qname = "cspubSoap:testConnectReq"
}
}
}
}
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From jortel at redhat.com Mon Jan 19 23:48:20 2009
From: jortel at redhat.com (Jeff Ortel)
Date: Mon, 19 Jan 2009 18:48:20 -0500
Subject: [Fedora-suds-list] Big performance problem in 0.3.4 (beta)
R432-20090116
Message-ID: <49751144.1020505@redhat.com>
All,
I introduced a big performance problem in r432 that was (beta) released.
I'm resolving this now but I would stay clear or be very cautions of
this revision/release until I get getting to the bottom of this.
Regards,
Jeff
From jortel at redhat.com Tue Jan 20 21:34:49 2009
From: jortel at redhat.com (Jeff Ortel)
Date: Tue, 20 Jan 2009 16:34:49 -0500
Subject: [Fedora-suds-list] r432 performance issue fixed in r433
Message-ID: <49764379.5020903@redhat.com>
All,
The performance issue I found in r432 was really introduced in earlier
revision of 0.3.4 and is now fixed in r433.
Basically, schemas imported via and/or indirectly though
wsdl imports were going through the "dereferencing" stage multiple
times. Oddly enough, the "dereferencing" phase was revised in r432 to
be much better, simpler and have better performance. The problem was
caught when I was profiling these enhancements to see just how much
better the performance was.
Regards,
Jeff
From shunt at recordsreduction.com Thu Jan 22 16:37:35 2009
From: shunt at recordsreduction.com (Shane Hunt)
Date: Thu, 22 Jan 2009 08:37:35 -0800
Subject: [Fedora-suds-list] =?utf-8?q?Do_you_dread_moving_the_=E2=80=9908?=
=?utf-8?q?_files_to_make_room_for_=E2=80=9909=3F?=
Message-ID: <200901221656.n0MGoZDm000846@mx2.redhat.com>
Let us do it for you?.FREE of charge.
Records Reduction, Inc. is offering FREE pickup for new customers
in January & February, 2009. In addition, we will also pull the
files from the filing cabinets and box them at NO CHARGE!
That?s right, this year you will have to touch a file to get
ready for ?09 files. It?s the perfect time for you to begin
using our services.
Scanning ? This is the best solutions for files that you must
keep long term,or that require a lot of retrievals. Records
Reduction, Inc. will scan them in and provide a legal copy on
disk. You can save the files on your system and have a networked
imaging solution with no additional software.
Off site file storage ? This is the most economical solution for
files that you don?t have to keep long term and for those that
are rarely retrieved.
Shredding ? If you have files that no longer have to be kept, let
us pick them up and provide secure shredding. It?s also a great
solution for any documents that contain Names, Social Security
Numbers, or other identifying information. We can do large
purges, or provide secure bins for ongoing shredding.
Please call Shane Hunt @ 704-724-3313, or email
shunt at recordsreduction.com for more information.
www.recordsreduction.com
Electronic filing (scanning/imaging) is the best long-term
storage solution for any files that you must keep long term, or
if you do a lot of retrievals from them.
Examples include, but are not limited to:
Accounts Payable
Human Resources
Medical Charts
EOBs
Sales Files
Job Files
Accounts Receivable
Engineering Drawings
School Records
Educational Materials
Legal Files
Real Estate Files
Bill of Ladings
Workers Comp Files
Which Service is Right for You?
Document Scanning
Document scanning is perfect for files that you must store for a
long time ? typically five years or greater. Also, if you have to
do many retrievals, scanning will pay for itself by increasing
efficiencies in the office. With scanning, there are no ongoing
costs. You pay once and you have a legal copy of your business
documents forever. Some examples where scanning makes sense
include Accounts Payables, Job Files, Corporate Financials,
Medical Files, Legal Files, Insurance Documents, Human
Resources, etc.
www.recordsreduction.com
Offsite Record Storage
Offsite document Storage is best for files that you do not have
to keep forever, and do very little retrievals. Records
Reduction, Inc. provides records storage, retrieval, delivery and
pick-up services for companies in the Carolinas. Records are
stored at our secure service center where our team members
retrieve boxes or individual files as requested by our clients.
Records are normally delivered the next day & emergency delivery
options are also available. We can always retrieve the file,
scan it and email or fax it to you within minutes. Records
Reduction, Inc. will become an extension to your existing file
room or storage area by providing:
- Secure, confidential document storage
- Efficient retrieval of records
- Next-day & emergency deliveries
- The highest level of customer service in the industry
We manage your records inventory through computer software
tracking system. Once records are entered into our database and
placed into storage, our customers can simply call or email and
have their files physically or electronically delivered.
www.recordsreduction.com
Ongoing, Onsite Document Destruction
Identity theft is the fastest rising crime in America. Companies
can be found liable if they do not protect information that can
be used in identity theft. You can use our secure bins for paper
that contains information that might be used for identity theft.
Many companies now use the bins for ALL of their discarded paper
- sensitive or not - simply because they know it will be
recycled. It's just another way to help protect our planet!
Records Reduction, Inc. provides FREE locked, secure containers
for thestorage of your confidential material while awaiting
destruction. The containers are attractive and fit in well with
all office environments. Our containers will segregate and secure
sensitive materials in between our service visits. The containers
are locked and can only be opened by authorized personnel,
eliminating the chance of sensitive documents being made public
or falling into the wrong hands. The locked containers will be
picked up and placed in a secure document shredding system.
In addition to paper document shredding services, Records
Reduction provides secure destruction services for X-Rays,
Computer Hard Drives, CDs, and Magnetic Media Tapes.
www.recordsreduction.com
Bulk Purge Shredding Services
Companies file away storage boxes year after year. Often, they
are kept long after their legal requirement. Shredding has
become a necessary business service to not only comply with
regulatory requirements but to protect your business, employees
and customers from identity theft. Experts recommend that you
shred most files as soon as it is legally permissible.
Records Reduction, Inc. can provide onsite or offsite secure
shredding services.
www.recordsreduction.com
eDocHealth ? Electronic Medical Records Solution
Enhance Patient Care, reduce cost of operations and increase
revenues through eDocHealth.
eDocHealth is a proven medical document management solution that
instantly improves medical office document access as well as
practice workflow by electronically scanning and filing your
documents and making them accessible to your entire staff
regardless of their location. When you minimize paper-based
activity and work within a digital environment, you trim overhead
costs by reducing reliance on paper, streamline workflow with
quick access to information, and protect patient records with
strict user-control.
The burden of administrative and clinical documents in a medical
practice is considerable. Busy offices lead to inaccessible
administrative documents and charts; whether misplaced, lost, or
in use by another staff member. Physician practices continue to
seek a solution to reduce or eliminate the increasing volumes of
paper within their organizations. The optimal product would
eliminate the issues of overcrowded office space and storage
facilities as well as the problems associated with paper medical
records such as lost or misplaced patient charts, patient EOBs,
etc. Medical staff and providers demand a user friendly HIPAA
compliant solution that enhances patient care, and reduces cost
of operations while increasing revenue and generating a rapid
return on investment (ROI).
eDocHealth is a cost-effective way to meet those needs, by
automation of administrative and clinical documents management.
eDocHealth does not force you to change your office workflow,
instead, it can adapt to it or be configured for ?best
operational practices?.
eDocHealth can work in conjunction with your Practice Management
software and Electronic Medical Records software (EMR/EHR). In
most cases document management solutions are better suited to
manage medical records than traditional EMR/EHR. It is a non fact
that document management solutions have near 98% implementation
success while traditional EMR/HER solutions are more challenging
endeavors.
www.recordsreduction.com
PO Box 3322, Matthews, NC 28106
http://app.streamsend.com/private/tF8d/2bm/qG6rTab/unsubscribe/2511712
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From gfranxman at gmail.com Tue Jan 27 23:55:05 2009
From: gfranxman at gmail.com (Glenn Franxman)
Date: Tue, 27 Jan 2009 18:55:05 -0500
Subject: [Fedora-suds-list] WSSE
Message-ID: <1d6a70330901271555t191164esc6ec840a9ce0dd5a@mail.gmail.com>
I'm only just getting started with SOAP, so forgive the n00b questions.
I'm trying to create calls that look something along the lines of:
user
password
3cf33e7-5ad1-3a9-093-3681f55eb0
9966673
...
To that end, I'm trying to add clauses for wsse:Security, license and accountID.
That section of my code looks like:
...
#construct WS-Security header for username/password
WSSE_NS = "http://schemas.xmlsoap.org/ws/2002/07/secext"
client.add_prefix( 'wsse', WSSE_NS )
#build account headers
license = client.factory.create('license')
license.set( License_Key )
accountid = client.factory.create('accountID')
accountid.set( Master_Account_Id )
client.set_options(soapheaders=( license, accountid))
...
and it is resulting in:
...
...
I'm still trying to feel my way through this, but I'm already wondering:
What happened to the wsse namespace that I added?
What happened to the license header that I added?
Has anyone successfully used WSSE with suds?
From gfranxman at gmail.com Tue Jan 27 23:56:42 2009
From: gfranxman at gmail.com (Glenn Franxman)
Date: Tue, 27 Jan 2009 18:56:42 -0500
Subject: [Fedora-suds-list] Re: WSSE
In-Reply-To: <1d6a70330901271555t191164esc6ec840a9ce0dd5a@mail.gmail.com>
References: <1d6a70330901271555t191164esc6ec840a9ce0dd5a@mail.gmail.com>
Message-ID: <1d6a70330901271556v4c8b5849o3554499ef883f876@mail.gmail.com>
Oops, I meant what happened to the accountID header, not license.
On Tue, Jan 27, 2009 at 6:55 PM, Glenn Franxman wrote:
> I'm only just getting started with SOAP, so forgive the n00b questions.
>
> I'm trying to create calls that look something along the lines of:
>
>
> xmlns:wsse="http://schemas.xmlsoap.org/ws/2002/07/secext"
> xmlns:xsd="http://www.w3.org/2001/XMLSchema"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> xmlns="http://amp.yahooapis.com/V1">
>
>
>
> user
> password
>
>
> 3cf33e7-5ad1-3a9-093-3681f55eb0
> 9966673
>
>
> ...
>
>
>
> To that end, I'm trying to add clauses for wsse:Security, license and accountID.
> That section of my code looks like:
>
> ...
> #construct WS-Security header for username/password
> WSSE_NS = "http://schemas.xmlsoap.org/ws/2002/07/secext"
> client.add_prefix( 'wsse', WSSE_NS )
>
> #build account headers
> license = client.factory.create('license')
> license.set( License_Key )
> accountid = client.factory.create('accountID')
> accountid.set( Master_Account_Id )
>
> client.set_options(soapheaders=( license, accountid))
> ...
>
> and it is resulting in:
>
>
> xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> xmlns:tns="http://amp.yahooapis.com/V1"
> xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
>
> ...
>
>
> ...
>
>
>
> I'm still trying to feel my way through this, but I'm already wondering:
>
> What happened to the wsse namespace that I added?
> What happened to the license header that I added?
>
> Has anyone successfully used WSSE with suds?
>
From steffen.oschatz at googlemail.com Wed Jan 28 12:23:50 2009
From: steffen.oschatz at googlemail.com (Steffen Oschatz)
Date: Wed, 28 Jan 2009 13:23:50 +0100
Subject: [Fedora-suds-list] Integration into a async framework
Message-ID: <9244db460901280423h2c2cb720g66d2e7271337b2c4@mail.gmail.com>
Hello,
I want to integrate suds into async framework, in my case twisted.
So I looking for the best way to do this. Has anyone done such a thing before ?
I don't see an easy way to implement callback handling into suds,
so the preferably way seems to directly use the transport mechanism
from the framework instead.
For doing so I only need the pure payload (a instance of Request seems
to have anything I need).
For the transport I use the twisted modules. The result should of
course be fed back into suds to get out the nice suds objects.
So to be specific:
- How can I get the Request instance that normally would be given over
to the Transport instance ?
- How can I get the suds object by supplying the pure response from
the remote side ?
Greetings
Steffen
From rjalves at igc.gulbenkian.pt Wed Jan 28 12:49:31 2009
From: rjalves at igc.gulbenkian.pt (Renato Alves)
Date: Wed, 28 Jan 2009 12:49:31 +0000
Subject: [Fedora-suds-list] Integration into a async framework
In-Reply-To: <9244db460901280423h2c2cb720g66d2e7271337b2c4@mail.gmail.com>
References: <9244db460901280423h2c2cb720g66d2e7271337b2c4@mail.gmail.com>
Message-ID: <4980545B.9080704@igc.gulbenkian.pt>
Quoting Steffen Oschatz on 01/28/2009 12:23 PM:
> Hello,
>
> I want to integrate suds into async framework, in my case twisted.
> So I looking for the best way to do this. Has anyone done such a thing before ?
>
> I don't see an easy way to implement callback handling into suds,
> so the preferably way seems to directly use the transport mechanism
> from the framework instead.
>
> For doing so I only need the pure payload (a instance of Request seems
> to have anything I need).
> For the transport I use the twisted modules. The result should of
> course be fed back into suds to get out the nice suds objects.
>
> So to be specific:
> - How can I get the Request instance that normally would be given over
> to the Transport instance ?
> - How can I get the suds object by supplying the pure response from
> the remote side ?
>
> Greetings
> Steffen
>
> _______________________________________________
> fedora-suds-list mailing list
> fedora-suds-list at redhat.com
> https://www.redhat.com/mailman/listinfo/fedora-suds-list
Hi Steffen,
I'm using suds + twisted. I haven't implemented this in an async way
directly on suds but instead using a cached thread pool of suds clients
+ queue. It's not the most elegant way but it solves my problem.
Basically when the daemon (twisted) launches it fires up 5 extra threads
each one creating a soap session using suds (caching the wsdl and a
session ticket with the soap server). The threads are partially idle
(checking once in a while the ticket validity) until some request gets
queued. Then they do their thing in a blocking manner (due to some
server constraints) and when they finish they put the result in a global
dict. This dict is accessible by the main thread that runs twisted and a
simplified xmlrpc server. With this approach I can not only skip the
performance penalty of starting a new soap session, authenticate and all
that, but also, keep a temporary cache of the results.
If you think any of this code could be of use to you, give me a call I
will be glad to send you some snippets.
From gfranxman at gmail.com Wed Jan 28 16:41:49 2009
From: gfranxman at gmail.com (Glenn Franxman)
Date: Wed, 28 Jan 2009 11:41:49 -0500
Subject: [Fedora-suds-list] Re: WSSE
In-Reply-To: <1d6a70330901271556v4c8b5849o3554499ef883f876@mail.gmail.com>
References: <1d6a70330901271555t191164esc6ec840a9ce0dd5a@mail.gmail.com>
<1d6a70330901271556v4c8b5849o3554499ef883f876@mail.gmail.com>
Message-ID: <1d6a70330901280841p2a56504o938e51c35095354@mail.gmail.com>
I'm stepping through the bindings code using pdb and I think I've
found a bug that is probably in the wsdl parser.
The wsdl for the service I am calling is here:
https://sandbox.amp.yahooapis.com/services/V1/LocationService?wsdl
I think the interesting bit is:
I'm stepping through the call to suds/bindings/binding.py part_types(
method, header=True )
308 B-> pts = self.part_types(method, header=True)
309 for header in headers:
310 if len(pts) == n: break
311 p = self.mkheader(method, pts[n], header)
312 if p is not None:
313 ns = pts[n][1].namespace()
...
> /usr/lib/python2.5/site-packages/suds/bindings/binding.py(346)part_types()
-> body = method.soap.input.body
(Pdb) l
341 @return: A list of parameter definitions
342 @rtype: [I{pdef},]
343 """
344 result = []
345 if input:
346 -> body = method.soap.input.body
347 if header:
348 parts = method.soap.input.header.message.parts
349 else:
350 parts = method.message.input.parts
351 else:
(Pdb) method.soap.input.header.message.parts
[(Part){
root =
name = "license"
qname[] =
"license",
"http://amp.yahooapis.com/V1",
element = "(u'license', u'http://amp.yahooapis.com/V1')"
type = "None"
}]
I think it ( and I ) are expecting
method.soap.input.header.message.parts to include tns:accountID and
tns:Security, not just tns:license.
The headers struct in suds/bindings/binding.py(308) headercontent() is:
(property:license = "...REMOVED...", property:accountID =
"...REMOVED...", (Security){
UsernameToken =
(UsernameToken){
Username = "REMOVED"
Password = "REMOVED"
}
})
I built the call like so:
client = Client( apt_wsdl )
### build account headers
license = client.factory.create('ns0:license')
license.set( License_Key )
accountid = client.factory.create('ns0:accountID')
accountid.set( Master_Account_Id )
sectoken = client.factory.create( 'ns1:Security' )
usernametoken = client.factory.create( 'ns1:UsernameToken' )
usernametoken.Username = Username
usernametoken.Password = Password
sectoken.UsernameToken = usernametoken
### apply the soap headers
client.set_options(soapheaders= (license, accountid, sectoken,) )
client.service.getAccountLocation( )
On Tue, Jan 27, 2009 at 6:56 PM, Glenn Franxman wrote:
> Oops, I meant what happened to the accountID header, not license.
>
> On Tue, Jan 27, 2009 at 6:55 PM, Glenn Franxman wrote:
>> I'm only just getting started with SOAP, so forgive the n00b questions.
>>
>> I'm trying to create calls that look something along the lines of:
>>
>>
>> > xmlns:wsse="http://schemas.xmlsoap.org/ws/2002/07/secext"
>> xmlns:xsd="http://www.w3.org/2001/XMLSchema"
>> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>> xmlns="http://amp.yahooapis.com/V1">
>>
>>
>>
>> user
>> password
>>
>>
>> 3cf33e7-5ad1-3a9-093-3681f55eb0
>> 9966673
>>
>>
>> ...
>>
>>
>>
>> To that end, I'm trying to add clauses for wsse:Security, license and accountID.
>> That section of my code looks like:
>>
>> ...
>> #construct WS-Security header for username/password
>> WSSE_NS = "http://schemas.xmlsoap.org/ws/2002/07/secext"
>> client.add_prefix( 'wsse', WSSE_NS )
>>
>> #build account headers
>> license = client.factory.create('license')
>> license.set( License_Key )
>> accountid = client.factory.create('accountID')
>> accountid.set( Master_Account_Id )
>>
>> client.set_options(soapheaders=( license, accountid))
>> ...
>>
>> and it is resulting in:
>>
>>
>> > xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
>> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>> xmlns:tns="http://amp.yahooapis.com/V1"
>> xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
>>
>> ...
>>
>>
>> ...
>>
>>
>>
>> I'm still trying to feel my way through this, but I'm already wondering:
>>
>> What happened to the wsse namespace that I added?
>> What happened to the license header that I added?
>>
>> Has anyone successfully used WSSE with suds?
>>
>
From nospamus at gmail.com Thu Jan 29 04:32:51 2009
From: nospamus at gmail.com (Bryan Hughes)
Date: Wed, 28 Jan 2009 23:32:51 -0500
Subject: [Fedora-suds-list] Can Suds handle WSDL attachments?
Message-ID: <4badce440901282032xfaee2ckc23c9317796acffd@mail.gmail.com>
I'm interested in using Suds, but I need to be certain that it can handle
attachments. Can someone please comment on Suds ability to handle
attachments?
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From steffen.oschatz at googlemail.com Thu Jan 29 17:35:16 2009
From: steffen.oschatz at googlemail.com (Steffen Oschatz)
Date: Thu, 29 Jan 2009 18:35:16 +0100
Subject: [Fedora-suds-list] Integration into a async framework
In-Reply-To: <4980545B.9080704@igc.gulbenkian.pt>
References: <9244db460901280423h2c2cb720g66d2e7271337b2c4@mail.gmail.com>
<4980545B.9080704@igc.gulbenkian.pt>
Message-ID: <9244db460901290935j6c35479csc4187fd72f60544b@mail.gmail.com>
I also thought about wrapping the whole remote call in a deferToThread,
but of course your solution sounds more powerful.
I would be really thankful if you could provide some snippets.
On Wed, Jan 28, 2009 at 1:49 PM, Renato Alves wrote:
>
> Hi Steffen,
>
> I'm using suds + twisted. I haven't implemented this in an async way
> directly on suds but instead using a cached thread pool of suds clients +
> queue. It's not the most elegant way but it solves my problem.
>
> Basically when the daemon (twisted) launches it fires up 5 extra threads
> each one creating a soap session using suds (caching the wsdl and a session
> ticket with the soap server). The threads are partially idle (checking once
> in a while the ticket validity) until some request gets queued. Then they do
> their thing in a blocking manner (due to some server constraints) and when
> they finish they put the result in a global dict. This dict is accessible by
> the main thread that runs twisted and a simplified xmlrpc server. With this
> approach I can not only skip the performance penalty of starting a new soap
> session, authenticate and all that, but also, keep a temporary cache of the
> results.
>
> If you think any of this code could be of use to you, give me a call I will
> be glad to send you some snippets.
>
From cpina at nvidia.com Fri Jan 30 20:00:54 2009
From: cpina at nvidia.com (=?ISO-8859-1?Q?Charles_Pi=F1a?=)
Date: Fri, 30 Jan 2009 12:00:54 -0800
Subject: [Fedora-suds-list] Issue with
Message-ID: <49835C76.8010606@nvidia.com>
First, thank you for a wonderful SOAP client implementation. I have
tried a few of the other options out there, and let me say that the SUDS
implementation is fantastic. Truly best of breed.
*cough* but... :-)
I'm encountering a rather strange issue when calling service methods.
SUDS is complaining about a _None, or @None object not being found.
Could this be an issue with my setup and/or WSDL? It appears to be
generated in part of the header portion of the SUDS code that's called
when invoking my service method, but I can't see where I could be
messing anything up there. The code is simple. Any insight?
I can provide excerpts of the WSDL if needed, but would prefer to keep
it internal.
#!/usr/bin/env python
from suds.client import Client
import logging
logging.basicConfig(level=logging.INFO)
logging.getLogger('suds.client').setLevel(logging.DEBUG)
url = "file:///Users/okay/Projects/auto/nv.xml"
client = Client(url)
caller = client.factory.create("ServiceCaller")
caller.UserID = 6674
caller.UserName = 'cpina'
caller.Host = 'tetris.local'
caller.IPAddress = '213.213.2.213'
caller.ServiceName = 'NV'
client.set_options(soapheaders=caller)
print client.service.GetBug(BugID=508000)
##### output ####
ERROR:suds.resolver:(@None) not-found
Traceback (most recent call last):
File "./test.py", line 23, in
print client.service.GetBug(BugID=508000)
File "build/bdist.macosx-10.5-i386/egg/suds/client.py", line 229, in
__call__
File "build/bdist.macosx-10.5-i386/egg/suds/client.py", line 356, in call
File "build/bdist.macosx-10.5-i386/egg/suds/client.py", line 229, in
__call__
File "build/bdist.macosx-10.5-i386/egg/suds/client.py", line 399, in call
File "build/bdist.macosx-10.5-i386/egg/suds/client.py", line 451, in
invoke
File "build/bdist.macosx-10.5-i386/egg/suds/bindings/binding.py", line
95, in get_message
File "build/bdist.macosx-10.5-i386/egg/suds/bindings/binding.py", line
311, in headercontent
File "build/bdist.macosx-10.5-i386/egg/suds/bindings/binding.py", line
259, in mkheader
File "build/bdist.macosx-10.5-i386/egg/suds/bindings/marshaller.py",
line 391, in process
File "build/bdist.macosx-10.5-i386/egg/suds/bindings/marshaller.py",
line 406, in append
File "build/bdist.macosx-10.5-i386/egg/suds/bindings/marshaller.py",
line 139, in append
File "build/bdist.macosx-10.5-i386/egg/suds/bindings/marshaller.py",
line 307, in append
File "build/bdist.macosx-10.5-i386/egg/suds/bindings/marshaller.py",
line 200, in append
File "build/bdist.macosx-10.5-i386/egg/suds/bindings/marshaller.py",
line 405, in append
File "build/bdist.macosx-10.5-i386/egg/suds/bindings/marshaller.py",
line 540, in start
suds.TypeNotFound: Type not found: '_None'
-----------------------------------------------------------------------------------
This email message is for the sole use of the intended recipient(s) and may contain
confidential information. Any unauthorized review, use, disclosure or distribution
is prohibited. If you are not the intended recipient, please contact the sender by
reply email and destroy all copies of the original message.
-----------------------------------------------------------------------------------
From rjalves at igc.gulbenkian.pt Sat Jan 31 12:48:13 2009
From: rjalves at igc.gulbenkian.pt (Renato Alves)
Date: Sat, 31 Jan 2009 12:48:13 +0000
Subject: [Fedora-suds-list] Integration into a async framework
Message-ID: <4984488D.3080407@igc.gulbenkian.pt>
import threading
import Queue
from twisted.web import xmlrpc, server
from twisted.internet import reactor
(...)
class ThreadedSuds(threading.Thread):
def run(self):
# Prepare SOAP client
# SServer is a class wrapper with some stuff specific to the
# soap server I'm using, but basically sets up a suds client
# instance
soap = SServer(url='file:./wsdl',
user='xxxx',
passwd='xxxx')
# Make thread run until STOPped
while True:
try:
data = seq_queue.get(True, 60)
except Queue.Empty:
# Checks for ticket validity and requests a new one if
# expired
soap.check_ticket()
data = None
if data is not None:
ticket, seq = data
# Do your soap requests here
(...)
# Declare ticket as finished and return results
soap_results[ticket] = results
(...)
class SequenceServer(xmlrpc.XMLRPC):
"""Broker calls
"""
def xmlrpc_ping(self):
"""Reply with pong to let know server is alive
"""
return 'pong'
def xmlrpc_includeseq(self, seq):
"""Put seq in queue
"""
# generate a new ticket (MD5)
ticket = generate_ticket(seq)
# queue the sequence
seq_queue.put([ticket, seq])
return ticket
(...)
def main():
# queue should be accessible to all threads
global sequence_queue
# results should also be accessible to all threads
global soap_results
sequence_queue = Queue.Queue(100)
soap_results = dict()
# Start 5 threads for SOAP client
threads = [ThreadedSuds() for x in range(5)]
for thread in threads:
# Daemonize threads - if (thread = daemon) program will close
# without waiting for threads to finish
# New API > 2.6.*
thread.daemon = True
# Old API < 2.5.*
thread.setDaemon(True)
# Start threads
thread.start()
f = server.Site(SequenceServer())
reactor.listenTCP(7080, f, interface="localhost")
reactor.run()
if __name__ == '__main__':
main()
--
Renato Alves