[jboss-jira] [JBoss JIRA] Commented: (JBAS-5337) XmlElementWrapper + XmlElement annotations do not work on incoming SOAP

sector (JIRA) jira-events at lists.jboss.org
Sat Mar 22 01:03:40 EDT 2008


    [ http://jira.jboss.com/jira/browse/JBAS-5337?page=comments#action_12404142 ] 
            
sector commented on JBAS-5337:
------------------------------

Here is the complete Java file mentioned above:


import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlElementWrapper;
import java.util.HashSet;
import java.util.Set;

public class DeleteLabelsRequest extends BaseRequestObject {

  private static final long serialVersionUID = 3214567659875678760L;

  private Set<Long> ids;


  public DeleteLabelsRequest() {
    serviceKey = "delete.labels";
  }


  @XmlElementWrapper(name="ids")
  @XmlElement(name="id")
  public Set<Long> getIds() {
    return ids == null ? new HashSet<Long>() : ids;
  }


  public void setIds(Set<Long> ids) {
    this.ids = ids;
  }
}


> XmlElementWrapper + XmlElement annotations do not work on incoming SOAP
> -----------------------------------------------------------------------
>
>                 Key: JBAS-5337
>                 URL: http://jira.jboss.com/jira/browse/JBAS-5337
>             Project: JBoss Application Server
>          Issue Type: Bug
>      Security Level: Public(Everyone can see) 
>          Components: Web Services
>    Affects Versions: JBossAS-4.2.2.GA
>         Environment: WIndowsXP / FreeBSD
>            Reporter: sector
>         Assigned To: Thomas Diesler
>            Priority: Critical
>
> I am using document based web services on top of EJB3 and I recently upgraded from 4.0.5.GA to 4.2.2.GA. 
> After the upgrade the following method stopped working when I was sending data to the JBoss from my Flex application:
> @XmlElementWrapper(name="ids")
> @XmlElement(name="id")
> public Set<Long> getIds() {
>     return ids == null ? new HashSet<Long>() : ids;
> }
> Here is the SOAP that was sent across:
> <?xml version="1.0" encoding="utf-8"?>
> <SOAP-ENV:Envelope xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><SOAP-ENV:Body><ns0:executeDeleteLabels xmlns:ns0="http://com.coldcore/diva2/main-service"><arg0><site>ac1</site><ids><id>62653</id></ids></arg0></ns0:executeDeleteLabels></SOAP-ENV:Body></SOAP-ENV:Envelope>
> "ids" set in the method above was always null on 4.2.2.GA, and worked as expected on 4.0.5.GA
> After trying to find a solution in the internet I found that this might be caused by JBossXB, so I replaced all the "jboss-xml-binding.jar" in 4.2.2.GA with older versions from 4.0.5.GA (I also replaced all the jaxb-xxx.jar just in case). And it worked! The method returned "ids" as expected. I assume that "jboss-xml-binding.jar" under 4.2.2.GA is bugged.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        



More information about the jboss-jira mailing list