You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cxf.apache.org by "Alexander Vaagan (JIRA)" <ji...@apache.org> on 2008/04/17 09:27:21 UTC

[jira] Updated: (CXF-1530) Nillable parameters not rendered.

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

Alexander Vaagan updated CXF-1530:
----------------------------------

    Attachment: xmlstreamdatawriter.patch

Hi.
The problem is that you don't use minOccurs=0, but minOccurs=1
Here is a snippet from the wsdl:

<xsd:element name="registrerKunde">
     <xsd:complexType>
	   <xsd:sequence>
              <xsd:element maxOccurs="1" minOccurs="1" name="in0" nillable="true" type="ns1:InputDO"/>
              <xsd:element maxOccurs="1" minOccurs="1" name="in1" nillable="true" type="ns2:CustomerDetailDO"/>
              <xsd:element maxOccurs="1" minOccurs="1" name="in2" nillable="true" type="ns2:SomethingDO"/>
              <xsd:element maxOccurs="1" minOccurs="1" name="in3" nillable="true" type="ns2:ArrayOfSomethingElseDO"/>
            </xsd:sequence>
        </xsd:complexType>
</xsd:element>

I have found that the XMLStreamDataWriter class does not honour the wsdl correctly thus not rendering the parameters correctly.

In our environment we definitively prefer the simple frontend over the jaxws+jaxb aproach.
I have made a patch to fix this issue....


> Nillable parameters not rendered.
> ---------------------------------
>
>                 Key: CXF-1530
>                 URL: https://issues.apache.org/jira/browse/CXF-1530
>             Project: CXF
>          Issue Type: Bug
>    Affects Versions: 2.0.2, 2.0.4, 2.0.5
>         Environment: Windows, Java 5, Service running on XFire, Client running CXF
>            Reporter: Alexander Vaagan
>         Attachments: xmlstreamdatawriter.patch
>
>
> I have a service that accepts multiple arguments like this: MyResult getResults(ComplexInput arg0, AnOtherArgumentInput arg1).
> If I one or more of these arguments are null I get a fault from the service saying Not enough message parts. I have inspected the actual soap message sent over the wire and have confirmed that the parameters are not rendered.
> The service is running on XFire. (I am not able to migrate the service to CXF yet!)
> The problem exists on version 2.0.2, 2.0.4 and 2.0.5, but it seems to work on version 2.0.3.
> Both the service and the client uses AegisBinding. (Code first approach)
> /alex

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