After deprecating AXIS1+2 with Axon Ivy LTS 8, we finally had to remove these SOAP web service call libraries in favor of supporting modern web service standards and security technologies using Apache CXF.
Sounds good, but how can I make my LTS 8 project ready for the leading edge train towards LTS 10 without adjusting all my AXIS2 web service calls manually?
Here's a short howto based on Ivy 9.3.
Migration procedure:
- Import your project, containing AXIS2 web services into a Ivy 9.3 Designer
- Convert the project to the latest version: via context menu -> Convert Project
- Open the
Problems
view and filter for 'Errors/Warnings on Selection' in order to reduce the number of errors.
- Select the
config/webservice-clients.yaml
in the Axon Ivy Project navigator.
- Select a broken Axis2 client, and start its QuickFix: via context menu -> Quick Fix
- Pick one or many services to fix, and press
Finish
to start the job
a) be patient, we're generating the CXF client jar containing all services pojos behind the scenes
b) drink a coffee, we're adjusting your web service call elements in processes: e.g. to use new CXF compatible parameter mappings.
- Repeat step 6. with all services until no AXIS2 service is left. You may enforce the webservice-client.yaml validation to update its Problem markers after a conversion.
- Manually Validate the complete Project in order to detect usages of no longer existing AXIS2 pojos.
- Adjust the project in areas that can not be converted automatically, e.g.
a) webservice pojos on DataClass fields, that may live under a differently written type name
b) web service response handlers, that operate on AXIS2 pojos: accessing internals or different type names.
c) java code that plays with AXIS2 parameters or response objects.
- Run a start the calls your web service using the new CXF client libraries.
9.4 Project Converter
With Ivy 9.4 we add a new Convert Project
wizard that contains a project converter that converts the Axis2 to CXF web service clients. To start it select a project and choose Convert
from the context menu. This will open the wizard:
Now select Convert web services from Axis2 to CXF
and press Next >
and then Convert
. This converts all Axis2 web service clients in the selected project to CXF. This replaces points 3 to 7 in the description above.