You are right, the address in the wsdl was using a different port from what I was invoking in the client . I did override that using

client.set_options(location= 'https://localhost:9843/services/LoginService'). So I good on this one. Thanks.

I am posting a new thread, I being stung by the "Type not Found" error.


On Fri, Dec 4, 2009 at 9:03 AM, Jeff Ortel <jortel@redhat.com> wrote:


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@redhat.com
https://www.redhat.com/mailman/listinfo/fedora-suds-list




--
Best Regards,
Ajai Joy