You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by "Rich Scheuerle (JIRA)" <ji...@apache.org> on 2007/12/03 18:11:43 UTC

[jira] Resolved: (AXIS2-3328) Test case errors in integration module can cause failures when not using Sun JVM.

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

Rich Scheuerle resolved AXIS2-3328.
-----------------------------------

    Resolution: Fixed

Committed revision 600597

Thanks Brian for this patch.

> Test case errors in integration module can cause failures when not using Sun JVM.
> ---------------------------------------------------------------------------------
>
>                 Key: AXIS2-3328
>                 URL: https://issues.apache.org/jira/browse/AXIS2-3328
>             Project: Axis 2.0 (Axis2)
>          Issue Type: Bug
>          Components: modules
>         Environment: IBM JVM
>            Reporter: Brian Murray
>            Assignee: Rich Scheuerle
>            Priority: Minor
>         Attachments: 3328.patch
>
>
> The ComplexDataTypesTest and BaseDataTypesTest test cases fail when using the IBM JVM.  These failures are due to an error in the test cases.  The test cases use assertXMLEqual from XMLUnit to determine whether the generated WSDL's are equivalent to an expected WSDL file.  However, assertXMLEqual does not work well with WSDL files because it does not support siblings of the same tag name.  For example, the following two WSDL file segments would not be viewed as equivalent by assertXMLEqual (the Difference reported would be that attribute value "retUIntRequest" was expected but "retByteArrayRequest" was found).
> WSDL File 1:
> <wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
> xmlns:ns0="http://tempuri.org" targetNamespace="http://tempuri.org">
>     <wsdl:message name="retUIntRequest">
>         <wsdl:part name="parameters" element="ns0:retUInt"/>
>     </wsdl:message>
>     <wsdl:message name="retByteArrayRequest">
>         <wsdl:part name="parameters" element="ns0:retByteArray"/>
>     </wsdl:message>
> </wsdl:definitions>
> WSDL File 2:
> <wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
> xmlns:ns0="http://tempuri.org" targetNamespace="http://tempuri.org">
>     <wsdl:message name="retByteArrayRequest">
>         <wsdl:part name="parameters" element="ns0:retByteArray"/>
>     </wsdl:message>
>     <wsdl:message name="retUIntRequest">
>         <wsdl:part name="parameters" element="ns0:retUInt"/>
>     </wsdl:message>
> </wsdl:definitions>
> The Sun and IBM JVM's generate equivalent but not identical WSDL files for these test cases.  The control (expected value) WSDL file matches that of the Sun JVM and therefor the test cases pass using the Sun JVM.  It would have been just as easy to create a control WSDL file for which the test cases pass on the IBM JVM and not on Sun.
> There is a second issue with assertXMLEqual wherein the values of attributes are compared as Strings.  assertXMLEqual does not account for namespaced values being assigned to attributes.  For this reason the following two WSDL portions would not be viewed as equivalent, even though the ns0 and ax23 namespaces are defined with the same URI.
> WSDL tag 1:
>  <xs:element minOccurs="0" name="numbers" nillable="true" type="ns0:ArrayOfshort"/>
> WSDL tag 2:
>  <xs:element minOccurs="0" name="numbers" nillable="true" type="ax23:ArrayOfshort"/>
> I will provide a patch to get around these issues with assertXMLEqual.

-- 
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: axis-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-dev-help@ws.apache.org