I am attempting to use soap to talk to a proprietary piece of software with
a soap interface.
However, they don't support namespace declarations for methods, so instead
of:
<ns1:CreateSession xmlns:ns1="" ... </ns1:CreateSession xmlns:ns1="">
They only accept
<CreateSession ... </CreateSession>
Very useful you might say...
my code is below. How do I stop the namespace declaration for that method?
Paul
----------------code----------------
import java.net.*;
import java.util.*;
import org.apache.soap.*;
import org.apache.soap.rpc.*;
import org.apache.soap.util.xml.*;
public class soapTest4 {
public static void main(String[] args)
throws Exception
{
Call call = new Call();
call.setEncodingStyleURI(Constants.NS_URI_SOAP_ENC);
//call.setTargetObjectURI ("urn:mySoapCall");
call.setMethodName("CreateSession");
Vector params=new Vector();
params.addElement(new Parameter("hostSessionID", String.class,
"abc", null));
params.addElement(new Parameter("source", String.class,
"/ImageStore/Partner.EPS", null));
params.addElement(new Parameter("sessionType", String.class,
"viewer", null));
params.addElement(new Parameter("userID", String.class, "test",
null));
params.addElement(new Parameter("firstName", String.class, "Paul",
null));
params.addElement(new Parameter("lastName", String.class,
"Johnston", null));
params.addElement(new Parameter("sessionReference", String.class,
"/Session/ABC12345", null));
call.setParams(params);
URL url = new URL(http://myurl.com/soap-connector ");
Response resp = call.invoke(url, "");
if (resp.generatedFault()) {
Fault fault=resp.getFault();
System.out.println(" Fault code: " + fault.getFaultCode());
System.out.println(" Fault string: "+fault.getFaultString());
} else {
Parameter result=resp.getReturnValue();
Object o = result.getValue();
}
}
}
----------------code----------------