Author Message
MichaelDailous_deprecated
Joined: Nov 11, 2013
Messages: 171
Offline
I have a PDC that is suppose to copy a runtime file to the tomcat lib directory, and every time the PDC goes to check the runtime version, I'm getting a classnotfoundexception. I don't understand why, since the jar file containing the class is part of the build path for the PDC ui project. I can even drill down into the Version classfile, but at runtime (in an Eclipse environment), the system is throwing a class not found exception. I've checked everything I can think of an can't find any indication of why it's not being found at runtime.

Any ideas?
Michael
MichaelDailous_deprecated
Joined: Nov 11, 2013
Messages: 171
Offline
Here is my plugin.xml file:

<!--BEGIN CUT-->
<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.4"?>
<plugin>
<extension
point="com.avaya.sce.core.runtimeversioncheck">
<provider
class="com.unisys.od.pdc.versions.SecurityManagerRuntimeVersionCheck"
id="com.unisys.sce.secmgr.RuntimeVersionCheck">
</provider>
</extension>
<extension
point="com.avaya.sce.core.pluggableConnector">
<configuration
category="UnisysNG"
connectorId="com.unisys.od.pdc.secmanager"
displayName="Security Manager Connector"
icon="icons/icon_32x32.png"
visible="true"
visible_enabled="false">
<target_nature
value="com.avaya.sce.core.speechnature">
</target_nature>
<target_nature
value="com.avaya.sce.core.messageflownature">
</target_nature>
<target_nature
value="com.avaya.sce.email.emailnature">
</target_nature>
<target_nature
value="com.avaya.sce.sms.smsnature">
</target_nature>
<target_nature
value="com.avaya.sce.core.datanature">
</target_nature>
<target_nature
value="com.avaya.sce.core.webnature">
</target_nature>
<item
destination="PROJECT_WEBINF"
resourceName="lib/unisys-secmgr.jar"
updateClasspath="true"
versionClass="com.unisys.od.pdc.secmanager.Version"
versionMethod="getVersion">
</item>
<item
destination="TOMCAT_WEBAPPS"
resourceName="data/com.unisys.ng.secmngr.ws.war"
updateClasspath="false"
versionClass="com.unisys.ng.secmanager.Version"
versionMethod="getVersion">
</item>
<webApplication
warFile="data/com.unisys.ng.secmngr.ws.war">
</webApplication>
<item
destination="TOMCAT_COMMON_LIB"
resourceName="data/unisysng-secmgr-rtcommon.jar"
updateClasspath="true"
versionClass="com.unisys.ng.secmanager.rtcommon.Version"
versionMethod="getVersion">
</item>
</configuration>
</extension>
<extension
point="com.avaya.sce.callflow.ui.dataConnectorUI">
<dataConnectorUI
EditPartClass="com.unisys.od.pdc.ui.callflow.SecurityManagerEditPart"
PaletteItemCategory="Unisys"
PaletteItemDescription="Decrypt a password encrypted with the Security Manager web UI"
PaletteItemIcon="icons/icon_16x16.png"
PaletteItemName="Decrypt Password"
id="com.unisys.od.pe.secmanager">
</dataConnectorUI>
</extension>
<extension
point="com.avaya.sce.callflow.dataConnector">
<dataConnector
CodeGenerator="com.unisys.od.pdc.ui.callflow.SecurityManagerCodeGenerator"
ModelClass="com.unisys.od.pdc.ui.callflow.SecurityManagerFlowItem"
Validator="com.unisys.od.pdc.ui.callflow.SecurityManagerValidator"
connectorId="com.unisys.od.pdc.secmanager"
id="com.unisys.od.pe.secmanager">
</dataConnector>
</extension>
<extension
point="com.avaya.sce.core.searchSupport">
<searchSupport
id="com.unisys.od.pe.secmanager">
<searchElementType
avResourceTypeId="com.unisys.od.pe.secmanager"
label="Decrypt Password">
</searchElementType>
<searchSupportUI
searchResultImageProvider="com.unisys.od.pdc.ui.search.SecurityManagerImageProvider">
</searchSupportUI>
</searchSupport>
</extension>
<extension
point="org.eclipse.help.toc">
<toc
file="help/extension_info.xml"
primary="false">
</toc>
</extension>

</plugin>
<!--END CUT-->

And here is my classpath:
<!--BEGIN CUT-->
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins">
<accessrules>
<accessrule kind="accessible" pattern="com/avaya/**"/>
</accessrules>
</classpathentry>
<classpathentry kind="src" path="src"/>
<classpathentry exported="true" kind="lib" path="data/unisysng-secmgr-rtcommon.jar"/>
<classpathentry kind="output" path="bin"/>
</classpath>
<!--END CUT-->

The class in question is the unisys-secmgr-rtcommon.jar file. This file is suppose to be copied to the Tomcat LIB directory however it needs to check the Version before copying. This is an OD 7.1 with JDK 1.8 and Tomcat 8.0.If you'd like, I can send over the UI project, just let me know. :)

Thanks
WilsonYu
Joined: Nov 6, 2013
Messages: 3950
Offline
Is there an exception stack trace you can find? I need to see where exactly the error occurs.
WilsonYu
Joined: Nov 6, 2013
Messages: 3950
Offline
Also, do you see any error message like "Error loading version check extension point." in the .log or Error Log view?
MichaelDailous_deprecated
Joined: Nov 11, 2013
Messages: 171
Offline
I ended up removing the runtimeversioncheck endpoint and there's no longer an error. I added the jar as an "item" to the pluggableconnector endpoint and the jar file gets copied to the TOMCAT_LIB directory on use.

This works, not sure why it was throwing the error. I used another project that performs the same functions as a template, and even copied most of the code. Anyway, it's working.
Go to:   
Mobile view