axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From James M Snell <>
Subject Yet another API change (yes I'll create a bug report)
Date Thu, 09 Jan 2003 01:15:11 GMT revision, method setFaultCode(String) was renamed 
to setFaultCodeAsString(String) by Glen with the following description:

setFaultCode(String) should be restored a @deprecated. 

Glen, can you take a look?

"* In AxisFault, treat faultCode as a QName all the time, with a
  different accessor (setFaultCodeAsString()) for two reasons;
  clarity, and so as not to confuse a deserializer treating a
  fault as a bean.

* To deserialize faults as beans, we're currently enabling
  setters on the fault classes.  This is prohibited by JAX-RPC,
  so we should see if this breaks the TCK.  To deal with this
  (IMO incorrect) restriction, we'll have to do some funky
  tricks with understanding the order of the parameters in the
  fault's constructor, and only construct the object after
  all the values are assembled.  Will do this work later if

* Bulletproof OperationDesc.getFaultByQName()

* Fix the framework architecture for deserializing pieces of
  "containers" like beans/arrays/maps/faults.  We now support
  a concept of "active child deserializers" in the base
  DeserializerImpl class.  Each time a Deserializer gets a
  child deserializer, it adds the child to the list of active
  children and adds a CallbackTarget so that it will be
  notified when the child's value has been deserialized.

  We now use this mechanism to keep track of when a structured
  entity is actually complete, so the valueComplete()/callback
  system actually works.  The Array, Bean, Map, and Vector
  deserializers have been changed to fit.

  To make this work cleanly, we no longer overload the Callback
  setValue() method in the individual Deserializers (ArrayDeser,
  etc).  Now the DeserializerTarget uses the setChildValue()
  method to cleanly separate the propagation of actual values
  from the framework-managed structural completion code.

  This allows faults with multi-ref data to be correctly
  deserialized, cleans up the deserializers to use a common
  pattern, and should correct various problems we were
  having with streaming deserialization.

* inout.wsdl was syntactically incorrect wrt faults, as are
  several other of our test WSDLs.

* ComprehensiveTypes.wsdl was also incorrect, and it also
  mixes rpc/encoded with rpc/literal (elemWComplex uses
  <part element="">).  Fix the fault part now, figure out
  what we're going to do about the rpc/lit part later.

We now pass the complexRpcEnc fault test.  ComplexDocLit next."

- James Snell
     IBM Emerging Technologies
     (559) 587-1233 (office)
     (700) 544-9035 (t/l)
     Programming Web Services With SOAP
         O'Reilly & Associates, ISBN 0596000952

     Have I not commanded you? Be strong and courageous. 
     Do not be terrified, do not be discouraged, for the Lord your 
     God will be with you whereever you go.    - Joshua 1:9

View raw message