cancel
Showing results for 
Search instead for 
Did you mean: 

GWPA error when creating Starter Application or Generating Proxy for iOS

bradp
Active Participant
0 Kudos

Hi,

I have had the GWPA installed and it was working perfectly, however today I tried to update the tools so as to use the latest libraries.

After updating I am no longer able to generate a Starter Application or Generate a Proxy for any service.

The error I am getting is:

Template Generation Wizard error, see error log for details.

And the Exception Stack Trace:

java.lang.NullPointerException

          at com.sap.odata.dt.framework.utils.FileUtils.copyDirFromBundle(FileUtils.java:390)

          at com.sap.iw.gw.oc.eclipse.ios.generator.ProxyGenerator.copySDMLibraryFolder(ProxyGenerator.java:235)

          at com.sap.iw.gw.oc.eclipse.ios.generator.ProxyGenerator.generateProxy(ProxyGenerator.java:110)

          at com.sap.iw.gw.oc.eclipse.ios.generator.IOSBaseAppGenerator.generateProxy(IOSBaseAppGenerator.java:186)

          at com.sap.iw.gw.oc.eclipse.ios.generator.ListDetailsAppGenerator.generateApp(ListDetailsAppGenerator.java:84)

          at com.sap.iw.gw.oc.eclipse.template.ios.list.IOSListTemplate.onFinish(IOSListTemplate.java:88)

          at com.sap.iw.gw.oc.eclipse.framework.wizard.TemplateGenerationWizard$1.run(TemplateGenerationWizard.java:109)

          at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:180)

          at org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchronizer.java:150)

          at org.eclipse.swt.widgets.Display.syncExec(Display.java:4607)

          at com.sap.iw.gw.oc.eclipse.framework.wizard.TemplateGenerationWizard.doFinish(TemplateGenerationWizard.java:103)

          at com.sap.iw.gw.oc.eclipse.framework.wizard.TemplateGenerationWizard.access$2(TemplateGenerationWizard.java:101)

          at com.sap.iw.gw.oc.eclipse.framework.wizard.TemplateGenerationWizard$2.run(TemplateGenerationWizard.java:171)

          at org.eclipse.jface.operation.ModalContext.runInCurrentThread(ModalContext.java:464)

          at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:372)

          at org.eclipse.jface.wizard.WizardDialog.run(WizardDialog.java:1028)

          at com.sap.iw.gw.oc.eclipse.framework.wizard.TemplateGenerationWizard.performFinish(TemplateGenerationWizard.java:167)

          at org.eclipse.jface.wizard.WizardDialog.finishPressed(WizardDialog.java:827)

          at org.eclipse.jface.wizard.WizardDialog.buttonPressed(WizardDialog.java:432)

          at org.eclipse.jface.dialogs.Dialog$2.widgetSelected(Dialog.java:624)

          at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:248)

          at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)

          at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4136)

          at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1458)

          at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1481)

          at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1466)

          at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:1271)

          at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3982)

          at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3621)

          at org.eclipse.jface.window.Window.runEventLoop(Window.java:825)

          at org.eclipse.jface.window.Window.open(Window.java:801)

          at org.eclipse.ui.internal.handlers.WizardHandler$New.executeHandler(WizardHandler.java:259)

          at org.eclipse.ui.internal.handlers.WizardHandler.execute(WizardHandler.java:279)

          at org.eclipse.ui.internal.handlers.HandlerProxy.execute(HandlerProxy.java:290)

          at org.eclipse.ui.internal.handlers.E4HandlerProxy.execute(E4HandlerProxy.java:76)

          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.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:56)

          at org.eclipse.e4.core.internal.di.InjectorImpl.invokeUsingClass(InjectorImpl.java:231)

          at org.eclipse.e4.core.internal.di.InjectorImpl.invoke(InjectorImpl.java:212)

          at org.eclipse.e4.core.contexts.ContextInjectionFactory.invoke(ContextInjectionFactory.java:131)

          at org.eclipse.e4.core.commands.internal.HandlerServiceImpl.executeHandler(HandlerServiceImpl.java:171)

          at org.eclipse.ui.internal.handlers.LegacyHandlerService.executeCommand(LegacyHandlerService.java:515)

          at org.eclipse.ui.internal.actions.CommandAction.runWithEvent(CommandAction.java:157)

          at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:584)

          at org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:501)

          at org.eclipse.jface.action.ActionContributionItem$5.handleEvent(ActionContributionItem.java:411)

          at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)

          at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4136)

          at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1458)

          at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1481)

          at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1466)

          at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:1271)

          at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3982)

          at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3621)

          at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:1053)

          at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)

          at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:942)

          at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:86)

          at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:588)

          at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)

          at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:543)

          at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)

          at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:124)

          at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)

          at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)

          at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)

          at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:353)

          at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:180)

          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:629)

          at org.eclipse.equinox.launcher.Main.basicRun(Main.java:584)

          at org.eclipse.equinox.launcher.Main.run(Main.java:1438)

I'm not sure if this is a new bug introduced in the latest GWPA or whether I am missing something. I have tried re-installing the tools on different versions of eclipse, and experienced the same error.

Thanks,

Brad

Accepted Solutions (1)

Accepted Solutions (1)

bradp
Active Participant
0 Kudos

So while continuing to try resolve this issue, I decided to try reference the SDK libraries I have from SMP 3.0 SDK and change the SDK path in the Eclipse preferences under iOS toolkit as shown below:

So this leads me back to my initial question, is there a bug in the latest GWPA for iOS. It seems as if when the "Use Supplied SDK (version 3.0)" option is used, it cant find the supplied SDK possibly?

The solution of using my own copy of the SDK resolves this problem, but it would be interesting to know why the other option does not work.

Thanks,

Brad

former_member186879
Active Participant
0 Kudos

Hi Brad,

You've ran into a known issue that exists in this release.

This issue is now fixed and will be available next week.

For now, you can use your copy of the SMP 3.0 libraries or follow the steps that are documented in the release notes (look under known issues):

http://service.sap.com/sap/support/notes/1830710

Thanks,

Uri

bradp
Active Participant
0 Kudos

Thanks Uri! Thats good to know.

Former Member
0 Kudos

That is great as we have same issue. Can you let us know as soon as the fix is available? And do we just have to check for updates in Eclipse then to received the update?

former_member186879
Active Participant
0 Kudos

Sure, I will post a comment here when the update is available (in about a week or so).

Yes, you just need to check for updates in the update site:

https://tools.hana.ondemand.com/juno/

Former Member
0 Kudos

Hi Uri,

The week is over 🙂

Any news on the update, thus I have the same issue and no access to SMP3 libs.

Cheers & Thanks

Olli

former_member186879
Active Participant
0 Kudos

Hi Olli,

You are correct, but unfortunately the release was postponed a bit.

The patch is supposed to be released Dec. 19.

For now, if you want, you can follow the following workaround steps:

1. Open the Eclipse/plugins folder and locate the com.sap.odata.dt.cons.toolkit.ios JAR file.

2. Extract the content of the JAR file to a folder on your machine.

3. Open the extracted folder and locate the res/SDMLibs/iOS folder.

4. Copy the iOS folder to a location on your machine.

5. Place the iOS folder in a new folder named Temp/IOSODataSDK (case sensitive).

6. At the end of the process, you should have the SDM libs in the following folder structure: /Temp/IOSODataSDK/iOS/…

7. Open the Eclipse preferences. Under OData Development -> SAP NetWeaver Gateway -> iOS Toolkit, select the “Use Local SDK” option.

8. Click “Browse…” and select the above Temp folder.

Thanks,

Uri

Former Member
0 Kudos

Uri,

Thanks for the quick response.

I've seen this workaround before, but this jar files doesn't contain this iOS folder.

Just res/SDMLibs but no subfolder labeled 'ios'.

Cheers

Olli

Former Member
0 Kudos

Yes, I was facing the same problem & the solution is:

1.in res/SDMLibs folder you can find includes & libraries folder

2.Create iOS folder and move includes & libraries into iOS.

and follow the Nizan's step from 4.

Please see the folder Architecture for better understanding.

Former Member
0 Kudos

Thanks for the tip, will give it a try later.

Which architecture folder do you mean exactly to find out what?

Cheers

Olli

Former Member
0 Kudos

Thanks a lot, worked!

Answers (1)

Answers (1)

former_member186879
Active Participant
0 Kudos

Hi,

Just a quick update...

The patch for GWPA is finally out.

You can update the Eclipse plugins using the following update site:

SAP Development Tools for Eclipse - Juno Software Repository

Thanks, and happy holidays.

Uri

Former Member
0 Kudos

Thanks for the info!

Cheers

Olli

Former Member
0 Kudos

yup - seems to work out of the box for me now as well