Hi Dan,
Asm is alreasy in our classpath, by the way i noticed that we have a
very similar problem problem even if we have an array inside an
exception.
For example, if i define an exception:
public class ArrayException extends Exception {
private int[] reason;
private String name;
(...public getters/setters...)
}
In the service interface:
@WebMethod
public String echoTest() throws ArrayException ;
...the WSDL of the service generated has the type:
<xs:complexType name="ArrayException">
−
<xs:sequence>
<xs:element name="name" nillable="true" type="xs:string"/>
</xs:sequence>
</xs:complexType>
...so the array field is lost! Does your tests cover exceptions with
array? This happens with CXF-2.1.3.
If you need i can send you a test case to reproduce the issue.
Marco.
On Wed, 2008-12-17 at 14:03 -0500, Daniel Kulp wrote:
> Not sure what would cause this considering we have a system tests that
> explicitly tests the array things:
> http://svn.eu.apache.org/repos/asf/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/jaxws/DocLitWrappedCodeFirstService.java
>
> One thing to try: add an asm jar to your classpath. That may help.
>
> Dan
>
>
>
> On Saturday 13 December 2008 5:59:17 am Marco wrote:
> > Hi guys,
> > I have integrated CXF 2.0.3 into one of my projects because i need a
> > jax-ws runtime. It seems that there are some problems with arrays
> > marshalling (not present in 2.0.*). For example if the return type is an
> > int[], the mapping is correct:
> >
> > <xs:element name="setUserProfileArrayResponse">
> > <xs:complexType>
> > <xs:sequence>
> > <xs:element maxOccurs="unbounded" minOccurs="0" name="return"
> > type="xs:int"/>
> > </xs:sequence>
> > </xs:complexType>
> >
> > But at runtime i get a Marshalling Error:
> > org.apache.cxf.interceptor.Fault: Marshalling Error: [I is not known to
> > this context
> > at
> > org.apache.cxf.jaxb.JAXBEncoderDecoder.marshall(JAXBEncoderDecoder.java:173
> >) at
> > org.apache.cxf.jaxb.io.DataWriterImpl.write(DataWriterImpl.java:169)
> > at
> > org.apache.cxf.interceptor.AbstractOutDatabindingInterceptor.writeParts(Abs
> >tractOutDatabindingInterceptor.java:104) at
> > org.apache.cxf.interceptor.BareOutInterceptor.handleMessage(BareOutIntercep
> >tor.java:68) at
> > org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChai
> >n.java:226)
> >
> > This is quite strange, since the int[] as a parameter (and not a return
> > type) works.
> > I tested that with 2.1.3 and 2.1.4-SNAPSHOT (same behaviour)
> >
> > Marco.
>
>
>