Details
-
Bug
-
Status: Open
-
Major
-
Resolution: Unresolved
-
1.4
-
None
-
None
Description
While using axis 1.4 with webMethods EAI system I have encountered the following problem :
Axis generate an invalid soap message in RPC/encoded WS where exists omittable (minOccurs="0") fields and nillable = "false".
Axis don't omit the field when null but put it in soap message with nill value.
Exploring source code I have found the following check in org.apache.axis.encoding.ser.BeanSerializer.java class at row : 222
// if meta data says minOccurs=0, then we can skip
// it if its value is null and we aren't doing SOAP
// encoding.
if (isOmittable && !isEncoded)
It seams a choice to not apply omittable behavior while using soap/encoding. Is it correct ? Is it a standard ? WebMethods aspect that this field was omitted and not nill.
I fixed it just as follow :
// if meta data says minOccurs=0, then we can skip
// it if its value is null and we aren't doing SOAP
// encoding.
if (isOmittable){ // && !isEncoded) { continue; }
What can I aspect on next version of Axis ?
Thx