Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations Mike Lewis on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

JMS Adapter Configuration on WTX 8.1

Status
Not open for further replies.

Samji

Programmer
Jul 14, 2005
29
IN
Hi,

I am doing a POC where I want WebSphere® Transformation Extender (WTX) JMS adapter to connect to a WebSphere Application Server (WAS) JMS provider.

I followed the instructions from IBM site:


I installed JMS Client and copied the two jar files into the WTX Installation Directory.

Usually, we will include the JAR files i the DTX.INI.Here are my values.

jar1=F:\Program Files\IBM\WebSphere\ID\6.0\runtimes\bi_v6\lib\j2ee.jar
jar2=C:\Program Files\IBM\WebSphere Transformation Extender 8.1\lib\sibc.jms.jar
jar3=C:\Program Files\IBM\WebSphere Transformation Extender 8.1\lib\sibc.jndi.jar

The Command line Parameter at Output card is as follows :

-ictxfurl corbaloc:iiop:localhost:2809/ -ictxf com.ibm.websphere.naming.WsnInitialContextFactory -CFN jms/QCF -QN INPUTQ -trace

But still I am getting the error " Target not available ".

Any insight to this query is highly appreciated.
 
Hi,

I enabled the Trace but somehow the Trace file is not generating.

Regards
srinivas.M
 
Hi,

Please find the Adapter Trace File below .
Also please let us know where we configured wrong.

<4028-1132>: The file was created by JMS adapter from IBM Corporation
<4028-1132>: The file was created or updated on or around Thu May 24 20:01:34 IST 2007
<4028-1132>: @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
<4028-1132>: [m4jms:MAdapterImpl.setAdapterPropFromCmdValue] (rc = 0) OK
<4028-1132>: [m4jms:MAdapterImpl.setAdapterPropsFromCmdline] (rc = 0) OK
<4028-1132>: [m4jms:MAdapterImpl.doCmdlineFinalSanityCheck]
<4028-1132>: | >>>>By a cursory check, command combinations or syntax appears to be correct
<4028-1132>: [m4jms:MAdapterImpl.doCmdlineFinalSanityCheck] (rc = 0) OK
<4028-1132>: [m4jms:MAdapterImpl.validateProperties] (rc = 0) OK
<4028-3884>: [m4jms:MConnectionImpl.connect]
<4028-3884>: | [m4jms:M4jmsutility.getInitCtx]
<4028-3884>: | [m4jms:M4jmsutility.getInitCtx] (rc = 0) OK
<4028-3884>: | Connecting...
<4028-3884>: | [m4jms:M4jmsutility.getQueueCF]
<4028-3884>: | [m4jms:M4jmsutility.getQueueCF] (rc = 0) OK
<4028-3884>: | Messaging mode is P2P
<4028-3884>: | Connection factory: jms/QCF
<4028-3884>: | Username/password : Not using explicit authentication to connect
<4028-3884>: | Connection to JMS provider has been established
<4028-3884>: | Provider name is:->
<4028-3884>: | IBM
<4028-3884>: | Provider version is:->
<4028-3884>: | ???
<4028-3884>: | The JMS API version being used is:->
<4028-3884>: | 1.1
<4028-3884>: | The connection factory and provider are configured to support the following JMSX properties:->
<4028-3884>: | JMSXUserID
<4028-3884>: | JMSXDeliveryCount
<4028-3884>: | JMSXAppID
<4028-3884>: | JMSXGroupID
<4028-3884>: | JMSXGroupSeq
<4028-3884>: [m4jms.MConnectionImpl.connect (sc=0)] (rc = 0) OK
<4028-3884>: [m4jms:MAdapterImpl.onNotify]
<4028-3884>: | PUTSTART....
<4028-3884>: | Sending msgs to the queue: INPUTQ
<4028-3884>: | [m4jms.MConnectionImpl.getQueueSession]
<4028-3884>: | | [m4jms.MConnectionImpl.createQueueSession]
<4028-3884>: | | | Creating a new queue session...
<4028-3884>: | | | Successfully created a transacted queue session, not busy
<4028-3884>: | | [m4jms.MConnectionImpl.createQueueSession] (rc = 0) OK
<4028-3884>: | | A new queue session created, returning it
<4028-3884>: | [m4jms.MConnectionImpl.getQueueSession] (rc = 0) OK
<4028-3884>: | [m4jms:M4jmsutility.getQueue]
<4028-3884>: | [m4jms:M4jmsutility.getQueue] (rc = 0) OK
<4028-3884>: | >>>>Error when getting a QueueSender: javax.jms.InvalidDestinationException: CWSIA0062E: Failed to create a MessageProducer for queue://INPUTQ?busName=QCFBUS
<4028-3884>: | [m4jms:MConnectionImpl.reconnect]
<4028-3884>: | | [m4jms:M4jmsutility.getInitCtx]
<4028-3884>: | | | Replacing connection context associated with env_com.ibm.websphere.naming.WsnInitialContextFactory_corbaloc:iiop:localhost:2809/
<4028-3884>: | | [m4jms:M4jmsutility.getInitCtx] (rc = 0) OK
<4028-3884>: | | Reconnecting...
<4028-3884>: | | [m4jms:M4jmsutility.getQueueCF]
<4028-3884>: | | [m4jms:M4jmsutility.getQueueCF] (rc = 0) OK
<4028-3884>: | | Messaging mode is P2P
<4028-3884>: | | Connection factory: jms/QCF
<4028-3884>: | | Username/password : Not using explicit authentication to reconnect
<4028-3884>: | | Connection to JMS provider has been established
<4028-3884>: | | Provider name is:->
<4028-3884>: | | IBM
<4028-3884>: | | Provider version is:->
<4028-3884>: | | ???
<4028-3884>: | | The JMS API version being used is:->
<4028-3884>: | | 1.1
<4028-3884>: | | The connection factory and provider are configured to support the following JMSX properties:->
<4028-3884>: | | JMSXUserID
<4028-3884>: | | JMSXDeliveryCount
<4028-3884>: | | JMSXAppID
<4028-3884>: | | JMSXGroupID
<4028-3884>: | | JMSXGroupSeq
<4028-3884>: | [m4jms.MConnectionImpl.connect (sc=0)] (rc = 0) OK
<4028-3884>: | >>>>Reconnected successfully from prior error.
<4028-3884>: | [m4jms.MConnectionImpl.getQueueSession]
<4028-3884>: | | [m4jms.MConnectionImpl.createQueueSession]
<4028-3884>: | | | Creating a new queue session...
<4028-3884>: | | | Successfully created a transacted queue session, not busy
<4028-3884>: | | [m4jms.MConnectionImpl.createQueueSession] (rc = 0) OK
<4028-3884>: | | A new queue session created, returning it
<4028-3884>: | [m4jms.MConnectionImpl.getQueueSession] (rc = 0) OK
<4028-3884>: | [m4jms:M4jmsutility.getQueue]
<4028-3884>: | [m4jms:M4jmsutility.getQueue] (rc = 0) OK
<4028-3884>: | >>>>Error after reconnect: javax.jms.InvalidDestinationException: CWSIA0062E: Failed to create a MessageProducer for queue://INPUTQ?busName=QCFBUS
<4028-3884>: | javax.jms.InvalidDestinationException: CWSIA0062E: Failed to create a MessageProducer for queue://INPUTQ?busName=QCFBUS
<4028-3884>: [m4jms:MAdapterImpl.onNotify] (rc = -2) *** ERROR ***
<4028-3884>: [m4jms:MAdapterImpl.beginTransaction]
<4028-3884>: | Put or target p2p or pub/sub
<4028-3884>: | [m4jms.MConnectionImpl.beginTranForQueueSession]
<4028-3884>: | | Implicit transaction in progress for queue session com.ibm.ws.sib.api.jms.impl.JmsQueueSessionImpl@5bb4e280, session is now busy
<4028-3884>: | [m4jms.MConnectionImpl.beginTranForQueueSession] (rc = 0) OK
<4028-3884>: [m4jms:MAdapterImpl.beginTransaction] (rc = 0) OK
<4028-3884>: [m4jms:MAdapterImpl.put]
<4028-3884>: | 582 byte(s) of message data passed to the adapter
<4028-3884>: | Calling message handler to create message
<4028-3884>: | [createJmsMessageFromInputStream]
<4028-3884>: | | Creating Text message
<4028-3884>: | [createJmsMessageFromInputStream] (rc = 0) OK
<4028-3884>: | Message handler successfully created the message to send
<4028-3884>: | ****Error: java.lang.NullPointerException
<4028-3884>: [m4jms:MAdapterImpl.put] (rc = -2) *** ERROR ***
<4028-3884>: [m4jms:MAdapterImpl.endTransaction]
<4028-3884>: | Put or target p2p or pub/sub
<4028-3884>: | [m4jms.MConnectionImpl.rollbackQueueSession]
<4028-3884>: | | Transaction rollback successful for queue session com.ibm.ws.sib.api.jms.impl.JmsQueueSessionImpl@5bb4e280, session is now not busy
<4028-3884>: | [m4jms.MConnectionImpl.rollbackQueueSession] (rc = 0) OK
<4028-3884>: [m4jms:MAdapterImpl.endTransaction] (rc = 0) OK
<4028-3884>: [m4jms:MAdapterImpl.onNotify]
<4028-3884>: | PUTSTOP
<4028-3884>: [m4jms:MAdapterImpl.onNotify] (rc = 0) OK
<4028-1132>: [m4jms:MAdapterImpl.onNotify]
<4028-1132>: | PREPARE_DESTROY
<4028-1132>: [m4jms:MAdapterImpl.onNotify] (rc = 0) OK
 
Hi,

Below is the audit Log Content:

<MapAudit StartTime="20:01:34 May 24, 2007">

<Platform> Command Server for Windows - Version 8.1(139)</Platform>

<ExecutionSummary MapStatus="Error" mapreturn="9" ElapsedSec="8.3605" BurstRestartCount="0">
<Message>Target not available</Message>
<CommandLine>'C:\Documents and Settings\mudduse\Desktop\jms\puttmsg.mmc'</CommandLine>
<ObjectsFound>0</ObjectsFound>
<ObjectsBuilt>9</ObjectsBuilt>

<TargetReport card="1" adapter="JMS" bytes="582" adapterreturn="-305">
<Message>Unknown error code</Message>
<Settings>-ictxfurl corbaloc:iiop:localhost:2809/ -ictxf com.ibm.websphere.naming.WsnInitialContextFactory -CFN jms/QCF -QN INPUTQ -trace</Settings>
</TargetReport>

</ExecutionSummary>

</MapAudit>
 
Below is the JNI layer Trace :
<4028-1132>: ===== WebSphere Transformation Extender Java Programming Interface Library =====
<4028-1132>: Version: 8.1(139)
<4028-1132>: Install Directory: C:\Program Files\IBM\WebSphere Transformation Extender 8.1\
<4028-1132>: Loading JVM...
<4028-1132>: JVM loaded successfully.
<4028-1132>: Loading JVM symbols...
<4028-1132>: JVM symbols loaded successfully.
<4028-1132>: Creating JVM instance...
<4028-1132>: JVM options:
<4028-1132>: -Djava.class.path=C:\Program Files\Edifecs\SpecBuilder\Samples\X12\101\JAExample.jar; C:\Program Files\Java\jdk1.5.0_11\lib;C:\Program Files\Java\jre1.5.0_11\lib;F:\Program Files\IBM\WebSphere\ID\6.0\runtimes\bi_v6\lib;F:\Program Files\IBM\WebSphere\ID\6.0\runtimes\bi_v6\lib\j2ee.jar;;C:\Program Files\IBM\WebSphere Transformation Extender 8.1\communication.jar;C:\Program Files\IBM\WebSphere Transformation Extender 8.1\dtxjca.jar;C:\Program Files\IBM\WebSphere Transformation Extender 8.1\dtxpi.jar;C:\Program Files\IBM\WebSphere Transformation Extender 8.1\importlib.jar;C:\Program Files\IBM\WebSphere Transformation Extender 8.1\jbcl.jar;C:\Program Files\IBM\WebSphere Transformation Extender 8.1\jca_connector_client.jar;C:\Program Files\IBM\WebSphere Transformation Extender 8.1\launcher.jar;C:\Program Files\IBM\WebSphere Transformation Extender 8.1\launcherclient.jar;C:\Program Files\IBM\WebSphere Transformation Extender 8.1\m4corba.jar;C:\Program Files\IBM\WebSphere Transformation Extender 8.1\m4java.jar;C:\Program Files\IBM\WebSphere Transformation Extender 8.1\m4jca.jar;C:\Program Files\IBM\WebSphere Transformation Extender 8.1\m4jms.jar;C:\Program Files\IBM\WebSphere Transformation Extender 8.1\m4jndi.jar;C:\Program Files\IBM\WebSphere Transformation Extender 8.1\m4mime.jar;C:\Program Files\IBM\WebSphere Transformation Extender 8.1\mdf.jar;C:\Program Files\IBM\WebSphere Transformation Extender 8.1\mejbadpi.jar;C:\Program Files\IBM\WebSphere Transformation Extender 8.1\MgmtConsole.jar;C:\Program Files\IBM\WebSphere Transformation Extender 8.1\resourceregistry.jar;C:\Program Files\IBM\WebSphere Transformation Extender 8.1\sibc.jms.jar;C:\Program Files\IBM\WebSphere Transformation Extender 8.1\sibc.jndi.jar;C:\Program Files\IBM\WebSphere Transformation Extender 8.1\xmlsimp.jar;F:\Program Files\IBM\WebSphere\ID\6.0\runtimes\bi_v6\lib\j2ee.jar;C:\Program Files\IBM\WebSphere Transformation Extender 8.1\lib\sibc.jms.jar;C:\Program Files\IBM\WebSphere Transformation Extender 8.1\lib\sibc.jndi.jar;
<4028-1132>: vfprintf
<4028-1132>: -Dmpi.mode.debug=false
<4028-1132>: JVM instance created.
<4028-1132>: Initializing Adapter Library...
<4028-1132>: Time stamp: 05/24/07 19:55:39
<4028-1132>: Adapter Library initialized successfully.
<4028-1132>: Creating adapter instance...
<4028-1132>: ID = 5
<4028-1132>: Adapter instance created successfully.
<4028-5000>: Creating connection instance...
<4028-5000>: ID = 13
<4028-5000>: Connection instance created successfully.
<4028-5000>: *ERR: java.lang.Exception: ****Error_during_connection_creation_Queue_connection_factory_not_retrieved.
<4028-5000>: Destroying connection instance...
<4028-5000>: ID = 13
<4028-5000>: Connection instance destroyed successfully.
<4028-1132>: Destroying adapter instance
<4028-1132>: ID = 5
<4028-1132>: Adapter instance destroyed successfully.
<4028-1132>: Destroying library...
<4028-1132>: Library destroyed successfully.
<4028-1132>: Initializing Adapter Library...
<4028-1132>: Time stamp: 05/24/07 20:01:34
<4028-1132>: Adapter Library initialized successfully.
<4028-1132>: Creating adapter instance...
<4028-1132>: ID = 16
<4028-1132>: Adapter instance created successfully.
<4028-3884>: Creating connection instance...
<4028-3884>: ID = 24
<4028-3884>: Connection instance created successfully.
<4028-3884>: *ERR: javax.jms.InvalidDestinationException: CWSIA0062E: Failed to create a MessageProducer for queue://INPUTQ?busName=QCFBUS
<4028-3884>: *ERR: java.lang.Exception: ****Error: java.lang.NullPointerException
<4028-1132>: Destroying adapter instance
<4028-1132>: ID = 16
<4028-1132>: Adapter instance destroyed successfully.
<4028-3884>: Destroying connection instance...
<4028-3884>: ID = 24
<4028-3884>: Connection instance destroyed successfully.
<4028-1132>: Destroying library...
<4028-1132>: Library destroyed successfully.
 
from the trace, you're connecting to the JMS provider but get the following when you write to the queue:

<4028-3884>: | >>>>Error when getting a QueueSender: javax.jms.InvalidDestinationException: CWSIA0062E: Failed to create a MessageProducer for queue://INPUTQ?busName=QCFBUS

does that queue exist? Are other applications able to post to that queue?
 
The Queue is existing on WAS.
I never tested whether the other applications were able to put the messages onto this queue.

Anyways, will test and thanks for your inputs.

Regards,
Srinivas.M
 
You could try posting the error message on a WAS message board and see if they have any suggestions - it should be a generic JMS / JAS error.
 
Hi,

The Problem is resolved.
I did not created the destinations on WAS and so is the reason it was not able to find the Queue.

Now, I am able to successfully send the messages from WTX to JMS Providers on WAS.

Thanks for your time .

Regards,
Srinivas.M
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top