Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Eclipse Projects » scout » How to fix broken Service Registration(New Service Operations unavailable)
How to fix broken Service Registration [message #1456582] Thu, 30 October 2014 14:00 Go to next message
Lars Hertel is currently offline Lars HertelFriend
Messages: 1
Registered: June 2014
Junior Member
EDIT>> Sorry for posting that - there still was another server process running (not properly shutdown after exiting eclipse). The clients communicated with that server instead of 'my' new server. Sorry for that, don't bother reading any further...

after importing a scout project built (with Luna release) service registration doesn't work anymore (scout sdk (Luna 4.4.1) .

Newly added service operations aren't available for clients anymore. While previously added operations still work fine, it seems the new operations are not registered by scout sdk in a proper way.

For example: Added a service operation getRole() to StandardOutlineService via SDK ("...addOperation"). Scout sdk updates IStandardOutlineService and StandardOutlineService, but after restarting server and client (no matter if rap, swing or swt), calling the operation with a client always results in an Processing Error (see below). Old service operations work fine...

Is there a way to fix scout sdks service registration? If not, how do I register the operations manually?


!ENTRY org.eclipse.scout.rt.client 4 0 2014-10-30 14:24:30.100
!MESSAGE org.eclipse.scout.rt.client.services.common.exceptionhandler.internal.InternalClientExceptionHandlerService.differentiatedLog(InternalClientExceptionHandlerService.java:116) ProcessingException: ProcessingStatus[ERROR code=0 Calling IStandardOutlineService.getRole() / Verarbeitungsfehler ]
Verarbeitungsfehler
!STACK 0

at org.eclipse.scout.rt.servicetunnel.AbstractServiceTunnel.invokeService(AbstractServiceTunnel.java:119)
at org.eclipse.scout.rt.servicetunnel.http.internal.AbstractInternalHttpServiceTunnel.invokeService(AbstractInternalHttpServiceTunnel.java:133)
at org.eclipse.scout.rt.client.servicetunnel.http.ClientHttpServiceTunnel.invokeService(ClientHttpServiceTunnel.java:121)
at org.eclipse.scout.rt.servicetunnel.ServiceTunnelInvocationHandler.invoke(ServiceTunnelInvocationHandler.java:48)
at com.sun.proxy.$Proxy12.getRole(Unknown Source)
at de.suedkurier.fp.client.fp.pages.RolesTablePage.execLoadTableData(RolesTablePage.java:45)
at org.eclipse.scout.rt.client.ui.desktop.outline.pages.AbstractPageWithTable.execLoadData(AbstractPageWithTable.java:243)
at org.eclipse.scout.rt.client.ui.desktop.outline.pages.AbstractPageWithTable.execPopulateTable(AbstractPageWithTable.java:291)
at org.eclipse.scout.rt.client.ui.desktop.outline.pages.AbstractPageWithTable.loadTableDataImpl(AbstractPageWithTable.java:717)
at org.eclipse.scout.rt.client.ui.desktop.outline.pages.AbstractPageWithTable.loadChildren(AbstractPageWithTable.java:787)
at org.eclipse.scout.rt.client.ui.basic.tree.AbstractTreeNode.ensureChildrenLoaded(AbstractTreeNode.java:919)
at org.eclipse.scout.rt.client.ui.desktop.outline.DefaultPageChangeStrategy.pageChanged(DefaultPageChangeStrategy.java:43)
at org.eclipse.scout.rt.client.ui.desktop.outline.AbstractOutline.handleActivePageChanged(AbstractOutline.java:513)
at org.eclipse.scout.rt.client.ui.desktop.outline.AbstractOutline.access$0(AbstractOutline.java:506)
at org.eclipse.scout.rt.client.ui.desktop.outline.AbstractOutline$P_OutlineListener.treeChanged(AbstractOutline.java:549)
at org.eclipse.scout.rt.client.ui.basic.tree.TreeAdapter.treeChangedBatch(TreeAdapter.java:24)
at org.eclipse.scout.rt.client.ui.basic.tree.AbstractTree.fireTreeEventBatchInternal(AbstractTree.java:2203)
at org.eclipse.scout.rt.client.ui.basic.tree.AbstractTree.processEventBuffer(AbstractTree.java:2308)
at org.eclipse.scout.rt.client.ui.basic.tree.AbstractTree.processTreeBuffers(AbstractTree.java:2250)
at org.eclipse.scout.rt.client.ui.basic.tree.AbstractTree.setTreeChanging(AbstractTree.java:910)
at org.eclipse.scout.rt.client.ui.basic.tree.AbstractTree$P_UIFacade.setNodesSelectedFromUI(AbstractTree.java:2583)
at org.eclipse.scout.rt.ui.swing.basic.tree.SwingScoutTree$6.run(SwingScoutTree.java:429)
at org.eclipse.scout.rt.ui.swing.concurrency.SwingScoutSynchronizer$1.runVoid(SwingScoutSynchronizer.java:71)
at org.eclipse.scout.rt.client.ClientJob.runStatus(ClientJob.java:189)
at org.eclipse.scout.rt.client.ClientJob.runTransactionWrapper(ClientJob.java:172)
at org.eclipse.scout.rt.client.ClientJob.run(ClientJob.java:159)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)

[Updated on: Thu, 30 October 2014 15:58]

Report message to a moderator

Re: How to fix broken Service Registration [message #1456877 is a reply to message #1456582] Thu, 30 October 2014 20:31 Go to previous messageGo to next message
Jeremie Bresson is currently offline Jeremie BressonFriend
Messages: 1243
Registered: October 2011
Senior Member
Hi,

Thanks for asking your question here on the forum. Welcome Wink

1/ Are you sure the server is not available at all ?
Is your server up and running?

Can you connect to the "Process Servlet" page (using a normal web browser).

URL should be something like:
http://localhost:8080/<name of your app>_server/process

You read this URL in your client config.ini or using the Object Properties View in the "Product Launchers" Section.


2/ Server console log ?
Can you check if you have some server stack trace?

You can switch between the console outputs (client / server) with the "Display Selected Console" button in the "Console" View.

http://www.eclipse.org/forums/index.php/fa/14767/0/


3/ Services registration
To answer your question:

Service registration is done in the plugin.xml of each plugin.

For the client, double click on the orange cube in the Scout Explorer View. Then switch to the plugin.xml tab.
In the client, proxies are defined for the interfaces (located in the shared plugin).
   <extension
         name=""
         point="org.eclipse.scout.service.services">
      <proxy
            factory="org.eclipse.scout.rt.client.services.ClientProxyServiceFactory"
            class="<your app>.shared.services.IDesktopService">
      </proxy>
   </extension>


For the server, double click on the blue cube. (The editor is the same, select the plugin.xml tab).
The implementations of the services are registered here:

   <extension
         name=""
         point="org.eclipse.scout.service.services">
      <service
            factory="org.eclipse.scout.rt.server.services.ServerServiceFactory"
            class="<your app>.server.services.DesktopService"
            session="<your app>.server.ServerSession">
      </service>
   </extension>


If something is wrong (for example a class does not exist anymore), you should see warnings.

By the way, I have explained the difference between service and proxy registration on the forum.

----

Do not hesitate to continue the discussion in the forum. I am happy to have feedback from your side.

.
Re: How to fix broken Service Registration [message #1457260 is a reply to message #1456582] Fri, 31 October 2014 06:18 Go to previous message
Jeremie Bresson is currently offline Jeremie BressonFriend
Messages: 1243
Registered: October 2011
Senior Member
Lars Hertel wrote on Thu, 30 October 2014 15:00
There still was another server process running (not properly shutdown after exiting eclipse). The clients communicated with that server instead of 'my' new server. Sorry for that, don't bother reading any further...


This happens to a lot of developers (me included sometimes).

I appreciate that you took time to register to the forum to discuss your problem. You will see that sometime writing about a problem also helps to solve it.

I am sure that this thread will help other developers.
I hope you will come back on the forum.
Previous Topic:Tree Field in Scout Kepler
Next Topic:Is it possible hide a form?
Goto Forum:
  


Current Time: Tue Oct 17 22:43:19 GMT 2017

Powered by FUDForum. Page generated in 0.01666 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software