Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Eclipse Projects » scout » Run scout server standalone?
Run scout server standalone? [message #1404257] Wed, 30 July 2014 17:19 Go to next message
Nejc Gasper is currently offline Nejc GasperFriend
Messages: 26
Registered: July 2014
Junior Member
I was wondering since Scout is OSGi based, why not run the server as a "standalone" (by using equinox ofc) similarily to how the clients run. This should work, no? I imagine Eclipse does something like this when you run/debug the server.

Any way to export the server and run in the way it does in Eclipse since I've had nothing but trouble trying to deploy the war?
Re: Run scout server standalone? [message #1404268 is a reply to message #1404257] Wed, 30 July 2014 19:20 Go to previous messageGo to next message
Jeremie Bresson is currently offline Jeremie BressonFriend
Messages: 947
Registered: October 2011
Senior Member
Good question... I will try to find someone that can answer it.

Here what I can tell:

When you run/debug the dev-server from Eclipse IDE, your Scout server is embedded in a Jetty server. I think you could export the product into an eclipse.exe and run your server this way. I am not sure it will be efficient enough in a productive environment.

I have heard that in one project, a team has tried to deploy the Scout Server on an Eclipse Virgo application server. I do not know if at they were successful or not.

.
.
Re: Run scout server standalone? [message #1404342 is a reply to message #1404268] Thu, 31 July 2014 10:57 Go to previous messageGo to next message
Nejc Gasper is currently offline Nejc GasperFriend
Messages: 26
Registered: July 2014
Junior Member
(I moved this reply, it belongs here imho)

I have managed to launch RAP server as standalone. I have a problem with version mismatch though (maven build probably does not use the exact same repos as eclipse target has), checking that out now to see what exactly is causing it. Any words on what exactly rap checks when it connects to the backend?

Message:
Quote:

An application update is required to continue working.
The current version is 0.0.0, the new version is 1.0.0.


I will have more problems with the server part since we temporary included hibernate as ordinary libs (bad bad bad in OSGi world) but the proof of concept stands I guess Smile

edit: Actually, I take it back, Scout server is working fine! RAP server is still complaining about version.
Re: Run scout server standalone? [message #1404570 is a reply to message #1404342] Mon, 04 August 2014 08:43 Go to previous messageGo to next message
Nejc Gasper is currently offline Nejc GasperFriend
Messages: 26
Registered: July 2014
Junior Member
Tried Luna - Scout 4.0, RAP 2.3, having same problems running the build through equinox (version mismatch), all else - swt, swing, server works fine.

If anybody has some idea where to start debugging this it would be much appreciated. The last message in the server log is:

Quote:


!ENTRY com.sixt.leasing.logisticservices.server 1 0 2014-08-04 09:56:39.526
!MESSAGE com.sixt.leasing.logisticservices.server.ServerSession.execLoadSession(ServerSession.java:26) created a new session for anonymous



and after that nothing. You get a popup in webpage (quoted in my previous post).
Re: Run scout server standalone? [message #1429566 is a reply to message #1404257] Tue, 23 September 2014 12:06 Go to previous messageGo to next message
Nejc Gasper is currently offline Nejc GasperFriend
Messages: 26
Registered: July 2014
Junior Member
Reviving my thread a bit, I have noticed that I haven't posted the stack trace from rap client log (provided below). I still have problem directly running (using Equinox OSGi launcher without a web container) RAP Client app, while everything else works - swing/swt runs directly anway and Scout Server has no complaint being ran directly.

I get these exceptions when I open the browser at localhost:8082 for a Tycho-build RAP server that is ran using Equinox launcher.

!ENTRY org.eclipse.scout.rt.client 4 0 2014-09-23 13:21:00.864
!MESSAGE org.eclipse.scout.rt.client.AbstractClientSession.startSession(AbstractClientSession.java:257) load session
!STACK 0
java.lang.reflect.UndeclaredThrowableException
        at com.sun.proxy.$Proxy7.getAllCodeTypeClasses(Unknown Source)
        at org.eclipse.scout.rt.client.services.common.code.CodeServiceClientProxy.getAllCodeTypeClasses(CodeServiceClientProxy.java:333)
        at org.eclipse.scout.rt.client.services.common.code.CodeServiceClientProxy.getAllCodeTypes(CodeServiceClientProxy.java:354)
        at org.eclipse.scout.rt.shared.services.common.code.CODES.getAllCodeTypes(CODES.java:97)
        at com.sixt.leasing.logisticservices.client.ClientSession.execLoadSession(ClientSession.java:33)
        at org.eclipse.scout.rt.client.AbstractClientSession.startSession(AbstractClientSession.java:252)
        at org.eclipse.scout.rt.client.services.common.session.internal.ClientSessionRegistryService$1.runVoid(ClientSessionRegistryService.java:64)
        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.scout.commons.job.JobEx.runNow(JobEx.java:51)
        at org.eclipse.scout.rt.client.services.common.session.internal.ClientSessionRegistryService.createAndStartClientSession(ClientSessionRegistryService.java:68)
        at org.eclipse.scout.rt.client.services.common.session.internal.ClientSessionRegistryService.newClientSession(ClientSessionRegistryService.java:49)
        at org.eclipse.scout.rt.ui.rap.AbstractRwtEnvironment.initClientSession(AbstractRwtEnvironment.java:462)
        at org.eclipse.scout.rt.ui.rap.AbstractRwtEnvironment.init(AbstractRwtEnvironment.java:362)
        at org.eclipse.scout.rt.ui.rap.AbstractRwtEnvironment.ensureInitialized(AbstractRwtEnvironment.java:316)
        at org.eclipse.scout.rt.ui.rap.AbstractStandaloneRwtEnvironment.createApplicationContent(AbstractStandaloneRwtEnvironment.java:156)
        at org.eclipse.scout.rt.ui.rap.AbstractStandaloneRwtEnvironment.createUI(AbstractStandaloneRwtEnvironment.java:102)
        at org.eclipse.rap.rwt.internal.lifecycle.RWTLifeCycle.createUI(RWTLifeCycle.java:172)
        at org.eclipse.rap.rwt.internal.lifecycle.RWTLifeCycle$UIThreadController.run(RWTLifeCycle.java:284)
        at java.lang.Thread.run(Thread.java:745)
        at org.eclipse.rap.rwt.internal.lifecycle.UIThread.run(UIThread.java:105)
Caused by: 
        at org.eclipse.scout.rt.servicetunnel.AbstractServiceTunnel.invokeService(AbstractServiceTunnel.java:120)
        at org.eclipse.scout.rt.servicetunnel.http.internal.AbstractInternalHttpServiceTunnel.invokeService(AbstractInternalHttpServiceTunnel.java:132)
        at org.eclipse.scout.rt.client.servicetunnel.http.ClientHttpServiceTunnel.invokeService(ClientHttpServiceTunnel.java:121)
        at org.eclipse.scout.rt.servicetunnel.ServiceTunnelInvocationHandler.invoke(ServiceTunnelInvocationHandler.java:48)
        ... 22 more


So I decided to remove CODES.getAllCodeTypes(...) call. Now I get:

ProcessingException[ProcessingStatus[ERROR code=0 Unexpected java.lang.reflect.UndeclaredThrowableException]]
        at org.eclipse.scout.rt.client.ui.action.ActionUtility$InitActionVisitor.visit(ActionUtility.java:170)
        at org.eclipse.scout.rt.client.ui.action.tree.AbstractActionNode.acceptVisitor(AbstractActionNode.java:208)
        at org.eclipse.scout.rt.client.ui.action.tree.AbstractActionNode.visitChildren(AbstractActionNode.java:223)
        at org.eclipse.scout.rt.client.ui.action.tree.AbstractActionNode.acceptVisitor(AbstractActionNode.java:217)
        at org.eclipse.scout.rt.client.ui.action.ActionUtility.initActions(ActionUtility.java:150)
        at org.eclipse.scout.rt.client.ui.desktop.AbstractDesktop.initDesktop(AbstractDesktop.java:532)
        at org.eclipse.scout.rt.client.AbstractClientSession.setDesktop(AbstractClientSession.java:325)
        at com.sixt.leasing.logisticservices.client.ClientSession.execLoadSession(ClientSession.java:34)
        at org.eclipse.scout.rt.client.AbstractClientSession.startSession(AbstractClientSession.java:252)
        at org.eclipse.scout.rt.client.services.common.session.internal.ClientSessionRegistryService$1.runVoid(ClientSessionRegistryService.java:64)
        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.scout.commons.job.JobEx.runNow(JobEx.java:51)
        at org.eclipse.scout.rt.client.services.common.session.internal.ClientSessionRegistryService.createAndStartClientSession(ClientSessionRegistryService.java:68)
        at org.eclipse.scout.rt.client.services.common.session.internal.ClientSessionRegistryService.newClientSession(ClientSessionRegistryService.java:49)
        at org.eclipse.scout.rt.ui.rap.AbstractRwtEnvironment.initClientSession(AbstractRwtEnvironment.java:462)
        at org.eclipse.scout.rt.ui.rap.AbstractRwtEnvironment.init(AbstractRwtEnvironment.java:362)
        at org.eclipse.scout.rt.ui.rap.AbstractRwtEnvironment.ensureInitialized(AbstractRwtEnvironment.java:316)
        at org.eclipse.scout.rt.ui.rap.AbstractStandaloneRwtEnvironment.createApplicationContent(AbstractStandaloneRwtEnvironment.java:156)
        at org.eclipse.scout.rt.ui.rap.AbstractStandaloneRwtEnvironment.createUI(AbstractStandaloneRwtEnvironment.java:102)
        at org.eclipse.rap.rwt.internal.lifecycle.RWTLifeCycle.createUI(RWTLifeCycle.java:172)
        at org.eclipse.rap.rwt.internal.lifecycle.RWTLifeCycle$UIThreadController.run(RWTLifeCycle.java:284)
        at java.lang.Thread.run(Thread.java:745)
        at org.eclipse.rap.rwt.internal.lifecycle.UIThread.run(UIThread.java:105)
Caused by: java.lang.reflect.UndeclaredThrowableException
        at com.sun.proxy.$Proxy9.getPermissions(Unknown Source)
        at org.eclipse.scout.rt.client.services.common.security.AccessControlServiceClientProxy.ensureCacheLoaded(AccessControlServiceClientProxy.java:172)
        at org.eclipse.scout.rt.client.services.common.security.AccessControlServiceClientProxy.checkPermission(AccessControlServiceClientProxy.java:90)
        at org.eclipse.scout.rt.client.ui.action.AbstractAction.setVisiblePermission(AbstractAction.java:527)
        at org.eclipse.scout.rt.client.ui.desktop.bookmark.menu.AbstractBookmarkMenu$AddUserBookmarkMenu.execInitAction(AbstractBookmarkMenu.java:165)
        at org.eclipse.scout.rt.client.ui.action.AbstractAction.initAction(AbstractAction.java:78)
        at org.eclipse.scout.rt.client.ui.action.ActionUtility$InitActionVisitor.visit(ActionUtility.java:161)
        ... 24 more
Caused by: 
        at org.eclipse.scout.rt.servicetunnel.AbstractServiceTunnel.invokeService(AbstractServiceTunnel.java:120)
        at org.eclipse.scout.rt.servicetunnel.http.internal.AbstractInternalHttpServiceTunnel.invokeService(AbstractInternalHttpServiceTunnel.java:132)
        at org.eclipse.scout.rt.client.servicetunnel.http.ClientHttpServiceTunnel.invokeService(ClientHttpServiceTunnel.java:121)
        at org.eclipse.scout.rt.servicetunnel.ServiceTunnelInvocationHandler.invoke(ServiceTunnelInvocationHandler.java:48)
        ... 31 more


So it seems to me that the service tunnel is not working. Right?

What could be so different in Tycho build from what Eclipse runs. I can run all other parts of Scout either directly from Tycho build or from eclipse, but for RAP - there it breaks.

One idea was that Tycho is using online repos for dependancies while Eclipse uses local on-disk repos for building, but that still doesn't seem right since everything else is working fine using the same build process. The error I get in front-end is also superficial since it is probably a default response if link fails in a certain stage of set-up.

Any additional pointers?
Re: Run scout server standalone? [message #1429631 is a reply to message #1429566] Tue, 23 September 2014 13:52 Go to previous messageGo to next message
Jeremie Bresson is currently offline Jeremie BressonFriend
Messages: 947
Registered: October 2011
Senior Member
Thanks for reviving the discussion.

I do not remember what you mean by "Standalone". I remember you provided an interesting link in the thread about Apache ServiceMix describing the different possibility to deploy an OSGi-application: Eclipse, Equinox, and OSGi

What have you tried now?

From the stacktrace you have send, it seems to me that your Scout -Client "RAP UI" (that is in fact the RAP Server because the RAP client is written in Javascript and run in the Browser) doesn't know the scout-server URL.

It is set in the config.ini? (/<your app>.ui.rap/products/development/config.ini)
### URL to the scout backend webapp
server.url=http\://localhost\:8080/helloworld_server/process


When you build with Tycho, are you sure that your config.ini is correct?
(there is a bug in Tycho see this discussion)
Re: Run scout server standalone? [message #1429797 is a reply to message #1429631] Tue, 23 September 2014 19:28 Go to previous messageGo to next message
Nejc Gasper is currently offline Nejc GasperFriend
Messages: 26
Registered: July 2014
Junior Member
What I mean by standalone is that I am using maven to build the project, but I do not build it as a war. I take the folder and run equinox launcher the same way you do for client - and I do just that for scout server and RAP server. Everything runs fine on Scout Server. RAP server has problems communicating with the server though and I am not sure what is triggering these exceptions. Yes, I am running both servers like in figure 3 (http://media.techtarget.com/tss/static/articles/content/EclipseEquinoxOSGi/clip_image006.gif).

message #1404342 - RAP client error message
message #1404570 - fro Scout Server log (no error!)
message #1429566 - RAP server log, first is normally, second is when I removed a call to CODES.getAllCodeTypes(...) on the client

I am quite sure config is not a problem, I have used tcpflow (sudo tcpflow -i any -C -e port 8887) to listen in on the traffic and I got one request/Response:

POST /x_server/ajax HTTP/1.1
Content-type: text/xml
Cache-Control: no-cache
Pragma: no-cache
User-Agent: Java/1.8.0_05
Host: localhost:8887
Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2
Connection: keep-alive
Content-Length: 1639


<soapenv:Envelope soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:wsse="http://schemas.xmlsoap.org/ws/2002/04/secext">
<soapenv:Header><wsse:Security soapenv:mustUnderstand="1">  <wsse:UsernameToken>    <wsse:Username>anonymous</wsse:Username>    <wsse:Password Type="http://scout.eclipse.org/security#Base64">yRT2AwchbZQb6DEmbuzeaUb6EWEWfFCk</wsse:Password>  </wsse:UsernameToken></wsse:Security></soapenv:Header>
<soapenv:Body>
  <request version="null" compressed="true" locale="sl" service="org.eclipse.scout.rt.shared.services.common.code.ICodeService" operation="getAllCodeTypeClasses"/>
  <data>eAGNUztvFDEQNonyIEHKJQgkRLMFRVLEt5c7jhUnHiHhcXAkUS5IJ1Isjndu4+Bdb2zvsYmidPQ0ICEhQUEHoqEA8RcQtPwJkCihAu/jQtJhrdb2zDee+b6x3/5AQ0qiy0L6GChnkQKsqIg1lhqrTSLBwwpkj1HQcRgCx+18t5btVmE7BqVRMQbQ+G00GbgyN7fTKaSwjoYDl0jfAE+ut7ZIj5Q5Cf3y8sYWUN1ooTOBS0Wo4gC8JaFZl1GimQibnomYyANizXi5DSl6NHC5oISDRlOHnK3MZvxjgRuAJotEkwPE0XzjgSsikFmSo5C2liz0G+uoFLgRkcQcBHJtJ0pJTh2ufYETpUyys4Fb6NMMDbRLKGSuJRO6jfbRUAuZbLHBzPsQ6sJ0PHB7IJXhWBimjIFJHRPeBpXam17mSaJC2rFY9sXDKRlciPfka+dlSc3wAYQy7DGNpqkIsGKJxhyIMnQwFz5TmtGiUlV01jR+Mu0GTsXFt4jaNAJ/Wnz89NnHD7XB9MBHJ0z60pWreRGJCSj9C8gF3/81+eCF/fv7IBpuotFNcwgVHrTQiLlFoZY7BcExSDSEKTNVWEZTGjHx+zINKypZ1FdopEckI4VgSfTHDHPN0tAJjQYUz1bZL4k0OuWDnud8wWROm5V1AJSRrOhZLlneszenv737/OX+8wPFen1Wma75DXj187Wz23h/LQNpdOk/3ofCRvdAhGbyADfTWoq3olFndX5lb/F6+87a8sreXbHLOCfl89i2pjuVSsO6t2GkihtWi4VxYiVO3a3XGpbsXaza2J6xbgJ9KMpzdsU2X8W6wSR0RVJOnYb7uQqxqXOha8+Serc6W3PmiFk59qznONValULdq9h/AeFPSDY=</data>
  <info origin="127.0.1.1"/>
</soapenv:Body></soapenv:Envelope>
HTTP/1.1 200 OK
Set-Cookie: JSESSIONID=qncjxkgxw3h53nnwy1mr6r4q;Path=/logisticservices_server
Expires: Wed, 31 Dec 1969 23:59:59 GMT
Cache-Control: no-cache
pragma: no-cache
Content-Type: text/xml
Content-Length: 1423
Server: Jetty(8.1.14.v20131031)

<soapenv:Envelope soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Body>
  <response status="ERROR" compressed="true">
    <exception type="VersionMismatchException">Version mismatch: got 0.0.0 required 1.0.0</exception>
  </response>
  <data>eAGVVM9P1EAY/XbZBQSFVcCoEdz4MyGmlURDcIlGBJM1BY2LXEhshu64FDttmZnuLh6MXryQqAc9ePA/4GriH2D0gAdj4lkPHvXsRRK/mZbuEkzUbrJNO9+8ee977+vGD8gLDpcDXjOo47mhoIZwgkgaXBpimXBaNQTlddehMvJ96hmV+GleP92iIgx8QSG5stBpwRCzEYn6ci6Q7l3XIdLFGgn91gqpEzOSrmdWqCxZ0MnsKpFEwoF4ySN+zbyxtEIdtdrLbNp0aKi2SxhqK5lf5kGDLHkUq3qYzagk04izCg8guwh7mI0CFgjHMwcW27alyIPMDnngUCFcvzYdcc1QQqGt1gr8WqkZhiF2Z+rfu7NAuUC6s65gRDrLM9v8k/5kspC1YC+zfdpISneKr0iOlFAW1gReNalRwrqbHMZ3E3ECxrC7Rtop42aq7A+nZyzoZrbAnkfYnXELAc3Ed1P7biaAZgpolluIFb2xhFQGlJeGMsxIj/m4dezSkdLRt1mAnRWpX5/fXTgz0Xiz2QE5C/IOiQRV2jos2FdFE11vFj0hNf2yexF6kKhzb54TTB+MtFuJRJKFGY8yzBq2bFBEYcgRgFZTSigycVXHznKFVK5KGE1aW2SJVReLtUAWzxn4K3K6GrkY/eKYeoz49tmx3t1nZ6+NTk5uHZ9QwkNlNYbmtG6QOtW4GngeRlpNwcnbPguqOBUqvYrNr/5TY6+/PylkAa3JefhGNaQP+3f27wAt4MNT8HDzzs8RDZNxJByMs6xVt8pQO1KLvdPUrnBO1hSP5qNPwy/fk1cdkClDTrj3aaykkVN6morUoSbuPf9/EYwDoyDwwvR3ldXQO0GVltXkClqn3JVrFnTh27Y47FdFvqRNmSQCjUy+AFpSyht9x3lnbbHRCQ+9qOb6em40tnSlF6cqloVscmq1P1T/BQmAmchru/GuU6BHv68Vc/1FWP/27MPTE1+wzdchXydeRNGpQqtoLmJLlD/eeDHc+/zrepoHpf43l0bKrw==</data>
  <info origin="127.0.1.1"/>
</soapenv:Body></soapenv:Envelope>


Now I started RAP Server using Eclipse and checked the request, the very apparent difference is here:
<request version="1.0.0.qualifier" ...

compared to the request from broken build:
<request version="null"

So the Tycho RAP Server is not providing a version in its SOAP requests. Hum, now the question is where does that version come from? I will keep digging a bit longer, maybe I can figure it out.


EDIT: So I guess I found it.. version is set in ClientSession class, when ServiceTunnel is initialized

Changed
setServiceTunnel(new ClientHttpServiceTunnel(this, UriUtility.toUrl(getBundle().getBundleContext().getProperty("server.url"))));

to this
setServiceTunnel(new ClientHttpServiceTunnel(this, UriUtility.toUrl(getBundle().getBundleContext().getProperty("server.url")), "1.0.0"));


The only question that remains now is from the documentation - "If the version parameter is null, the product bundle (for example com.myapp.ui.swing) version is used" - so I guess something is wrong in my set-up and the version does not get detected or is not present. Maybe because I am not using the entire assembly process. Oh well, but at least it works now Smile Thanks for the time and sorry if I spammed too much.

[Updated on: Tue, 23 September 2014 20:10]

Report message to a moderator

Re: Run scout server standalone? [message #1429827 is a reply to message #1429797] Tue, 23 September 2014 20:24 Go to previous messageGo to next message
Dennis Geesen is currently offline Dennis GeesenFriend
Messages: 43
Registered: June 2014
Member
Hey,

I am also running my application the "jetty-way", because i also had different problems with the war-files...
And during my reaseach, most of people don't recommend to embed osgi/equinox into a war.
One main problem for me was also the exporting to different platforms with native launchers.

To cut a long story short, I also go the "version mismatch" error today (never had this before...) and I did the following. Although I could not determine the exact reason , the problem is gone.
Maybe some of these steps could help you too:
- I killed all java and eclipse.exe processes using the task manager (there were some phantoms running )
- i used the "project version" mechanism of the scout object properties - maybe, this helped to reset the version number
- Then i exported the server and the rap-client again


Re: Run scout server standalone? [message #1430146 is a reply to message #1429827] Wed, 24 September 2014 04:39 Go to previous messageGo to next message
Jeremie Bresson is currently offline Jeremie BressonFriend
Messages: 947
Registered: October 2011
Senior Member
Nejc Gasper wrote on Tue, 23 September 2014 21:28
Thanks for the time and sorry if I spammed too much.


No spam at all. Thanks for sharing.

I am not an expert in the "operation" aspect (build, deploy...) and the information you have provided helped me to know more and I think it will help others. I also have appreciated your summary post.

.
Re: Run scout server standalone? [message #1442232 is a reply to message #1430146] Fri, 10 October 2014 20:42 Go to previous message
Lukas Huser is currently offline Lukas HuserFriend
Messages: 42
Registered: March 2010
Member
Hi Nejc

The Version Mismatch error you encounter is a general mechanism to prevent old clients from connecting to the Scout server. And the RAP server acts as a client to the Scout server. You already figured out that the client sets its request version on the service tunnel during session initialization. See DefaultTransactionDelegate.invokeImpl() for the server side part of this feature, here the version check is performed and the respective exception is thrown.

By default the client retrieves its version string through a call to Platform.getProduct().getDefiningBundle().getHeaders().get("Bundle-Version") (see constructor of AbstractServiceTunnel). This call usually resolves to the Bundle-Version in the MANIFEST.MF file of your UI-Bundle (e.g. com.myapp.ui.rap).

One possibility that this version lookup fails is a missing "product" in your exported eclipse application. The product needs to be explicitly specified such that it is known at runtime. A good place is the config.ini file. Check the config.ini file of your exported RAP server, it should define the eclipse.product property. Add it, if it is missing. Example:
eclipse.product=com.myapp.ui.rap.product


Lukas
Previous Topic:Calling Scout from Mobile Device
Next Topic:Export in Excel and Download a file
Goto Forum:
  


Current Time: Sun Apr 26 22:48:43 GMT 2015

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

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