axis-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Bala Ramakrishnan \(balar\)" <ba...@cisco.com>
Subject RE: SAXException - Invalid element error
Date Fri, 13 May 2005 16:25:34 GMT
Unfortunately, I did not run with debug mode or have any monitor, so I
do not have the complete SOAP xml packet. This problem has come a few
times, and I have not been able to reliably reproduce it. I suspect that
depending upon data, this happens.

However here is the wsdl, and the piece of Java code that is giving this
error. The java code is trying to retrieve an array of DeviceDetail
objects, and gets the exception below:

============ code that is encountering the exception
====================

        com.cisco.nm.wlse.xmlapi.inventory.gencode.Device[] wlseAPDevs =
null;
        try {
            String[] apDeviceTypes =
APDeviceTypeInfo.getSupportedDeviceTypes();
            String[] deviceStates = new String[] {"m"};
            wlseAPDevs = invHandle.getDevicesEx(apDeviceTypes,
deviceStates, 0);
        } catch (java.rmi.RemoteException re) {
            String errorStr = "WLSE " + wd.getAddressableIp() + " is not
responding for getDevicesEx()";
            _Mlogger.error(errorStr);
                throw new WlsessException(WLSE_NOT_RESPONDING,
errorStr);
        }

        if (wlseAPDevs == null || wlseAPDevs.length == 0) {
            _Mlogger.warn("no AP information in the WLSE with IP: " +
wd.getAddressableIp());
            return;
        }

        // get AP details.
        DeviceDetail[] apDetails = null;
        com.cisco.nm.wlse.xmlapi.DeviceId[] apIDs = new
com.cisco.nm.wlse.xmlapi.DeviceId[wlseAPDevs.length];
        for (int j = 0; j < wlseAPDevs.length; j++) {
            apIDs[j] = wlseAPDevs[j].getId();
        }
        try {
            // get all devices in one shot -
            // if slow, may have to put this in a loop.
            apDetails = invHandle.getDeviceDetail(apIDs);
        } catch (java.rmi.RemoteException re) {
<----------  here is the exception that is being caught and logged
------------>
            _Mlogger.error("WLSE " + wd.getAddressableIp() + " is not
responding for getDeviceDetail()");
            throw new WlsessException(WLSE_NOT_RESPONDING,
                "No Response from WLSE for
Inventory.getDeviceDetail()");
        }
 ===============================================

The generated wsdl (inventory.wsdl):

<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions
targetNamespace="urn:com.cisco.nm.wlse.xmlapi.inventory"
xmlns="http://schemas.xmlsoap.org/wsdl/"
xmlns:apachesoap="http://xml.apache.org/xml-soap"
xmlns:impl="urn:com.cisco.nm.wlse.xmlapi.inventory"
xmlns:intf="urn:com.cisco.nm.wlse.xmlapi.inventory"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:tns1="urn:com.cisco.nm.wlse.xmlapi"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
 <wsdl:types>
  <schema targetNamespace="urn:com.cisco.nm.wlse.xmlapi.inventory"
xmlns="http://www.w3.org/2001/XMLSchema">
   <import namespace="http://schemas.xmlsoap.org/soap/encoding/"/>
   <complexType name="Device">
    <sequence>
     <element name="id" nillable="true" type="tns1:DeviceId"/>
     <element name="ipAddress" nillable="true" type="xsd:string"/>
     <element name="hostname" nillable="true" type="xsd:string"/>
     <element name="product" nillable="true" type="xsd:string"/>
     <element name="version" nillable="true" type="xsd:string"/>
     <element name="deviceType" nillable="true" type="xsd:string"/>
     <element name="timeLastDiscovered" type="xsd:long"/>
    </sequence>
   </complexType>
   <complexType name="ArrayOfDevice">
    <complexContent>
     <restriction base="soapenc:Array">
      <attribute ref="soapenc:arrayType"
wsdl:arrayType="impl:Device[]"/>
     </restriction>
    </complexContent>
   </complexType>
   <element name="ArrayOfDevice" nillable="true"
type="impl:ArrayOfDevice"/>
   <complexType name="ArrayOf_xsd_string">
    <complexContent>
     <restriction base="soapenc:Array">
      <attribute ref="soapenc:arrayType" wsdl:arrayType="xsd:string[]"/>
     </restriction>
    </complexContent>
   </complexType>
   <element name="ArrayOf_xsd_string" nillable="true"
type="impl:ArrayOf_xsd_string"/>
   <complexType name="TableMetadata">
    <sequence>
     <element maxOccurs="unbounded" name="columns" nillable="true"
type="impl:TableColumn"/>
    </sequence>
   </complexType>
   <complexType name="TableColumn">
    <sequence>
     <element name="name" nillable="true" type="xsd:string"/>
     <element name="type" nillable="true" type="xsd:string"/>
    </sequence>
   </complexType>
   <element name="TableMetadata" nillable="true"
type="impl:TableMetadata"/>
   <complexType name="ArrayOf_tns1_DeviceId">
    <complexContent>
     <restriction base="soapenc:Array">
      <attribute ref="soapenc:arrayType"
wsdl:arrayType="tns1:DeviceId[]"/>
     </restriction>
    </complexContent>
   </complexType>
   <element name="ArrayOf_tns1_DeviceId" nillable="true"
type="impl:ArrayOf_tns1_DeviceId"/>
   <complexType name="TableData">
    <sequence>
     <element maxOccurs="unbounded" name="rows" nillable="true"
type="impl:TableRow"/>
     <element name="fromRowNumber" type="xsd:int"/>
     <element name="numberOfRows" type="xsd:int"/>
     <element name="hasMoreRows" type="xsd:boolean"/>
    </sequence>
   </complexType>
   <complexType name="TableRow">
    <sequence>
     <element name="itemid" nillable="true"
type="tns1:ManagedObjectId"/>
     <element name="timeLastUpdated" type="xsd:long"/>
     <element maxOccurs="unbounded" name="values" nillable="true"
type="impl:TableCell"/>
    </sequence>
   </complexType>
   <complexType name="TableCell">
    <sequence>
     <element name="name" nillable="true" type="xsd:string"/>
     <element name="value" nillable="true" type="xsd:anyType"/>
    </sequence>
   </complexType>
   <element name="TableData" nillable="true" type="impl:TableData"/>
   <complexType name="TrendInterval">
    <sequence>
     <element name="name" nillable="true" type="xsd:string"/>
    </sequence>
   </complexType>
   <element name="TrendInterval" nillable="true"
type="impl:TrendInterval"/>
   <complexType name="TrendTableData">
    <sequence>
     <element maxOccurs="unbounded" name="rows" nillable="true"
type="impl:TrendTableRow"/>
     <element name="fromRowNumber" type="xsd:int"/>
     <element name="numberOfRows" type="xsd:int"/>
     <element name="hasMoreRows" type="xsd:boolean"/>
    </sequence>
   </complexType>
   <complexType name="TrendTableRow">
    <sequence>
     <element name="itemid" nillable="true"
type="tns1:ManagedObjectId"/>
     <element name="startTime" type="xsd:long"/>
     <element name="endTime" type="xsd:long"/>
     <element maxOccurs="unbounded" name="values" nillable="true"
type="impl:TableCell"/>
    </sequence>
   </complexType>
   <element name="TrendTableData" nillable="true"
type="impl:TrendTableData"/>
   <complexType name="DeviceDetail">
    <sequence>
     <element name="id" nillable="true" type="tns1:DeviceId"/>
     <element name="ipAddress" nillable="true" type="xsd:string"/>
     <element name="hostname" nillable="true" type="xsd:string"/>
     <element name="product" nillable="true" type="xsd:string"/>
     <element name="version" nillable="true" type="xsd:string"/>
     <element name="deviceType" nillable="true" type="xsd:string"/>
     <element name="timeLastDiscovered" type="xsd:long"/>
     <element name="sysObjectID" nillable="true" type="xsd:string"/>
     <element name="sysName" nillable="true" type="xsd:string"/>
     <element name="sysLocation" nillable="true" type="xsd:string"/>
     <element name="subnet" nillable="true" type="xsd:string"/>
     <element name="dnsName" nillable="true" type="xsd:string"/>
     <element name="userDefinedDescr" nillable="true"
type="xsd:string"/>
     <element maxOccurs="unbounded" name="SSIDs" nillable="true"
type="xsd:string"/>
     <element maxOccurs="unbounded" name="vlanIDs" type="xsd:int"/>
     <element maxOccurs="unbounded" name="macAddresses" nillable="true"
type="xsd:string"/>
     <element maxOccurs="unbounded" name="radioMacAddresses"
nillable="true" type="xsd:string"/>
     <element name="serialNumber" nillable="true" type="xsd:string"/>
     <element name="wdsMode" type="xsd:int"/>
    </sequence>
   </complexType>
   <complexType name="ArrayOfDeviceDetail">
    <complexContent>
     <restriction base="soapenc:Array">
      <attribute ref="soapenc:arrayType"
wsdl:arrayType="impl:DeviceDetail[]"/>
     </restriction>
    </complexContent>
   </complexType>
   <element name="ArrayOfDeviceDetail" nillable="true"
type="impl:ArrayOfDeviceDetail"/>
  </schema>
  <schema targetNamespace="urn:com.cisco.nm.wlse.xmlapi"
xmlns="http://www.w3.org/2001/XMLSchema">
   <import namespace="http://schemas.xmlsoap.org/soap/encoding/"/>
   <complexType name="DeviceId">
    <sequence>
     <element name="id" type="xsd:int"/>
    </sequence>
   </complexType>
   <complexType name="ManagedObjectId">
    <sequence>
     <element name="id" type="xsd:int"/>
     <element name="classId" type="xsd:int"/>
     <element name="deviceId" nillable="true" type="tns1:DeviceId"/>
    </sequence>
   </complexType>
  </schema>
 </wsdl:types>

   <wsdl:message name="getTableNamesResponse">

      <wsdl:part name="getTableNamesReturn"
type="impl:ArrayOf_xsd_string"/>

   </wsdl:message>

   <wsdl:message name="getTableMetadataRequest">

      <wsdl:part name="in0" type="xsd:string"/>

   </wsdl:message>

   <wsdl:message name="getDeviceDetailResponse">

      <wsdl:part name="getDeviceDetailReturn"
type="impl:ArrayOfDeviceDetail"/>

   </wsdl:message>

   <wsdl:message name="getTrendTableMetadataRequest">

      <wsdl:part name="in0" type="xsd:string"/>

   </wsdl:message>

   <wsdl:message name="getDevicesExRequest">

      <wsdl:part name="in0" type="impl:ArrayOf_xsd_string"/>

      <wsdl:part name="in1" type="impl:ArrayOf_xsd_string"/>

      <wsdl:part name="in2" type="xsd:long"/>

   </wsdl:message>

   <wsdl:message name="getTableDataResponse">

      <wsdl:part name="getTableDataReturn" type="impl:TableData"/>

   </wsdl:message>

   <wsdl:message name="getDevicesResponse">

      <wsdl:part name="getDevicesReturn" type="impl:ArrayOfDevice"/>

   </wsdl:message>

   <wsdl:message name="getDevicesExResponse">

      <wsdl:part name="getDevicesExReturn" type="impl:ArrayOfDevice"/>

   </wsdl:message>

   <wsdl:message name="getTrendTableNamesRequest">

      <wsdl:part name="in0" type="xsd:string"/>

   </wsdl:message>

   <wsdl:message name="getTrendTableDataResponse">

      <wsdl:part name="getTrendTableDataReturn"
type="impl:TrendTableData"/>

   </wsdl:message>

   <wsdl:message name="getTableNamesRequest">

      <wsdl:part name="in0" type="xsd:string"/>

   </wsdl:message>

   <wsdl:message name="getTableDataRequest">

      <wsdl:part name="in0" type="xsd:string"/>

      <wsdl:part name="in1" type="impl:ArrayOf_tns1_DeviceId"/>

      <wsdl:part name="in2" type="impl:ArrayOf_xsd_string"/>

      <wsdl:part name="in3" type="xsd:int"/>

      <wsdl:part name="in4" type="xsd:int"/>

   </wsdl:message>

   <wsdl:message name="getDeviceTypesRequest">

   </wsdl:message>

   <wsdl:message name="getDeviceTypesResponse">

      <wsdl:part name="getDeviceTypesReturn"
type="impl:ArrayOf_xsd_string"/>

   </wsdl:message>

   <wsdl:message name="getDeviceDetailRequest">

      <wsdl:part name="in0" type="impl:ArrayOf_tns1_DeviceId"/>

   </wsdl:message>

   <wsdl:message name="getTrendTableMetadataResponse">

      <wsdl:part name="getTrendTableMetadataReturn"
type="impl:TableMetadata"/>

   </wsdl:message>

   <wsdl:message name="getTrendTableNamesResponse">

      <wsdl:part name="getTrendTableNamesReturn"
type="impl:ArrayOf_xsd_string"/>

   </wsdl:message>

   <wsdl:message name="getTableMetadataResponse">

      <wsdl:part name="getTableMetadataReturn"
type="impl:TableMetadata"/>

   </wsdl:message>

   <wsdl:message name="getTrendTableDataRequest">

      <wsdl:part name="in0" type="xsd:string"/>

      <wsdl:part name="in1" type="impl:TrendInterval"/>

      <wsdl:part name="in2" type="xsd:long"/>

      <wsdl:part name="in3" type="xsd:long"/>

      <wsdl:part name="in4" type="impl:ArrayOf_tns1_DeviceId"/>

      <wsdl:part name="in5" type="impl:ArrayOf_xsd_string"/>

      <wsdl:part name="in6" type="xsd:int"/>

      <wsdl:part name="in7" type="xsd:int"/>

   </wsdl:message>

   <wsdl:message name="getDevicesRequest">

      <wsdl:part name="in0" type="xsd:long"/>

   </wsdl:message>

   <wsdl:portType name="Inventory">

      <wsdl:operation name="getDevices" parameterOrder="in0">

         <wsdl:input message="impl:getDevicesRequest"
name="getDevicesRequest"/>

         <wsdl:output message="impl:getDevicesResponse"
name="getDevicesResponse"/>

      </wsdl:operation>

      <wsdl:operation name="getDeviceTypes">

         <wsdl:input message="impl:getDeviceTypesRequest"
name="getDeviceTypesRequest"/>

         <wsdl:output message="impl:getDeviceTypesResponse"
name="getDeviceTypesResponse"/>

      </wsdl:operation>

      <wsdl:operation name="getTableNames" parameterOrder="in0">

         <wsdl:input message="impl:getTableNamesRequest"
name="getTableNamesRequest"/>

         <wsdl:output message="impl:getTableNamesResponse"
name="getTableNamesResponse"/>

      </wsdl:operation>

      <wsdl:operation name="getTableMetadata" parameterOrder="in0">

         <wsdl:input message="impl:getTableMetadataRequest"
name="getTableMetadataRequest"/>

         <wsdl:output message="impl:getTableMetadataResponse"
name="getTableMetadataResponse"/>

      </wsdl:operation>

      <wsdl:operation name="getTableData" parameterOrder="in0 in1 in2
in3 in4">

         <wsdl:input message="impl:getTableDataRequest"
name="getTableDataRequest"/>

         <wsdl:output message="impl:getTableDataResponse"
name="getTableDataResponse"/>

      </wsdl:operation>

      <wsdl:operation name="getTrendTableNames" parameterOrder="in0">

         <wsdl:input message="impl:getTrendTableNamesRequest"
name="getTrendTableNamesRequest"/>

         <wsdl:output message="impl:getTrendTableNamesResponse"
name="getTrendTableNamesResponse"/>

      </wsdl:operation>

      <wsdl:operation name="getTrendTableMetadata" parameterOrder="in0">

         <wsdl:input message="impl:getTrendTableMetadataRequest"
name="getTrendTableMetadataRequest"/>

         <wsdl:output message="impl:getTrendTableMetadataResponse"
name="getTrendTableMetadataResponse"/>

      </wsdl:operation>

      <wsdl:operation name="getTrendTableData" parameterOrder="in0 in1
in2 in3 in4 in5 in6 in7">

         <wsdl:input message="impl:getTrendTableDataRequest"
name="getTrendTableDataRequest"/>

         <wsdl:output message="impl:getTrendTableDataResponse"
name="getTrendTableDataResponse"/>

      </wsdl:operation>

      <wsdl:operation name="getDevicesEx" parameterOrder="in0 in1 in2">

         <wsdl:input message="impl:getDevicesExRequest"
name="getDevicesExRequest"/>

         <wsdl:output message="impl:getDevicesExResponse"
name="getDevicesExResponse"/>

      </wsdl:operation>

      <wsdl:operation name="getDeviceDetail" parameterOrder="in0">

         <wsdl:input message="impl:getDeviceDetailRequest"
name="getDeviceDetailRequest"/>

         <wsdl:output message="impl:getDeviceDetailResponse"
name="getDeviceDetailResponse"/>

      </wsdl:operation>

   </wsdl:portType>

   <wsdl:binding name="InventorySoapBinding" type="impl:Inventory">

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

      <wsdl:operation name="getDevices">

         <wsdlsoap:operation soapAction=""/>

         <wsdl:input name="getDevicesRequest">

            <wsdlsoap:body
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="urn:com.cisco.nm.wlse.xmlapi.inventory" use="encoded"/>

         </wsdl:input>

         <wsdl:output name="getDevicesResponse">

            <wsdlsoap:body
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="urn:com.cisco.nm.wlse.xmlapi.inventory" use="encoded"/>

         </wsdl:output>

      </wsdl:operation>

      <wsdl:operation name="getDeviceTypes">

         <wsdlsoap:operation soapAction=""/>

         <wsdl:input name="getDeviceTypesRequest">

            <wsdlsoap:body
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="urn:com.cisco.nm.wlse.xmlapi.inventory" use="encoded"/>

         </wsdl:input>

         <wsdl:output name="getDeviceTypesResponse">

            <wsdlsoap:body
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="urn:com.cisco.nm.wlse.xmlapi.inventory" use="encoded"/>

         </wsdl:output>

      </wsdl:operation>

      <wsdl:operation name="getTableNames">

         <wsdlsoap:operation soapAction=""/>

         <wsdl:input name="getTableNamesRequest">

            <wsdlsoap:body
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="urn:com.cisco.nm.wlse.xmlapi.inventory" use="encoded"/>

         </wsdl:input>

         <wsdl:output name="getTableNamesResponse">

            <wsdlsoap:body
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="urn:com.cisco.nm.wlse.xmlapi.inventory" use="encoded"/>

         </wsdl:output>

      </wsdl:operation>

      <wsdl:operation name="getTableMetadata">

         <wsdlsoap:operation soapAction=""/>

         <wsdl:input name="getTableMetadataRequest">

            <wsdlsoap:body
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="urn:com.cisco.nm.wlse.xmlapi.inventory" use="encoded"/>

         </wsdl:input>

         <wsdl:output name="getTableMetadataResponse">

            <wsdlsoap:body
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="urn:com.cisco.nm.wlse.xmlapi.inventory" use="encoded"/>

         </wsdl:output>

      </wsdl:operation>

      <wsdl:operation name="getTableData">

         <wsdlsoap:operation soapAction=""/>

         <wsdl:input name="getTableDataRequest">

            <wsdlsoap:body
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="urn:com.cisco.nm.wlse.xmlapi.inventory" use="encoded"/>

         </wsdl:input>

         <wsdl:output name="getTableDataResponse">

            <wsdlsoap:body
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="urn:com.cisco.nm.wlse.xmlapi.inventory" use="encoded"/>

         </wsdl:output>

      </wsdl:operation>

      <wsdl:operation name="getTrendTableNames">

         <wsdlsoap:operation soapAction=""/>

         <wsdl:input name="getTrendTableNamesRequest">

            <wsdlsoap:body
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="urn:com.cisco.nm.wlse.xmlapi.inventory" use="encoded"/>

         </wsdl:input>

         <wsdl:output name="getTrendTableNamesResponse">

            <wsdlsoap:body
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="urn:com.cisco.nm.wlse.xmlapi.inventory" use="encoded"/>

         </wsdl:output>

      </wsdl:operation>

      <wsdl:operation name="getTrendTableMetadata">

         <wsdlsoap:operation soapAction=""/>

         <wsdl:input name="getTrendTableMetadataRequest">

            <wsdlsoap:body
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="urn:com.cisco.nm.wlse.xmlapi.inventory" use="encoded"/>

         </wsdl:input>

         <wsdl:output name="getTrendTableMetadataResponse">

            <wsdlsoap:body
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="urn:com.cisco.nm.wlse.xmlapi.inventory" use="encoded"/>

         </wsdl:output>

      </wsdl:operation>

      <wsdl:operation name="getTrendTableData">

         <wsdlsoap:operation soapAction=""/>

         <wsdl:input name="getTrendTableDataRequest">

            <wsdlsoap:body
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="urn:com.cisco.nm.wlse.xmlapi.inventory" use="encoded"/>

         </wsdl:input>

         <wsdl:output name="getTrendTableDataResponse">

            <wsdlsoap:body
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="urn:com.cisco.nm.wlse.xmlapi.inventory" use="encoded"/>

         </wsdl:output>

      </wsdl:operation>

      <wsdl:operation name="getDevicesEx">

         <wsdlsoap:operation soapAction=""/>

         <wsdl:input name="getDevicesExRequest">

            <wsdlsoap:body
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="urn:com.cisco.nm.wlse.xmlapi.inventory" use="encoded"/>

         </wsdl:input>

         <wsdl:output name="getDevicesExResponse">

            <wsdlsoap:body
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="urn:com.cisco.nm.wlse.xmlapi.inventory" use="encoded"/>

         </wsdl:output>

      </wsdl:operation>

      <wsdl:operation name="getDeviceDetail">

         <wsdlsoap:operation soapAction=""/>

         <wsdl:input name="getDeviceDetailRequest">

            <wsdlsoap:body
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="urn:com.cisco.nm.wlse.xmlapi.inventory" use="encoded"/>

         </wsdl:input>

         <wsdl:output name="getDeviceDetailResponse">

            <wsdlsoap:body
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="urn:com.cisco.nm.wlse.xmlapi.inventory" use="encoded"/>

         </wsdl:output>

      </wsdl:operation>

   </wsdl:binding>

   <wsdl:service name="InventoryService">

      <wsdl:port binding="impl:InventorySoapBinding" name="Inventory">

         <wsdlsoap:address
location="http://localhost/services/Inventory"/>

      </wsdl:port>

   </wsdl:service>

</wsdl:definitions>

=======================

Thanks for any help.

-----Original Message-----
From: Anne Thomas Manes [mailto:atmanes@gmail.com] 
Sent: Friday, May 13, 2005 7:15 AM
To: axis-user@ws.apache.org
Subject: Re: SAXException - Invalid element error

Could you send us your WSDL and SOAP messages?

On 5/12/05, Bala Ramakrishnan (balar) <balar@cisco.com> wrote:
>  
> This topic seems to have been discussed before, but I could not get a 
> clear picture.
>   
> I am getting the error below: 
> 
>  org.xml.sax.SAXException: Invalid element in 
> com.cisco.nm.wlse.xmlapi.inventory.gencode.DeviceDetail - deviceType
> 2005-04-28 10:33:19,828 [_WlseProcessors:Pooled Thread:2] ERROR
> com.cisco.nm.mom.util.WlseXmlApiHelper.invoke() - AxisFault
>  faultCode:
> {http://xml.apache.org/axis/}Server.userException
>  faultString: org.xml.sax.SAXException: Invalid element in 
> com.cisco.nm.wlse.xmlapi.inventory.gencode.DeviceDetail - deviceType
>  faultActor: null
>  faultDetail: 
>  stackTrace: org.xml.sax.SAXException: Invalid element in 
> com.cisco.nm.wlse.xmlapi.inventory.gencode.DeviceDetail - deviceType  
> at
> org.apache.axis.encoding.ser.BeanDeserializer.onStartChild(BeanDeseria
> lizer.java:252)
>  at
> org.apache.axis.encoding.DeserializationContextImpl.startElement(Deser
> ializationContextImpl.java:893)
>  at
> org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.jav
> a:200)
>  at
> org.apache.axis.message.MessageElement.publishToHandler(MessageElement
> .java:684)
>  at
> org.apache.axis.message.RPCElement.deserialize(RPCElement.java:241)
>  at
> org.apache.axis.message.RPCElement.getParams(RPCElement.java:265)
>  at org.apache.axis.client.Call.invoke(Call.java:1871)
>  at org.apache.axis.client.Call.invoke(Call.java:1777)
>  at org.apache.axis.client.Call.invoke(Call.java:1315)
>  at
> com.cisco.nm.wlse.xmlapi.inventory.gencode.InventorySoapBindingStub.ge
> tDeviceDetail(InventorySoapBindingStub.java:471)
>  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
> Method)
>  at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.j
> ava:39)
>  at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccess
> orImpl.java:25)  at java.lang.reflect.Method.invoke(Method.java:324)
>  at
> com.cisco.nm.mom.util.WlseXmlApiHelper.invoke(WlseXmlApiHelper.java:15
> 2)  at $Proxy3.getDeviceDetail(Unknown Source)  at
> com.cisco.nm.mom.wlsess.AccessPoints.updateAPInfo(AccessPoints.java:80
> )
>  at
> com.cisco.nm.mom.wlsess.WlseDevice.updateWlseInfo(WlseDevice.java:591)
>  at
> com.cisco.nm.mom.wlsess.WlseDevice.updateWlse(WlseDevice.java:443)
>  at
> com.cisco.nm.mom.wlsess.RedundancyProcessor.processDcrAddModPingEvent(
> RedundancyProcessor.java:187)
>  at
> com.cisco.nm.mom.wlsess.WlseDCREventProcessor.processUpdateEvent(WlseD
> CREventProcessor.java:219)
>  at
> com.cisco.nm.mom.wlsess.WlseDCREventProcessor.run(WlseDCREventProcesso
> r.java:123)
>  at
> com.cisco.nm.mom.util.ThreadPool$1.run(ThreadPool.java:89)
> ==========
> The class
> com.cisco.nm.wlse.xmlapi.inventory.gencode.DeviceDetail is included 
> below:
>   
> /**
>  * DeviceDetail.java
>  *
>  * This file was auto-generated from WSDL
>  * by the Apache Axis WSDL2Java emitter.
>  */
>   
> package com.cisco.nm.wlse.xmlapi.inventory.gencode;
>   
> public class DeviceDetail  implements java.io.Serializable {
>     private com.cisco.nm.wlse.xmlapi.DeviceId id;
>     private java.lang.String ipAddress;
>     private java.lang.String hostname;
>     private java.lang.String product;
>     private java.lang.String version;
>     private java.lang.String deviceType;
>     private long timeLastDiscovered;
>     private java.lang.String sysObjectID;
>     private java.lang.String sysName;
>     private java.lang.String sysLocation;
>     private java.lang.String subnet;
>     private java.lang.String dnsName;
>     private java.lang.String userDefinedDescr;
>     private java.lang.String[] SSIDs;
>     private int[] vlanIDs;
>     private java.lang.String[] macAddresses;
>     private java.lang.String[] radioMacAddresses;
>     private java.lang.String serialNumber;
>     private int wdsMode;
>   
> }
>   
> =====
> I have seen discussions pertaining to such problems if there are array

> or complex types in the class. This code was generated by wsdl2java 
> utility and the wsdl itself was generated from java2wsdl.
>   
> Axis 1.0 is the version being used. Is this problem fixed in the 
> latest release Axis 1.2? if not, am I doing something wrong?
>   
> All answers and help are very much appreciated. 
> Thanks for your time. 
> 
>

Mime
View raw message