Hi there,
I have written SOAP client using Axis for remote SOAP server. I have
generated Stub classes using WSDL2Java tool. I am making connection over SSL
and have Imported servers certificate properly. Now my problem is I am
getting NULL object return from call.Invoke() method without any error or
exception . What dose it mean ? am I missing some thing ? Below is the debug
logs and after that Client programe .
DEBUG Log:-
- getBundle(org.apache.axis,org.apache.axis.i18n,resource,null,...)
- loadBundle: Ignoring MissingResourceException: Can't find bundle for base
name org.apache.axis.resource, locale en_GB
- Created org.apache.axis.i18n.resource, linked to parent null
- getBundle(org.apache.axis,org.apache.axis.utils,resource,null,...)
- loadBundle: Ignoring MissingResourceException: Can't find bundle for base
name org.apache.axis.utils.resource, locale en_GB- loadBundle: Ignoring
MissingResourceException: Can't find bundle for base name
org.apache.axis.resource, locale en_GB
- Root package not found, cross link to org.apache.axis.i18n.resource
- Root package not found, cross link to org.apache.axis.i18n.resource
- org.apache.axis.i18n.resource::handleGetObject(engineFactory)
- Got EngineFactory:
org.apache.axis.configuration.EngineConfigurationFactoryDefault
- Enter: AxisEngine::init
- org.apache.axis.i18n.resource::handleGetObject(attachEnabled)
- Attachment support is enabled? false
- org.apache.axis.i18n.resource::handleGetObject(oddDigits00)
- org.apache.axis.i18n.resource::handleGetObject(badChars01)
- Exit: AxisEngine::init
...........................
....Then list of all methods and param......
.................................
- Enter: Call::invoke(ns, meth, args)
- operation=name: getSupplierListing
returnQName: result
returnType: {urn:TASsoap}SupplierListingResponse
returnClass: class TASsoap.SupplierListingResponse
elementQName:null
soapAction: null
style: rpc
use: encoded
numInParams: 6
method:null
ParameterDesc[0]:
name: Tas
typeEntry: null
mode: IN
isReturn: false
typeQName: {http://www.w3.org/2001/XMLSchema}string
javaType: class java.lang.String
inHeader: false
outHeader: false
...................
then some Other ParameterDesc............
................................
- operation.getNumParams()=6
- getParamList number of params: 6
- Enter: Call::invoke(RPCElement)
- org.apache.axis.i18n.resource::handleGetObject(attachEnabled)
- Attachment support is enabled? false
- Enter: SOAPPart ctor(FORM_SOAPENVELOPE)
- org.apache.axis.i18n.resource::handleGetObject(setMsgForm)
- Setting current message form to: FORM_SOAPENVELOPE (currentMessage is now
org.apache.axis.message.SOAPEnvelope)
- Exit: SOAPPart ctor()
- org.apache.axis.i18n.resource::handleGetObject(addBody00)
- Adding body element to message...
- Enter: Call::invoke()
- Enter: SOAPPart::getAsSOAPEnvelope()
- org.apache.axis.i18n.resource::handleGetObject(currForm)
- current form is FORM_SOAPENVELOPE
- MessageContext: setTargetService(urn:TASsoap)
- MessageContext: setServiceHandler(null)
- org.apache.axis.i18n.resource::handleGetObject(targetService)
- Target service: urn:TASsoap
- Enter: SOAPPart::getAsSOAPEnvelope()
- org.apache.axis.i18n.resource::handleGetObject(currForm)
- current form is FORM_SOAPENVELOPE
- MessageContext: setTargetService()
- MessageContext: setServiceHandler(null)
- org.apache.axis.i18n.resource::handleGetObject(register00)
- register 'soapenv' - 'http://schemas.xmlsoap.org/soap/envelope/'
- NSPush (32)
- NSPush (32)
- org.apache.axis.i18n.resource::handleGetObject(register00)
- register 'soapenv' - 'http://schemas.xmlsoap.org/soap/envelope/'
- org.apache.axis.i18n.resource::handleGetObject(register00)
- register 'xsd' - 'http://www.w3.org/2001/XMLSchema'
- NSPush (32)
- org.apache.axis.i18n.resource::handleGetObject(register00)
- register 'xsi' - 'http://www.w3.org/2001/XMLSchema-instance'
- NSPush (32)
- org.apache.axis.i18n.resource::handleGetObject(startElem00)
- Start element [http://schemas.xmlsoap.org/soap/envelope/]:Envelope
- org.apache.axis.i18n.resource::handleGetObject(headers00)
- 0 headers
- org.apache.axis.i18n.resource::handleGetObject(startElem00)
- Start element [http://schemas.xmlsoap.org/soap/envelope/]:Body
- NSPush (32)
- org.apache.axis.i18n.resource::handleGetObject(startElem00)
- Start element [urn:TASsoap]:getSupplierListing
- org.apache.axis.i18n.resource::handleGetObject(register00)
- register 'ns1' - 'urn:TASsoap'
- NSPush (32)
- NSPush (32)
- org.apache.axis.i18n.resource::handleGetObject(startElem00)
- Start element []:Tas
- NSPush (32)
- org.apache.axis.i18n.resource::handleGetObject(endElem00)
- End element Tas
- NSPop (32)
- org.apache.axis.i18n.resource::handleGetObject(startElem00)
- Start element []:Station
- NSPush (32)
- org.apache.axis.i18n.resource::handleGetObject(endElem00)
- End element Station
- NSPop (32)
- org.apache.axis.i18n.resource::handleGetObject(startElem00)
- Start element []:User
- NSPush (32)
- org.apache.axis.i18n.resource::handleGetObject(endElem00)
- End element User
- NSPop (32)
- org.apache.axis.i18n.resource::handleGetObject(startElem00)
- Start element []:Password
- NSPush (32)
- org.apache.axis.i18n.resource::handleGetObject(endElem00)
- End element Password
- NSPop (32)
- org.apache.axis.i18n.resource::handleGetObject(startElem00)
- Start element []:Number
- NSPush (32)
- org.apache.axis.i18n.resource::handleGetObject(endElem00)
- End element Number
- NSPop (32)
- org.apache.axis.i18n.resource::handleGetObject(startElem00)
- Start element []:startSupplier
- NSPush (32)
- org.apache.axis.i18n.resource::handleGetObject(endElem00)
- End element startSupplier
- NSPop (32)
- org.apache.axis.i18n.resource::handleGetObject(endElem00)
- End element ns1:getSupplierListing
- NSPop (32)
- org.apache.axis.i18n.resource::handleGetObject(endElem00)
- End element soapenv:Body
- NSPop (32)
- org.apache.axis.i18n.resource::handleGetObject(endElem00)
- End element soapenv:Envelope
- org.apache.axis.i18n.resource::handleGetObject(empty00)
- NSPop (empty)
- <?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Body>
<ns1:getSupplierListing
soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:ns1="urn:TASsoap">
<Tas xsi:type="xsd:string">UK2G</Tas>
<Station xsi:type="xsd:string">LST</Station>
<User xsi:type="xsd:string">LAST</User>
<Password xsi:type="xsd:string">LAST</Password>
<Number xsi:type="xsd:int">10</Number>
<startSupplier xsi:type="xsd:string"></startSupplier>
</ns1:getSupplierListing>
</soapenv:Body>
</soapenv:Envelope>
- Enter: AxisClient::invoke
- EngineHandler: null
- Enter: SimpleChain::invoke
- Exit: SimpleChain::invoke
- Exit: AxisClient::invoke
- Exit: Call::invoke()
- Exit: Call::invoke(ns, meth, args)
- axis.Call.invoke: 93 {urn:TASsoap}getSupplierListing
Java Client:-
/*
Test client for TAS.
*/
package testcode;
import org.apache.axis.client.Service;
import _1._0._0._127.TASsoap_wsdl.*;
//import javax.net.ssl.SSLSocketFactory;
import java.security.Security;
//import TASsoap.*;
public class TestClientUsingStub
{
public static void main(String [] args) {
try {
Service service = new Service();
String endpoint ="https://xyz.com:8484";
System.setProperty("javax.net.ssl.trustStorePassword",
"changeit");
System.setProperty("javax.net.ssl.trustStore",
"/usr/java/jdk1.3.1_08/jre/lib/security/cacerts");
System.setProperty("javax.net.ssl.keyStoreType", "jks");
System.setProperty("java.protocol.handler.pkgs","com.sun.net.ssl.internal.ww
w.protocol");
Security.addProvider(new
com.sun.net.ssl.internal.ssl.Provider());
System.out.println("Settings done ...");
java.net.URL urls=new java.net.URL(endpoint);
System.out.println("\nUsing " + urls.getProtocol() + " to connect
to " + urls.getHost() + " on port #" + urls.getPort());
TASsoapBindingStub tASsoapBindingStub = new
TASsoapBindingStub(urls,null);
TASsoap.SupplierListingResponse
supplierListingResponse=tASsoapBindingStub.getSupplierListing("UK2G","LST","
LAST","LAST",10,"");
System.out.println("got the response supplierListingResponse=" +
supplierListingResponse );
} catch (Exception e) {
e.printStackTrace();
System.err.println(e.toString());
}
}
}
Thanks,
Shailesh.
email: [EMAIL PROTECTED]
________________________________________________________________________
This e-mail has been scanned for all viruses by Star Internet. The
service is powered by MessageLabs. For more information on a proactive
anti-virus service working around the clock, around the globe, visit:
http://www.star.net.uk
________________________________________________________________________