This week's book giveaway is in the Java in General forum.
We're giving away four copies of Think Java: How to Think Like a Computer Scientist and have Allen B. Downey & Chris Mayfield on-line!
See this thread for details.
Win a copy of Think Java: How to Think Like a Computer Scientist this week in the Java in General forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

wsdl not getting called

 
Himanshu Bisht
Ranch Hand
Posts: 96
  • Mark post as helpful
  • send pies
  • 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........
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic