Dan,
  I followed the discussion on CXF-1226 in this forum and found it very
helpful.
(http://www.nabble.com/Created:-(CXF-1226)-Missing-input-output-param-namespace-in-SOAP-td13870857.html)

  The workaround proposed by Benson is creating a qualified schema and
fixing the NULL field problem. I tried the ReflectionServiceFactoryBean
approach that you had suggested but I couldn't get it working. You had
mentioned that it was not very well tested at that time. It will be cleaner
to use a spring configuration rather than create package-info files and
dummy beans. Do have any update on its status?

- Kannan


rkannan wrote:
> 
> Dan,
>   Sorry, I made a mistake in my previous post. There is nothing wrong with
> parsing the SOAP detail. However the problem is with the Unmarshaller
> piece. As you said I wrote a simple HelloWorld program that throws an
> exception and this is what I found out. 
> 
> - HelloWorld program is working fine for exception. The reason is that the
> generated WSDL has elementFormDefault=qualified on its schema. As a
> result, WSDL2Java generates stub code that has @XmlElement annotation with
> namespace attribute on the protected field of exception class. I checked
> to see what happens when elementFormDefault is set to unqualified in WSDL.
> The generated stub code does not have namespace atttribute in @XmElement
> annotation. In this case the fields of exception object are all null (my
> original post talks about this problem). I believe while unmarshalling the
> fault message, the namespace attribute in SOAP fault message is compared
> with the annotation and it fails here. When you said its working fine with
> your sample program, I assume its because of qualified schema. Can you
> check if it works fine with unqualified also?
> 
> - Having figured this, I decided to generate the WSDL of my original
> problem with elementFormDefault set to qualified. I followed the
> instruction in this post:
> http://www.nabble.com/xs%3Aschema-attributeFormDefault%3D%22unqualified%22-elementFormDefault%3D%22unqualified%22-td13604195.html#a13620904
> But I am not able to get it to work. There is no change in the WSDL. 
> 
> What is the correct way to get this problem resolved? Using <qualified> in
> WSDL (if so how?), or is there a bug. Because even with unqualified
> schema, unmarhsalling happens fine for SOAP request/response messages
> other than fault messages. 
> 
> Thanks,
> Kannan
> 
> 
> dkulp wrote:
>> 
>> 
>> Kannan,
>> 
>> Any chance you could come up with an example so I can see what the issue 
>> is in a debugger?   A modified hello world or something would be great.   
>> The samples that I've written seem to be OK.
>> 
>> Dan
>> 
>> 
>> On Thursday 10 January 2008, rkannan wrote:
>>> I did some debugging of the CXF code and figured the following: There
>>> is a call to a method in StaxUtils that parses the SOAP fault
>>> response. It correctly identifies values for all headers except
>>> <detail>. As a result a NULL value is returned for fault detail; the
>>> created exception object therefore has its member variables
>>> uninitialized. This could be a bug in CXF. Maybe we need to include
>>> some jar file that has correct implementation for parsing the SOAP
>>> fault. This is a serious block.
>>>
>>> - Kannan
>>>
>>> rkannan wrote:
>>> > I am throwing an exception from server side but on the client side
>>> > the exception object has all the fields set to NULL. I checked the
>>> > incoming SOAP fault message and it has correct values for the
>>> > fields. I believe the correct jar files are not being used because I
>>> > had a similar problem in sending List data types as parameters and
>>> > it was fixed by adding asm.jar. I am using Wrapped Doc/Lit with the
>>> > following dependencies on client:
>>> >
>>> > --------------------------------------------------------------------
>>> >------------------------------ <dependency>
>>> >             <groupId>junit</groupId>
>>> >             <artifactId>junit</artifactId>
>>> >             <version>4.1</version>
>>> >             <scope>provided</scope>
>>> >         </dependency>
>>> >
>>> >    <dependency>
>>> >             <groupId>org.apache.cxf</groupId>
>>> >             <artifactId>cxf-rt-frontend-jaxws</artifactId>
>>> >             <version>${cxf.version}</version>
>>> >         </dependency>
>>> >
>>> >
>>> >   <dependency>
>>> >             <groupId>org.apache.cxf</groupId>
>>> >             <artifactId>cxf-rt-transports-http</artifactId>
>>> >             <version>${cxf.version}</version>
>>> >         </dependency>
>>> >
>>> >   <dependency>
>>> >             <groupId>asm</groupId>
>>> >             <artifactId>asm</artifactId>
>>> >             <version>3.0</version>
>>> >         </dependency>
>>> > --------------------------------------------------------------------
>>> >------------------------------
>>> >
>>> > If it really is a problem with using the correct jar files, it will
>>> > be very helpful to get a list of jars that need to be used on server
>>> > and client side to enable web service using CXF. I read the
>>> > <WHICH_JARS> file that is part of CXF download, but adding them has
>>> > not solved my problem. Can someone point out which classes are
>>> > absolutely needed to handle fault/exception objects properly?
>>> >
>>> > Thanks,
>>> > Kannan
>> 
>> 
>> 
>> -- 
>> J. Daniel Kulp
>> Principal Engineer, IONA
>> [EMAIL PROTECTED]
>> http://www.dankulp.com/blog
>> 
>> 
> 
> 

-- 
View this message in context: 
http://www.nabble.com/Exception-object-has-all-fields-set-to-NULL-on-client-side-tp14723440p14753150.html
Sent from the cxf-user mailing list archive at Nabble.com.

Reply via email to