AxisFault.java revision 1.58.2.3, 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
necessary.
* 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
[EMAIL PROTECTED]
(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