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 "Patrick Di Loreto (JIRA)" <ax...@ws.apache.org> on 2007/06/06 17:34:26 UTC

[jira] Updated: (AXIS-2664) Axis generate invalid soap when using RPC/encoded where exists omittable fields (minOccurs=0) and nillable=false

     [ https://issues.apache.org/jira/browse/AXIS-2664?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Patrick Di Loreto updated AXIS-2664:
------------------------------------

    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) {
                                continue;
                            }

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

  was:
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 SerializerBean.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) {
                                continue;
                            }

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


> Axis generate invalid soap when using RPC/encoded where exists omittable fields (minOccurs=0) and nillable=false
> ----------------------------------------------------------------------------------------------------------------
>
>                 Key: AXIS-2664
>                 URL: https://issues.apache.org/jira/browse/AXIS-2664
>             Project: Axis
>          Issue Type: Bug
>          Components: Serialization/Deserialization
>    Affects Versions: 1.4
>            Reporter: Patrick Di Loreto
>
> 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) {
>                                 continue;
>                             }
> 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

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: axis-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-dev-help@ws.apache.org