[ http://issues.apache.org/jira/browse/AXIS-1869?page=comments#action_61111 ] Daniel David Schäfer commented on AXIS-1869: --------------------------------------------
Hi, this example shows one datatype of my wsdl: <simpleType name="ProductCode"> <restriction base="xsd:string"> <maxLength value="5"/> </restriction> </simpleType> The old axis made a Class called ProductCode with one member "value" an it´s getter and setter. My methods worked like this: getProductDetails(new ProductCode("XVVE-10")); The new version (1.2RC3) does not generate these classes. WSDL2Java generates methods like: getProductDetails("XVVE-10"); That´s ok. But what was´nt ok is that axis used xsd:string instead of myns:ProductCode. Here is the little patch I have provided. bye Daniel =================================================================== RCS file: /usr/local/cvsroot/dev_projects/axis12/src/org/apache/axis/wsdl/toJava/JavaBeanHelperWriter.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- dev_projects/axis12/src/org/apache/axis/wsdl/toJava/JavaBeanHelperWriter.java 2005/03/14 12:59:38 1.1 +++ dev_projects/axis12/src/org/apache/axis/wsdl/toJava/JavaBeanHelperWriter.java 2005/03/14 13:00:11 1.2 @@ -338,7 +338,19 @@ // Otherwise, use the type at the end of the ref // chain. - while (elemType.getRefType() != null) { + while (elemType.getRefType() != null) + { + if(!elemType.getQName().getNamespaceURI().equals("http://www.w3.org/2001/XMLSchema") + && elemType.getRefType().getQName().getNamespaceURI().equals("http://www.w3.org/2001/XMLSchema") + && elemType.getRefType().getRefType() == null) + { + System.out.println("INFO: Hier nutzen wir nicht " + + elemType.getRefType().getQName() + ", sondern " + + elemType.getQName()); + + break; + } + elemType = elemType.getRefType(); } > wsdl2java emits code that uses the wrong xml-types in case of declared > simpleTypes´s > ------------------------------------------------------------------------------------ > > Key: AXIS-1869 > URL: http://issues.apache.org/jira/browse/AXIS-1869 > Project: Axis > Type: Bug > Components: WSDL processing > Versions: 1.2RC3 > Environment: all environments > Reporter: Daniel David Schäfer > > I got a wsdl that uses several special data-types that are > actually strings with a restriction of e.g. 50 charcters length. > In earlier versions of axis, wsdl2java generated holder-classes for > these types but now the signature has changed and I get code without > these holders. I appreciate this, because it makes much of the > generated code easier to understand. > However the generated stubs do not use the correct xml-types that > were defined in the wsdl. > I changed some code in > org.apache.axis.wsdl.toJava.JavaBeanHelperWriter > The loop below should stop before it gets to the element that > represents the wrong type: > // Otherwise, use the type at the end of the ref > // chain. > while(elemType.getRefType() != null) > { > if(!elemType.getQName().getNamespaceURI().equals( > "http://www.w3.org/2001/XMLSchema") && > elemType.getRefType().getQName().getNamespaceURI().equals( > "http://www.w3.org/2001/XMLSchema") && > elemType.getRefType().getRefType() == null) > { > System.out.println("we do not use " + > elemType.getRefType().getQName() + " we prefer " + > elemType.getQName()); > break; > } > > elemType = elemType.getRefType(); > } > xmlType = elemType.getQName(); > This helped me to prefer my own xml-types and not to use xsd:string. -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa - If you want more information on JIRA, or have a bug to report see: http://www.atlassian.com/software/jira