HI all this is very urgent..
I'm not a techie when it comes to Web services
My problem is
when I trying to invoke a web sevice method in my environment it works fine. However when we deploy it on the our clients environment it does not work. We
test in Windows env. and out client has UNIX env.
The strange thing is when we try to catch the exception it just escapes that.
I tried with catch the instance of Throwable also.
the code causing prob is here:
Service service = null;
org.apache.axis.client.Service dpf = null;
Operation operation = null;
try{
service = selectService(serviceNS, serviceName);
dpf = new org.apache.axis.client.Service(wsdlParser, service.getQName());
}catch(Throwable t)
{
t.printStackTrace();
System.out.println(t.getMessage());
}
The selecService() method is here
public Service selectService(
String serviceNS, String serviceName)
throws Exception {
QName serviceQName = (((serviceNS != null)
&& (serviceName != null))
? new QName(serviceNS, serviceName)
: null);
ServiceEntry serviceEntry = (ServiceEntry) getSymTabEntry(serviceQName,
ServiceEntry.class);
return serviceEntry.getService();
}
the getSymTabEntry method is here
public SymTabEntry getSymTabEntry(QName qname, Class cls) {
HashMap map = wsdlParser.getSymbolTable().getHashMap();
System.out.println("");
Iterator iterator = map.entrySet().iterator();
while (iterator.hasNext()) {
Map.Entry entry = (Map.Entry) iterator.next();
QName key = (QName) entry.getKey();
Vector v = (Vector) entry.getValue();
if ((qname == null) || qname.equals(qname)) {
for (int i = 0; i < v.size(); ++i) {
SymTabEntry symTabEntry = (SymTabEntry) v.elementAt(i);
if (cls.isInstance(symTabEntry)) {
return symTabEntry;
}
}
}
}
return null;
}
The problem is that the "getSymTabEntry" method is returning "null" and that might be beacause we are getting empity HashMap in the first line.
I want to know what could be the reason for returning an empity hash map (in UNIX environment only)
The wsdl URL is
"http://mrk.inter.loc:41414/soap/CheckStatus.wsdl"
The code whic parses this url is
public DynamicInvoker(String wsdlURL) throws Exception {
// Start by reading in the WSDL using Parser
Parser wsdlParser = new Parser();
System.out.println("Reading WSDL document from '" + wsdlURL + "'");
wsdlParser.run(wsdlURL);
}
We need to deliver it by tommorow
Any help from all u gr8 ppl will highly appreciated
Thanks
There is a solution to every problem........