What does the Audio class look like? Does it have a default constructor? Are all properties defined with public getter and setters?
That all said, I wold definitely encourage you to upgrade to a newer version of CXF. Dan On Tue October 20 2009 10:31:06 am Barry Kern wrote: > Hi, > I am using cxf 2.0.9 and JAX WS to write a web service. I have never > written one that takes parameters besides the primitive types and my > thought is I am missing a step. I have coded the web service and written a > test in java that is successful however when clients outside of java are > attempting to consume the service its not working. In an attempt to test > this situation I use soapUI and try to make a valid soap call to the > service and the array is still coming in null. I tried re writing the > service to take a > collection(instead of the array) and I still see the same issue. > > The method signature looks like this: > > > @WebMethod(operationName="getMix") > @WebResult(name="result") > Mix getMix( > @WebParam(name = "length")String length, > @WebParam(name = "bitrate")String bitrate, > @WebParam(name = "audio") Collection<Audio> audio > ); > > > It returns a object of type mix and in the WSDL I see these lines which > make me think the web service understands the mix object > > <xs:complexType name="mix"> > - > <xs:complexContent> > - > <xs:extension base="abstractEntity"> > - > <xs:sequence> > <xs:element minOccurs="0" name="status" type="xs:string"/> > <xs:element minOccurs="0" name="url" type="xs:string"/> > </xs:sequence> > </xs:extension> > </xs:complexContent> > > There isn't as any information in the WSDL for the type Audio which I am > thinking this is why I am having an issue. Here is what I see for the > method above in the WSDL: > > <xs:element name="getMix" type="getMix"/> > - > <xs:complexType name="getMix"> > - > <xs:sequence> > <xs:element minOccurs="0" name="length" type="xs:string"/> > <xs:element minOccurs="0" name="bitrate" type="xs:string"/> > <xs:element maxOccurs="unbounded" minOccurs="0" name="audio"/> > </xs:sequence> > </xs:complexType> > <xs:element name="getMixResponse" type="getMixResponse"/> > - > <xs:complexType name="getMixResponse"> > - > <xs:sequence> > <xs:element minOccurs="0" name="result" type="mix"/> > </xs:sequence> > </xs:complexType> > > Do I need to do something to the Audio class to have the web service better > understand how to represent this collection (or array)? > > Thanks, > Barry > -- Daniel Kulp [email protected] http://www.dankulp.com/blog
