• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Jeanne Boyarsky
  • Ron McLeod
  • Paul Clapham
  • Liutauras Vilda
Sheriffs:
  • paul wheaton
  • Rob Spoor
  • Devaka Cooray
Saloon Keepers:
  • Stephan van Hulst
  • Tim Holloway
  • Carey Brown
  • Frits Walraven
  • Tim Moores
Bartenders:
  • Mikalai Zaikin

wsdl not getting called

 
Ranch Hand
Posts: 96
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
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........
 
reply
    Bookmark Topic Watch Topic
  • New Topic