Discussion:
Problem with empty tags
Tomas Andersen
2014-12-03 10:47:23 UTC
Permalink
Hi

I am having a problem with a generated client from a WSDL.
I am using Apache Axis2/Java 1.6.2

We are communicating with a SOAP Service which is returning the following XML structure:

<Skjerming>
<Kode>
<Navn>U</Navn>
<Beskrivelse>Ugradert</Beskrivelse>
<Hjemmel/>
</Kode>
</Skjerming>


The tag named Hjemmel is causing AXIS2 problems. I get a ADBException: Unexpected subelement

The XSD describes the tag like this:


<xsd:complexType name="SkjermingskodeResponseType">
<xsd:annotation>
<xsd:documentation>Type som inneholder informasjon om skjermingskode ved response</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="Navn" type="cct:navn">
<xsd:annotation>
<xsd:documentation>Angir navnet på skjermingskoden.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="Beskrivelse" type="cct:tekst">
<xsd:annotation>
<xsd:documentation>Beskrivelse av avskjermingskoden.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="Hjemmel" type="HjemmelResponseType">
<xsd:annotation>
<xsd:documentation>Angir hjemmel som skal benyttes.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:complexType>

<xsd:complexType name="HjemmelResponseType">
<xsd:annotation>
<xsd:documentation>Type som inneholder informasjon om en skjermingshjemmel ved response</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="Navn" type="cct:navn">
<xsd:annotation>
<xsd:documentation>Angir navnet på hjemmelen.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="Beskrivelse" type="cct:tekst">
<xsd:annotation>
<xsd:documentation>Beskrivelse av hjemmel.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:complexType>


If i mock the SOAP Service and replaces the <Hjemmel/> tag with the following XML everything works ok:


<Skjerming>
<Kode>
<Navn>U</Navn>
<Beskrivelse>Ugradert</Beskrivelse>
<Hjemmel>
<Navn>A</Navn>
<Beskrivelse>AAA</Beskrivelse>
</Hjemmel>
</Kode>
</Skjerming>



Is there a way to be able to handle empty elements on the form <tag/> as a client using axis2?
Both for subtrees and for leaf-elements? If I put in a <tag/> for a leaf I get a Nullpointerexception because AXIS2 fails with toString on this element.

Best Regards,

Tomas Andersen
Senior Consultant
+47 91 87 32 77

TÞnne Huitfeldts Plass 2 | N-1767 Halden | NORWAY
www.morecom.no<http://www.morecom.no> <www.morecom.no<http://www.morecom.no>>

Disclaimer: This e-mail is bound by the terms and conditions described atwww.morecom.no/mail-disclaimer.html<http://www.morecom.no/mail-disclaimer.html> <http://www.morecom.no/mail-disclaimer.html>
Martin Gainty
2014-12-03 14:42:05 UTC
Permalink
From: ***@morecom.no
To: java-***@axis.apache.org
Subject: Problem with empty tags
Date: Wed, 3 Dec 2014 10:47:23 +0000









Hi



I am having a problem with a generated client from a WSDL.
I am using Apache Axis2/Java 1.6.2



We are communicating with a SOAP Service which is returning the following XML structure:

<Skjerming>
<Kode>
<Navn>U</Navn>
<Beskrivelse>Ugradert</Beskrivelse>
<Hjemmel/>
</Kode>
</Skjerming>


MG>take a look at this ResponseType

<xs:complexType name="ResponseType">
<xs:sequence>
<xs:element name="integer1" type="xs:unsignedInt"/>
<xs:element name="integer2" type="xs:unsignedInt"/>
</xs:sequence>
</xs:complexType>
<!-- the endtag for xs:complexType is here -->
<!-- we may now reference the tag ResponseType in further declarations -->

<xs:complexType name="UpdateResponseType">
<xs:complexContent>
<!-- this declaration says for my current UpdateResponseType tag i will extend from predefined ResponseType -->
<!-- the parser has already parsed ResponseType so any tags downstream will be able to extend from it as seen here -->
<xs:extension base="def:ResponseType">
<xs:choice>
<xs:element name="updateResponseChoice" type="xs:unsignedInt"/>
<xs:element name="updateResponseChoice2" type="xs:unsignedInt"/>
</xs:choice>
</xs:extension>
</xs:complexContent>
</xs:complexType>
MG>

MG>your definition of the 2 responseTypes are jumbled together so the parser is unable to make the distinction between
MG>HjemmelResponseType and SkjermingskodeResponseType



The tag named Hjemmel is causing AXIS2 problems. I get a ADBException: Unexpected subelement



The XSD describes the tag like this:




<xsd:complexType name="SkjermingskodeResponseType">
<xsd:annotation>
<xsd:documentation>Type som inneholder informasjon om skjermingskode ved response</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="Navn" type="cct:navn">
<xsd:annotation>
<xsd:documentation>Angir navnet på skjermingskoden.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="Beskrivelse" type="cct:tekst">
<xsd:annotation>
<xsd:documentation>Beskrivelse av avskjermingskoden.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="Hjemmel" type="HjemmelResponseType">
<xsd:annotation>
<xsd:documentation>Angir hjemmel som skal benyttes.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:complexType>



<xsd:complexType name="HjemmelResponseType">
<xsd:annotation>
<xsd:documentation>Type som inneholder informasjon om en skjermingshjemmel ved response</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="Navn" type="cct:navn">
<xsd:annotation>
<xsd:documentation>Angir navnet på hjemmelen.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="Beskrivelse" type="cct:tekst">
<xsd:annotation>
<xsd:documentation>Beskrivelse av hjemmel.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:complexType>



If i mock the SOAP Service and replaces the <Hjemmel/> tag with the following XML everything works ok:




<Skjerming>
<Kode>
<Navn>U</Navn>
<Beskrivelse>Ugradert</Beskrivelse>

MG>Here your new tag Hjemmel is being declared with no extensions or relationships to other tags

<Hjemmel>

<Navn>A</Navn>

<Beskrivelse>AAA</Beskrivelse>
</Hjemmel>
MG>end tag Hjemmel


</Kode>
</Skjerming>









Is there a way to be able to handle empty elements on the form <tag/> as a client using axis2?
Both for subtrees and for leaf-elements? If I put in a <tag/> for a leaf I get a Nullpointerexception because AXIS2 fails with toString on this element.



Best Regards,



Tomas Andersen

Senior Consultant

+47 91 87 32 77






Tønne Huitfeldts
Plass 2 | N-1767 Halden | NORWAY

www.morecom.no <www.morecom.no>

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
The one common undertaking and universal instrument of the great
majority of the human race is the United Nations. A patient,
constructive long-term use of its potentialities can bring a real and
secure peace to the world.

- Trygve Lie.......................... Former Secretary General of United Nations




Disclaimer: This e-mail is bound by the terms and conditions described atwww.morecom.no/mail-disclaimer.html <http://www.morecom.no/mail-disclaimer.html>
Tomas Andersen
2014-12-04 08:54:54 UTC
Permalink
Thank you for the suggestion, but still axis won’t handle the XML.
I tried to modify the xsd to this:


<xsd:complexType name="HjemmelResponseType">
<xsd:annotation>
<xsd:documentation>Type som inneholder informasjon om en skjermingshjemmel ved response</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="SkjermingskodeResponseType">
<xsd:sequence>
<xsd:element name="Navn" type="cct:navn">
<xsd:annotation>
<xsd:documentation>Angir navnet på hjemmelen.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="Beskrivelse" type="cct:tekst">
<xsd:annotation>
<xsd:documentation>Beskrivelse av hjemmel.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>


but still I get this error message:

org.apache.axis2.databinding.ADBException: Unexpected subelement {urn:no:vegvesen:saksarkiv:felles:typer:1}Hjemmel


When part of the response is on the form

<Skjerming>
<Kode>
<Navn>U</Navn>
<Beskrivelse>Ugradert</Beskrivelse>
<Hjemmel/>
</Kode>
</Skjerming>

Any ideas? Will it help to try to use something else to generate the clientcode instead of ADB? JiBX?

Regards,
Tomas Andersen



Hi

I am having a problem with a generated client from a WSDL.
I am using Apache Axis2/Java 1.6.2

We are communicating with a SOAP Service which is returning the following XML structure:

<Skjerming>
<Kode>
<Navn>U</Navn>
<Beskrivelse>Ugradert</Beskrivelse>
<Hjemmel/>
</Kode>
</Skjerming>


MG>take a look at this ResponseType

<xs:complexType name="ResponseType">
<xs:sequence>
<xs:element name="integer1" type="xs:unsignedInt"/>
<xs:element name="integer2" type="xs:unsignedInt"/>
</xs:sequence>
</xs:complexType>
<!-- the endtag for xs:complexType is here -->
<!-- we may now reference the tag ResponseType in further declarations -->

<xs:complexType name="UpdateResponseType">
<xs:complexContent>
<!-- this declaration says for my current UpdateResponseType tag i will extend from predefined ResponseType -->
<!-- the parser has already parsed ResponseType so any tags downstream will be able to extend from it as seen here -->
<xs:extension base="def:ResponseType">
<xs:choice>
<xs:element name="updateResponseChoice" type="xs:unsignedInt"/>
<xs:element name="updateResponseChoice2" type="xs:unsignedInt"/>
</xs:choice>
</xs:extension>
</xs:complexContent>
</xs:complexType>
MG>

MG>your definition of the 2 responseTypes are jumbled together so the parser is unable to make the distinction between
MG>HjemmelResponseType and SkjermingskodeResponseType

The tag named Hjemmel is causing AXIS2 problems. I get a ADBException: Unexpected subelement

The XSD describes the tag like this:


<xsd:complexType name="SkjermingskodeResponseType">
<xsd:annotation>
<xsd:documentation>Type som inneholder informasjon om skjermingskode ved response</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="Navn" type="cct:navn">
<xsd:annotation>
<xsd:documentation>Angir navnet på skjermingskoden.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="Beskrivelse" type="cct:tekst">
<xsd:annotation>
<xsd:documentation>Beskrivelse av avskjermingskoden.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="Hjemmel" type="HjemmelResponseType">
<xsd:annotation>
<xsd:documentation>Angir hjemmel som skal benyttes.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:complexType>

<xsd:complexType name="HjemmelResponseType">
<xsd:annotation>
<xsd:documentation>Type som inneholder informasjon om en skjermingshjemmel ved response</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="Navn" type="cct:navn">
<xsd:annotation>
<xsd:documentation>Angir navnet på hjemmelen.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="Beskrivelse" type="cct:tekst">
<xsd:annotation>
<xsd:documentation>Beskrivelse av hjemmel.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:complexType>


If i mock the SOAP Service and replaces the <Hjemmel/> tag with the following XML everything works ok:


<Skjerming>
<Kode>
<Navn>U</Navn>
<Beskrivelse>Ugradert</Beskrivelse>

MG>Here your new tag Hjemmel is being declared with no extensions or relationships to other tags
<Hjemmel>
<Navn>A</Navn>
<Beskrivelse>AAA</Beskrivelse>
</Hjemmel>
MG>end tag Hjemmel

</Kode>
</Skjerming>



Is there a way to be able to handle empty elements on the form <tag/> as a client using axis2?
Both for subtrees and for leaf-elements? If I put in a <tag/> for a leaf I get a Nullpointerexception because AXIS2 fails with toString on this element.

Best Regards,

Tomas Andersen
Senior Consultant
+47 91 87 32 77

Tønne Huitfeldts Plass 2 | N-1767 Halden | NORWAY
www.morecom.no<http://www.morecom.no> <www.morecom.no<http://www.morecom.no>>

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
The one common undertaking and universal instrument of the great majority of the human race is the United Nations. A patient, constructive long-term use of its potentialities can bring a real and secure peace to the world.
- Trygve Lie.......................... Former Secretary General of United Nations


Disclaimer: This e-mail is bound by the terms and conditions described atwww.morecom.no/mail-disclaimer.html<http://www.morecom.no/mail-disclaimer.html> <http://www.morecom.no/mail-disclaimer.html>
Tomas Andersen
2014-12-05 13:00:34 UTC
Permalink
Hi, I managed to fix my problem.

I am still using ADB, but I added databindingname=“xmlbeans” as a parameter to axis2-wsdl2java
The new generated code handles empty tags now :)

Regards,
Tomas


From: Tomas Andersen <***@morecom.no<mailto:***@morecom.no>>
Date: Thursday 4 December 2014 09:54
To: "java-***@axis.apache.org<mailto:java-***@axis.apache.org>" <java-***@axis.apache.org<mailto:java-***@axis.apache.org>>
Cc: "***@hotmail.com<mailto:***@hotmail.com>" <***@hotmail.com<mailto:***@hotmail.com>>
Subject: Re: Problem with empty tags

Thank you for the suggestion, but still axis won’t handle the XML.
I tried to modify the xsd to this:


<xsd:complexType name="HjemmelResponseType">
<xsd:annotation>
<xsd:documentation>Type som inneholder informasjon om en skjermingshjemmel ved response</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="SkjermingskodeResponseType">
<xsd:sequence>
<xsd:element name="Navn" type="cct:navn">
<xsd:annotation>
<xsd:documentation>Angir navnet på hjemmelen.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="Beskrivelse" type="cct:tekst">
<xsd:annotation>
<xsd:documentation>Beskrivelse av hjemmel.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>


but still I get this error message:

org.apache.axis2.databinding.ADBException: Unexpected subelement {urn:no:vegvesen:saksarkiv:felles:typer:1}Hjemmel


When part of the response is on the form

<Skjerming>
<Kode>
<Navn>U</Navn>
<Beskrivelse>Ugradert</Beskrivelse>
<Hjemmel/>
</Kode>
</Skjerming>

Any ideas? Will it help to try to use something else to generate the clientcode instead of ADB? JiBX?

Regards,
Tomas Andersen



Hi

I am having a problem with a generated client from a WSDL.
I am using Apache Axis2/Java 1.6.2

We are communicating with a SOAP Service which is returning the following XML structure:

<Skjerming>
<Kode>
<Navn>U</Navn>
<Beskrivelse>Ugradert</Beskrivelse>
<Hjemmel/>
</Kode>
</Skjerming>


MG>take a look at this ResponseType

<xs:complexType name="ResponseType">
<xs:sequence>
<xs:element name="integer1" type="xs:unsignedInt"/>
<xs:element name="integer2" type="xs:unsignedInt"/>
</xs:sequence>
</xs:complexType>
<!-- the endtag for xs:complexType is here -->
<!-- we may now reference the tag ResponseType in further declarations -->

<xs:complexType name="UpdateResponseType">
<xs:complexContent>
<!-- this declaration says for my current UpdateResponseType tag i will extend from predefined ResponseType -->
<!-- the parser has already parsed ResponseType so any tags downstream will be able to extend from it as seen here -->
<xs:extension base="def:ResponseType">
<xs:choice>
<xs:element name="updateResponseChoice" type="xs:unsignedInt"/>
<xs:element name="updateResponseChoice2" type="xs:unsignedInt"/>
</xs:choice>
</xs:extension>
</xs:complexContent>
</xs:complexType>
MG>

MG>your definition of the 2 responseTypes are jumbled together so the parser is unable to make the distinction between
MG>HjemmelResponseType and SkjermingskodeResponseType

The tag named Hjemmel is causing AXIS2 problems. I get a ADBException: Unexpected subelement

The XSD describes the tag like this:


<xsd:complexType name="SkjermingskodeResponseType">
<xsd:annotation>
<xsd:documentation>Type som inneholder informasjon om skjermingskode ved response</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="Navn" type="cct:navn">
<xsd:annotation>
<xsd:documentation>Angir navnet på skjermingskoden.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="Beskrivelse" type="cct:tekst">
<xsd:annotation>
<xsd:documentation>Beskrivelse av avskjermingskoden.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="Hjemmel" type="HjemmelResponseType">
<xsd:annotation>
<xsd:documentation>Angir hjemmel som skal benyttes.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:complexType>

<xsd:complexType name="HjemmelResponseType">
<xsd:annotation>
<xsd:documentation>Type som inneholder informasjon om en skjermingshjemmel ved response</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="Navn" type="cct:navn">
<xsd:annotation>
<xsd:documentation>Angir navnet på hjemmelen.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="Beskrivelse" type="cct:tekst">
<xsd:annotation>
<xsd:documentation>Beskrivelse av hjemmel.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:complexType>


If i mock the SOAP Service and replaces the <Hjemmel/> tag with the following XML everything works ok:


<Skjerming>
<Kode>
<Navn>U</Navn>
<Beskrivelse>Ugradert</Beskrivelse>

MG>Here your new tag Hjemmel is being declared with no extensions or relationships to other tags
<Hjemmel>
<Navn>A</Navn>
<Beskrivelse>AAA</Beskrivelse>
</Hjemmel>
MG>end tag Hjemmel

</Kode>
</Skjerming>



Is there a way to be able to handle empty elements on the form <tag/> as a client using axis2?
Both for subtrees and for leaf-elements? If I put in a <tag/> for a leaf I get a Nullpointerexception because AXIS2 fails with toString on this element.

Best Regards,

Tomas Andersen
Senior Consultant
+47 91 87 32 77

Tønne Huitfeldts Plass 2 | N-1767 Halden | NORWAY
www.morecom.no<http://www.morecom.no> <www.morecom.no<http://www.morecom.no>>

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
The one common undertaking and universal instrument of the great majority of the human race is the United Nations. A patient, constructive long-term use of its potentialities can bring a real and secure peace to the world.
- Trygve Lie.......................... Former Secretary General of United Nations


Disclaimer: This e-mail is bound by the terms and conditions described atwww.morecom.no/mail-disclaimer.html<http://www.morecom.no/mail-disclaimer.html> <http://www.morecom.no/mail-disclaimer.html>
Martin Gainty
2014-12-05 13:28:23 UTC
Permalink
From: ***@morecom.no
To: java-***@axis.apache.org
CC: ***@hotmail.com
Subject: Re: Problem with empty tags
Date: Fri, 5 Dec 2014 13:00:34 +0000







Hi, I managed to fix my problem.




I am still using ADB, but I added databindingname=“xmlbeans”
as a parameter to axis2-wsdl2java
The new generated code handles empty tags now :)

MG>wanted to make sure your parser parsed RequestType, ResponseType Elements before attempted extension
MG>by other elements...xmlbeans has a tendency to go overboard with "hundreds of generated classes"
MG>the good news is that each xmlbean is constructed as a discrete atomic unit before the next bean is constructed
MG>if your ADB RequestType and ResponseType XML elements are discrete atomic units (and not jumbled together)
MG>this would be considered a bug in ADB
MG>if you file a bug report I will make sure this problem is addressed
MG>Takk,




Regards,
Tomas










From: Tomas Andersen <***@morecom.no>

Date: Thursday 4 December 2014 09:54

To: "java-***@axis.apache.org" <java-***@axis.apache.org>

Cc: "***@hotmail.com" <***@hotmail.com>

Subject: Re: Problem with empty tags








Thank you for the suggestion, but still axis won’t handle the XML.

I tried to modify the xsd to this:





<xsd:complexType name="HjemmelResponseType">
<xsd:annotation>
<xsd:documentation>Type som inneholder informasjon om en skjermingshjemmel ved response</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="SkjermingskodeResponseType">
<xsd:sequence>
<xsd:element name="Navn" type="cct:navn">
<xsd:annotation>
<xsd:documentation>Angir navnet på hjemmelen.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="Beskrivelse" type="cct:tekst">
<xsd:annotation>
<xsd:documentation>Beskrivelse av hjemmel.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>



but still I get this error message:
org.apache.axis2.databinding.ADBException: Unexpected subelement {urn:no:vegvesen:saksarkiv:felles:typer:1}Hjemmel
When part of the response is on the form


<Skjerming>
<Kode>
<Navn>U</Navn>
<Beskrivelse>Ugradert</Beskrivelse>
<Hjemmel/>
</Kode>
</Skjerming>






Any ideas? Will it help to try to use something else to generate the clientcode instead of ADB? JiBX?





Regards,

Tomas Andersen




















Hi



I am having a problem with a generated client from a WSDL.
I am using Apache Axis2/Java 1.6.2



We are communicating with a SOAP Service which is returning the following XML structure:

<Skjerming>
<Kode>
<Navn>U</Navn>
<Beskrivelse>Ugradert</Beskrivelse>
<Hjemmel/>
</Kode>
</Skjerming>


MG>take a look at this ResponseType



<xs:complexType name="ResponseType">

<xs:sequence>

<xs:element name="integer1" type="xs:unsignedInt"/>

<xs:element name="integer2" type="xs:unsignedInt"/>

</xs:sequence>

</xs:complexType>

<!-- the endtag for xs:complexType is here -->

<!-- we may now reference the tag ResponseType in further declarations -->



<xs:complexType name="UpdateResponseType">

<xs:complexContent>

<!-- this declaration says for my current UpdateResponseType tag i will extend from predefined ResponseType -->

<!-- the parser has already parsed ResponseType so any tags downstream will be able to extend from it as seen here -->

<xs:extension base="def:ResponseType">

<xs:choice>

<xs:element name="updateResponseChoice" type="xs:unsignedInt"/>

<xs:element name="updateResponseChoice2" type="xs:unsignedInt"/>

</xs:choice>

</xs:extension>

</xs:complexContent>

</xs:complexType>

MG>



MG>your definition of the 2 responseTypes are jumbled together so the parser is unable to make the distinction between

MG>HjemmelResponseType and
SkjermingskodeResponseType




The tag named Hjemmel is causing AXIS2 problems. I get a ADBException: Unexpected subelement



The XSD describes the tag like this:




<xsd:complexType name="SkjermingskodeResponseType">
<xsd:annotation>
<xsd:documentation>Type som inneholder informasjon om skjermingskode ved response</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="Navn" type="cct:navn">
<xsd:annotation>
<xsd:documentation>Angir navnet på skjermingskoden.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="Beskrivelse" type="cct:tekst">
<xsd:annotation>
<xsd:documentation>Beskrivelse av avskjermingskoden.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="Hjemmel" type="HjemmelResponseType">
<xsd:annotation>
<xsd:documentation>Angir hjemmel som skal benyttes.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:complexType>



<xsd:complexType name="HjemmelResponseType">
<xsd:annotation>
<xsd:documentation>Type som inneholder informasjon om en skjermingshjemmel ved response</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="Navn" type="cct:navn">
<xsd:annotation>
<xsd:documentation>Angir navnet på hjemmelen.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="Beskrivelse" type="cct:tekst">
<xsd:annotation>
<xsd:documentation>Beskrivelse av hjemmel.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:complexType>



If i mock the SOAP Service and replaces the <Hjemmel/> tag with the following XML everything works ok:




<Skjerming>
<Kode>
<Navn>U</Navn>
<Beskrivelse>Ugradert</Beskrivelse>



MG>Here your new tag Hjemmel is being declared with no extensions or relationships to other tags


<Hjemmel>
<Navn>A</Navn>
<Beskrivelse>AAA</Beskrivelse>
</Hjemmel>

MG>end tag Hjemmel




</Kode>
</Skjerming>









Is there a way to be able to handle empty elements on the form <tag/> as a client using axis2?
Both for subtrees and for leaf-elements? If I put in a <tag/> for a leaf I get a Nullpointerexception because AXIS2 fails with toString on this element.



Best Regards,



Tomas Andersen

Senior Consultant

+47 91 87 32 77





Tønne Huitfeldts
Plass 2 | N-1767 Halden | NORWAY

www.morecom.no <www.morecom.no>




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

The one common undertaking and universal instrument of the great majority of the human race is the United Nations. A patient, constructive long-term use of its potentialities can bring a real and secure peace to the world.

- Trygve Lie.......................... Former Secretary General of United Nations





Disclaimer: This e-mail is bound by the terms and conditions described atwww.morecom.no/mail-disclaimer.html <http://www.morecom.no/mail-disclaimer.html>
Loading...