Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [ecf-dev] rest and soap additions to remoteservice

For people's information, I just created a 'dictionary' remote service soap client provider and committed it to ecf1.osuosl.org (see below for more information). Here are the steps that I went through to create this dictionary soap client provider:

1) Get the wsdl for the Aona DictService from here http://services.aonaware.com/DictService/DictService.asmx

2) Run Axis 1.4 wsdl2java to create java axis client code.

3) Create a *very* simple service API bundle: org.eclipse.ecf.examples.remoteservice.dictionary.common with just two classes: IDictionary - service interface for OSGi dictionary remote service with a single method 'define' to lookup the definition for a given word. WordDefinition - The return type returned from a dictionary lookup (referenced in IDictionary.define method).

4) Created a new provider bundle with name: org.eclipse.ecf.examples.provider.dictionary.soap.client

5) Copied the code from 2 (and supporting libraries) into the new provider bundle

6) Created/added these three ECF classes to the provider bundle:
  DictionarySoapClientContainer - The provider's container class
DictionarySoapClientContainerInstantiator - The containerFactory implmentation
  DictionarySoapClientService - The service implementation class.

See the DictionarySoapClientService to see the code that uses the axis client to make the actual remote call.

7) Added ecf containerFactory extension (that points to the DictionarySoapClientContainerInstantiator).

And it's done (!). Two bundles (the service API bundle and the provider), total of 5 non-generated classes.

I also wrote a very small/simple test case (in org.eclipse.ecf.examples.tests.remoteservices.dictionary.soap.client bundle) to test it out.

When I can, I'll document this on the ECF wiki and then blog about it. If others would like to enhance it to use more/other of the DictService methods, please feel free.

Thanks,

Scott



CVS info for ecf1.osuosl.org:

Anonymous access:
:pserver:anonymous@xxxxxxxxxxxxxxx:/ecf

extssh access:
:extssh:ecf1.osuosl.org:/home/cvs/ecf

These three bundles (the service API bundle, the provider bundle and the test bundle) are under this module:

/examples/bundles





Back to the top