Hi,

 

We have been using Axis (1.3)'s in our project for quite some time now.
While trying to evaluate migration effort to cxf, I'm stuck right at the
first step - unable to generate Java source out of WSDL file. 

 

Here is the error that I get:

 

WSDLToJava Error: Thrown by JAXB : undefined simple or complex type
'SOAP-ENC:Array'

 

I'm attaching the WSDL for reference. We use GSoap to generate it out of
C headers. 

 

When I remove the SOAP array reference, and just use the unbounded type,
it works find and generates code that uses List.

Note that ArrayOfAlarmInfo and ArrayOfDbChangeInfo are defined both as
unbounded and bounded arrays. Removing the unbounded reference also
doesn't have any effect.

Thanks for all the help.

 

Regards,

Syed

 

WSDL:

 

<?xml version="1.0" encoding="UTF-8"?>

<definitions name="GMS"

 targetNamespace="http://silverpeak.com/gms.wsdl";

 xmlns:tns="http://silverpeak.com/gms.wsdl";

 xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/";

 xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/";

 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";

 xmlns:xsd="http://www.w3.org/2001/XMLSchema";

 xmlns:ns="urn:soap:silverpeak:com"

 xmlns:SOAP="http://schemas.xmlsoap.org/wsdl/soap/";

 xmlns:MIME="http://schemas.xmlsoap.org/wsdl/mime/";

 xmlns:DIME="http://schemas.xmlsoap.org/ws/2002/04/dime/wsdl/";

 xmlns:WSDL="http://schemas.xmlsoap.org/wsdl/";

 xmlns="http://schemas.xmlsoap.org/wsdl/";>

 

<types>

 

 <schema targetNamespace="urn:soap:silverpeak:com"

  xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/";

  xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/";

  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";

  xmlns:xsd="http://www.w3.org/2001/XMLSchema";

  xmlns:ns="urn:soap:silverpeak:com"

  xmlns="http://www.w3.org/2001/XMLSchema";

  elementFormDefault="unqualified"

  attributeFormDefault="unqualified">

  <import namespace="http://schemas.xmlsoap.org/soap/encoding/"/>

  <simpleType name="soap-boolean">

   <restriction base="xsd:string">

    <enumeration value="false"/>

    <enumeration value="true"/>

   </restriction>

  </simpleType>

  <simpleType name="AlarmSeverity">

   <restriction base="xsd:string">

    <enumeration value="Critical"/>

    <enumeration value="Major"/>

    <enumeration value="Minor"/>

    <enumeration value="Warning"/>

    <enumeration value="Info"/>

   </restriction>

  </simpleType>

  <simpleType name="AlarmAction">

   <restriction base="xsd:string">

    <enumeration value="actionNone"/>

    <enumeration value="actionRaise"/>

    <enumeration value="actionClear"/>

    <enumeration value="actionAck"/>

    <enumeration value="actionUnack"/>

   </restriction>

  </simpleType>

  <simpleType name="DbChangeAction">

   <restriction base="xsd:string">

    <enumeration value="DbActionNone"/>

    <enumeration value="DbActionCreate"/>

    <enumeration value="DbActionDelete"/>

    <enumeration value="DbActionModify"/>

   </restriction>

  </simpleType>

  <complexType name="Empty">

   <sequence>

   </sequence>

  </complexType>

  <complexType name="SystemRegister">

   <sequence>

     <element name="applianceIp" type="xsd:string" minOccurs="0"
maxOccurs="1" nillable="true"/>

     <element name="mgmtIp" type="xsd:string" minOccurs="0"
maxOccurs="1" nillable="true"/>

     <element name="user" type="xsd:string" minOccurs="0" maxOccurs="1"
nillable="true"/>

     <element name="passwd" type="xsd:string" minOccurs="0"
maxOccurs="1" nillable="true"/>

   </sequence>

  </complexType>

  <complexType name="AlarmInfo">

   <sequence>

     <element name="type" type="xsd:string" minOccurs="0" maxOccurs="1"
nillable="true"/>

     <element name="name" type="xsd:string" minOccurs="0" maxOccurs="1"
nillable="true"/>

     <element name="description" type="xsd:string" minOccurs="0"
maxOccurs="1" nillable="true"/>

     <element name="source" type="xsd:string" minOccurs="0"
maxOccurs="1" nillable="true"/>

     <element name="time" type="xsd:long" minOccurs="1" maxOccurs="1"/>

     <element name="severity" type="ns:AlarmSeverity" minOccurs="1"
maxOccurs="1"/>

     <element name="id" type="xsd:int" minOccurs="1" maxOccurs="1"/>

     <element name="count" type="xsd:int" minOccurs="1" maxOccurs="1"/>

     <element name="acknowledged" type="xsd:boolean" minOccurs="1"
maxOccurs="1"/>

     <element name="clearable" type="xsd:boolean" minOccurs="1"
maxOccurs="1"/>

     <element name="active" type="xsd:boolean" minOccurs="1"
maxOccurs="1"/>

     <element name="serviceAffect" type="xsd:boolean" minOccurs="1"
maxOccurs="1"/>

     <element name="action" type="ns:AlarmAction" minOccurs="1"
maxOccurs="1"/>

   </sequence>

  </complexType>

  <complexType name="ArrayOfAlarmInfo">

   <complexContent>

    <restriction base="SOAP-ENC:Array">

     <sequence>

      <element name="item" type="ns:AlarmInfo" minOccurs="0"
maxOccurs="unbounded"/>

     </sequence>

     <attribute ref="SOAP-ENC:arrayType"
WSDL:arrayType="ns:AlarmInfo[]"/>

    </restriction>

   </complexContent>

  </complexType>

  <complexType name="DbChangeInfo">

   <sequence>

     <element name="type" type="ns:DbChangeAction" minOccurs="1"
maxOccurs="1"/>

     <element name="object" type="xsd:string" minOccurs="0"
maxOccurs="1" nillable="true"/>

     <element name="object-id" type="xsd:string" minOccurs="0"
maxOccurs="1" nillable="true"/>

   </sequence>

  </complexType>

  <complexType name="ArrayOfDbChangeInfo">

   <complexContent>

    <restriction base="SOAP-ENC:Array">

     <sequence>

      <element name="item" type="ns:DbChangeInfo" minOccurs="0"
maxOccurs="unbounded"/>

     </sequence>

     <attribute ref="SOAP-ENC:arrayType"
WSDL:arrayType="ns:DbChangeInfo[]"/>

    </restriction>

   </complexContent>

  </complexType>

  <!-- operation request element -->

  <element name="sysReg" type="ns:SystemRegister"/>

  <!-- operation response element -->

  <element name="uniqueId" type="xsd:int"/>

  <!-- operation request element -->

  <element name="mgmtIp" type="xsd:string"/>

  <!-- operation request element -->

  <element name="applianceIp" type="xsd:string"/>

  <!-- operation request element -->

  <element name="almEvent" type="ns:ArrayOfAlarmInfo"/>

  <!-- operation response element -->

  <element name="val" type="xsd:int"/>

  <!-- operation request element -->

  <element name="dbChangeEvent" type="ns:ArrayOfDbChangeInfo"/>

 </schema>

 

</types>

 

<message name="registerSystem">

 <part name="sysReg" element="ns:sysReg"/>

</message>

 

<message name="registerSystemResponse">

 <part name="uniqueId" element="ns:uniqueId"/>

</message>

 

<message name="notifyAlarmEvent">

 <part name="mgmtIp" element="ns:mgmtIp"/>

 <part name="applianceIp" element="ns:applianceIp"/>

 <part name="almEvent" element="ns:almEvent"/>

</message>

 

<message name="notifyAlarmEventResponse">

 <part name="val" element="ns:val"/>

</message>

 

<message name="notifyAlarmEvents">

 <part name="mgmtIp" element="ns:mgmtIp"/>

 <part name="almEvent" element="ns:almEvent"/>

</message>

 

<message name="notifyAlarmEventsResponse">

 <part name="val" element="ns:val"/>

</message>

 

<message name="notifyDbChangeEvent">

 <part name="mgmtIp" element="ns:mgmtIp"/>

 <part name="dbChangeEvent" element="ns:dbChangeEvent"/>

</message>

 

<message name="notifyDbChangeEventResponse">

 <part name="val" element="ns:val"/>

</message>

 

<portType name="GMSPortType">

 <operation name="registerSystem">

  <documentation>Service definition of function
ns__registerSystem</documentation>

  <input message="tns:registerSystem"/>

  <output message="tns:registerSystemResponse"/>

 </operation>

 <operation name="notifyAlarmEvent">

  <documentation>Service definition of function
ns__notifyAlarmEvent</documentation>

  <input message="tns:notifyAlarmEvent"/>

  <output message="tns:notifyAlarmEventResponse"/>

 </operation>

 <operation name="notifyAlarmEvents">

  <documentation>Service definition of function
ns__notifyAlarmEvents</documentation>

  <input message="tns:notifyAlarmEvents"/>

  <output message="tns:notifyAlarmEventsResponse"/>

 </operation>

 <operation name="notifyDbChangeEvent">

  <documentation>Service definition of function
ns__notifyDbChangeEvent</documentation>

  <input message="tns:notifyDbChangeEvent"/>

  <output message="tns:notifyDbChangeEventResponse"/>

 </operation>

</portType>

 

<binding name="GMS" type="tns:GMSPortType">

 <SOAP:binding style="rpc"
transport="http://schemas.xmlsoap.org/soap/http"/>

 <operation name="registerSystem">

  <SOAP:operation style="rpc" soapAction=""/>

  <input>

     <SOAP:body parts="parameters" use="literal"
namespace="urn:soap:silverpeak:com"/>

  </input>

  <output>

     <SOAP:body parts="parameters" use="literal"
namespace="urn:soap:silverpeak:com"/>

  </output>

 </operation>

 <operation name="notifyAlarmEvent">

  <SOAP:operation style="rpc" soapAction=""/>

  <input>

     <SOAP:body parts="parameters" use="literal"
namespace="urn:soap:silverpeak:com"/>

  </input>

  <output>

     <SOAP:body parts="parameters" use="literal"
namespace="urn:soap:silverpeak:com"/>

  </output>

 </operation>

 <operation name="notifyAlarmEvents">

  <SOAP:operation style="rpc" soapAction=""/>

  <input>

     <SOAP:body parts="parameters" use="literal"
namespace="urn:soap:silverpeak:com"/>

  </input>

  <output>

     <SOAP:body parts="parameters" use="literal"
namespace="urn:soap:silverpeak:com"/>

  </output>

 </operation>

 <operation name="notifyDbChangeEvent">

  <SOAP:operation style="rpc" soapAction=""/>

  <input>

     <SOAP:body parts="parameters" use="literal"
namespace="urn:soap:silverpeak:com"/>

  </input>

  <output>

     <SOAP:body parts="parameters" use="literal"
namespace="urn:soap:silverpeak:com"/>

  </output>

 </operation>

</binding>

 

<service name="GMS">

 <documentation>Silver-Peak GMS service</documentation>

 <port name="GMS" binding="tns:GMS">

  <SOAP:address location="http://silverpeak.com"/>

 </port>

</service>

 

</definitions>

.

Reply via email to