On 9/26/06, Andrew Borley <[EMAIL PROTECTED]> wrote:
Hi all, I've just checked some code in at http://svn.apache.org/repos/asf/incubator/tuscany/cpp/sca/test/ws.service.interop/ that does some interop testing as follows: - An Axis2 binding.ws service & implementation component is deployed based on the WSDL that Simon put up at http://svn.apache.org/repos/asf/incubator/tuscany/interop/src/main/resources/interop.wsdl - The client code reads in all the schemas and then tests each operation defined in the WSDL by: 1) Reading in the XML file that corresponds to the operation as a DataObject 2) Converting the DataObject to an Axiom node 3) Sending the Axiom node across to the service via SOAP 4) At the service, the binding.ws implementation converts the received Axiom node to a DataObject & supplies it to the component implementation. 5) The component implementation reads in the same XML file as was read at the client in step 1 and converts it to a DataObject 6) The component implementation compares the 2 DataObjects via a new compareDataObjects method in tuscany/sca/util/Utils.cpp. If they match, the received DataObject is returned to the client. If they do not match, an error message is printed at the server and NULL is returned. 7) The binding.ws implementation converts the returned DataObject into an Axiom node and returns it to the client via SOAP 8) At the client, the returned Axiom node is converted into a DataObject and is compared to the original DataObject. 9) If any of the loading, conversions or comparisons fail, the test has failed. So, in brief, this tests: XML -> SDO -> Axiom -> SOAP -> Axiom -> SDO -> Axiom -> SOAP -> Axiom ->SDO Currently, the following operations/schemas had to be omitted from the tests because they cause the loading of the WSDL & schemas at the server or client to fail (probably due to clashes of schema entities?): Interop05 Interop25 Interop27 Interop39 Due to this the WSDL used at the service is slighly altered (see http://svn.apache.org/repos/asf/incubator/tuscany/cpp/sca/test/ws.service.interop/resources/interop.wsdl ) Also, the following operations/schemas fail: Interop04 - fails when loading XML file Interop28 - fails on return to client - the SimpleTypeWithName property is not set in the returned DataObject. Interop30 - fails at the service with an SDONullPointerException Interop33 - fails at the service - the property AttributeWithSDOName is not set in the received DataObject Interop40 - fails at the service - the property ElementSubstitutionGroupBase has a single element in the received DataObject but 2 in the loaded DataObject Interop50 - fails at the service - the property anyType is not set in the received DataObject These failures seem to match up with what Simon has already seen & documented/raised Jiras for at http://wiki.apache.org/ws/Tuscany/Interop The next things to do are: - create the automake files to get this building/running on Linux - use this client/service for Java -> C++ (or vice-versa) interop testing - create a composite with a binding.ws reference that calls the service to enable testing of our binding.ws reference implementation. Any thoughts or ideas on how to fix the issues? Cheers Andrew --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Nice work Andy! Did you hang on to the schema loading errors you got with 05, 25 etc or should I just try and run it up and see? S