Dear users,
 
I am using axis2 1.3 and an ant script to generate a service. However i keep 
getting the "Unexpected subelement" exception as soon as i add for example the 
"Metadata" element being a complex type (see additions below). I renamed some 
stuff for this post so please disregard any possible errors (the wsdl+schema is 
validated). I also added the"-uw" argument to the wsdl2java but does not seem 
to help. The question is what is wrong with the ant target or wsdl, assuming 
that the soapui generated request is correct?
 
Thanks in advance.
Kind regards,
Erwin
 
Server response:
 
<soapenv:Envelope xmlns:soapenv=" http://schemas.xmlsoap.org/soap/envelope/";>
   <soapenv:Body>
      <soapenv:Fault>
         <faultcode>soapenv:Server</faultcode>
         <faultstring>org.apache.axis2.databinding.ADBException: Unexpected 
subelement Code2</faultstring>
         <detail/>
      </soapenv:Fault>
   </soapenv:Body>
</soapenv:Envelope>
 
 
 
SOAPUI request based on wsdl:
 
<soapenv:Envelope xmlns:soapenv="  <http://schemas.xmlsoap.org/soap/envelope/> 
http://schemas.xmlsoap.org/soap/envelope/"; 
xmlns:v0="  <http://localhost/schemas/v0.2> http://localhost/schemas/v0.2";>
   <soapenv:Header/>
   <soapenv:Body>
      <v0:Send>
         <v0:Metadata>
            <v0:Code2 >?</v0:Code2  >
         </v0:Metadata>
         <!--Optional:-->
         <v0:Data>?</v0:Data>
      </v0:Send>
   </soapenv:Body>
</soape 
 
 
ANT WSDL2JAVA target:
 
 <target name="generate.service" depends="prepare.repo">
                 <java classname="org.apache.axis2.wsdl.WSDL2Java">
                        <arg value="-uri" />
                        <arg value="wsdl\DataService_v0.2.wsdl" />
                        <arg value="-ss" />
                        <arg value="-uw" />
                        <arg value="-sd" />
                          <arg value="-g"/>
                        <arg value="-p" />
                        <arg value="-o" />
                        <arg value="${gen.service.dir}" />
                        <classpath refid="axis2.class.path" />
                </java>
                
              
          </target>
 
 
 
 
The schema:
 
<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:xsd=" http://www.w3.org/2001/XMLSchema"; 
xmlns:xmime=" http://www.w3.org/2005/05/xmlmime"; 
xmlns:tns=" http://localhost/schemas/v0.2"; 
targetNamespace=" http://localhost/schemas/v0.2"; elementFormDefault="qualified">
<xsd:import namespace=" http://www.w3.org/2005/05/xmlmime"; 
schemaLocation="xmlmime.xml"/> 
 
<xsd:element name="Send">
  <xsd:complexType>
   <xsd:sequence>
    <xsd:element name="Metadata" type="tns:Metadata"/>
    <xsd:element name="Data" type="xsd:string" minOccurs="0"/>
   </xsd:sequence>
  </xsd:complexType>
 </xsd:element>
 <xsd:element name="SendResponse">
  <xsd:complexType>
   <xsd:sequence>
    <xsd:element name="berichtUit" type="tns:Status" nillable="true" 
minOccurs="0"/>
   </xsd:sequence>
  </xsd:complexType>
 </xsd:element>
 <xsd:complexType name="Status">
  <xsd:sequence>
   <xsd:element name="Code" type="xsd:string"/>
   <xsd:element name="Melding" type="xsd:string" minOccurs="0"/>
  </xsd:sequence>
 </xsd:complexType>
  <xsd:complexType name="Metadata">
  <xsd:sequence>
   <xsd:element name="Code2" type="xsd:string"/>
 </xsd:sequence>
 </xsd:complexType>
 
 
 
 
</xsd:schema>

Reply via email to