+ Start a Discussion
plpl 

could I using APIs 2.0 with soap 2.2 instead of axis

Hi,

Our product use soap 2.2 and no intention to upgrade to Axis. Could I use soap 2.2 to use APIs 2.0. and How ?

 

Thanks

peilei

DevAngel2DevAngel2
You can use what ever you want.  You will find certain samples on this website for certain technologies, and for Java, Axis is the sample implementation.  There are as many ways to do SOAP as there are developers.  We can only support libraries we know, therefore, you will need to have a good source for SOAP samples using the technology you wish.
plpl

I am working on using Apache soap 2.2 to do login. Here is the piece of code:

I got the SOAPException (SOAP-ENV:client): No Deserializer found to deserialize a ':return' using encoding style 'http://schemas.xmlsoap.org/soap/encoding/'

what is return type from login. Do I need register my own Deserializer.

Could you help me out ?

 

URL url=null;
String endPointURL = "http://www.salesforce.com/servlet/servlet.SoapApi";

String encodingStyleURI = Constants.NS_URI_SOAP_ENC; //should get from propperties
try {
url
= new URL(endPointURL);
}
catch (Exception e){};

System.out.println(
"url "+url);
// Build the call.
Call call
= new Call();

call.setTargetObjectURI(
"sfconnector:SalesforceConnector");
call.setMethodName(
"login");
call.setEncodingStyleURI(encodingStyleURI);

Vector params
= new Vector();
params.addElement(
new Parameter("version", String.class,
"2.0", null));
params.addElement(
new Parameter("username", String.class,
"rthurston@aptsoft.com", null));
params.addElement(
new Parameter("password", String.class,
"Aptsoft", null));
params.addElement(
new Parameter("secure", java.lang.Boolean.class,
(Boolean)(
new Boolean(false)),null));
params.addElement(
new Parameter("remoteApplication", String.class,
"myApp", null));


call.setParams(params);
System.out.println(
"params set "+call);


// Invoke the call.
Response resp;
try {
resp
= call.invoke(url, "");
}
catch (SOAPException e){
System.out.println(
"Caught SOAPException (" +
e.getFaultCode()
+ "): " +
e.getMessage());
return false;
}

// Check the response.
if (!resp.generatedFault()) {
return true;

}
else {

Fault fault
= resp.getFault();

System.out.println(
"Generated fault: ");
System.out.println(
" Fault Code = " + fault.getFaultCode());
System.out.println(
" Fault String = " + fault.getFaultString());
return true;

}