I didn't add anything to the error display that I sent. I think that stack trace for UnknownHostException is being generated from code other than my own. My understanding is that the only error that should be out of the message.send method is a SOAPException. This is happening and being handled correctly. However, before the SOAPException is handled, the stack trace for UnknownHostException is being displayed. I have code to catch UnknownHostException and well as a general catch statement. Neither one is catching this error, which I shouldn't see anyway as is should be converted to a SOAPException out of SOAPHTTPConecction.send. This leads be to believe that it is not handled correctly before it reaches my module.
I'm open to any suggestions as to how to handle this. Dave Ehrlich -----Original Message----- From: Scott Nichol [mailto:[EMAIL PROTECTED]] Sent: Thursday, December 19, 2002 4:29 PM To: [EMAIL PROTECTED] Subject: Re: UnknownHostException not being caught The way I read the 2.3.1 code (http://cvs.apache.org/viewcvs.cgi/xml-soap/java/src/org/apache/soap/uti l/net/HTTPUtils.java?rev=1.26&content-type=text/vnd.viewcvs-markup) is that the java.net.UnknownHostException will propagate out of buildSocket and be caught in post, which then throws the IllegalArgumentException. SOAPHTTPConnection#send will in turn catch that exception and throw a SOAPException chained back to the IAE. Are you saying that the stack trace for the java.net.UnknownHostException is being printed from code other than your own? Or did you add that to get to the bottom of the problem, and you are complaining that by the time your code gets an exception, the actual root cause (the UHE) has been wiped away? If the latter is true, the best advice I have is to use a nightly build instead of 2.3.1, as the current code base does not throw and IAE from post. Instead, it throws a SOAPException that is chained to the UHE that caused the problem in the first place. Scott Nichol ----- Original Message ----- From: "Ehrlich, Dave" <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]> Sent: Thursday, December 19, 2002 3:24 PM Subject: UnknownHostException not being caught > > I am sending a SOAP message using: > > message.send( url, SOAPActionURI, env ); > > where URL is the URL of the web service, SOAPActionURI is the web service > and webmethod to be executed, and env is the SOAP Envelope. > > For testing purposes, I have changed the hostname in the URL to an invalid > hostname. The message.send method throws a SOAPException and this is being > correctly handled and caught in my code. Before the catch logic for the > SOAPException is processed there is an UnknownHostException that is being > thrown in the chain, but is not being caught. > > Here is the error listing. Modules DCFController, UOWBrokerBase, and > SLMReader of package dcf.frame are within my application. > > java.net.UnknownHostException: w2bzbt4407 > at java.net.InetAddress.getAllByName0(Unknown Source) > at java.net.InetAddress.getAllByName0(Unknown Source) > at java.net.InetAddress.getByName(Unknown Source) > at java.net.Socket.<init>(Unknown Source) > at > org.apache.soap.util.net.HTTPUtils.buildSocket(HTTPUtils.java:126) > at org.apache.soap.util.net.HTTPUtils.post(HTTPUtils.java:208) > at > org.apache.soap.transport.http.SOAPHTTPConnection.send(SOAPHTTPConnec > tion.java:282) > at org.apache.soap.messaging.Message.send(Message.java:123) > at dcf.frame.SLMReader.DownloadTables(SLMReader.java:139) > at dcf.frame.SLMReader.doLoad(SLMReader.java:47) > at dcf.frame.UOWBrokerBase.notifyDCFReaders(UOWBrokerBase.java:181) > at dcf.frame.DCFController.processFeeds(DCFController.java:207) > at dcf.frame.DCFController.main(DCFController.java:57) > DCF Exception: SLM00006 - Error sending/receiving soap message: > [SOAPException: > faultCode=SOAP-ENV:Client; msg=Error opening socket: w2bzbt4407; > targetException > =java.lang.IllegalArgumentException: Error opening socket: w2bzbt4407] > > The DCF Exception at the bottom is an application exception that all > exceptions are converted to. In this case it is correctly catching the SOAP > Exception, wrapping it with some user information and displaying the error. > > Before the SOAPException is caught, there is an UnknowHostException that is > being thrown. A review of the documentation shows that this message is > first thrown from java.net.InetAddress.getByName. I would think that this > exception would be passed back up the chain. However, the way the output > reads it looks like there is someplace where it is not being handled at or > prior to Message.send. Message.send sees that there is an error and throws > a SOAPException. This SOAPException is being caught by my module SLMReader, > converted to a DCFException, passed up to the DCFController and correctly > displayed and handled. > > I have a general catch statement as well as a specific catch statement for > UnknowHostException. The fact that Message.send is throwing a SOAPException > (which is being correctly caught) leads me to believe that somewhere between > Message.send and InetAddress.getAllByName the UnknownHostException is being > thrown and not handled. > > I am using apache soap 2.3.1. > > Can anyone tell me what is going on and how the UnknownHostException can be > caught and handled. > > Thanks, > > Dave > > > > -- > To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> > For additional commands, e-mail: <mailto:[EMAIL PROTECTED]> > > -- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]> -- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>