Here are the diffs, built against the 5-31-02 release, with failure and success cases both tested via GetQuote.  I've never built a patch before, so if I need to do something else, let me know.
 
-----------------------------------CUT BELOW HERE-------------------------------
RPCElement.java
86c86
<                       OperationDesc [] operations) throws ClassNotFoundException
---
>                       OperationDesc [] operations)
106,109d105
<
<               if (serviceDesc == null) {
<                  throw new ClassNotFoundException(JavaUtils.getMessage("noClassForService00", lc));
<               }
 
 
 
BodyBuilder.java
158,172c158,159
<
<               try {
<
<                  element = new RPCElement(namespace, localName, prefix,
<                                           attributes, context, operations);
<
<               } catch (ClassNotFoundException e) {
<
<                  // SAXException is already known to this method, so I
<                  // don't have an exception-handling propogation explosion.
<                  //
<                  throw new SAXException(e);
<               }
<
<
---
>                 element = new RPCElement(namespace, localName, prefix,
>                                          attributes, context, operations);
 
 
 
 
 
axisNLS.properties
280d279
< noClassForService00=Could not find class for the service named: {0}\nHint: you need to <b>copy</b> your class files/tree into the right location (which depends on the servlet system you are using).
----------------------------------------- END CUT ABOVE HERE ----------------------------------------
 
----- Original Message -----
Sent: Friday, May 31, 2002 2:55 PM
Subject: RE: Proposed change to RPCElement.java & BodyBuilder.java

John,
I think this is a good patch.  The patch needs to have the string message go in the message file (in  utils.axisNLS.properties) and needs to be applied to the current source.
 
John, can you rev the patch, then we can stick it in.
 
I wil try and get to a revised patch, but if I am slow, someone else can feel free to apply it.
 
Thanks John!
--
Tom Jordahl
Macromedia
 
-----Original Message-----
From: John Brothers [mailto:[EMAIL PROTECTED]]
Sent: Tuesday, May 28, 2002 1:55 PM
To: [EMAIL PROTECTED]
Subject: Proposed change to RPCElement.java & BodyBuilder.java

Hello,
 
   I have been learning SOAP via Axis, and I encountered a NullPointerException in RPCElement() when trying to test out a new service that I had written.  I eventually discovered that this was caused by Axis's inability to find the class file(s) for my service (I had used a link instead of copying the directory). 
 
   I submit that it would be more informative to the user (and more elegant) to throw a ClassNotFoundException instead of a NullPointerException in that case, to help the user more quickly discover the "directory tree copy" requirement.
 
  I have been able to test the failure case using SimpleAxisServer and the 5-27 build (it successfully throws the exception), but I haven't been able to test the success case, and I can't spend any more time on it right now.  I am attaching the change diffs, in the hopes that you might be able to incorporate them and save someone else the pain that I went through.
 
Thanks,
    jb
 
----------
[EMAIL PROTECTED]                   (678) 467  3504

Reply via email to