[ 
https://issues.apache.org/jira/browse/AXIS2-1749?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12481515
 ] 

Geir Egil Hansen commented on AXIS2-1749:
-----------------------------------------

Although it is possible to do restriction by inheritance in Java (and C++), 
there is no specific syntax denoting that is what is done. It's done only 
programatically.

So I cannot see how to differ between restriction and extension.  I think Axis2 
should always use extension.  Another thing; how will Axis2 generate client 
code (and server code for that matter) on WSDL's using restriction and/or 
extension?  Haven't checked this out yet. But I'm gonna!

> Wrong Java2WSDL generation
> --------------------------
>
>                 Key: AXIS2-1749
>                 URL: https://issues.apache.org/jira/browse/AXIS2-1749
>             Project: Axis 2.0 (Axis2)
>          Issue Type: Bug
>          Components: codegen
>    Affects Versions: 1.1
>            Reporter: Jabber W
>         Assigned To: Deepal Jayasinghe
>         Attachments: axis2-1749and2116.txt, axis2patch1749and2116-v2.txt, 
> patch-1749.txt
>
>
> During the generation of type definitions Java2WSDL of axis2-1.1 flattens 
> chains of extender java data types to independent schema types without 
> extending relations between them, while Axis121 stores these relations by 
> <extension base"">. 
> For example: say,
>   class A { public String someString; public A someLink; } and
>   class B extends A { public int someInt; }
> and the exposed service is:
>   class MySvc { String myOp(A arg) {..} }
> Running of Java2WSDL on it:
>       java2wsdl -cn MySvc -xc B
>  creates 2 non-related types:
>  <xs:complexType name="A">
>   <xs:sequence>
>     <xs:element name="someLink" type="ns:A"/>
>     <xs:element name="someString" type="xs:string"/>
>    </xs:sequence>
>  </xs:complexType>
> and
>  <xs:complexType name="B">
>    <xs:sequence>
>      <xs:element name="someLink" type="ns:A"/>
>      <xs:element name="someString" type="xs:string"/>
>      <xs:element name="someInt" type="xs:int"/>
>    </xs:sequence>
>  </xs:complexType>
> while B should be:
>  <xs:complexType name="B">
>    <xs:complexContent>
>       <xs:extension base="ns:A">
>           <xs:sequence>
>                 <xs:element name="someInt" type="xs:int"/>
>          </xs:sequence>
>        </xs:extension>
>    </xs:complexContent>
>  </xs:complexType>
> Since complexType B is not extension of ? it (the B type element) can't be 
> passed as the someLink.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to