Error: Export SOE Error: org.eclipse.osgi.internal.framework.ContextFInder cannot be cast to java.net.URLClassLoader
The Export SOE/SOI tool in Eclipse fails to export a Java SOAP SOE at version 10.7 and 10.7.1, with an error:
“org.eclipse.osgi.internal.framework.ContextFInder cannot be cast to java.net.URLClassLoader”.
The error message appears as follows:
This error only occurs when a SOAP SOE is exported, due to an Eclipse SOE/SOI plugin issue. The Export SOE/SOI tool in Eclipse still works when a REST SOE is exported.
Solution or Workaround
The command-line tool soepackager can be used to export the SOE and generate the .soe file. You must first export the Java SOAP SOE project to a JAR file, and then execute soepackager from command, as follows:
- In Eclipse, right-click the Java SOAP SOE project and select Export.
- In the Export wizard, select Java > JAR file. Click Next.
- In the JAR Export wizard, ensure that all the SOAP SOE Java classes are checked. Define the export destination for the JAR file. Click Finish.
- The project is exported to a JAR file successfully. Execute the soepackager tool.
- If the SOAP SOE is built with ArcGIS Enterprise SDK, use the EnterpriseSDK tool (by default located at C:\Program Files\ArcGIS\EnterpriseSDK\Java\tools\soepackager).
- If the SOAP SOE is built with ArcObjects, use the ArcObjects tool (by default located at C:\Program Files (x86)\ArcGIS\DeveloperKit10.7\java\tools\soepackager).
The following parameters can be used:
For ArcGIS Enterprise SDK:
soepackager_ent.bat -p [path to the jar file exported from step 3] -o [path to output folder] -j [path to the JDK] [optional parameters]For ArcObjects:
soepackager.bat -p [path to the jar file exported from step 3] -o [path to output folder] -j [path to the JDK] [optional parameters]
More details about this tool can be found at ArcGIS Enterprise SDK Help.
For example, executing the following command produces the results shown in the screen:
C:\Program Files\ArcGIS\EnterpriseSDK\Java\tools\soepackager>soepackager_ent.bat -p C:\temp\simplesoapsoe\simplesoapsoe_ent.jar -o C:\temp\simplesoapsoe -j "C:\Program Files\java\jdk1.8.0_201"
In this way, the Java SOAP SOE can be exported properly and the generated .soe file can be deployed to ArcGIS Server.