Thanks for the information. But I think this code don't work anymore with axis
1.0 since the test of the occurence of the http SOAP header has been had.
The only solution I found is to recompile axis without this test while waiting
for the support of SOAP 1.2
Lionel
Heitzso wrote:
On Fri, 2002-10-18 at 18:14, [EMAIL PROTECTED] wrote:
Hi,
I'm trying to invoke a web service from javascript using the mozilla
implementation (the only one? I don't know). But mozilla don't send the
SOAPAction header when invoking the service, and therefore axis is not happy. Is
someone here has encountered the same problem?
Thanks
Lionel
I used mozilla soap to breadboard an app. There were a couple
of glitches along the way. Some were solvable, some weren't.
But making simple calls to a webservice is doable. Below
is one of the javascript functions I wrote to call an
axis web service. I haven't tested this code in a couple of
months so it may not function in the 1.0 or RC environments.
=============================
function getDataSourceChildNodes(id) {
if (! parent.sessionId)
getSessionId();
// build up array of parameters to call with
var parameterInArray = new Array();
var sessionIdParameter = new SOAPParameter(parent.sessionId,
"sessionId");
var idParameter = new SOAPParameter(id, "dataSourceId");
parameterInArray[0] = sessionIdParameter;
parameterInArray[1] = idParameter;
// prepare soap call
var soapCall = new SOAPCall();
soapCall.transportURI = "http://" + location.hostname +
"/TheDataWeb_Services/servlet/AxisServlet";
soapCall.actionURI = "getDataSourceChildNodes";
soapCall.encode(0, "getDataSourceChildNodes", "urn:ferrett", 0, null,
parameterInArray.length, parameterInArray);
// make the call
var soapResponse = soapCall.invoke();
// test for fault
var soapFault = soapResponse.fault;
if (soapFault != null) {
var faultNameSpace = soapFault.faultNamespace;
var faultCode = soapFault.faultCode;
var faultSummary = soapFault.faultString;
var faultActor = soapFault.actorURI;
alert("getDataSourceChildNodes failed: " + faultSummary);
return null;
}
// get response parameters
var parameterOutArray = soapResponse.getParameters(false, {});
if (parameterOutArray.length != 1) {
alert("wrong number of returned parameters, expected 1, found " +
parameterOutArray.length);
return null;
}
var response = parameterOutArray[0];
return response.value;
}