[ 
https://issues.apache.org/jira/browse/AXIS2-1928?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Amila Chinthaka Suriarachchi resolved AXIS2-1928.
-------------------------------------------------

    Resolution: Fixed

fixed the issue. use the getType method to resolve the XmlSchemaType.

> Wrong code generation when xs:extension used in schema
> ------------------------------------------------------
>
>                 Key: AXIS2-1928
>                 URL: https://issues.apache.org/jira/browse/AXIS2-1928
>             Project: Apache Axis 2.0 (Axis2)
>          Issue Type: Bug
>          Components: adb
>         Environment: Windows XP, JDK 1.4
>            Reporter: Ram Lakshmanan
>         Attachments: MyTestWS.wsdl, myTestWS.zip
>
>
> Axis2 with ADB Binding generates wrong code when complexType elements are 
> built with xs:extension. Here goes excerpt from our schema:
> <xs:complexType name="Reference_Type">
>       <xs:complexContent>
>               <xs:extension base="acct-d1:Reference_Type">
>                       <xs:sequence>
>                               <xs:element ref="svc-acct:keyGrpHogan" 
> minOccurs="0"/>
>                       </xs:sequence>
>               </xs:extension>
>       </xs:complexContent>
> </xs:complexType>
> Generated code doesn't parses the elements present in 
> "acct-d1:Reference_Type". It totally ignores them. In the generated code you 
> can easy that it's parsing only the: "svc-acct:keyGrpHogan" and not the 
> elements in "acct-d1:Reference_Type". Here goes the generated code's parse() 
> API:
>         public static Reference_Type349 
> parse(javax.xml.stream.XMLStreamReader reader) throws java.lang.Exception{
>             Reference_Type349 object = new Reference_Type349();
>             int event;
>             try {
>                 
>                 while (!reader.isStartElement() && !reader.isEndElement())
>                     reader.next();
>                 
>                 if 
> (reader.getAttributeValue("http://www.w3.org/2001/XMLSchema-instance","type";)!=null){
>                   java.lang.String fullTypeName = 
> reader.getAttributeValue("http://www.w3.org/2001/XMLSchema-instance";,
>                         "type");
>                   if (fullTypeName!=null){
>                     java.lang.String nsPrefix = 
> fullTypeName.substring(0,fullTypeName.indexOf(":"));
>                     nsPrefix = nsPrefix==null?"":nsPrefix;
>                     java.lang.String type = 
> fullTypeName.substring(fullTypeName.indexOf(":")+1);
>                     if (!"Reference_Type".equals(type)){
>                         //find namespace for the prefix
>                         java.lang.String nsUri = 
> reader.getNamespaceContext().getNamespaceURI(nsPrefix);
>                         return 
> (Reference_Type349)com.wellsfargo.eai_schemas.provider.aps.accountinquiry.ExtensionMapper.getTypeObject(
>                              nsUri,type,reader);
>                       }
>                   }
>                 }
>                 
>                 
>                 // Note all attributes that were handled. Used to differ 
> normal attributes
>                 // from anyAttributes.
>                 java.util.Vector handledAttributes = new java.util.Vector();
>                 
>                 boolean isReaderMTOMAware = false;
>                 
>                 try{
>                   isReaderMTOMAware = 
> java.lang.Boolean.TRUE.equals(reader.getProperty(org.apache.axiom.om.OMConstants.IS_DATA_HANDLERS_AWARE));
>                 }catch(java.lang.IllegalArgumentException e){
>                   isReaderMTOMAware = false;
>                 }
>                 
>                     
>                     reader.next();
>                 
>                                     
>                                     while (!reader.isStartElement() && 
> !reader.isEndElement()) reader.next();
>                                 
>                                     if (reader.isStartElement() && new 
> javax.xml.namespace.QName("http://service.wellsfargo.com/entity/account/2003/","keyGrpHogan";).equals(reader.getName())){
>                                 
>                                         
> object.setKeyGrpHogan(com.wellsfargo.service.entity.account._2003.KeyGrpHogan_Type.Factory.parse(reader));
>                                       
>                                         reader.next();
>                                     
>                               }  // End of if for expected property start 
> element
>                               
>                             while (!reader.isStartElement() && 
> !reader.isEndElement())
>                                 reader.next();
>                             if (reader.isStartElement())
>                                 // A start element we are not expecting 
> indicates a trailing invalid property
>                                 throw new 
> java.lang.RuntimeException("Unexpected subelement " + reader.getLocalName());
>                         
>             } catch (javax.xml.stream.XMLStreamException e) {
>                 throw new java.lang.Exception(e);
>             }
>             return object;
>         }
>         }//end of factory class
> Do let me know, if you need any further information.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
https://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

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

Reply via email to