Bug 999893 - XMLJavaTypeAdapter not working in Exception Classes
Summary: XMLJavaTypeAdapter not working in Exception Classes
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: JBoss Enterprise Application Platform 6
Classification: JBoss
Component: Web Services
Version: 6.1.0
Hardware: Unspecified
OS: Unspecified
unspecified
high
Target Milestone: ER7
: EAP 6.2.0
Assignee: Alessio Soldano
QA Contact: Rostislav Svoboda
Russell Dickenson
URL:
Whiteboard:
Depends On: 1021549
Blocks:
TreeView+ depends on / blocked
 
Reported: 2013-08-22 10:43 UTC by Mustafa Musaji
Modified: 2018-12-06 15:15 UTC (History)
4 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2013-12-15 16:23:13 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)
TestCase (7.55 KB, application/zip)
2013-11-05 09:16 UTC, Petr Sakař
no flags Details


Links
System ID Private Priority Status Summary Last Updated
Apache JIRA CXF-5219 0 None None None Never
Red Hat Issue Tracker JBWS-3690 0 Major Closed XMLJavaTypeAdapter not working in Exception Classes 2014-08-08 13:39:17 UTC

Description Mustafa Musaji 2013-08-22 10:43:03 UTC
Platform BZ for https://issues.jboss.org/browse/JBWS-3690

Given the interface:
@javax.jws.WebService
public interface WsIntfc {
    public void test() throws MyException;
}

And exception class:
public class MyException extends Exception {
  private MyClass1 adapted = null;
  
  @XmlJavaTypeAdapter(Cl1ToCl2Adapter.class)
  public MyClass1 getAdapted() {
      return this.adapted;
  }
  
  public void setAdapted(MyClass1 adapted) {
      this.adapted = adapted;
  }
}

Along with:
public class Cl1ToCl2Adapter extends XmlAdapter<MyClass2, MyClass1> {
  @Override
  public MyClass1 unmarshal(MyClass2 v) throws Exception {
      MyClass1 mc1 = new MyClass1();
      mc1.setName(v.getFile());
      return mc1;
  }

  @Override
  public MyClass2 marshal(MyClass1 v) throws Exception {
      MyClass2 mc2 = new MyClass2();
      mc2.setFile(v.getName());
      return mc2;
  }
}

public class MyClass1 {
  private String name = null;
  
  public String getName() {
    return this.name;
  }
  
  public void setName(String name) {
    this.name = name;
  }
  
}

public class MyClass2 {
  private String file = null;
  
  public String getFile() {
    return this.file;
  }
  
  public void setFile(String file) {
    this.file = file;
  }
}



I get the following schema output:

<xs:complexType name="myClass1">
  <xs:sequence>
    <xs:element minOccurs="0" name="name" type="xs:string"/>
  </xs:sequence>
</xs:complexType>
<xs:complexType name="MyException">
  <xs:sequence/>
</xs:complexType>


I should expect myClass2 defined in the schema and referenced by MyException.

Comment 1 Rostislav Svoboda 2013-09-23 08:59:43 UTC
Should be fixed in CXF 2.7.7 / JBossWS CXF 4.2.1

Comment 2 Alessio Soldano 2013-09-23 09:10:14 UTC
Rostislav, JBossWS 4.2.1.Final was released without Apache CXF upgrade to 2.7.7.

Comment 4 Rostislav Svoboda 2013-09-23 13:25:56 UTC
Alessio, thanks for clarification. I didn't check the pom for cxf version.

Comment 6 JBoss JIRA Server 2013-10-21 09:12:20 UTC
Alessio Soldano <asoldano> updated the status of jira JBWS-3690 to Resolved

Comment 7 JBoss JIRA Server 2013-10-21 14:11:03 UTC
Alessio Soldano <asoldano> updated the status of jira JBWS-3690 to Closed

Comment 9 Petr Sakař 2013-11-05 09:16:08 UTC
Created attachment 819597 [details]
TestCase

mvn verify -Djboss.home=/home/development/jbossqe/JBEAP-6.2.0.ER6/build/jboss-eap-6.2

Comment 10 Petr Sakař 2013-11-05 09:17:33 UTC
Verify using attachment from comment#9 
EAP 6.2.0.ER7 passed
EAP 6.2.0.ER6 failed


Note You need to log in before you can comment on or make changes to this bug.