You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-user@axis.apache.org by Menahem Elgavi <me...@xor-t.com> on 2008/12/15 12:11:12 UTC

Unexpected subelement issue when using Axis2 and eclipse

Hi All

I`m having a "Unexpected subelement getMetaDataResponse" exception when 
calling my web service. the WS was created from a POJO using the Axis2 
eclipse plugin.
im using Apache Tomcat as my web server.

i followed the code in the generated stub class , and it fails when doing:
if(reader.getAttributeValue("http://www.w3.org/2001/XMLSchema-instance","type")!=null) 
The condition eval`s to false , and the code just looks on for the "return" , 
while the reader is still on "getMetaDataResponse" .

below is some data i think might help.

Can anyone help ? 
Thanks in advance

Mena


this is the request i captured:
(i dont mind the service returning null)

<?xml version='1.0' encoding='UTF-8'?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Body>
<ns3:getMetaData 
xmlns:ns3="http://ws.collector.pn.xor.com/xsd"><ns3:strIPAddresses 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:nil="1" /></ns3:getMetaData></soapenv:Body></soapenv:Envelope>

This is the response from the web server:

<?xml version='1.0' encoding='UTF-8'?><soapenv:Envelope 
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Body><ns:getMetaDataResponse 
xmlns:ns="http://ws.collector.pn.xor.com/xsd" /></soapenv:Body></soapenv:Envelope>

my WSDL looks like this (also created using Axis2, using the eclipse plugin 
wizard.) 

- <wsdl:definitions xmlns:axis2="http://ws.collector.pn.xor.com" 
xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" 
xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" 
xmlns:ns0="http://configuration.collector.pn.xor.com/xsd" 
xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" 
xmlns:ns1="http://ws.collector.pn.xor.com/xsd" 
xmlns:ns2="http://elements.collector.pn.xor.com/xsd" 
xmlns:xs="http://www.w3.org/2001/XMLSchema" 
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" 
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" 
targetNamespace="http://ws.collector.pn.xor.com">
  <wsdl:documentation>Please Type your service description 
here</wsdl:documentation> 
- <wsdl:types>
- <xs:schema xmlns:ns="http://ws.collector.pn.xor.com/xsd" 
attributeFormDefault="qualified" elementFormDefault="qualified" 
targetNamespace="http://ws.collector.pn.xor.com/xsd">
- <xs:element name="getMetaData">
- <xs:complexType>
- <xs:sequence>
  <xs:element maxOccurs="unbounded" name="strIPAddresses" nillable="true" 
type="xs:string" /> 
  </xs:sequence>
  </xs:complexType>
  </xs:element>
- <xs:element name="getMetaDataResponse">
- <xs:complexType>
- <xs:sequence>
  <xs:element maxOccurs="unbounded" name="return" nillable="true" 
type="ns2:AgentMetaData" /> 
  </xs:sequence>
  </xs:complexType>
  </xs:element>
  </xs:schema>
  <xs:element name="AgentMetaData" type="ax24:AgentMetaData" /> 
- <xs:complexType name="AgentMetaData">
- <xs:sequence>
  <xs:element name="iPAddress" nillable="true" type="xs:string" /> 
  <xs:element maxOccurs="unbounded" name="objData" nillable="true" 
type="xs:string" /> 
  </xs:sequence>
  </xs:complexType>
  </xs:schema>
  </wsdl:types>
- <wsdl:message name="getMetaDataMessage">
  <wsdl:part name="part1" element="ns1:getMetaData" /> 
  </wsdl:message>
- <wsdl:message name="getMetaDataResponse">
  <wsdl:part name="part1" element="ns1:getMetaDataResponse" /> 
  </wsdl:message>
- <wsdl:portType name="CollectorWSPortType">
- <wsdl:operation name="getMetaData">
  <wsdl:input xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl" 
message="axis2:getMetaDataMessage" wsaw:Action="urn:getMetaData" /> 
  <wsdl:output message="axis2:getMetaDataResponse" /> 
  </wsdl:operation>
  </wsdl:portType>
- <wsdl:binding name="CollectorWSSOAP11Binding" 
type="axis2:CollectorWSPortType">
  <soap:binding transport="http://schemas.xmlsoap.org/soap/http" 
style="document" /> 
- <wsdl:operation name="getMetaData">
  <soap:operation soapAction="urn:getMetaData" style="document" /> 
- <wsdl:input>
  <soap:body use="literal" /> 
  </wsdl:input>
- <wsdl:output>
  <soap:body use="literal" /> 
  </wsdl:output>
  </wsdl:operation>
  </wsdl:binding>
- <wsdl:binding name="CollectorWSSOAP12Binding" 
type="axis2:CollectorWSPortType">
  <soap12:binding transport="http://schemas.xmlsoap.org/soap/http" 
style="document" /> 
- <wsdl:operation name="getMetaData">
  <soap12:operation soapAction="urn:getMetaData" style="document" /> 
- <wsdl:input>
  <soap12:body use="literal" /> 
  </wsdl:input>
- <wsdl:output>
  <soap12:body use="literal" /> 
  </wsdl:output>
  </wsdl:operation>
  </wsdl:binding>
- <wsdl:binding name="CollectorWSHttpBinding" 
type="axis2:CollectorWSPortType">
  <http:binding verb="POST" /> 
- <wsdl:operation name="getMetaData">
  <http:operation location="getMetaData" /> 
- <wsdl:input>
  <mime:content type="text/xml" /> 
  </wsdl:input>
- <wsdl:output>
  <mime:content type="text/xml" /> 
  </wsdl:output>
  </wsdl:operation>
  </wsdl:binding>
- <wsdl:service name="CollectorWS">
- <wsdl:port name="CollectorWSSOAP11port_http" 
binding="axis2:CollectorWSSOAP11Binding">
  <soap:address 
location="http://127.0.0.1:8080/HPOMCollector/services/CollectorWS" /> 
  </wsdl:port>
- <wsdl:port name="CollectorWSSOAP12port_http" 
binding="axis2:CollectorWSSOAP12Binding">
  <soap12:address 
location="http://127.0.0.1:8080/HPOMCollector/services/CollectorWS" /> 
  </wsdl:port>
- <wsdl:port name="CollectorWSHttpport" 
binding="axis2:CollectorWSHttpBinding">
  <http:address 
location="http://127.0.0.1:8080/HPOMCollector/services/CollectorWS" /> 
  </wsdl:port>
  </wsdl:service>
  </wsdl:definitions>

-------------------------------------------------------