[ 
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

Reply via email to