cancel
Showing results for 
Search instead for 
Did you mean: 

Connecting to PI 7.11 JMS Queue from other PI 7.11 Server

Former Member
0 Kudos

Hi,

We have a requirement in our project to send a message from PI 7.11 server using JMS Receiver adapter to a JMS Queue created in other PI 7.11 server.

Below are the steps i have followed:

  1. Create a JMS Queue "JCapsTest" in target PI server.
  2. Configured JMS receiver adapter in source PI server with the below configuration details.

         

         

          Connection Parameters:

         

          JNDI Lookup Name of QueueConnectionFactory: jmsfactory/default/QueueConnectionFactory

          JNDI Lookup Name of JMS Queue: jmsqueues/default/JCapsTest

          Name of JNDI Initial Context Factory: com.sap.engine.services.jndi.InitialContextFactoryImpl   

          JNDI Server Address: <Target PI Server Host>:<port>

          JNDI Logon User: User

          JNDI Logon Password (with confirmation): Password

After activating the channel i am getting the below error in communication channel.

A channel error occurred. The detailed error (if any) : com.sap.aii.adapter.jms.api.connector.ConnectorException: Error looking up destination: jmsqueues/default/JCapsTest for profile:  ConnectionProfile of channel: AM_I_001_TestFileon node: 116710250 having object id: a40f6e0fd108323ba08fc7d2f71d76fd: NameNotFoundException: Object not found in lookup of JCapsTest.<br> at com.sap.aii.adapter.jms.core.connector.JndiConnectorImpl.createDestination(JndiConnectorImpl.java:169)<br> ...

Here it is trying to look up for the queue specified in the channel, but it is failing.

Please put your thoughts on this...

Accepted Solutions (1)

Accepted Solutions (1)

MichalKrawczyk
Active Contributor
0 Kudos

Hi,

can you cross check the config with  William Li's blog ?

http://scn.sap.com/people/william.li/blog/2006/11/13/how-to-use-saps-webas-j2ees-jms-queue-in-exchan...

Regards,

Michal Krawczyk

Former Member
0 Kudos

Hi Michal,

Thanks for your response.

I have configured the receiver JMS channel with the same parameters specified in the blog.

Those configurations are working fine for the connecting to the queue created in the same PI server, but not for the queue created in the other PI server.

Regards,

Veerendra.

vadimklimov
Active Contributor
0 Kudos

Hello Veerendra,

When using SAP J2EE JMS Provider that is hosted not locally, but in the remote SAP J2EE system (like in your case), please ensure that you add the following parameter in communication channel's setup, in Initial Context Properties section:

Parameter name: force_remote

Parameter value: true

Regards,

Vadim

Former Member
0 Kudos

Hi Vadim,

Configured Parameter name and value as specified by you in the additional parameters of JMS Receiver channel. Still i am facing the same issue.

Below is the screenshot what i have configured in the additional parameters.

Regards,

Veerendra

vadimklimov
Active Contributor
0 Kudos

Hi Veerendra,

OK, then please try the different notation for this parameter in additional parameters of the communication channel:

Parameter name: JNDI.InitialContext.property.5

Parameter value: java.lang.String force_remote,java.lang.String true

Regards,

Vadim

Former Member
0 Kudos

Hi Vadim,

Tried the same now, but no luck.

Just to be more specific, i have used the Transport Protocol in the channel as "Access JMS Provider with JNDI".

It is not able to lookup for the queue name in the target PI server.

Regards,

Veerendra.

Former Member
0 Kudos

Hi Vadim,

I am trying to test JMS connectivity between 7.11 and 7.31 with the same procedure i have done for 7.11 to 7.11.

For this i have created a queue in 7.31 and configured the same in 7.11 JMS receiver channel.

Below are the configurations i have done in the channel.

JNDI Lookup Name of QueueConnectionFactory: jmsfactory/default/QueueConnectionFactory 

          JNDI Lookup Name of JMS Queue: jmsqueues/default/PITestQueue

          Name of JNDI Initial Context Factory: com.sap.engine.services.jndi.InitialContextFactoryImpl   

          JNDI Server Address: <Target PI Server Host>:<XXX04>

          JNDI Logon User: User

          JNDI Logon Password (with confirmation): Password

In the advance tab i have used the below parameter.

Parameter name: JNDI.InitialContext.property.5

Parameter value: java.lang.String force_remote,java.lang.String true

I am facing the below error in the channel...

Error: A channel error occurred. The detailed error (if any) : com.sap.aii.adapter.jms.api.connector.ConnectorException: Fatal Error looking up connection factoryjmsfactory/default/QueueConnectionFactory, for profile: ConnectionProfile of channel: SOAPReceiver_BusinessPartnerUpdatestoESRI_AM_I_036_BETAon node: 35358650 having object id: 7117afbc1f2631da92ed5418ef23983c: ClassCastException: class com.sap.engine.services.jndi.persistent.UnsatisfiedReferenceImpl:service:naming@com.sap.engine.boot.loader.ResourceMultiParentClassLoader@2c4120aa@alive incompatible with interface javax.jms.ConnectionFactory:library:jms_api@com.sap.engine.boot.loader.ResourceMultiParentClassLoader@1fef0b44@alive<br> at com.sap.aii.adapter.jms.core.connector.JndiConnectorImpl.createConnectionFactory(JndiConnectorImpl.java:143)<br> ...

--->When i have changed JNDI server address port from xxx04 to xxx10 in tha channel configuration, i am getting the below error...

Error: A channel error occurred. The detailed error (if any) : com.sap.aii.adapter.jms.api.connector.ConnectorException: Error creating initial context with environment: {java.naming.provider.url=<host>:<xxx10>, java.naming.factory.initial=com.sap.engine.services.jndi.InitialContextFactoryImpl, java.naming.security.principal=user, java.naming.security.credentials=password, force_remote=true}for profile: ConnectionProfile of channel: SOAPReceiver_BusinessPartnerUpdatestoESRI_AM_I_036_BETAon node: 35358650 having object id: 7117afbc1f2631da92ed5418ef23983c: NamingException: Exception while trying to get InitialContext.<br> at com.sap.aii.adapter.jms.core.connector.JndiConnectorImpl.createInitialContext(JndiConnectorImpl.java:66)<br> ...

Please let me know your thoughts on this...

Regards,

Veerendra.

Answers (2)

Answers (2)

Former Member
0 Kudos

Thanks Vadim... this parameter configuration worked for me...

Former Member
0 Kudos

Hi Veerendra Kumar;

while using the "Access JMS Provider with JNDI", I am also facing the same sort of Issues/Errors and unable to resolve.

Please share your experience in resolving this issue.

Thanks in advance !!

Former Member
0 Kudos

Any suggestions please...

vadimklimov
Active Contributor
0 Kudos

Hi Veerendra,

Can you please advise if you still receive the same exception (NameNotFoundException during lookup) after you applied the parameter or if the exception in the channel monitor is now different from the original one?

Regards,

Vadim

Former Member
0 Kudos

Hi Vadim,

I have got the same error after activating the channel with the specified parameter.

One more question, Can this be achieved using the protocol "Access JMS Provider Genrically"?

Regards,

Veerendra.