On 12/02/2009 11:53 AM, Ajai Joy wrote:
All,
Does Suds work smoothly with https ? My service end point is
https://xx
Yes, so long as the https does not require client authentication via cert and is only used
for server authentication and/or encryption only.
I am trying to do the following
try:
logging.getLogger('suds.client').setLevel(logging.DEBUG)
url = 'https://xxx:9843/services/LoginService?wsdl'
client = Client(url)
print client
result = client.service.loginUsingUserCredential('xx', 'xx',
'SRP')
*it does introspect the wsdl and print the following :*
Service ( LoginService ) tns="http://xx.com"
Prefixes (2)
ns0 = "http://xx.com/webservices/framework/xsd"
ns1 = "http://xx.com/webservices/skeleton/login"
Ports (1):
(LoginServiceHttpSoap11Endpoint)
Methods (2):
loginUsingSessionCredential(ns0:WS_SSOSessionCredential
ws_sessionCredential, )
loginUsingUserCredential(xs:string userName, xs:string
password, xs:string authenticationType, )
Types (8):
ns0:BaseException
ns0:Exception
After that, it prints the following - when I try to invoke a method
using the service :
<urlopen error [Errno 10061] No connection could be made because the
target machine actively refused it>
The server is up and I can use a java soap client and invoke the methods.
The URL for the wsdl is usually not the URL used to invoke methods. This is defined in
the WSDL in:
<service>
<port>
<soap:address location=""/>
</port>
</service>
Does the location here look correct? Also, you may want to disable suds caching in case
the URL has changed in the WSDL and suds is looked at the old version. Also, this
(caching) may explain why suds can get the WSDL but not invoke methods.
Disable caching:
client = Client(url, cache=None)
Any ideas?
--
Best Regards,
Ajai Joy
_______________________________________________
fedora-suds-list mailing list
fedora-suds-list(a)redhat.com
https://www.redhat.com/mailman/listinfo/fedora-suds-list