Use data services wizard or not in flash builder 4 (advice)
Hi,
I have been playing and reading a lot about how to use the new data service connection wizard for data centric management in flash buidler 4.
I'm facing now some problems, first, the files it is generating is somehow complex for me, and it seems I can't add new operations just stick to the ones it uses (documentation states the operations that must be defined to make everything work (addItem,etc...)). On the other hand, I had a little php system I used in flex builder 3 to have just only one file in the server that using reflexion could serve differnt kinds of data to the data services, now, I think I can't use them because It doesn't follow "operation names". As an example, for the getItem, I pass the VO type taht will be used, etc...
Some pros/contrs:
Using wizards
1) Everything is ready to use in seconds.
2) Forms can be generated automatically.
3) Best aproach to do things (I guess, if adobe people is doint it this way it is because it is the best way to do it)
Without wizards
1) No time trying to undestand the cryptic generated files.
2) Free to use any signature to calll from the services (Not just stick to addItem, updateItem, etc... with predefined signature.
3) Less server files floating around (if you like me do some kind of reflection on the service files, to share operations for any type you need).
Well, perhaps I could be totally wrong, but it is a bit of a pain for me to get into CDM, could anyone bring some light, confirming for exampel that new operations can be added easily, etc...?
Thanks in advance,
Aron.
hi,
DCD is currently in its infancy and suffers from a lack of features you might find in more mature tools of this nature. In its current form I think its a great tool for rapid prototyping and as it matures may also be a great tool for enterprise development. I am sure as Adobe work with feedback they get from the community these wizards etc.. will get much better.
So that leaves you with the choice of staying with what you are familiar with or putting the effort into become familiar with DCD and using it to its maximum abilities then pushing it a bit further. Its now a part of the environment and its not going to disappear so its wise to at least become familiar with its useability so you don't get left behind as it does improve.
At the moment it does a lot of the minding numbing work of setting up connections preparing client side and server side scripting for basic crud operations and in many simple cases this will be enough.
You can update services with you own code and DCD will generate the client side code for you (VO's etc) you just need to guide DCD as to send and return types. In a lot of cases you can reuse the value objects generated for your extended services (for instance you have a client table that you create a filter for you just tell dcd its the same type as a select from client and when it generates your client code it knows how to type results etc.)
Experts will never be happy with wizards, the code is not as optimal as hand written code and sometimes confusing to maintain. For those getting into development of backend communication the DCD will help them immensely, and hopefully guide them to best practises when it comes to how you should structure everything.
Is it ready for large scale application ?, thats not my call to make(but it's not ready yet ), I will use DCD if I think it can do the job without to much from me otherwise the old tried and true methods will be applied. My expectation is that the DCD will become more powerful and as it does I will be ready to use it on a more frequent basis. For now I still concentrate most my efforts on the 'old way' but won't ignore and the value it can bring to the development cycle.
David
Similar Messages
-
Flash Builder 4 and Blaze Data Services wizard
Hello,
My project uses BlazeDS for backend and Flex for frontend.
I use Data Services wizard to auto generate the valueObjects from the corresponding Java classes.
But the generated code does not seem to implement object inheritance. The valueObjects only inherit from their own _Super* classes.
Example
Java objects
Circle extends Shape
Generated actionscript objects
Circle extends _Super_Circle extends EventDispatcher
Shape extends _Super_Shape extends EventDispatcher
Doesn't Flash Builder Data wizards support this feature or am i missing something?
Thank you
Filaretos PostekoglouHi,
It should work fine. Can you please share the exact version of the LCDS. Also please let us know the service types and channel types you are using in your application. -
Dear all -
I am writing with the confidence that someone will be able to assist me.
I am using the Flash Builder Data Services Wizard to access a Server that utilizes REST type calls and returns JSON objects. The server is a JETTY server and it apparantly already works and is returning JSON objects (see below for example). It is both HTTP and HTTPS enabled, and right now it has a cross-domain policy file that is wide open (insecure but its not a production server, it's internal).
The crossdomain file looks like this:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE cross-domain-policy SYSTEM "http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
<allow-http-request-headers-from domain="*" headers="*" secure="false" />
<allow-access-from domain="*" to-ports="*" secure="false"/>
<site-control permitted-cross-domain-policies="master-only" />
</cross-domain-policy>
The crossdomain file is in the jetty server's root directory and is browseable via HTTP and HTTPS (i.e. browsing to it returns the xml)
Now before all of you say that using wizards sucks (generally) I thought I would utilize the FB Data Services Wizard as at least it would provide a template for which I could build additional code against, or replace and improve the code it produces.
With that in mind, I browse to the URL of the Jetty Server with any web browser (for example, Google Chrome, Firefox or IE) with a URL like this (the URL is a little confidential at the moment, but the structure is the same)
https://localhost:somePort/someKey/someUser/somePassword/someTask
*somePort is the SSL port like 8443
*someKey is a key to access the URL's set of services
returns a JSON object as a string in the web browser and it appears like the following:
{"result":success,"value":"whatEverTheValueShould"}
Looks like the JSON string/object is valid.
I went through the Flash Builder Data Services Wizard to set up HTTP access to this server. The information that I filled in is described below:
Do you want to use a Base URL as a prefix for all operation URLs?
YES
Base URL:
https://localhost:8443/someKey/
Name : someTask
Method : POST
Content-Type: application/x-www-form-urlencoded
URL : {someUser}/{somePassword}/someTask
Service Name: SampleRestapi
Services Package: services.SampleRestapi
datatype objects: valueObjects:
Completing the wizard, I run the Test Operation command. Remember, no authentication is needed to get a JSON string.
It returns:
InvocationTargetException: Unable to connect to the URL specified
I am thinking - okay, but the URL IS browseable (as I originally was able to browse to it, as noted above).
I continue to test the service by creating a Flex application that accepts a username and password in a form. when the form is submitted, the call to the service is invoked and an event handler returns the result. The code is below (with some minor changes to mask the actual source).
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
xmlns:SampleRestapi="services.SampleRestapi.*"
minWidth="955" minHeight="600">
<fx:Script>
<![CDATA[
import mx.controls.Alert;
import mx.rpc.events.ResultEvent;
protected function button_clickHandler(event:MouseEvent):void
isUserValidResult.token = SampleRestAPI.isUserValid(userNameTextInput.text,passwordTextInput.text);
protected function SampleRestAPI_resultHandler(event:ResultEvent):void
// TODO Auto-generated method stub
// print out the results
txtAreaResults.text = event.result.message as String;
// txtAreaResults.appendText( "headers \n" + event.headers.toString() );
]]>
</fx:Script>
<fx:Declarations>
<SampleRestapi:SampleRestAPI id="SampleRestAPI"
fault="Alert.show(event.fault.faultString + '\n' + event.fault.faultDetail)"
result="SampleRestAPI_resultHandler(event)"
showBusyCursor="true"/>
<s:CallResponder id="isUserValidResult"/>
<!-- Place non-visual elements (e.g., services, value objects) here -->
</fx:Declarations>
<s:Form defaultButton="{button}">
<s:FormItem label="UserName">
<s:TextInput id="userNameTextInput" text="q"/>
</s:FormItem>
<s:FormItem label="Password">
<s:TextInput id="passwordTextInput" text="q"/>
</s:FormItem>
<s:Button id="button" label="IsUserValid" click="button_clickHandler(event)"/>
<s:FormItem label="results:">
<s:TextArea id="txtAreaResults"/>
</s:FormItem>
</s:Form>
</s:Application>
It's a simple application to be sure. When I run it , I get the following returned in the text area field txtAreaResults:
An Internal Error Occured.
Which is equivalent to the following JSON string being returned:
{"success":false,"value":"An Internal Error Occured"}
It appears that the call is being made, and that a JSON object is being returned... however it does not return the expected results?
Again the URL constructed is the same:
https://www.somedomain.com:somePort/someKey/someUser/somePassword/someTask
So I am wondering what the issue could be:
1) is it the fact that I am browsing the test application from an insecure (http://) web page containing the Flex application and it is accessing a service through https:// ?
2) is the JSON string structurally correct? (it appears so).
3) There is a certificate enabled for HTTPs. it does not match the test site I am using ( the cert is for www.somedomain.com but I am using localhost for testing). Would that be an issue? Google Chrome and IE just asks me to proceed anyway, which I say "yes".
Any help or assistance on this would be appreciated.
thanks
EdwardHello everyone -
Since I last posted an interesting update happened. I tested my Flex application again, it is calling a Jetty Server that returns a JSON object, in different BROWSERS. I disabled HTTPS for now, and the crossdomain.xml policy file is wide open for testing (ie. allowing every request to return data). So the app accessing the data using HTTP only. Browsers - IE, Opera, Firefox and Chrome. Each browser contained the SAME application, revision of the Flash Player (10.3.183.10 debugger for firefox, chrome, opera, safari PC; 11.0.1.129 consumer version in IE9,) take a look at the screen shot (safari not shown although the result was the same as IE and chrome)
Note that Opera and Firefox returned successful values (i.e. successful JSON objects) using the same code generated from the Data Services Wizard. Chrome, IE and, Safari failed with an Internal error. So I am left wondering - WHY? Is it something with the Flash Player? the Browsers? the Flex SDK? Any thoughts are appreciated. Again, the code is found in the original thread above. -
Data Services wizard not creating service
I am having huge problems with the Data Services wizard.
I am using Flash Builder 4.6 on a Mac (10.7.2).
Over the last year I have been working on a couple of proof of concept projects and now want to start work on a production version starting from scratch in a new project.
The Data Services wizard has worked fine for me in the past, but now I am having serious problems.
The first problem is the Data/Services window does not update when I create a new service with the wizard. (I am connecting to the Zenfolio Web Service.) If have to close the project and open it before I see the new service in the Data/Services window.
While this problem is more an inconvenience, more seriously the wizard does not create either the "services" folder or the "valueObjects" folder as it did in the past.
Now if I right click on a method in the service and select "Create Service Call", it creates the Call Responder but not the call itself.
The relevant log entry starts with
!ENTRY com.adobe.flexbuilder.dcrad 4 1 2012-01-12 22:39:20.962
!MESSAGE Component type services.zfapi.Zfapi not found.
If I create a "services" folder and copy the zfapi package from one of my previous projects, all works fine.
This probably gives me a workaround - although I haven't tested this to any extent yet.
It is very strange and worrying behaviour though.
regards
ChrisOK, here are the log entries created when I try to create the service:
!ENTRY com.adobe.flexbuilder.dcrad 4 1 2012-01-19 22:16:33.970
!MESSAGE
!STACK 0
java.lang.reflect.InvocationTargetException
at org.eclipse.jface.operation.ModalContext.runInCurrentThread(ModalContext.java:479)
at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:372)
at org.eclipse.jface.dialogs.ProgressMonitorDialog.run(ProgressMonitorDialog.java:507)
at com.adobe.flexbuilder.dcrad.core.internal.ServicesManager.addServices(ServicesManager.jav a:476)
at com.adobe.flexbuilder.dcrad.views.ServiceExplorerView$1.handleEvent(ServiceExplorerView.j ava:536)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4128)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1457)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1480)
at org.eclipse.swt.widgets.Widget.sendSelectionEvent(Widget.java:1530)
at org.eclipse.swt.widgets.Link.textView_clickOnLink_atIndex(Link.java:117)
at org.eclipse.swt.widgets.Display.windowProc(Display.java:5781)
at org.eclipse.swt.internal.cocoa.OS.objc_msgSendSuper(Native Method)
at org.eclipse.swt.widgets.Widget.callSuper(Widget.java:220)
at org.eclipse.swt.widgets.Widget.mouseDownSuper(Widget.java:1092)
at org.eclipse.swt.widgets.Widget.mouseDown(Widget.java:1084)
at org.eclipse.swt.widgets.Control.mouseDown(Control.java:2519)
at org.eclipse.swt.widgets.Display.windowProc(Display.java:5471)
at org.eclipse.swt.internal.cocoa.OS.objc_msgSendSuper(Native Method)
at org.eclipse.swt.widgets.Widget.callSuper(Widget.java:220)
at org.eclipse.swt.widgets.Widget.windowSendEvent(Widget.java:2092)
at org.eclipse.swt.widgets.Shell.windowSendEvent(Shell.java:2252)
at org.eclipse.swt.widgets.Display.windowProc(Display.java:5535)
at org.eclipse.swt.internal.cocoa.OS.objc_msgSendSuper(Native Method)
at org.eclipse.swt.widgets.Display.applicationSendEvent(Display.java:4989)
at org.eclipse.swt.widgets.Display.applicationProc(Display.java:5138)
at org.eclipse.swt.internal.cocoa.OS.objc_msgSend(Native Method)
at org.eclipse.swt.internal.cocoa.NSApplication.sendEvent(NSApplication.java:128)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3610)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2696)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2660)
at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2494)
at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:674)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:667)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
at com.adobe.flexbuilder.standalone.FlashBuilderApplication.start(FlashBuilderApplication.ja va:108)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLau ncher.java:110)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.jav a:79)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:344)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:622)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:577)
at org.eclipse.equinox.launcher.Main.run(Main.java:1410)
Caused by: java.lang.NoClassDefFoundError: org/apache/log4j/Priority
at freemarker.log.Log4JLoggerFactory.getLogger(Log4JLoggerFactory.java:65)
at freemarker.log.Logger.getLogger(Logger.java:255)
at freemarker.template.utility.SecurityUtilities.<clinit>(SecurityUtilities.java:67)
at freemarker.ext.beans.BeansWrapper.<clinit>(BeansWrapper.java:147)
at freemarker.template.ObjectWrapper.<clinit>(ObjectWrapper.java:69)
at freemarker.core.Configurable.<init>(Configurable.java:132)
at freemarker.template.Configuration.<init>(Configuration.java:109)
at freemarker.template.Configuration.<clinit>(Configuration.java:96)
at fiber.gen.freemarker.FreemarkerModelGenerator.buildFreemarkerConfiguration(FreemarkerMode lGenerator.java:328)
at fiber.gen.freemarker.FreemarkerModelGenerator.<init>(FreemarkerModelGenerator.java:85)
at fiber.gen.freemarker.FreemarkerStructuredTypeGenerator.<init>(FreemarkerStructuredTypeGen erator.java:62)
at fiber.gen.as.ASClassGenerator.<init>(ASClassGenerator.java:84)
at fiber.gen.as.vo.SuperGenerator.<init>(SuperGenerator.java:53)
at fiber.gen.as.vo.ASValueObjectGenerator$2.<init>(ASValueObjectGenerator.java:225)
at fiber.gen.as.vo.ASValueObjectGenerator.getBaseClassGenerator(ASValueObjectGenerator.java: 222)
at fiber.gen.as.vo.ASValueObjectGenerator.getTemplateNames(ASValueObjectGenerator.java:392)
at fiber.gen.as.ASGenerator.getTemplateNames(ASGenerator.java:465)
at com.adobe.model.core.generators.wrapper.CodeGenerationUtils.getTemplateResources(Unknown Source)
at com.adobe.model.core.generators.wrapper.CodeGenerationWrapper.getTemplateResourcesForGene rator(Unknown Source)
at com.adobe.model.core.generators.wrapper.CodeGenerationWrapper.generateCodeForGenerator(Un known Source)
at com.adobe.model.core.generators.wrapper.CodeGenerationWrapper.internalGenerateAllCodeForM odel(Unknown Source)
at com.adobe.model.core.generators.wrapper.CodeGenerationWrapper$2.run(Unknown Source)
at com.adobe.model.core.generators.wrapper.CodeGenerationWrapper.generateAllCodeForModel(Unk nown Source)
at com.adobe.flexbuilder.dcrad.core.generation.ASVOGenerator.generate(ASVOGenerator.java:78)
at com.adobe.flexbuilder.dcrad.core.internal.ServicesManager.generateVO(ServicesManager.java :538)
at com.adobe.flexbuilder.dcrad.core.internal.ServicesManager.add(ServicesManager.java:403)
at com.adobe.flexbuilder.dcrad.core.internal.ServicesManager.access$11(ServicesManager.java: 356)
at com.adobe.flexbuilder.dcrad.core.internal.ServicesManager$1.run(ServicesManager.java:484)
at org.eclipse.jface.operation.ModalContext.runInCurrentThread(ModalContext.java:464)
... 48 more
Caused by: java.lang.ClassNotFoundException: org.apache.log4j.Priority
at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:513)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:429)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:417)
at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.jav a:107)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
... 77 more
Root exception:
java.lang.NoClassDefFoundError: org/apache/log4j/Priority
at freemarker.log.Log4JLoggerFactory.getLogger(Log4JLoggerFactory.java:65)
at freemarker.log.Logger.getLogger(Logger.java:255)
at freemarker.template.utility.SecurityUtilities.<clinit>(SecurityUtilities.java:67)
at freemarker.ext.beans.BeansWrapper.<clinit>(BeansWrapper.java:147)
at freemarker.template.ObjectWrapper.<clinit>(ObjectWrapper.java:69)
at freemarker.core.Configurable.<init>(Configurable.java:132)
at freemarker.template.Configuration.<init>(Configuration.java:109)
at freemarker.template.Configuration.<clinit>(Configuration.java:96)
at fiber.gen.freemarker.FreemarkerModelGenerator.buildFreemarkerConfiguration(FreemarkerMode lGenerator.java:328)
at fiber.gen.freemarker.FreemarkerModelGenerator.<init>(FreemarkerModelGenerator.java:85)
at fiber.gen.freemarker.FreemarkerStructuredTypeGenerator.<init>(FreemarkerStructuredTypeGen erator.java:62)
at fiber.gen.as.ASClassGenerator.<init>(ASClassGenerator.java:84)
at fiber.gen.as.vo.SuperGenerator.<init>(SuperGenerator.java:53)
at fiber.gen.as.vo.ASValueObjectGenerator$2.<init>(ASValueObjectGenerator.java:225)
at fiber.gen.as.vo.ASValueObjectGenerator.getBaseClassGenerator(ASValueObjectGenerator.java: 222)
at fiber.gen.as.vo.ASValueObjectGenerator.getTemplateNames(ASValueObjectGenerator.java:392)
at fiber.gen.as.ASGenerator.getTemplateNames(ASGenerator.java:465)
at com.adobe.model.core.generators.wrapper.CodeGenerationUtils.getTemplateResources(Unknown Source)
at com.adobe.model.core.generators.wrapper.CodeGenerationWrapper.getTemplateResourcesForGene rator(Unknown Source)
at com.adobe.model.core.generators.wrapper.CodeGenerationWrapper.generateCodeForGenerator(Un known Source)
at com.adobe.model.core.generators.wrapper.CodeGenerationWrapper.internalGenerateAllCodeForM odel(Unknown Source)
at com.adobe.model.core.generators.wrapper.CodeGenerationWrapper$2.run(Unknown Source)
at com.adobe.model.core.generators.wrapper.CodeGenerationWrapper.generateAllCodeForModel(Unk nown Source)
at com.adobe.flexbuilder.dcrad.core.generation.ASVOGenerator.generate(ASVOGenerator.java:78)
at com.adobe.flexbuilder.dcrad.core.internal.ServicesManager.generateVO(ServicesManager.java :538)
at com.adobe.flexbuilder.dcrad.core.internal.ServicesManager.add(ServicesManager.java:403)
at com.adobe.flexbuilder.dcrad.core.internal.ServicesManager.access$11(ServicesManager.java: 356)
at com.adobe.flexbuilder.dcrad.core.internal.ServicesManager$1.run(ServicesManager.java:484)
at org.eclipse.jface.operation.ModalContext.runInCurrentThread(ModalContext.java:464)
at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:372)
at org.eclipse.jface.dialogs.ProgressMonitorDialog.run(ProgressMonitorDialog.java:507)
at com.adobe.flexbuilder.dcrad.core.internal.ServicesManager.addServices(ServicesManager.jav a:476)
at com.adobe.flexbuilder.dcrad.views.ServiceExplorerView$1.handleEvent(ServiceExplorerView.j ava:536)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4128)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1457)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1480)
at org.eclipse.swt.widgets.Widget.sendSelectionEvent(Widget.java:1530)
at org.eclipse.swt.widgets.Link.textView_clickOnLink_atIndex(Link.java:117)
at org.eclipse.swt.widgets.Display.windowProc(Display.java:5781)
at org.eclipse.swt.internal.cocoa.OS.objc_msgSendSuper(Native Method)
at org.eclipse.swt.widgets.Widget.callSuper(Widget.java:220)
at org.eclipse.swt.widgets.Widget.mouseDownSuper(Widget.java:1092)
at org.eclipse.swt.widgets.Widget.mouseDown(Widget.java:1084)
at org.eclipse.swt.widgets.Control.mouseDown(Control.java:2519)
at org.eclipse.swt.widgets.Display.windowProc(Display.java:5471)
at org.eclipse.swt.internal.cocoa.OS.objc_msgSendSuper(Native Method)
at org.eclipse.swt.widgets.Widget.callSuper(Widget.java:220)
at org.eclipse.swt.widgets.Widget.windowSendEvent(Widget.java:2092)
at org.eclipse.swt.widgets.Shell.windowSendEvent(Shell.java:2252)
at org.eclipse.swt.widgets.Display.windowProc(Display.java:5535)
at org.eclipse.swt.internal.cocoa.OS.objc_msgSendSuper(Native Method)
at org.eclipse.swt.widgets.Display.applicationSendEvent(Display.java:4989)
at org.eclipse.swt.widgets.Display.applicationProc(Display.java:5138)
at org.eclipse.swt.internal.cocoa.OS.objc_msgSend(Native Method)
at org.eclipse.swt.internal.cocoa.NSApplication.sendEvent(NSApplication.java:128)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3610)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2696)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2660)
at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2494)
at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:674)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:667)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
at com.adobe.flexbuilder.standalone.FlashBuilderApplication.start(FlashBuilderApplication.ja va:108)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLau ncher.java:110)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.jav a:79)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:344)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:622)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:577)
at org.eclipse.equinox.launcher.Main.run(Main.java:1410)
Caused by: java.lang.ClassNotFoundException: org.apache.log4j.Priority
at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:513)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:429)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:417)
at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.jav a:107)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
... 77 more -
Error while loading data into BW (BW as Target) using Data Services
Hello,
I'm trying to extract data from SQL Server 2012 and load into BW 7.3 using Data Services. Data Services shows that the job is finished successfully. But, when I go into BW, I'm seeing the below / attached error.
Error while accessing repository Violation of PRIMARY KEY constraint 'PK__AL_BW_RE_
Please let me know what this means and how to fix this. Not sure if I gave the sufficient information. Please let me know if you need any other information.
Thanks
PradeepHi Pradeep,
Regarding your query please refer below SCN thread for the same issue:
SCN Thread:
FIM10 to BW 73- Violation of PRIMARY KEY -table AL_BW_REQUEST
Error in loading data from BOFC to BW using FIM 10.0
Thanks,
Daya -
Using Data Services (AMF) with Android
Hello,
I'm working on Android application which needs to invoke existing AMF service.
I've read the following post:
Creating an Android application that invokes Data Services
...which states that you need flex-messaging-client-android.jar as part of your build to be able to use Data Services.
This took me to the following post:
Create a Data Services application for the Experience Server that returns data
From there I managed to set up Expesience Server and connect to the Packages, but nowhere can I find the "dataservices-sdk-pkg.zip" which is suppose to contain the flex-messaging-client-android.jar. All I can find is "dataservices-pkg.zip" which does not have "flex-messaging-client-android.jar", but has bunch of other JARs. I've also spend reasnoble amount of time seraching through Package Share, but no luck.
I've also Googled and read through all other posts relaetd to this topic and none of them seem to lead to success
So my question is:
when connecting Android application to AMF backend, do we still need to use the "flex-messaging-client-android.jar" or is there a new JAR that has replased this?
If "flex-messaging-client-android.jar" needs to be used, could you help me find it.
ThanksFound it...
In the Package Share found the following package: es-sdk-pkg
Downleaded that, then saved to local drive, then unzip.
In "es-sdk-pkg" package you can find "dataservices-sdk-pkg" in the following location:
...\jcr_root\etc\packages\adobe\aep\platform\sdk
Unzip "dataservices-sdk-pkg" and the "flex-messaging-client-android.jar" is in the following location:
...\jcr_root\etc\aep\sdks\riaservices\dataservices\4.5.1\android
Hope this helps someone else. -
Data Service Wizard - How can I reconfigure return type field as XML (E4X) value
The HTTP Data Service wizard - "Reconfigure Return Type" - does not allow XML (E4X) to be selected as a data type for a field. For example , If my example XML payload looks like this (see below), I would like to set the datatype for "settings" field to be XML (E4X) and have the service decode the "string" value into an XML (E4X) value.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ListOfUsers version="1.0.0">
<User>
<id>3</id>
<subType>INTERNAL</subType>
<authName>internal</authName>
<name>Internal User</name>
<settings><?xml version="1.0" encoding="utf-8" ?><Settings><Profile><Region>emea</Region><Language>en.g b</Language></Profile></Settings></settings>
</User>
</ListOfUsers>I find a (reasonably) elegant workaround which is to add a transient property in the "public" sub class of the value type - see below - I havent tested it much so not sure if it will work adequateky in all circumstances
package services.listeningpost
public class User_type extends _Super_User_type
public function get xmlSettings():XML
return new XML(settings);
public function set xmlSettings(object:XML):void
settings = object.toXMLString(); -
Extract data from a BW 7.0 cube to a SQL DB using Data Services XI
Hi Gurus,
We are trying to extract data from a BW 7.0 cube to a SQL DB using Data Services XI, the issue is that we can not read text without making "joins" between SID in the fact table and the master data tables. Do you know if it is posible to read text in a natural way?
Best RegardsThanks Wondewossen,
As you know, the DataStores (Data Services) provide access to:
1.-Tables
2.-Functions
3.-IDOCs
4.-Open Hub Tables
We are trying to extract data using the first one (Tables), not using Open Hub.
Best Regardas -
Push Data in SAP Tables using Data Services
Hi
Lets suppose that I have used Data Services 4.0 to pull data from KNA1 table , and loaded into the MDM where data cleansing , enrichment and deduplication has been done, and then MDM writes to a file.
How can Data Services then push the cleansed data back into the SAP table ( KNA1) ? [or it cannot be done due to multiple reasons ]
RishiHi
To update an SAP table, import the metadata for the relevant BAPI or IDoc and call it via a query transform.
M -
Extract data from ECC to Oracle using Data Services 4.0
How to extract data from ecc6.0 Business content extractors to oracle using sap bo data services 4.0
Are you trying to use the SAP BW Business Content to extract data out of ECC and load into Oracle tables with Data Services? If that's the case, then you cannot do that. The SAP BW Business Content was developed to only be used in conjunction with SAP BW. When using Data Services to access the extractors in ECC, it has to have an SAP BW InfoPackage associated with it to execute. In this architecture, Data Services is only a pass through from ECC to BW and allows the ability to do some transformations of data prior to loading into the EDW layer (staging tables basically) on SAP BW.
To connect ECC to Oracle, you're going to have to have all of the SAP BusinessObjects supplied Function Modules loaded onto ECC, along with a non-dialog logon account that has the ability to pass dynamic ABAP programs, generate the programs and schedule them. Depending on how you want to process the output, you may also have to have the ability to write to files on the ECC application servers and have an FTP account created on the application servers that can GET flat files and potentially DELETE them (you're going to need to delete periodically, otherwise your jobs will crash when the file space allocation has been consumed). -
Unable to support application while using data services
I have a curve9220
all time good product
but unable to use any application while using data services
but i can browes from explore.Yes, if you want to use them on mobile network you must have a BB data plan.
1. Please thank those who help you by clicking the "Like" button at the bottom of the post that helped you.
2. If your issue has been solved, please resolve it by marking the post "Solution?" which solved it for you! -
How to Use calendar service via internet not intranet
Hello:
I wanted to know if there is any change or stuff (like proxy web server) to use the calendar via Internet.
i.e.
i access the calendar on my networ througth http://hostname.domainname.com:portnumbre.
When i try to access via internet therougth www.domainname:portnumer, it cannot be accesible.
What are the procedures, by the way i have used the evaluation senario for this.
Thanks in advice.Hi:
Thanks for the reply but still yet it does not fix my problem.
Let me explain a little bit more:
The DNS looks up to the ip so the access page can be reached, but when i try to use the service it does not work.
So i guess i need to ad some line to ics.conf?? or something else:
My domain internally just works fine.
host.mydomain.com:3080
and i access and use the clalendar
however when outside the intranet i.e my home i use:
www.mydomain.com:3080
It accesses to the page where it asks me for login, but it does not authenticate. and continues asking for a user.
That�s why i think there must be some change in the configuration or software.
Once More
Thanks -
I want to use data service,Idon't know how to download it
I want to use data service,Idon't know how to download it,if you have data service please send me thanks a lot!
Hello Long,
you can download it here:
http://service.sap.com/bosap-support
(around middle of the screen:) “Browse Analytics Downloads: Installations, Upgrades and Support Packages”
(on top of the page:) “Installation and Upgrade”
SAP Data Services.
Regards,
Laszlo
Message was edited by: Laszlo Badovszky -
Recently purchased an unlocked iPhone4 handset only online. When my O2 sim card is used in handset it does not work. Any advice?
When you say it doesn't work, did it give you any type of message when you activated the phone with the O2 sim card?
-
Using SMS to Package Data Services Silent Install not creating shortcuts
Hello,
My client has successfully created a package to install DS 3.1 using SMS (Microsoft Packaging) but after the Instalation runs, there is no startup folder created, or shortcuts to kick off any o fthe products. Has anyone run into this issue? How did you resolve it? Thanks! KenHi Ken,
After installing DS XI 3.1 you will have data services available under following path i.e C:\Program Files\Business Objects XI 3.1 \Business Objects Data Services ....'. Also check control panel and see whether you can see the following services
1. Business Objects Data Services
2. Business Objects Address Server.
Sorry i don't have knowledge on SMS.
Thanks & Regards
prabu
Maybe you are looking for
-
HT1386 my itunes wont sync all of my songs and i dont know why.
This problem never used to be there for me but now it is it has nothing to do wiothe space left because i have enough left i have tried looking at other answers but they havent really helped please help quickly
-
How to import partitioned tables in different tablespace
Hi everyone, I try to import the partitioned tables in different tablespace. Consider the following situation: I have a dump file which is created by using "Export" utility. Some data are in partitioned tables, some of them are in non-partitioned tab
-
Fstab causes .dmg mounting issues in Snow Leopard
I am having this odd issue is Snow Leopard with fstab. If I use valid partition UUIDs in fstab to regulate mounting, then .dmg volumes do not get mounted properly (or at least get mounted in such a way that Finder has issues). After mounting, the .dm
-
Weblogic apache HTTP configuration question
Hi All, Here is my current configuration: Oracle Weblogic 10.01 Linux Centos 5 Apache HTTP 2.2 LoadModule weblogic_module modules/mod_wl_22.so <Location /TESTCRM> <IfModule mod_weblogic.c> SetHandler weblogic-handler WeblogicHost 192.168.100.20 WebLo
-
It is interesting why java.lang.reflect.Array.newInstance() returns Object, but not more specific Object[]?