[
https://issues.apache.org/jira/browse/AXIS2-5190?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Brett Walker updated AXIS2-5190:
--------------------------------
Description:
This stacktrace is generated on the client side when constructing Java classes
by parsing xml data
org.apache.axis2.databinding.utils.ConverterUtil$ObjectConversionException:
java.lang.ArrayStoreException
at
org.apache.axis2.databinding.utils.ConverterUtil.ConvertToArbitraryObjectArray(ConverterUtil.java:1211)
at
org.apache.axis2.databinding.utils.ConverterUtil.convertToArray(ConverterUtil.java:1172)
at
au.gov.business.ablis._2011_09.data.ServiceType$Factory.parse(ServiceType.java:3864)
at
au.gov.business.ablis._2011_09.messages.contentmanagement.RequestItemChoice_type0$Factory.parse(RequestItemChoice_type0.java:1202)
at
au.gov.business.ablis._2011_09.messages.contentmanagement.RequestItem_type0$Factory.parse(RequestItem_type0.java:463)
at
au.gov.business.ablis._2011_09.messages.contentmanagement.ManageContentRequest$Factory.parse(ManageContentRequest.java:544)
at
com.geometryit.blis.production.Publish.publishLicenceUsingWebService(Publish.java:762)
.. 21 more (mainly tomcat portion of stacktrace, excluded for brevity)
Caused by: java.lang.ArrayStoreException
at java.lang.System.arraycopy(Native Method)
at java.util.ArrayList.toArray(ArrayList.java:306)
at
org.apache.axis2.databinding.utils.ConverterUtil.ConvertToArbitraryObjectArray(ConverterUtil.java:1207)
... 27 more
The section of code that creates the Java classes follows:
757 StringReader in = new StringReader( xmlString );
758 XMLStreamReader reader = StAXUtils.createXMLStreamReader( in );
759
760 try
761 {
762 ManageContentRequest.Factory.parse( reader );
763 }
764 catch ( Exception e )
765 {
766 this.log.error( xmlString );
767 this.log.info( e.getLocalizedMessage(), e );
768 e.printStackTrace();
769 }
The portion of the Java-Axis2 class that is involved in the stacktrace is
java.util.ArrayList list25 = new java.util.ArrayList();
// Process the array and step past its final element's end.
list25.add(reader.getElementText());
//loop until we find a start element that is not part of this array
boolean loopDone25 = false;
while(!loopDone25){
// Ensure we are at the EndElement
while (!reader.isEndElement()){
reader.next();
}
// Step out of this element
reader.next();
// Step to next element event.
while (!reader.isStartElement() && !reader.isEndElement())
reader.next();
if (reader.isEndElement()){
//two continuous end elements means we are exiting the xml structure
loopDone25 = true;
} else {
if (new
javax.xml.namespace.QName("http://ablis.business.gov.au/2011-09/Data","URL").equals(reader.getName())){
list25.add(reader.getElementText());
}else{
loopDone25 = true;
}
}
}
// call the converter utility to convert and set the array
object.setURL((org.apache.axis2.databinding.types.URI[])
3864 org.apache.axis2.databinding.utils.ConverterUtil.convertToArray(
org.apache.axis2.databinding.types.URI.class,list25));
See the attachments for the relevant xml string and the relevant xsd. These are
not complete files but snippets. More detailed information can be provided if
required.
was:
This stacktrace is generated on the client side when constructing Java classes
by parsing xml data
org.apache.axis2.databinding.utils.ConverterUtil$ObjectConversionException:
java.lang.ArrayStoreException
at
org.apache.axis2.databinding.utils.ConverterUtil.ConvertToArbitraryObjectArray(ConverterUtil.java:1211)
at
org.apache.axis2.databinding.utils.ConverterUtil.convertToArray(ConverterUtil.java:1172)
at
au.gov.business.ablis._2011_09.data.ServiceType$Factory.parse(ServiceType.java:3864)
at
au.gov.business.ablis._2011_09.messages.contentmanagement.RequestItemChoice_type0$Factory.parse(RequestItemChoice_type0.java:1202)
at
au.gov.business.ablis._2011_09.messages.contentmanagement.RequestItem_type0$Factory.parse(RequestItem_type0.java:463)
at
au.gov.business.ablis._2011_09.messages.contentmanagement.ManageContentRequest$Factory.parse(ManageContentRequest.java:544)
at
com.geometryit.blis.production.Publish.publishLicenceUsingWebService(Publish.java:762)
.. 21 more (mainly tomcat portion of stacktrace, excluded for brevity)
Caused by: java.lang.ArrayStoreException
at java.lang.System.arraycopy(Native Method)
at java.util.ArrayList.toArray(ArrayList.java:306)
at
org.apache.axis2.databinding.utils.ConverterUtil.ConvertToArbitraryObjectArray(ConverterUtil.java:1207)
... 27 more
The section of code that creates the Java classes follows:
757 StringReader in = new StringReader( xmlString );
758 XMLStreamReader reader = StAXUtils.createXMLStreamReader( in );
759
760 try
761 {
762 ManageContentRequest.Factory.parse( reader );
763 }
764 catch ( Exception e )
765 {
766 this.log.error( xmlString );
767 this.log.info( e.getLocalizedMessage(), e );
768 e.printStackTrace();
769 }
The portion of the Java-Axis2 class that is involved in the stacktrace is
java.util.ArrayList list25 = new java.util.ArrayList();
// Process the array and step past its final element's end.
list25.add(reader.getElementText());
//loop until we find a start element that is not part of this array
boolean loopDone25 = false;
while(!loopDone25){
// Ensure we are at the EndElement
while (!reader.isEndElement()){
reader.next();
}
// Step out of this element
reader.next();
// Step to next element event.
while (!reader.isStartElement() && !reader.isEndElement())
reader.next();
if (reader.isEndElement()){
//two continuous end elements means we are exiting the xml structure
loopDone25 = true;
} else {
if (new
javax.xml.namespace.QName("http://ablis.business.gov.au/2011-09/Data","URL").equals(reader.getName())){
list25.add(reader.getElementText());
}else{
loopDone25 = true;
}
}
}
// call the converter utility to convert and set the array
object.setURL((org.apache.axis2.databinding.types.URI[])
3864 org.apache.axis2.databinding.utils.ConverterUtil.convertToArray(
org.apache.axis2.databinding.types.URI.class,list25));
> Throwing ArrayStoreException on construction of URI List
> --------------------------------------------------------
>
> Key: AXIS2-5190
> URL: https://issues.apache.org/jira/browse/AXIS2-5190
> Project: Axis2
> Issue Type: Bug
> Components: databinding
> Affects Versions: 1.6.1
> Environment: Windows 7, 64-bit; Java 1.6.0_24; Tomcat 7.0.8
> Reporter: Brett Walker
> Priority: Critical
> Attachments: request.xml, service.xsd
>
>
> This stacktrace is generated on the client side when constructing Java
> classes by parsing xml data
> org.apache.axis2.databinding.utils.ConverterUtil$ObjectConversionException:
> java.lang.ArrayStoreException
> at
> org.apache.axis2.databinding.utils.ConverterUtil.ConvertToArbitraryObjectArray(ConverterUtil.java:1211)
>
> at
> org.apache.axis2.databinding.utils.ConverterUtil.convertToArray(ConverterUtil.java:1172)
>
> at
> au.gov.business.ablis._2011_09.data.ServiceType$Factory.parse(ServiceType.java:3864)
>
> at
> au.gov.business.ablis._2011_09.messages.contentmanagement.RequestItemChoice_type0$Factory.parse(RequestItemChoice_type0.java:1202)
>
> at
> au.gov.business.ablis._2011_09.messages.contentmanagement.RequestItem_type0$Factory.parse(RequestItem_type0.java:463)
>
> at
> au.gov.business.ablis._2011_09.messages.contentmanagement.ManageContentRequest$Factory.parse(ManageContentRequest.java:544)
>
> at
> com.geometryit.blis.production.Publish.publishLicenceUsingWebService(Publish.java:762)
>
> .. 21 more (mainly tomcat portion of stacktrace, excluded for brevity)
> Caused by: java.lang.ArrayStoreException
> at java.lang.System.arraycopy(Native Method)
> at java.util.ArrayList.toArray(ArrayList.java:306)
> at
> org.apache.axis2.databinding.utils.ConverterUtil.ConvertToArbitraryObjectArray(ConverterUtil.java:1207)
>
> ... 27 more
> The section of code that creates the Java classes follows:
> 757 StringReader in = new StringReader( xmlString );
> 758 XMLStreamReader reader = StAXUtils.createXMLStreamReader( in );
> 759
> 760 try
> 761 {
> 762 ManageContentRequest.Factory.parse( reader );
> 763 }
> 764 catch ( Exception e )
> 765 {
> 766 this.log.error( xmlString );
> 767 this.log.info( e.getLocalizedMessage(), e );
> 768 e.printStackTrace();
> 769 }
> The portion of the Java-Axis2 class that is involved in the stacktrace is
> java.util.ArrayList list25 = new java.util.ArrayList();
> // Process the array and step past its final element's end.
> list25.add(reader.getElementText());
> //loop until we find a start element that is not part of this array
> boolean loopDone25 = false;
> while(!loopDone25){
> // Ensure we are at the EndElement
> while (!reader.isEndElement()){
> reader.next();
> }
> // Step out of this element
> reader.next();
> // Step to next element event.
> while (!reader.isStartElement() && !reader.isEndElement())
> reader.next();
> if (reader.isEndElement()){
> //two continuous end elements means we are exiting the xml structure
> loopDone25 = true;
> } else {
> if (new
> javax.xml.namespace.QName("http://ablis.business.gov.au/2011-09/Data","URL").equals(reader.getName())){
> list25.add(reader.getElementText());
> }else{
> loopDone25 = true;
> }
> }
> }
> // call the converter utility to convert and set the array
> object.setURL((org.apache.axis2.databinding.types.URI[])
> 3864 org.apache.axis2.databinding.utils.ConverterUtil.convertToArray(
> org.apache.axis2.databinding.types.URI.class,list25));
> See the attachments for the relevant xml string and the relevant xsd. These
> are not complete files but snippets. More detailed information can be
> provided if required.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]