Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Swordfish Documentation: Architecture: Internal Service Proxy

Component diagrams

Sketch of сomponent сlasses for Internal Service Proxy Plugin

Internal Proxy Classes.png

Plugin description

InternalProxy acts as. At runtime it can be easy retrieved as OSGi service and Example of usage:

  • Proxy injection (at runtime available as OSGi service):
  •     <osgi:reference id="internalProxy"
        	interface="org.eclipse.swordfish.core.proxy.InternalProxy" />
    
        <bean id="ASFRegistryProvider"
            class="org.eclipse.swordfish.internal.resolver.backend.remote.ASFRegistryProvider"
            p:proxy-ref="internalProxy"/>
    
  • Invocation of service:
  • public class ASFRegistryProvider extends AbstractDocumentProvider {
    
        private InternalProxy proxy;
    
        @Override
        public Collection<ServiceDescription<?>> getServiceProviderDescriptions(QName interfaceName) {
            String res = null;
            try {
                res = proxy.invokeRequestResponseOperation(
                    QName.valueOf("{http://services.sopware.org/registry/ServiceRegistryProvider/1.0}ServiceRegistryProvider"),
                    QName.valueOf("{http://services.sopware.org/registry/ServiceRegistryProvider/1.0}xlookUp_serviceProvider"),
                    "<inMessage/>");
            } catch (Exception e) {
                e.printStackTrace();
            }
    
            // further processing...
    
            return null;
        }
    
        public void setProxy(InternalProxy proxy) {
            this.proxy = proxy;
        }
    
    }
    


Current implementation assumes that outbound service endpoint is already registered within NMR.<b/> It is possible to

Back to the top