Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
JAX-WS Introspection Support for STP
Objectives
To implement a JAX-WS introspector to reflect JAX-WS annotations into STP core model, using STP’s introspection framework.
Use Case
A user can use JAX-WS introspector to extend the core model to support JAX-WS implementation in the SCA model.
Implementation
1. Model Extension
Extending the SCA module as the following XSD file:
<schema xmlns=”http://www.w3.org/2001/XMLSchema” targetNamespace=”http://www.acme.org/jaxws” xmlns:sca=”http://www.osoa.org/xmlns/sca/0.9” xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance” xmlns:jaxws=”http://www.acme.org/jaxws” xsi:schemaLocation=”http://www.osoa.org/xmlns/sca/0.9 ../../org.eclipse.stp.core/schemas/transformations/output/sca-core.xsd” elementFormDefault=”qualified” xmlns:ecore=”http://www.eclipse.org/emf/2002/Ecore” ecore:package=”org.eclipse.stp.core.introspection.jaxws” ecore:nsPrefix=”jaxws”> <import namespace=”http://www.osoa.org/xmlns/sca/0.9” schemaLocation=”../../org.eclipse.stp.core/schemas/transformations/output/sca-core.xsd”/> <element name=”implementation.jaxws” type=”jaxws:JaxWsImplementation” substitutionGroup=”sca:implementation” /> <complexType name=”JaxWsImplementation”> <complexContent> <extension base=”sca:Implementation”> (contents to be defined) </extension> </complexContent> </complexType> </schema>
2. The introspector plugin: A plugin org.eclipse.stp.core.introspection.jaxws will be created in STP. This plugin extends the core's componentTypeIntrospector extension point. So the classes required would be like:
public class JaxWsIntrospector extends AbstractComponentTypeIntrospector { ... } public class ShareableJaxWsComponentTypeFactory implements IShareableComponentTypeFactory { ... }
3. JAX-WS/SCA Mapping
We reply on OSOA's work on Mapping between JAX-WS annotations and SCA.
http://www.osoa.org/display/Main/JAX-WS+Services+Integration