2 Replies Latest reply on Aug 18, 2016 5:33 PM by John D. Hogan

    error in WS - org.xml.sax.SAXException: Invalid element in

    user2702534

      Hi

      I built a mockService using SoapUI to simulate a WebService and I get an error in the response returned by the mockservice. I created a class to connect with the mockService, I'm using java 6 and axis 1.4. I use axis-wsdl2java for create the java classes and I use this wsdl

       

      <?xml version="1.0" encoding="UTF-8"?>
      <wsdl:definitions name="ServicioDatos" targetNamespace="http://aaa.bbbb.es/sie" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsam="http://www.w3.org/2007/05/addressing/metadata" xmlns:wsx="http://schemas.xmlsoap.org/ws/2004/09/mex" xmlns:wsap="http://schemas.xmlsoap.org/ws/2004/08/addressing/policy" xmlns:msc="http://schemas.microsoft.com/ws/2005/12/wsdl/contract" xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns="http://aaa.bbbb.es/sie" xmlns:wsa10="http://www.w3.org/2005/08/addressing" xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing">
      <wsdl:types>
        
      <xs:schema elementFormDefault="qualified" targetNamespace="http://aaa.bbbb.es/sie" xmlns:xs="http://www.w3.org/2001/XMLSchema">
             
      <xs:element name="ObtenerDatosPersona">
                  
      <xs:complexType>
                       
      <xs:sequence>
                            
      <xs:element minOccurs="1" maxOccurs="1" name="datos" type="tns:DatosPersonaConsultada"/>
                       
      </xs:sequence>
                  
      </xs:complexType>
             
      </xs:element>
             
      <xs:complexType name="DatosPersonaConsultada">
                  
      <xs:sequence>
                       
      <xs:element minOccurs="0" maxOccurs="1" name="TipoDocumento" type="xs:string"/>
                       
      <xs:element minOccurs="0" maxOccurs="1" name="NumDocumento" type="xs:string"/>
                       
      <xs:element minOccurs="0" maxOccurs="1" name="NombreApellidos" type="xs:string"/>
                  
      </xs:sequence>
             
      </xs:complexType>
             
      <xs:element name="ObtenerDatosPersonaResponse">
                  
      <xs:complexType>
                       
      <xs:sequence>
                            
      <xs:element minOccurs="0" maxOccurs="1" name="ObtenerDatosPersonaResult" type="tns:InformacionFiscalPersona"/>
                       
      </xs:sequence>
                  
      </xs:complexType>
             
      </xs:element>
             
      <xs:complexType name="InformacionFiscalPersona">
                  
      <xs:sequence>
                       
      <xs:element minOccurs="0" maxOccurs="1" name="Persona" type="tns:Persona"/>
                       
      <xs:element minOccurs="0" maxOccurs="1" name="InformacionesFiscales" type="tns:ArrayOfInformacionFiscalEjercicio"/>
                  
      </xs:sequence>
             
      </xs:complexType>
             
      <xs:complexType name="Persona">
                  
      <xs:sequence>
                       
      <xs:element minOccurs="0" maxOccurs="1" name="NumeroDocumento" type="xs:string"/>
                       
      <xs:element minOccurs="0" maxOccurs="1" name="RazonSocial" type="xs:string"/>
                       
      <xs:element minOccurs="0" maxOccurs="1" name="TipoDocumento" type="xs:string"/>
                       
      <xs:element minOccurs="0" maxOccurs="1" name="ConceptoPersona" type="xs:string"/>
                  
      </xs:sequence>
             
      </xs:complexType>
             
      <xs:complexType name="ArrayOfInformacionFiscalEjercicio">
                  
      <xs:sequence>
                       
      <xs:element minOccurs="0" maxOccurs="unbounded" name="InformacionFiscalEjercicio"

                          nillable="true" type="tns:InformacionFiscalEjercicio"/>
                  
      </xs:sequence>
             
      </xs:complexType>
             
      <xs:complexType name="InformacionFiscalEjercicio">
                  
      <xs:sequence>
                       
      <xs:element minOccurs="1" maxOccurs="1" name="Ejercicio" type="xs:int"/>
                       
      <xs:element minOccurs="0" maxOccurs="1" name="Apartados" type="tns:ArrayOfApartado"/>
                  
      </xs:sequence>
             
      </xs:complexType>
             
      <xs:complexType name="ArrayOfApartado">
                  
      <xs:sequence>
                       
      <xs:element minOccurs="0" maxOccurs="unbounded" name="Apartado" nillable="true" type="tns:Apartado"/>
                  
      </xs:sequence>
             
      </xs:complexType>
             
      <xs:complexType name="Apartado">
                  
      <xs:sequence>
                       
      <xs:element minOccurs="1" maxOccurs="1" name="IdApartado" type="xs:int"/>
                       
      <xs:element minOccurs="0" maxOccurs="1" name="DescripcionApartado" type="xs:string"/>
                       
      <xs:element minOccurs="0" maxOccurs="1" name="Apartados" type="tns:ArrayOfApartado"/>
                  
      </xs:sequence>
             
      </xs:complexType>
             
      <xs:complexType name="ApartadoIrpf">
                  
      <xs:complexContent mixed="false">
                       
      <xs:extension base="tns:Apartado">
                            
      <xs:sequence>
                                 
      <xs:element minOccurs="1" maxOccurs="1" name="CondicionFamiliaNumerosa" type="xs:boolean"/>
                            
      </xs:sequence>
                       
      </xs:extension>
                  
      </xs:complexContent>
             
      </xs:complexType>
             
      <xs:complexType name="ApartadoIva">
                  
      <xs:complexContent mixed="false">
                       
      <xs:extension base="tns:Apartado">
                            
      <xs:sequence>
                                 
      <xs:element minOccurs="1" maxOccurs="1" name="CondicionSujetoPasivoIva" type="xs:boolean"/>
                            
      </xs:sequence>
                       
      </xs:extension>
                  
      </xs:complexContent>
             
      </xs:complexType>
             
      <xs:complexType name="ExcepcionSIEWcf">
                  
      <xs:sequence>
                       
      <xs:element minOccurs="0" name="CodigoError" type="xs:int"/>
                       
      <xs:element minOccurs="0" name="IdCorrelacion" nillable="true" type="xs:string"/>
                       
      <xs:element minOccurs="0" name="MsgError" nillable="true" type="xs:string"/>
                  
      </xs:sequence>
             
      </xs:complexType>
             
      <xs:element name="ExcepcionSIEWcf" nillable="true" type="tns:ExcepcionSIEWcf"/>
        
      </xs:schema>
      </wsdl:types>
      <wsdl:message name="IServicioDatos_ObtenerDatosPersona_InputMessage">
        
      <wsdl:part name="parameters" element="tns:ObtenerDatosPersona"/>
      </wsdl:message>
      <wsdl:message name="IServicioDatos_ObtenerDatosPersona_OutputMessage">
        
      <wsdl:part name="parameters" element="tns:ObtenerDatosPersonaResponse"/>
      </wsdl:message>
      <wsdl:message name="IServicioDatos_ObtenerDatosPersona_ExcepcionSIEWcfFault_FaultMessage">
        
      <wsdl:part name="detail" element="tns:ExcepcionSIEWcf"/>
      </wsdl:message>
      <wsdl:portType name="IServicioDatos">
        
      <wsdl:operation name="ObtenerDatosPersona">
             
      <wsdl:input wsaw:Action="http://aaa.bbbb.es/sie/IServicioDatos/ObtenerDatosPersona"

                message="tns:IServicioDatos_ObtenerDatosPersona_InputMessage"/>
             
      <wsdl:output wsaw:Action="http://aaa.bbbb.es/sie/IServicioDatos/ObtenerDatosPersonaResponse"

                message="tns:IServicioDatos_ObtenerDatosPersona_OutputMessage"/>
             
      <wsdl:fault wsaw:Action="http://aaa.bbbb.es/sie/IServicioDatos/ObtenerDatosPersonaExcepcionSIEWcfFault"

                name="ExcepcionSIEWcfFault" message="tns:IServicioDatos_ObtenerDatosPersona_ExcepcionSIEWcfFault_FaultMessage"/>
        
      </wsdl:operation>
      </wsdl:portType>
      <wsdl:binding name="BasicHttpBinding_IServicioDatos" type="tns:IServicioDatos">
        
      <soap:binding transport="http://schemas.xmlsoap.org/soap/http"/>
        
      <wsdl:operation name="ObtenerDatosPersona">
             
      <soap:operation soapAction="http://aaa.bbbb.es/sie/IServicioDatos/ObtenerDatosPersona" style="document"/>
             
      <wsdl:input>
                  
      <soap:body use="literal"/>
             
      </wsdl:input>
             
      <wsdl:output>
                  
      <soap:body use="literal"/>
             
      </wsdl:output>
             
      <wsdl:fault name="ExcepcionSIEWcfFault">
                  
      <soap:fault use="literal" name="ExcepcionSIEWcfFault" namespace=""/>
             
      </wsdl:fault>
        
      </wsdl:operation>
      </wsdl:binding>
      <wsdl:service name="ServicioDatos">
        
      <wsdl:port name="BasicHttpBinding_IServicioDatos" binding="tns:BasicHttpBinding_IServicioDatos">
             
      <soap:address location="http://localhost:8080/HTN.SIE.Servicio/ServicioDatos.svc"/>
        
      </wsdl:port>
      </wsdl:service>

       

      The response returned is:

       

      <soapenv:Envelope

           xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:sie="http://aaa.bbbb.es/sie" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
      <soapenv:Header/>
        
      <soapenv:Body>
             
      <sie:ObtenerDatosPersonaResponse>
                  
      <sie:ObtenerDatosPersonaResult>
                       
      <sie:Persona>
                            
      <sie:NumeroDocumento>03181606Q</sie:NumeroDocumento>
                            
      <sie:RazonSocial>xxx</sie:RazonSocial>
                            
      <sie:TipoDocumento>NIF</sie:TipoDocumento>
                            
      <sie:ConceptoPersona>aaa</sie:ConceptoPersona>
                       
      </sie:Persona>
                       
      <sie:InformacionesFiscales>
                            
      <sie:InformacionFiscalEjercicio>
                                 
      <sie:Ejercicio>2015</sie:Ejercicio>
                                 
      <sie:Apartados>
                                      
      <sie:Apartado xsi:type="ApartadoIrpf">
                                           
      <sie:IdApartado>0</sie:IdApartado>
                                           
      <sie:DescripcionApartado>false</sie:DescripcionApartado>
                                           
      <sie:CondicionFamiliaNumerosa>true</sie:CondicionFamiliaNumerosa>
                                      
      </sie:Apartado>
                                      
      <sie:Apartado xsi:type="ApartadoIva">
                                           
      <sie:IdApartado>0</sie:IdApartado>
                                           
      <sie:CondicionSujetoPasivoIva>false</sie:CondicionSujetoPasivoIva>
                                      
      </sie:Apartado>
                                 
      </sie:Apartados>
                            
      </sie:InformacionFiscalEjercicio>
                        
      </sie:InformacionesFiscales>
                  
      </sie:ObtenerDatosPersonaResult>
             
      </sie:ObtenerDatosPersonaResponse>
           </soapenv:Body>

      </soapenv:Envelope>

       

      The error is:

      {http://xml.apache.org/axis/}
      stackTrace
      :org.xml.sax.SAXException: Invalid element in es.bbbb.aaa.sie.Apartado - CondicionFamiliaNumerosa
      at org
      .apache.axis.encoding.ser.BeanDeserializer.onStartChild(BeanDeserializer.java:258)
      at org
      .apache.axis.encoding.DeserializationContext.startElement(DeserializationContext.java:1035)
      at org
      .apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.java:165)
      at org
      .apache.axis.message.MessageElement.publishToHandler(MessageElement.java:1141)
      at org
      .apache.axis.message.RPCElement.deserialize(RPCElement.java:236)
      at org
      .apache.axis.message.RPCElement.getParams(RPCElement.java:384)
      at org
      .apache.axis.client.Call.invoke(Call.java:2467)

       

      Could you give me any suggestions to fix the error?

      Thanks