Forum Discussion

talasek2011's avatar
14 years ago

No Session when add JMS endpoint

Greetings,
i tried to set up JMS with soapUI 3.6.1 and Hermes 1.14 to connect to a weblogic 10 Server with very little success.

I got following things working:
-Hermes can see weblogic JMS queues
-soapUI can start Hermes

Whats not working:
-Adding JMS endpoint to an interface in SoapUi


When i select add JMS endpoint and point to my hermes config folder, nothing happens.
The dropdown boxes session, send/publish, recieve/subscribe were not filled with values.

I have search this forum and the hermes forum for any help, but found no conclusion why
Fri Mar 04 16:00:37 CET 2011:ERROR:javax.naming.NamingException: No message, linked exception is : null
is coming.

Any help would be great.

Cheers
Talasek

Following log entries were written:
soapUI Log:
Fri Mar 04 16:00:37 CET 2011:ERROR:An error occured [No message, linked exception is : null], see error log for details
Fri Mar 04 16:00:37 CET 2011:WARN:no HermesJMS context!
Fri Mar 04 16:00:37 CET 2011:INFO:no hermes context


error log:
Fri Mar 04 16:00:37 CET 2011:ERROR:javax.naming.NamingException: No message, linked exception is : null
javax.naming.NamingException: No message, linked exception is : null
at hermes.HermesContext.load(HermesContext.java:88)
at hermes.HermesInitialContextFactory.getInitialContext(HermesInitialContextFactory.java:94)
at javax.naming.spi.NamingManager.getInitialContext(Unknown Source)
at javax.naming.InitialContext.getDefaultInitCtx(Unknown Source)
at javax.naming.InitialContext.init(Unknown Source)
at javax.naming.InitialContext.<init>(Unknown Source)
at com.eviware.soapui.impl.wsdl.submit.transports.jms.util.HermesUtils.getHermes(HermesUtils.java:91)
at com.eviware.soapui.impl.wsdl.submit.transports.jms.util.HermesUtils.hermesContext(HermesUtils.java:62)
at com.eviware.soapui.impl.wsdl.actions.iface.AddJMSEndpointAction.getHermesContext(AddJMSEndpointAction.java:180)
at com.eviware.soapui.impl.wsdl.actions.iface.AddJMSEndpointAction.getSessionOptions(AddJMSEndpointAction.java:111)
at com.eviware.soapui.impl.wsdl.actions.iface.AddJMSEndpointAction.initValues(AddJMSEndpointAction.java:134)
at com.eviware.soapui.impl.wsdl.actions.iface.AddJMSEndpointAction.perform(AddJMSEndpointAction.java:65)
at com.eviware.soapui.impl.wsdl.actions.iface.AddJMSEndpointAction.perform(AddJMSEndpointAction.java:44)
at com.eviware.soapui.support.action.swing.SwingActionDelegate.actionPerformed(SwingActionDelegate.java:89)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.AbstractButton.doClick(Unknown Source)
at javax.swing.plaf.basic.BasicMenuItemUI.doClick(Unknown Source)
at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(Unknown Source)
at java.awt.AWTEventMulticaster.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)


here is my hermes-config.xml which reisedes in d:\.hermes

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<config auditDirectory="D:\temp" autoBrowseRefreshRate="10" base64EncodeMessages="false" copyJMSCorrelationID="false" copyJMSExpiration="false" copyJMSPriority="false" copyJMSProviderProperties="false" copyJMSReplyTo="false" copyJMSType="false" correctDropSemantics="false" displayFactoryAdmin="true" enableJython="true" lastEditedByHermesVersion="v1.13" lastEditedByUser="thorstenfrei" lookAndFeel="com.sun.java.swing.plaf.windows.WindowsLookAndFeel" maxColumnsInStatisticsTable="10" maxMessagesInBrowserPane="1000" maxThreadPoolSize="5" messageFilesDir="D:\NON-BKU\HermesJMS\cfg\.\messages" queueBrowseConsumerTimeout="0" scrollMessagesDuringBrowse="true" selectorImpl="hermes.selector.JAMSELMessageSelectorFactory">
<classpathGroup id="Weblogic 10.3">
<library jar="C:\Program Files\SEU\java\weblogic-10.3.2\weblogic-10.3.2\wlserver_10.3\server\lib\weblogic.jar" noFactories="true"/>
</classpathGroup>
<naming classpathId="Weblogic 10.3" id="Weblogic @ localhost">
<properties>
<property name="securityCredentials" value="zkdbzkdb"/>
<property name="initialContextFactory" value="weblogic.jndi.WLInitialContextFactory"/>
<property name="securityPrincipal" value="administrator"/>
<property name="providerURL" value="t3://localhost:5702"/>
</properties>
</naming>
<naming classpathId="Weblogic 10.3" id="Weblogic @ AT">
<properties>
<property name="securityCredentials" value="weblogic"/>
<property name="initialContextFactory" value="weblogic.jndi.WLInitialContextFactory"/>
<property name="securityPrincipal" value="weblogic"/>
<property name="providerURL" value="t3://zkdb-200n.unix.rz.db.de:5702/"/>
</properties>
</naming>
<renderer className="hermes.renderers.DefaultMessageRenderer">
<properties>
<property name="toStringOnObjectMessage" value="false"/>
<property name="active" value="true"/>
<property name="messageCache" value="100"/>
<property name="bytesIsString" value="false"/>
<property name="bytesIsObjectBufferSize" value="65536"/>
<property name="bytesIsObject" value="false"/>
</properties>
</renderer>
<renderer className="hermes.renderers.DefaultMessageHeaderRenderer">
<properties>
<property name="active" value="true"/>
</properties>
</renderer>
<renderer className="hermes.renderers.ToStringMessageRenderer">
<properties>
<property name="active" value="true"/>
</properties>
</renderer>
<renderer className="hermes.renderers.HexMessageRenderer">
<properties>
<property name="active" value="true"/>
</properties>
</renderer>
<renderer className="hermes.renderers.XMLMessageRenderer">
<properties>
<property name="active" value="true"/>
</properties>
</renderer>
<renderer className="hermes.renderers.fix.FIXMessageRenderer">
<properties>
<property name="active" value="true"/>
<property name="messageCache" value="100"/>
<property name="displayHeaderAndTrailer" value="true"/>
<property name="displayValueWithEnum" value="true"/>
</properties>
</renderer>
<factory classpathId="Weblogic 10.3">
<provider className="hermes.JNDIConnectionFactory">
<properties>
<property name="binding" value="javax/jms/QueueConnectionFactory"/>
<property name="initialContextFactory" value="weblogic.jndi.WLInitialContextFactory"/>
<property name="providerURL" value="t3://localhost:5702"/>
<property name="securityCredentials" value="zkdbzkdb"/>
<property name="securityPrincipal" value="administrator"/>
</properties>
</provider>
<connection clientID="" connectionPerThread="false">
<session audit="false" id="Weblogic @ localhost - default" reconnects="0" transacted="true" useConsumerForQueueBrowse="false"/>
</connection>
<destination domain="1" name="CRM2ZKDB_ReplyQueue"/>
<destination domain="1" name="ExternalInQueueBIBE"/>
<destination domain="1" name="CRM2ZKDB_ErrorQueue"/>
<destination domain="1" name="ExternalOutQueueNVS"/>
<destination domain="1" name="ErrorInternalInQueue"/>
<destination domain="1" name="ExternalInQueueCRM"/>
<destination domain="1" name="ZKDB2BIBE_SendQueue"/>
<destination domain="1" name="ZKDB2CRM_ReplyQueue"/>
<destination domain="1" name="ExternalInQueueNVS"/>
<destination domain="1" name="ErrorExternalOutQueueNVS"/>
<destination domain="1" name="CRM2ZKDB_ReceiveQueue"/>
<destination domain="1" name="ExternalInQueueMSN"/>
<destination domain="1" name="ZKDB2BIBE_ReplyQueue"/>
<destination domain="1" name="ErrorExternalInQueueBIBE"/>
<destination domain="1" name="ErrorExternalOutQueueMSN"/>
<destination domain="1" name="ErrorExternalOutQueueBIBE"/>
<destination domain="1" name="BIBE2ZKDB_ReceiveQueue"/>
<destination domain="1" name="InternalInQueue"/>
<destination domain="2" name="InternalOutTopic"/>
<destination domain="1" name="ErrorExternalInQueueMSN"/>
<destination domain="1" name="ZKDB2CRM_SendQueue"/>
<destination domain="1" name="NVS2ZKDB_ErrorQueue"/>
<destination domain="1" name="ErrorExternalInQueueCRM"/>
<destination domain="1" name="BIBE2ZKDB_ErrorQueue"/>
<destination domain="1" name="ZKDB2NVS_SendQueue"/>
<destination domain="1" name="ExternalOutQueueBIBE"/>
<destination domain="1" name="ExternalOutQueueCRM"/>
<destination domain="1" name="ZKDB2NVS_ErrorQueue"/>
<destination domain="1" name="ErrorExternalInQueueNVS"/>
<destination domain="1" name="ExternalOutQueueMSN"/>
<destination domain="1" name="BIBE2ZKDB_ReplyQueue"/>
<destination domain="1" name="ZKDB2CRM_ErrorQueue"/>
<destination domain="1" name="ZKDB2NVS_ReplyQueue"/>
<destination domain="1" name="ZKDB2BIBE_ErrorQueue"/>
<destination domain="1" name="NVS2ZKDB_ReceiveQueue"/>
<destination domain="1" name="ErrorExternalOutQueueCRM"/>
<destination domain="2" name="InternalTimerTopic"/>
<destination domain="1" name="NVS2ZKDB_ReplyQueue"/>
<extension className="hermes.ext.weblogic.WebLogicJMSAdminFactory">
<properties>
<property name="jmsServer" value="ZKDBCoreJMSServer"/>
<property name="webLogicDomain" value="zkdbDomain"/>
<property name="webLogicServer" value="zkdbServer"/>
</properties>
</extension>
</factory>
<quickFIX cacheSize="1024" filterSessionMsgTypes="false"/>
</config>



and soapui.bat
@echo off

set SOAPUI_HOME=%~dp0
if exist "%SOAPUI_HOME%..\jre\bin" goto SET_BUNDLED_JAVA

if exist "%JAVA_HOME%" goto SET_SYSTEM_JAVA

echo JAVA_HOME is not set, unexpected results may occur.
echo Set JAVA_HOME to the directory of your local JDK to avoid this message.
goto SET_SYSTEM_JAVA

:SET_BUNDLED_JAVA
set JAVA=%SOAPUI_HOME%..\jre\bin\java
goto END_SETTING_JAVA

:SET_SYSTEM_JAVA
set JAVA=java

:END_SETTING_JAVA


rem init classpath

set CLASSPATH=%SOAPUI_HOME%soapui-3.6.1.jar;%SOAPUI_HOME%..\lib\*;C:\Program Files\SEU\java\weblogic-10.3.2\weblogic-10.3.2\wlserver_10.3\server\lib\weblogic.jar;

rem JVM parameters, modify as appropriate
set JAVA_OPTS=-Xms128m -Xmx1024m -Dsoapui.properties=soapui.properties "-Dsoapui.home=%SOAPUI_HOME%\"

if "%SOAPUI_HOME%" == "" goto START
set JAVA_OPTS=%JAVA_OPTS% -Dsoapui.ext.libraries="%SOAPUI_HOME%ext"
set JAVA_OPTS=%JAVA_OPTS% -Dsoapui.ext.listeners="%SOAPUI_HOME%listeners"
set JAVA_OPTS=%JAVA_OPTS% -Dsoapui.ext.actions="%SOAPUI_HOME%actions"
set JAVA_OPTS=%JAVA_OPTS% -Djava.library.path="%SOAPUI_HOME%\"
set JAVA_OPTS=%JAVA_OPTS% -Dwsi.dir="%SOAPUI_HOME%..\wsi-test-tools"
set JAVA_OPTS=%JAVA_OPTS% -Dsun.lang.ClassLoader.allowArraySyntax=true
rem uncomment to disable browser component
rem set JAVA_OPTS=%JAVA_OPTS% -Dsoapui.jxbrowser.disable="true"



:START

rem ********* run soapui ***********

"%JAVA%" %JAVA_OPTS% com.eviware.soapui.SoapUI %*



and hermes.bat
REM @echo off

REM Licensed under the Apache License, Version 2.0 (the "License");
REM you may not use this file except in compliance with the License.
REM You may obtain a copy of the License at
REM
REM http://www.apache.org/licenses/LICENSE-2.0
REM
REM Unless required by applicable law or agreed to in writing, software
REM distributed under the License is distributed on an "AS IS" BASIS,
REM WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
REM See the License for the specific language governing permissions and
REM limitations under the License.
REM
REM $Id$

REM %~dp0 is expanded pathname of the current script under NT

REM Check for Java 1.5+ JVM but ensure system32 is first in the path as cygwin users may have a different find...

REM set PATH=
set Path=c:\jdk1.5.0_12\jre\bin;
set JAVA_HOME=c:\jdk1.5.0_12

set HERMES_HOME=d:\NON-BKU\HermesJMS


for /F "tokens=3" %%v in ('%JAVA_HOME%\bin\java -version 2^>^&1^| find "version"') do if "%%~v" lss "1.5.0" set USE_WEAVED_CLASSES=TRUE

if "%HERMES_CONFIG%"=="" goto tryDotHermes
goto setOtherVars

:tryDotHermes
if not exist "%HOME%\.hermes\hermes-config.xml" goto tryHermes
set HERMES_CONFIG=%HOME%\.hermes
goto setOtherVars

:tryHermes
if not exist "%HOME%\hermes\hermes-config.xml" goto tryHermesCfg
set HERMES_CONFIG=%HOME%\hermes
goto setOtherVars

:tryHermesCfg
if not exist "%HOME%\hermes\cfg\hermes-config.xml" goto setHermesConfigDefault
set HERMES_CONFIG=%HOME%\hermes
goto setOtherVars

:setHermesConfigDefault
set HERMES_CONFIG=%HOME%\.hermes

rem Bootstrap a configuration if it does not exist.

if exist "%HERMES_CONFIG%" goto checkHermesConfigXml

mkdir "%HERMES_CONFIG%"

:checkHermesConfigXml

if exist "%HERMES_CONFIG%\hermes-config.xml" goto setOtherVars

copy "%HERMES_HOME%\cfg\hermes-config.xml" "%HERMES_CONFIG%\hermes-config.xml"

:setOtherVars
set HERMES_WEAVED_LIBS=%HERMES_HOME%\lib.weaved
set HERMES_LIBS=%HERMES_HOME%\lib
set HERMES_BIN=%HERMES_HOME%\bin


set CLASSPATH=%HERMES_LIBS%/jta-spec1_0_1.jar;%HERMES_LIBS%\xml-apis.jar;%HERMES_LIBS%\jms.jar;%HERMES_LIBS%\jax-qname.jar;%HERMES_LIBS%\relaxngDatatype.jar;%HERMES_LIBS%\jaas.jar;%HERMES_LIBS%\activation.jar;%HERMES_LIBS%\jaxb-libs.jar;%HERMES_LIBS%\jaxb-api.jar;%HERMES_LIBS%\jaxb-xjc.jar;%HERMES_LIBS%\jaxb-impl.jar;%HERMES_LIBS%\commons-digester.jar;%HERMES_LIBS%\commons-codec-1.1.jar;%HERMES_LIBS%\log4j-1.2.15.jar;%HERMES_LIBS%\j2ee.jar;%HERMES_LIBS%\commons-logging.jar;%HERMES_LIBS%\jlfgr-1_0.jar;%HERMES_LIBS%\commons-lang-2.1.jar;%HERMES_LIBS%\xercesImpl.jar;%HERMES_LIBS%\namespace.jar;%HERMES_LIBS%\xsdlib.jar;%HERMES_LIBS%\datatips.jar;%HERMES_LIBS%\derby.jar;%HERMES_LIBS%\commons-dbutils-1.0.jar;%HERMES_LIBS%\ant.jar;%HERMES_LIBS%\db2cc.jar;%HERMES_LIBS%\hermes-selector.jar;%HERMES_LIBS%\jms-jmx.jar;%HERMES_LIBS%\selector-1.1.jar;%HERMES_LIBS%\asm.jar;%HERMES_LIBS%\asm-attrs.jar;%HERMES_LIBS%\asm-util.jar;%HERMES_LIBS%\quickfixj.jar;%HERMES_LIBS%\jython.jar;%HERMES_LIBS%\ArtTk.jar;%HERMES_LIBS%\JyConsole.jar;%HERMES_LIBS%\mina-core-1.1.0-SNAPSHOT.jar;%HERMES_LIBS%\slf4j-jdk14-1.0.1.jar;%HERMES_LIBS%\commons-collections.jar;C:\Program Files\SEU\java\weblogic-10.3.2\weblogic-10.3.2\wlserver_10.3\server\lib\weblogic.jar


if USE_WEAVED_CLASES=="" goto noWeave

:weave
set CLASSPATH=%HERMES_WEAVED_LIBS%\cglib-2.2_beta1.jar;%HERMES_WEAVED_LIBS%\commons-beanutils.jar;%HERMES_WEAVED_LIBS%\hermes.jar;%HERMES_LIBS%\backport-util-concurrent.jar;%HERMES_LIBS%\retrotranslator-runtime-1.0.7.jar;%CLASSPATH%;
set HERMES_LIBS=%HERMES_WEAVED_LIBS%
goto launch

noWeave:
set CLASSPATH=%CLASSPATH%;%HERMES_LIBS%\hermes.jar;%HERMES_LIBS%\cglib-2.2_beta1.jar;%HERMES_LIBS%\commons-beanutils.jar
goto launch

:launch
cd %HERMES_CONFIG%

start "HermesJMS" "%JAVA_HOME%\bin\javaw" -XX:NewSize=256m -Xmx1024m -Dhermes.home="%HERMES_HOME%" %HERMES_OPTS% -Dlog4j.configuration="file:%HERMES_HOME%\bin\log4j.props" -Dsun.java2d.noddraw=true -Dhermes="%HERMES_CONFIG%\hermes-config.xml" -Dhermes.libs="%HERMES_LIBS%" hermes.browser.HermesBrowser -Dsun.lang.ClassLoader.allowArraySyntax=true

1 Reply

  • Hi

    I had the same error and found out that soapui is looking for hermes-config.xml in a wrong directory.
    [file:/D:/User/Soft/soapUI-3.6.1/hermesJMS/lib/xsdlib.jar] to classpath
    2011-03-08 12:50:00,812 INFO [JAXBHermesLoader] failed to load configuration from D:\Documents and Settings\x.y\.hermes\hermes-config.xml, attempting to load as a file...
    2011-03-08 12:50:00,828 ERROR [JAXBHermesLoader]
    hermes.NoConfigurationException:
    at hermes.JAXBHermesLoader.load(JAXBHermesLoader.java:318)
    at hermes.HermesContext.load(HermesContext.java:57)
    at hermes.HermesInitialContextFactory.getInitialContext(HermesInitialContextFact


    I have copied the hermes config from D:\.hermes to where the soapui was looking for it and everything works fine.