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