2 Replies Latest reply on Nov 6, 2004 4:59 AM by thomas.diesler

    PLEASE HELP!!!!! problem with array types defined in wsdl

    cglommen

      within my wsdl, I define a complex array type as followed, )to be used as a parameter and/or return value for a method):
      <xsd:complexType name="NameValuePairArray">
      <xsd:complexContent>
      <xsd:restriction base="soapenc:Array">
      <xsd:attribute ref="soapenc:arrayType" wsdl:arrayType="typens:NameValuePair[]"/>
      </xsd:restriction>
      </xsd:complexContent>
      </xsd:complexType>

      then I use "wscompile -import" command (sun java webservices pack) to create all the boilerplate java code and mapping file. However, the wscompile command doesn't create a com.test.NameValuePairArray class, it uses the com.test.NameValuePair[] instead within the java source and mapping file.

      Additionally, deploying the service to JBoss 4.0 results in the following message:
      WARN [TypeMappingDescription] Class not found: com.test.NameValuePairArray.

      Of course, when I execute a client I get the following stack from JBoss

      [AxisServlet] AxisFault:
      AxisFault
      faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Client
      faultSubcode:
      faultString: javax.xml.rpc.JAXRPCException: org.xml.sax.SAXException: No deserializer defined for array type {urn:XXX}NameValuePair
      faultActor:
      faultNode:
      faultDetail:
      {http://xml.apache.org/axis/}stackTrace: javax.xml.rpc.JAXRPCException: org.xml.sax.SAXException: No deserializer defined for array type {urn:XXX}NameValuePair
      at org.apache.axis.providers.java.RPCInvocation.prepareFromRequestEnvelope(RPCInvocation.java:401)
      at org.apache.axis.providers.java.RPCProvider.processMessage(RPCProvider.java:104)
      at org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java:360)
      at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:73)