Hi,
I need to bring up a issue that was already discussed earlier,
eg.
https://bugs.eclipse.org/bugs/show_bug.cgi?id=419744
and here
http://dev.eclipse.org/mhonarc/lists/ecf-dev/msg08047.html
The issue is, that in our setup, the service matching is not
working when accessing the remote server using a different
hostname than the machine uses itself (a little hard to express as
non native speaker ;) see ENDPOINT definition below)
Scott's last comment on the problem was to get more information
about our use case and environment so I'll try to provide the
required information
* we have a lot of clients using remote services from one
application server
* we use the ecf generic provider.
* the remote service "discovery" is done by generating an
EndpointDescription on client side, as all clients know by
configuration which server to speak to. We use something like this
to define the service endpoint:
props.put(ENDPOINT_ID, "ecftcp://" + host + ":8889/server");
where host is the hostname or IP address under which the client
can access the remote server - which is not necessarily the
hostname or IP which is configured at the server itself (which is
exactly the issue). So eg. the server is exporting the service
under endpoint
ecftcp://myhostname.company.local:8889/server
whereas the client needs to access the server eg. by using
ecftcp://otherhostname.public.net:8889/server or by
ecftcp://192.168.0.100:8889/server
as endpoint id.
and even case sensitivity does matter: Some Windows machines (for
whatever reason) have hostnames like MYHOSTNAME.company.local.
Clients then are required to use the exact hostname with the
correct upper/lowercase to access the server.
* the remote services are imported on client side via
remoteServiceAdmin.importService(endpointDescription);
* the remote services are exported on server side using DS with
additional properties, like:
@Component(immediate = true, property = {
"service.exported.interfaces=*",
"service.exported.configs=ecf.generic.server",
"ecf.generic.server.port=8889" })
public class MyserviceService implements IMyService {
* on server side we have a custom implementation of
IHostContainerSelector which allows us to override
protected IRemoteServiceContainer createRSContainer
to add a custom RegistrySharedObject which customizes error
handling ("exception to String serialization")
That's it i think.
So getting rid of the hostname part in the endpoint description
and/or when matching would probably solve the problem...
Thanks for any hints on this issue!
Best regards,
Peter
BTW: the search function of the ecf-dev archive does not seem to
work:
http://dev.eclipse.org/mhonarc/lists/ecf-dev/
click on search results in a 404