| Author |
wsdl not getting called
|
Himanshu Bisht
Ranch Hand
Joined: Aug 27, 2004
Posts: 96
|
|
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........
|
 |
 |
|
|
subject: wsdl not getting called
|
|
|