I am using jbossws-1.0.0 in JBoss 4.0.2 CR2 with JDK 1.5.0_6.
I have a web service that uses a value type implementing the enum pattern:
|
| public class MembershipStatus {
| public static final String _current = "current";
| public static final String _expired = "expired";
| public static final String _unknown = "unknown";
|
| public static final MembershipStatus CURRENT = new
MembershipStatus(_current);
| public static final MembershipStatus EXPIRED = new
MembershipStatus(_expired);
| public static final MembershipStatus UNKNOWN = new
MembershipStatus(_unknown);
|
| private static Map<String, MembershipStatus> statuses;
|
| static {
| statuses = new HashMap<String, MembershipStatus>();
| statuses.put(_current, CURRENT);
| statuses.put(_expired, EXPIRED);
| statuses.put(_unknown, UNKNOWN);
| }
|
| public static MembershipStatus fromValue(String candiateValue) {
| MembershipStatus result = statuses.get(candiateValue);
| if (result == null) {
| throw new IllegalArgumentException(candiateValue);
| }
| return result;
| }
|
|
| private String value;
|
| protected MembershipStatus(String newValue) {
| value = newValue;
| }
|
| public String getValue() {
| return value;
| }
| }
|
jbossws recognizes this pattern enough to generate the correct WSDL:
| .
| .
| .
| <simpleType name='MembershipStatus'>
| <restriction base='string'>
| <enumeration value='current'/>
| <enumeration value='expired'/>
| <enumeration value='unknown'/>
| </restriction>
| </simpleType>
| .
| .
| .
|
but when I run wstools using this wstools-confg.xml
|
| <configuration xmlns="http://www.jboss.org/jbossws-tools"
| xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
| xsi:schemaLocation="http://www.jboss.org/jbossws-tools
http://www.jboss.org/jbossws-tools/schema/jbossws-tool_1_0.xsd">
|
| <wsdl-java
file="Generated-src/META-INF/wsdl/FBCMembershipVerification.wsdl">
| <mapping file="META-INF/jaxrpc-mapping.xml" />
| </wsdl-java>
|
| </configuration>
|
It generates Java code for everything except the MembershipStatus type. It
also generates other classes which the type as though it is expected to have
been generated.
I tried supplying my own implementation of MembershipStatus but a call which
returns the type fails because it cannot obtain deserializer factory for
MembershipStatus.
Am I doing something wrong or is this a missing feature?
I know that generating for JDK5 enums is not yet supported from reading bug
JBWS-446 but reading JBWS-231 lead me to believe this problem had been fixed.
View the original post :
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3943610#3943610
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3943610
-------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
JBoss-user mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/jboss-user