<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:DengXian;
        panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:"\@DengXian";
        panose-1:2 1 6 0 3 1 1 1 1 1;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:#0563C1;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:#954F72;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri",sans-serif;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-US" link="#0563C1" vlink="#954F72">
<div class="WordSection1">
<p class="MsoNormal">I ran into error when trying to bring in a third party package into Java Frame work.<o:p></o:p></p>
<p class="MsoNormal">It failed in resolving a JNDI name. It works as a stand alone application, but does not work inside java application through mod_java<o:p></o:p></p>
<p class="MsoNormal">I appreciate any help or input.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Many Thanks!<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">The configuration file:<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><configuration name="java.conf" description="Java Plug-Ins"><o:p></o:p></p>
<p class="MsoNormal">  <javavm path="/usr/java/jdk1.8.0_31/jre/lib/amd64/server/libjvm.so"/><o:p></o:p></p>
<p class="MsoNormal">  <options><o:p></o:p></p>
<p class="MsoNormal">    <option value="-server"/><o:p></o:p></p>
<p class="MsoNormal">    <option value="-XDebug"/><o:p></o:p></p>
<p class="MsoNormal">    <option vlaue="-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=14400"/><o:p></o:p></p>
<p class="MsoNormal">    <option value="-Dcom.soleo.utils.datafill.DatafillDirectory=/usr/local/XMLNetworkGateway/VoiceService/datafill"/><o:p></o:p></p>
<p class="MsoNormal">    <option value="-Dcom.sun.management.jmxremote=true" /><o:p></o:p></p>
<p class="MsoNormal">    <option value="-Dcom.sun.management.jmxremote.port=8000"/><o:p></o:p></p>
<p class="MsoNormal">    <option value="-Dcom.sun.management.jmxremote.authenticate=false"/><o:p></o:p></p>
<p class="MsoNormal">    <option value="-Dcom.sun.management.jmxremote.ssl=false"/><o:p></o:p></p>
<p class="MsoNormal">    <option value="-Dcom.sun.management.jmxremote.local.only=false"/><o:p></o:p></p>
<p class="MsoNormal">    <option value="-Djava.class.path=$${script_dir}/freeswitch.jar:$${script_dir}/example.jar:/usr/local/freeswitch/java_libs/java_websocket.jar:/usr/local/freeswitch/java_libs/gson-2.8.0.jar:/usr/local/freeswitch/VoiceClient/SessionFactory.jar:/usr/local/XMLNetworkGateway/lib/SRPBaseCommonAPI.jar:/usr/local/XMLNetworkGateway/lib/SoleoDSARSAccess.jar:/usr/local/XMLNetworkGateway/lib/SoleoUtils.jar:/usr/local/XMLNetworkGateway/lib/soleo-counterlib.jar:/usr/local/XMLNetworkGateway/lib/joda-time.jar<span style="background:yellow;mso-highlight:yellow">:/usr/local/XMLNetworkGateway/lib/java-sdk-3.8.0-jar-with-dependencies.jar</span>:/usr/local/XMLNetworkGateway/lib/ListingUtils.jar:/usr/local/XMLNetworkGateway/lib/TTSTextProcessor.jar:/usr/local/XMLNetworkGateway/lib/FSVoiceClient.jar"/><o:p></o:p></p>
<p class="MsoNormal">        <option value="-Xmx512m"/><o:p></o:p></p>
<p class="MsoNormal">    <option value="-XX:+HeapDumpOnOutOfMemoryError"/><o:p></o:p></p>
<p class="MsoNormal">    <!--<option value="-XX:MaxMetaspaceSize=128m"/>--><o:p></o:p></p>
<p class="MsoNormal">    <option value="-XX:+UseConcMarkSweepGC -XX:+CMSParallelRemarkEnabled"/><o:p></o:p></p>
<p class="MsoNormal">    <option value="-XX:+ScavengeBeforeFullGC -XX:+CMSScavengeBeforeRemark"/><o:p></o:p></p>
<p class="MsoNormal">  </options><o:p></o:p></p>
<p class="MsoNormal">  <startup class="org/freeswitch/example/ApplicationLauncher" method="startup"/><o:p></o:p></p>
<p class="MsoNormal"></configuration><o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">The error from my log<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Aug 24, 2017 12:35:24.688 com.ibm.watson.developer_cloud.util.CredentialUtils getKeyUsingJNDI<o:p></o:p></p>
<p class="MsoNormal">FINE: JNDI watson-developer-cloud/speech_to_text/credentials not found.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Checking the code<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">It failed at <o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">private static String getKeyUsingJNDI(String serviceName) {<o:p></o:p></p>
<p class="MsoNormal">    if (!isClassAvailable("javax.naming.Context") || !isClassAvailable("javax.naming.InitialContext")) {<o:p></o:p></p>
<p class="MsoNormal">      log.info("JNDI string lookups is not available.");<o:p></o:p></p>
<p class="MsoNormal">      return null;<o:p></o:p></p>
<p class="MsoNormal">    }<o:p></o:p></p>
<p class="MsoNormal">    String lookupName = "watson-developer-cloud/" + serviceName + "/credentials";<o:p></o:p></p>
<p class="MsoNormal">    try {<o:p></o:p></p>
<p class="MsoNormal">      Context context = new InitialContext();<o:p></o:p></p>
<p class="MsoNormal">      return (String) context.lookup(lookupName);<o:p></o:p></p>
<p class="MsoNormal">    } catch (Exception e) {<o:p></o:p></p>
<p class="MsoNormal">      <span style="background:yellow;mso-highlight:yellow">log.fine("JNDI " + lookupName + " not found.");</span><o:p></o:p></p>
<p class="MsoNormal">      return null;<o:p></o:p></p>
<p class="MsoNormal">    }<o:p></o:p></p>
<p class="MsoNormal">  }<o:p></o:p></p>
</div>
</body>
</html>