python - How to solve No operation available for request in SUDS? -
first imported suds client , logging
from suds.client import client sudsclient import logger logging.basicconfig(level=logging.info) logging.getlogger('suds.client').setlevel(logging.debug) i provided 2 wsdl files, enterprise.wsdl , programmerclienthandler.wsdl.xml. used enterprise.wsdl login by:
# authentication , more information set enterprise_client = sudsclient(enterprise_url) response = enterprise_client.service.login(username, "%s%s" % (password,token)) then i'll sessionid , serverurl transfer suds client object
session_id = response.sessionid server_url = response.serverurl soap_header = enterprise_client.factory.create('sessionheader') soap_header.sessionid = session_id then direct suds client user server_url given
programmerclienthandler_client = sudsclient(handler_url) programmerclienthandler_client.set_options(soapheaders=[soap_header]) programmerclienthandler_client.set_options(location=server_url) programmerclienthandler_client.set_options(port = 'programmerclienthandler') if print programmerclienthandler_client shows this
service ( programmerclienthandlerservice ) tns="http://soap.sforce.com/schemas/class/axlea/programmerclienthandler" prefixes (1) ns0 = "http://soap.sforce.com/schemas/class/axlea/programmerclienthandler" ports (1): (programmerclienthandler) methods (1): getprogrammerclientxml() types (5): id logcategory logcategorylevel loginfo logtype now need call getprogrammerclientxml() function by:
programmerclienthandler_xml = programmerclienthandler_client.service.getprogrammerclientxml() now when call error:
debug:suds.client:http failed: <?xml version="1.0" encoding="utf-8"?><soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><soapenv:body><soapenv:fault><faultcode>soapenv:client</faultcode><faultstring>no operation available request {http://soap.sforce.com/schemas/class/axlea/programmerclienthandler}getprogrammerclientxml</faultstring></soapenv:fault></soapenv:body></soapenv:envelope> error: error: server raised fault: 'no operation available request {http://soap.sforce.com/schemas/class/axlea/programmerclienthandler}getprogrammerclientxml' what should make work? there problem in wsdl files?
the serverurl returned login enterprise api, you're not using that, shouldn't change endpoint url of programmerclienthandler_client stub, correct.
Comments
Post a Comment