Various problems with the WSDL Extractor

Hi all…

I uninstalled EntireX to see if perhaps a clean install would fix it since it wouldn’t accept the latest PL for v8.1 (still waiting for the shipment of v8.2 which is on its way).

I stopped all services, then removed all Software AG programs under add/remove programs, rebooted and reinstalled from a fresh image I downloaded using the infamous SAG Downloader.

Well… now all is working (SMH, etc) except when I start Designer. It tells me it has some problem in Eclipse:

An error has occurred. See the log file C:SoftwareAG\eclipsev34configurationX3871767825.log.

The log file says:

!SESSION 2011-04-26 22:36:07.387 -----------------------------------------------
eclipse.buildId=M20090211-1700
java.version=1.6.0_19
java.vendor=Sun Microsystems Inc.
BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=en_US
Framework arguments: -product com.webmethods.product.designer.ide
Command-line arguments: -os win32 -ws win32 -arch x86 -product com.webmethods.product.designer.ide

!ENTRY org.eclipse.equinox.app 0 0 2011-04-26 22:36:08.794
!MESSAGE Product com.webmethods.product.designer.ide could not be found.

!ENTRY org.eclipse.osgi 4 0 2011-04-26 22:36:08.840
!MESSAGE Application error
!STACK 1
java.lang.RuntimeException: No application id has been found.
at org.eclipse.equinox.internal.app.EclipseAppContainer.startDefaultApp(EclipseAppContainer.java:236)
at org.eclipse.equinox.internal.app.MainApplicationLauncher.run(MainApplicationLauncher.java:29)
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:386)
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:549)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:504)
at org.eclipse.equinox.launcher.Main.run(Main.java:1236)
at org.eclipse.equinox.launcher.Main.main(Main.java:1212)

Is there some trick to uninstalling and reinstalling that would prevent this?

Thanks,

Brian

So this is actually a Designer install/uninstall issue, and not an EntireX issue :slight_smile:

After the (unsuccessful) uninstall just delete everything what remains in the C:\SoftwareAG\eclipse folder.

Alternatively you can re-install the Designer into different folder.

Rolf,

Thank God for you! :slight_smile:

That bit of info was all it took. The Designer tool is now functioning again, as the install happened with no errors after deleting the folders under C:\SoftwareAG\eclipse after the Uninstall.

Now, my problems I am facing are the same as before. I cannot apply PL45, which I would like to try before banging my head against the wall over the inability to create an IDL file from a WSDL.

I have a support request open for this, but I may be back to the forums for help depending on how this goes.

Many thanks, Rolf!

Brian, good to hear that at least one issue is solved.

We have not been able to reproduce the problems with the extraction of the temperature wsdl.
To get a better idea could you post some screen shots when going through the wizard?

Also, when you apply the patch make sure that in the Update Manager of Eclispe only the EntireX plugin (and maybe the Web Sevices Stack plugin) is selected.

I am attaching some screenshots showing the issues I am facing. I just heard back from support questioning if I was already at PL45, and perhaps that is why I am getting errors (though whatever happened to meaningful error messages if that is so?). The first screen shows in the Help->About panel the version numbers, which the table above shows PL45 but below shows PL20. Maybe I am at PL45 already?

The screens that follow walk through what I do to try to create the IDL file from the external WSDL. This example is a different one than the one I tried before but with the same results.

Brian, this is just a wild guess to try:

in Eclipse create a Java project. Switch to the Java perspective. The start the WSDL Extractor (you will find it somewher below “other” when using the Java perspective). Use the Java project as container.

Thanks for the suggestion. It had the same identical results.

I am attaching the same info as a Power Point presentation since I got an email saying you couldn’t see the other doc’s screen shots.

Hi Brian,
I took a look at your screen prints.
I am running EXX8.1.2 PL 27
Your “.project” file looks incomplete compared to mine (please see my screen print attached).
I don’t know “why” but it looks wrong.
Perhaps Rolf could shed some light ??
Regards,
Peter

I had the same idea - that’s the reason I asked Brian to test it with a new Java project. But I cannot reproduce the error using a similar “empty” project file. So that’s not the cause of the problem.

I suspect some inconsistency in the Eclipse installation or in the workspace.

Brian: my last suggestion is the following:

  • install only the Designer to a different directory (no EntireX installation)
  • do not try to apply the fix
  • start Designer/Eclipse and choose a new workspace
  • create a new Java project
  • run the WSDL Extractor

Some comments to the notes in the word/ppt document.

Broker settings…. Now this makes me suspicious how this is relevant

Every IDL file in Eclipse has a set of properties. These include the default Broker settings which are used by the RPC client wrappers. In this dialogue you can specify these defaults. If you want to call the web service from a Natural RPC client you need to run the SOAP RPC Server. So you specify here the BrokerId and server address of your SOAP RPC Server.

Click all the boxes to make it compatible to a Natural 4.1.4 / Adabas 7.4.4 environment

I would strongly suggest to unselect the first three options. Your Natural version should support arrays with variable length (x-arrays) and dynamic alphas/binarys.
Since a web service usually uses variable length strings and arrays it is rather inconvenient to map these to fixed size alphas and arrays. E.g. for alphas this results in either space padded strings (in your case if the string length is below 253) or even in truncated strings (if the string length is above 253).

Thanks for your suggestions. It was worth a try, but the end result is the same with the new Designer installation under a different path and a new workspace.

I tried with a Java project and with a default project with the same results. Can’t create the idl file from a WSDL because the idl file doesn’t exist.

I am curious about other parts of you answer, though. Why do I need a SOAP RPC Server? The WSDL points to some external WSDL for a web service that I can call out of my browser without hosting some kind of RPC Server, as the external service provider is already serving it up via some kind of app server and web server. Why would Designer need me to run an RPC Server for this external service?

Second, if EntireX Designer generates Natural subprograms for use by the Natural applications to be the RPC client, I will need this code to be able to be catalogued in a Natural 4.1 environment, which preceded unbounded alphas and unbounded arrays. Don’t I need to check those boxes in order to get that?

  1. Brian, could you please rerun the WSDL Extractor. Then in Eclipse select Help-> About, Configuration Details, View Error Log and send the log file to support.

  2. SOAP RPC Server: this has nothing to do with the Designer, this is just standard RPC. I think you want to call the web service from a Natural application using EntireX RPC. Unfortunately web servers don’t understand RPC :cry: So the Natural RPC client needs to send the call via Broker to an RPC Server. In this scenario it is the SOAP RPC Server. It receives the RPC request from Natural (or COBOL or …) transforms it to a SOAP request and sends it via HTTP to the web server hosting the service. Once it gets a SOAP reply it transforms it to an RPC reply and sends it back to the Natural RPC client.

  3. To be honest I’m not familiar with Natural versions…
    If Natural 4.1 does not support dynamic alphas and x-arrays then you have to use these options.

Thanks Rolf for your replies. I am also attaching the error log here. Here’s part of the error log that I think is pertinent:

!ENTRY com.softwareag.entirex.ide.eclipse.idleditor 4 1 2011-04-28 15:57:15.412
!MESSAGE Could not create marker for ‘ConvertTemperature.idl’.
!STACK 1
org.eclipse.core.internal.resources.ResourceException: Resource ‘/MyFirstProject/ConvertTemperature.idl’ does not exist.
at org.eclipse.core.internal.resources.Resource.checkExists(Resource.java:317)
at org.eclipse.core.internal.resources.Resource.checkAccessible(Resource.java:194)
at



!SUBENTRY 1 org.eclipse.core.resources 4 368 2011-04-28 15:57:15.412
!MESSAGE Resource ‘/MyFirstProject/ConvertTemperature.idl’ does not exist.

Many thanks to all for the help you have provided. To document for everyone’s benefit, the reason I was having so many problems is because the image I had downloaded using the SAG Downloader 8.0 was either incomplete or corrupt, especially in the Eclipse plug-in area. Every time I uninstalled and re-installed, I used the same bad image as a source. Had I re-downloaded the v8.1 Designer product, I would have possible had success.

I learned this after downloading v8.2 and installing it. Some portions installed very quickly under 8.1 that were significant pieces of software. Everything works as it should under v8.2, as I have a good image downloaded.

This explains both the inability to create an IDL from a WSDL as well as the inability to apply completely patch level 45 (I was informed that it actually was partially applied). Some components that were expected to be there weren’t.

Again - many thanks to all who provided helpful comments.