CXF is definitely wrong.    The element is not minOccurs=0.   Thus, the 
element needs to be there with the xsi:nil="true" flag set.    Can you 
please log a bug?   A testcase would be good.   A patch is even 
better.  :-)

Dan


On Monday 10 September 2007, Jeff.Yu wrote:
> Hi,
>
> These days I am doing the inter-operation with WCF , and I have found
> an issue about SOAP message that CXF did is different from what WCF
> did.
>
> For example, the request message element is:
>
> <xs:element name="inList" nillable="true" type="q3:ArrayOfstring"/>
>
> then if we pass the null value to it, and then invoke the method.
>
> CXF would send the SOAP message like:
>
> --------------------------------------
> <soap:Envelope
> xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/";><soap:Body></so
>ap:Body></soap:Envelope> --------------------------------------
>
> In this situation, the server can't find the accordingly server-side
> method, so it will throw a Fault to client.
>
> but for WCF, the client would send SOAP message like:
> -----------------------------------------------------------
> <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/";>
> <s:Body><inList
> xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays";
> i:nil="true" xmlns:i="http://www.w3.org/2001/XMLSchema-instance";
> xmlns="http://tempuri.org/"; /></s:Body>
> </soap:Envelop>
> ----------------------------------------------------
>
> I am not sure which way is better to go? In my example, It is the
> Document/Literal Bare mode, does anyone know that this scenario is
> against the WS-I BP, I haven't found a rule in the WS-I BP about this
> yet.
>
> Thanks
> Jeff



-- 
J. Daniel Kulp
Principal Engineer
IONA
P: 781-902-8727    C: 508-380-7194
[EMAIL PROTECTED]
http://www.dankulp.com/blog

Reply via email to