cxf-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Peter Szanto (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (CXF-4502) An Exception cannot be marshalled if contains a field of type java.util.Set
Date Thu, 13 Sep 2012 10:18:07 GMT

     [ https://issues.apache.org/jira/browse/CXF-4502?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Peter Szanto updated CXF-4502:
------------------------------

    Description: 
If I have an Exception that has a java.util.Set field like this :

	private Set<Integer> references; 

	public Set<Integer> getReferences() {
		return references;
	}

	public void setReferences(Set<Integer> references) {
		this.references = references;
	}


then when I throw it I get the below exception :

Caused by: java.lang.IllegalArgumentException: Argument is not an array
	at java.lang.reflect.Array.getLength(Native Method)
	at org.apache.cxf.jaxb.JAXBEncoderDecoder.writeArrayObject(JAXBEncoderDecoder.java:423)
	at org.apache.cxf.jaxb.JAXBEncoderDecoder.marshallException(JAXBEncoderDecoder.java:389)



Looking at the source of JAXBEncoderDecoder.writeArrayObject it is quite obvious that List
is explicitly handled, but handling a Set is missing.

  was:
If I have an Exception that has a Set field like this :

	private Set<Integer> references; 

	public Set<Integer> getReferences() {
		return references;
	}

	public void setReferences(Set<Integer> references) {
		this.references = references;
	}


then when I throw it I get the below exception :

Caused by: java.lang.IllegalArgumentException: Argument is not an array
	at java.lang.reflect.Array.getLength(Native Method)
	at org.apache.cxf.jaxb.JAXBEncoderDecoder.writeArrayObject(JAXBEncoderDecoder.java:423)
	at org.apache.cxf.jaxb.JAXBEncoderDecoder.marshallException(JAXBEncoderDecoder.java:389)



Looking at the source of JAXBEncoderDecoder.writeArrayObject it is quite obvious that List
is explicitly handled, but handling a Set is missing.

    
> An Exception cannot be marshalled if contains a field of type java.util.Set 
> ----------------------------------------------------------------------------
>
>                 Key: CXF-4502
>                 URL: https://issues.apache.org/jira/browse/CXF-4502
>             Project: CXF
>          Issue Type: Bug
>          Components: JAX-WS Runtime, JAXB Databinding
>    Affects Versions: 2.6.1
>            Reporter: Peter Szanto
>            Priority: Critical
>
> If I have an Exception that has a java.util.Set field like this :
> 	private Set<Integer> references; 
> 	public Set<Integer> getReferences() {
> 		return references;
> 	}
> 	public void setReferences(Set<Integer> references) {
> 		this.references = references;
> 	}
> then when I throw it I get the below exception :
> Caused by: java.lang.IllegalArgumentException: Argument is not an array
> 	at java.lang.reflect.Array.getLength(Native Method)
> 	at org.apache.cxf.jaxb.JAXBEncoderDecoder.writeArrayObject(JAXBEncoderDecoder.java:423)
> 	at org.apache.cxf.jaxb.JAXBEncoderDecoder.marshallException(JAXBEncoderDecoder.java:389)
> Looking at the source of JAXBEncoderDecoder.writeArrayObject it is quite obvious that
List is explicitly handled, but handling a Set is missing.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Mime
View raw message