Dec-01-2017, 04:22 PM
I have a SOAP webservice wrote in Java and I call it with suds library:
Server raised fault: 'The given SOAPAction ActionName does not match an operation.'
In the wsdl file soapAction is not setted:
def soapclient(request):
username='user'
password='pwd'
base64string = base64.encodestring('%s:%s' % (username, password)).replace('\n', '')
authenticationHeader = {
"SOAPAction" : "ActionName",
"Authorization" : "Basic %s" % base64string
}
client = Client('http://my_ult_to_file?wsdl', headers=authenticationHeader)
var=dict(utenteApplicativo='aaaaa', pageNumber=1, pageSize=1,
carrelloDto=dict(idCarrelloSorgente='99999999994',
itemCarrelloDtoList=dict(causale='prova', codiceEnte='ente', importo=2, importoImposta=1, importoTotale=3, importoUnitario=2,
quantitaItem=1, tipoContabilizzazione='TA')) )
result = client.service.creaCarrello(var)
return render_to_response('soapclient.html', {'var': result})but I receive the error:Server raised fault: 'The given SOAPAction ActionName does not match an operation.'
In the wsdl file soapAction is not setted:
<wsdl:operation name="creaCarrello"> <soap:operation soapAction="" style="rpc"/> <wsdl:input name="creaCarrello"> <soap:body namespace="http://infocamere.it/pagamentionlinews" use="literal"/> </wsdl:input>There is a manner to set soapAction in the client to a value false or similar?
