[
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