You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by gd...@apache.org on 2002/01/31 22:36:48 UTC

cvs commit: xml-axis/java/src/org/apache/axis SOAPPart.java

gdaniels    02/01/31 13:36:48

  Modified:    java/src/org/apache/axis SOAPPart.java
  Log:
  If we have problems serializing a message, attempt to serialize the
  resultant fault instead.  Before this we were getting blank faults for
  serialization errors on the server side.
  
  Revision  Changes    Path
  1.7       +14 -2     xml-axis/java/src/org/apache/axis/SOAPPart.java
  
  Index: SOAPPart.java
  ===================================================================
  RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/SOAPPart.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- SOAPPart.java	26 Jan 2002 02:50:51 -0000	1.6
  +++ SOAPPart.java	31 Jan 2002 21:36:48 -0000	1.7
  @@ -330,8 +330,20 @@
               try {
                   env.output(new SerializationContextImpl(writer, getMessage().getMessageContext()));
               } catch (Exception e) {
  -                e.printStackTrace();
  -                return null;
  +                AxisFault fault;
  +                if (e instanceof AxisFault) {
  +                    fault = (AxisFault)e;
  +                } else {
  +                    fault = new AxisFault(e);
  +                }
  +                // Start over, write the fault...
  +                writer = new StringWriter();
  +                try {
  +                    fault.output(new SerializationContextImpl(writer, getMessage().getMessageContext()));
  +                } catch (Exception ex) {
  +                    // OK, now we're *really* in trouble.
  +                    return null;
  +                }
               }
               setCurrentMessage(writer.getBuffer().toString(), FORM_STRING);
               return (String)currentMessage;