|
Here's a hack to workaround this problem and get the WS interop tests to work:
in o.a.t.core.loader.assembly.ImportWSDLLoader, comment out lines 98 and 99: //XSDHelper xsdHelper = SDOUtil.createXSDHelper(context.getTypeHelper()); //xsdHelper.define(xsdInputStream, null); Defining the SDO metadata from the WSDL/XSD can be skipped if you have the generated SDO classes and call SDOUtil.registerStaticTypes(TheGeneratedFactory.class) as part of the initialization of one of your components. This is just a temporary hack to unblock the WS testing (and it should help in the Bigbank scenario as well). This hack breaks other test cases which do not use static types (the TomcatIntegrationTestCases) so a clean fix needs to be provided for this bug ASAP, as most of us are blocked by it. This hack only works for externalServices, not for entryPoints. Clients can call SDOUtil.registerStaticTypes before calling the externalService, but I can't see how to do that for entryPoints.
The Tuscany runtime makes available the WS entryPoint, a WS request comes in and the XML needs to be converted to Java objects before the SCA componet is invoked. As nothing has registerged the SDO factory the result is a DynamicDataObject instead of the Objects the component is expecting. All the Axis2 binding code has to go on is the service interface class, and that has been dynamically gen'd from the WSDL so its not even the SEI class the component is using or even in the same class loader. This is also why the TomcatIntegrationTestCases are broken with this hack applied. This still does not work for me for WS entryPoints with complex types after the changes to support import.sdo. It does work for simple types, eg, Ricks account WS from BB, but the interop.service in the sandbox does not. Hopefully its just me doing something wrong, could someone else have a go and confirm if it works for them or not?
This is now fixed. I've added the necessary <import.sdo> statements to the sca.module files and was able to run the test cases successfully.
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||
Frank/Jeremy: On the IRC chat last Friday it sounded like you guys were working on this, hows that going and can I assign the JIRA to one of you?