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

Darin DeFer updated AXIS2-4013:
-------------------------------

    Affects Version/s:     (was: 1.4)
                       1.4.1

> XmlSchemaElement elements in schema obtained from ServiceClient have 
> incorrect (null) SchemaType
> ------------------------------------------------------------------------------------------------
>
>                 Key: AXIS2-4013
>                 URL: https://issues.apache.org/jira/browse/AXIS2-4013
>             Project: Axis 2.0 (Axis2)
>          Issue Type: Bug
>    Affects Versions: 1.4.1
>         Environment: OS:      Windows XP
> IDE:     IBM Rational Application Developer 7.0.0.6
> Java:  1.5
> Server:   Websphere App Server 6.1.17
>            Reporter: Darin DeFer
>
> I am trying to prototype stubless WS invokation.  The WSDLs in our web 
> services contain multiple namespaces.  The schema produced by ServiceClient 
> contains a null SchemaType for XmlSchemaElements for all but one NameSpace.  
> It appears that the multiple namespaces prevent the schema generator from 
> properly identifying all complex types.  We can't use Axis2 to generate 
> dynamic payloads if we can't drill down all the simpleTypes.  I cannot find a 
> workaround for this - seems there's no way to get the details for the 
> impacted elements.
> The following is logged when attempting to traverse schema all the way down 
> to simple schema elements.
> [9/5/08 12:47:51:201 CDT] 00000022 SystemOut     O ServiceClient has been 
> created.
> [9/5/08 12:47:51:201 CDT] 00000022 SystemOut     O We have our operation:
> [9/5/08 12:47:51:201 CDT] 00000022 SystemOut     O      Operation URI: 
> http://cc.stmt.v003.adapter.osa.common.bac
> [9/5/08 12:47:51:201 CDT] 00000022 SystemOut     O      Operation Local Part: 
> retrieveTransactionHistory
> [9/5/08 12:47:51:201 CDT] 00000022 SystemOut     O Message direction: in
> [9/5/08 12:47:51:201 CDT] 00000022 SystemOut     O Message part name: 
> parameters
> [9/5/08 12:47:51:201 CDT] 00000022 SystemOut     O Message element QName: 
> {http://cc.stmt.v003.adapter.osa.common.bac}retrieveTransactionHistory
> [9/5/08 12:47:51:201 CDT] 00000022 SystemOut     O Our target input message 
> is: {http://cc.stmt.v003.adapter.osa.common.bac}retrieveTransactionHistory
> [9/5/08 12:47:51:201 CDT] 00000022 SystemOut     O Message direction: out
> [9/5/08 12:47:51:201 CDT] 00000022 SystemOut     O Message part name: 
> parameters
> [9/5/08 12:47:51:201 CDT] 00000022 SystemOut     O Message element QName: 
> {http://cc.stmt.v003.adapter.osa.common.bac}retrieveTransactionHistoryResponse
> [9/5/08 12:47:51:201 CDT] 00000022 SystemOut     O Our target ouput message 
> is: 
> {http://cc.stmt.v003.adapter.osa.common.bac}retrieveTransactionHistoryResponse
> [9/5/08 12:47:51:201 CDT] 00000022 SystemOut     O 
> [9/5/08 12:47:51:201 CDT] 00000022 SystemOut     O Class Name: 
> org.apache.ws.commons.schema.XmlSchemaElement
> [9/5/08 12:47:51:201 CDT] 00000022 SystemOut     O Element Name: 
> retrieveTransactionHistory
> [9/5/08 12:47:51:201 CDT] 00000022 SystemOut     O Element SourceURI: null
> [9/5/08 12:47:51:201 CDT] 00000022 SystemOut     O Element Schema Type: 
> [EMAIL PROTECTED]
> [9/5/08 12:47:51:201 CDT] 00000022 SystemOut     O Element Schema Type Name: 
> null
> [9/5/08 12:47:51:201 CDT] 00000022 SystemOut     O Element Type: null
> [9/5/08 12:47:51:201 CDT] 00000022 SystemOut     O Element QName: 
> {http://cc.stmt.v003.adapter.osa.common.bac}retrieveTransactionHistory
> [9/5/08 12:47:51:201 CDT] 00000022 SystemOut     O Element RefName: null
> [9/5/08 12:47:51:201 CDT] 00000022 SystemOut     O Input Element is a complex 
> type.
> [9/5/08 12:47:51:201 CDT] 00000022 SystemOut     O 
> [9/5/08 12:47:51:201 CDT] 00000022 SystemOut     O Class Name: 
> org.apache.ws.commons.schema.XmlSchemaElement
> [9/5/08 12:47:51:201 CDT] 00000022 SystemOut     O Element Name: inData
> [9/5/08 12:47:51:201 CDT] 00000022 SystemOut     O Element SourceURI: null
> [9/5/08 12:47:51:201 CDT] 00000022 SystemOut     O Element Schema Type: 
> [EMAIL PROTECTED]
> [9/5/08 12:47:51:201 CDT] 00000022 SystemOut     O Element Schema Type Name: 
> {http://cc.stmt.v003.adapter.osa.common.bac}RetrieveTransactionHistoryIn
> [9/5/08 12:47:51:201 CDT] 00000022 SystemOut     O Element Type: null
> [9/5/08 12:47:51:201 CDT] 00000022 SystemOut     O Element QName: inData
> [9/5/08 12:47:51:201 CDT] 00000022 SystemOut     O Element RefName: null
> [9/5/08 12:47:51:201 CDT] 00000022 SystemOut     O Input Element is a complex 
> type.
> [9/5/08 12:47:51:201 CDT] 00000022 SystemOut     O 
> [9/5/08 12:47:51:201 CDT] 00000022 SystemOut     O Class Name: 
> org.apache.ws.commons.schema.XmlSchemaElement
> [9/5/08 12:47:51:201 CDT] 00000022 SystemOut     O Element Name: 
> arrangementIdentifier
> [9/5/08 12:47:51:201 CDT] 00000022 SystemOut     O Element SourceURI: null
> [9/5/08 12:47:51:201 CDT] 00000022 SystemOut     O Element Schema Type: null  
>   <===This is incorrect - the ProductArrangementIdentifier is a complexType
> [9/5/08 12:47:51:201 CDT] 00000022 SystemOut     O Element Schema Type Name: 
> {http://v001.cbl.osa.common.bac}ProductArrangementIdentifier
> [9/5/08 12:47:51:201 CDT] 00000022 SystemOut     O Element Type: null
> [9/5/08 12:47:51:201 CDT] 00000022 SystemOut     O Element QName: 
> arrangementIdentifier
> [9/5/08 12:47:51:201 CDT] 00000022 SystemOut     O Element RefName: null
> [9/5/08 12:47:51:201 CDT] 00000022 SystemOut     O Input Element is a foreign 
> complex type. Dig deeper
> The code that is generating the logging statement above:
>       private void traverseStructure(XmlSchemaElement inputElement, ArrayList 
> schemas, AxisService service ) {        
>               System.out.println("\n");
>               System.out.println("Class Name: " + 
> inputElement.getClass().getName() );
>               System.out.println("Element Name: " + inputElement.getName());
>               System.out.println("Element SourceURI: " + 
> inputElement.getSourceURI());
>               System.out.println("Element Schema Type: " + 
> inputElement.getSchemaType() );
>               System.out.println("Element Schema Type Name: " + 
> inputElement.getSchemaTypeName() );
>               System.out.println("Element Type: " + 
> inputElement.getElementType() );
>               System.out.println("Element QName: " + inputElement.getQName()  
> );
>               System.out.println("Element RefName: " + 
> inputElement.getRefName() );
>       
>               if (inputElement.getSchemaType() instanceof 
> XmlSchemaComplexType)
>               {                               // Complex type in parent 
> object's schema
>                       System.out.println("Input Element is a complex type.");
>                       XmlSchemaComplexType schemaComplexType = 
> (XmlSchemaComplexType) inputElement.getSchemaType();
>                       XmlSchemaSequence schemaSequence = (XmlSchemaSequence) 
> schemaComplexType.getParticle();
>                       XmlSchemaObjectCollection items = 
> schemaSequence.getItems();
>                       for (int j = 0; j < items.getCount(); j++) {
>                               XmlSchemaElement element = (XmlSchemaElement) 
> items.getItem(j);
>                               traverseStructure(element, schemas, service);
>                       }
>               }
>               else if (inputElement.getSchemaType() == null)
>               {                               // Complex type in a different 
> schema
>                       System.out.println("Input Element is a foreign complex 
> type. Dig deeper" );
>               }
>               else {
>                                               // Simple type 
>                       System.out.println("Input Element is a simple type. - 
> translate format and add input element" );
>               }

-- 
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