On Wed December 2 2009 8:30:18 am silvano.squizzato wrote:
> 1.    I’m trying to port the WS code from XFire to CXF (version 2.2.5)
> 2.    listDomains is a method defined with no parameters in the WSDL:
> <xsd:element name="listDomains">
>   <xsd:complexType/>
> </xsd:element>
> 3.    I used a SOAP::Lite::VERSION: 0.69 client
> 4.    The client sends such a kind of SOAP message:
> <soap:Body>
>   <listDomains xmlns="http://www.ebi.ac.uk/EBISearchService"; xsi:nil="true"
> />
> </soap:Body>
> 5.    The CXF server throws this exception:
> <faultstring>null while invoking public … listDomains() throws
> java.rmi.RemoteException with params [null].
> 
> I can’t change the client.

That's a shame.   The client definitely seems to be broken.   

> Is there any sensible way to make CXF ignore that xsi:nil="true" problem?

The ONLY think I can think of is to write a wrapper XMLStreamReader (subclass 
XML that would filter out that attribute.    Write an interceptor that would 
grab the original XMLStreamReader from the message and wrapper it with the new 
one and replace it.

-- 
Daniel Kulp
[email protected]
http://www.dankulp.com/blog

Reply via email to