Hi, I sent a prototype to Rick Rineholt last week. Rick, do you think it's OK to check it into the sandbox so that it can be shared as the starting point for the project structure?
In the current Axis1.x integration, we wholly control the creation of SOAP envelopes from Tuscany by serialization/deserialization the SDO DataObject (representing the input/output messages) to/from SOAP element. As we discussed before, we want to levarage the Axis2 databinding, i.e., Tuscany will provide/register SDO DataObject serializer/deserializer against the ADB and have Axis2 take care of the rest of the WebService stack. Starting with the "externalService" path first should be a good approach. Should we just simulate the Axis2 stub code programatically driven by the WSDL in the following steps? 1) Create the AxisService and add all the operations 2) Create the ServiceClient and set options such as the target EPR 3) Create the OperationClient, set the options 4) Create the request SOAPEnvelope (OMElement) from the input data 5) Execute the operation client 6) Create response object out of the SOAPEnvelope (OMElement) IMHO, the quick and dirty way to implement the SDO serializer/deserializer can be like this: Serializer: Save the DataObject as XML document by calling "commonj.sdo.helper.XMLHelper.save()" and then using the StAX parser to pull the XML document back to the OMElement Deserializer: Create the XMLDocument from the OMElement and load it using "commonj.sdo.helper.XMLHelper.load()" Then they can be further enhanced to transform between SDO and OM using the StAX directly until we have a nice StAX based SDO serializer/deserializer (I really hope I can spend some time to make it happen soon:-). I also did some investigation for the "entryPoint" based on Axis2. Here are some possibilities: 1) Use the DeploymentEngine to register SCA WS entry point to Axis2 as web services (In Axis1.x, we use the "EngineConfigurationFactory" to publish SCA WS entryPoints to the engine) 2) Create the MessageReceiver for SCA WS entry point inspired by this article: http://www.developer.com/java/other/article.php/10936_3570031_2 Raymond ----- Original Message ----- From: "ant elder" <[EMAIL PROTECTED]> To: <[email protected]> Sent: Monday, February 13, 2006 4:24 AM Subject: Migration to Axis2 I'd like to start on the migration from Axis 1 to Axis2 now so I'm wondering whats the best way to do it. The current WS binding is in binding.axis so I guess i need a new binding.axis2, and as there's some others who've expressed interest in helping it would be good if that could go in the Tuscany sandbox or trunk. The easiest approach seems to me to be copy all the existing binding.axis code to binding.axis2 and then change everything that uses Axis to use Axis2, and probably starting with the externalService code, and once thats going do the entryPoint code. I know this doesn't include all the context and sdo and other changes which are going on or being proposed, but its not real clear what all those require so it seems easiest to stick with whats already there for now. How does all this sound? ...ant
