Consultor Eletrônico



Kbase P119830: Java proxy generation fails with java.lang.NoClassDefFoundError using the batch ProxyGenerator from
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   8/6/2008
Status: Verified

SYMPTOM(s):

Java proxy generation fails with java.lang.NoClassDefFoundError using the batch ProxyGenerator

Exception in thread "main" java.lang.NoClassDefFoundError: com/progress/open4gl/proxygen/Batch

When running the graphical Proxy Generator, the following message appears:


Try running c:\OpenEdge\WRK\runbproxygen.bat from the command prompt.

FACT(s) (Environment):

A NetSetup installation has been performed
The proxy generation works fine from the local machine where OpenEdge is fully installed.
Windows
OpenEdge 10.x

CAUSE:

Bug# OE00134480

FIX:

To work around the issue, follow the steps below:

1. Generate the Java proxy from ProxyGen.
The error stating that the generation failed appears. The runbproxygen.bat file is created in the Output directory specified in the ProxyGen.

2. Make a local copy of bproxygen.bat located in %DLC%\bin on the remote machine where OpenEdge is fully installed.

3. Edit the bproxygen.bat file and add the following parameters to the %JVMSTRT% command line before the -DProxyGen.StartDirin parameter:

-classpath %DLC%\java\progress.jar;%DLC%\java\messages.jar;%DLC%\java\ext\xercesImpl.jar;%DLC%\java\ext\xmlParserAPIs.jar;%DLC%\java\ext\soap.jar;%DLC%\java\ext\wsdl4j.jar


The complete command line looks like the following:

"%JVMSTRT%" -o stderr -s -m silent -a "%TOOLSPROP%"::%TOOLSGRP% %JVM% -DInstall.Dir="%DLC%" -DJavacCP="%JDKCP%" -D%PXGARG%=%PROXYFILE% -DProxyGen.LeaveProxyFiles=%KEEPFLAG% -DProxyGen.FromGUI=%GUIFLAG% -DProxyGen.UseLocalDotNET=%USELOCALDOTNET% -classpath %DLC%\java\progress.jar;%DLC%\java\messages.jar;%DLC%\java\ext\xercesImpl.jar;%DLC%\java\ext\xmlParserAPIs.jar;%DLC%\java\ext\soap.jar;%DLC%\java\ext\wsdl4j.jar -DProxyGen.StartDir=%STARTDIR% %PROXYGENPKG%.%BPROXYGENCLASS%

4. Edit the runbproxygen.bat file and point to the local bproxygen.bat file:

For example, instead of:
[mapped drive]\bin\bproxygen.bat <...>

refer to:
[local drive\path]\bproxygen.bat <...>

5. Open ProEnv, go to the directory where runbproxygen.bat is located, and execute it.