Connecting to JMS
Hi,
I have to invoke a web service exposed in a bus, using JMS. With HTTP I have no problems. I indicate the wsdl's URL in OdiInvokeWebService, and it works. The problem with JMS is that in this case the wsdl doesn't include the server name in the location tag, so I don't know how to call it. Does somebody know how to do that?
If you want the JMS API on the client side, you need the
WL classes on the client side. There are several examples of this
in the WL sample code.
If you do not want the JMS API on the client side, there are several options
Refer to the white-paper "Small Footprint Client Options for BEA WebLogic
Server" at
http://dev2dev.bea.com/resourcelibrary/whitepapers.jsp?highlight=whitepapers
(WebLogicThinClient.zip)
Tom
Alex wrote:
> Hi
>
> How can I connect to a WLS JMS Server from a remote stand-alone Java application.
> Do I need BEA JMS client? or is there another method that one can recommend? What
> will be the wire-level protocol?
>
> Thanks, Alex
Similar Messages
-
Initiate fails in BPEL Console for BPEL process connecting to JMS Adapter
We have a BPEL process picking up data from JMS Queue of TIBCO EMS server. When we try to run this process from BPEL Console Initiate tab, we get following error dump :
Oracle BPEL Process Manager Full Cycle
An unexpected error has occurred while executing your request. This is most likely related to a defect in the Oracle BPEL Process Manager product. We apologize you can post the error to the OTN forum and we will get back to you as soon as possible.
Attachments:
Build Information:
Oracle BPEL Server version 10.1.3.1.0
Build: 0
Build time: Mon May 15 06:39:46 PDT 2006
Build type: release
Source tag: PCBPEL_SOABETA_GENERIC_060515.0600
Exception Message:
[javax.servlet.ServletException]
The system encounters errors while running as the authenticated identity.
Exception Trace:
javax.servlet.ServletException: The system encounters errors while running as the authenticated identity.
at oracle.security.jazn.oc4j.JAZNFilter.doFilter(JAZNFilter.java:416)
at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:622)
at com.evermind.server.http.ServletRequestDispatcher.unprivileged_include(ServletRequestDispatcher.java:161)
at com.evermind.server.http.ServletRequestDispatcher.access$000(ServletRequestDispatcher.java:50)
at com.evermind.server.http.ServletRequestDispatcher$1.oc4jRun(ServletRequestDispatcher.java:98)
at oracle.oc4j.security.OC4JSecurity.doPrivileged(OC4JSecurity.java:283)
at com.evermind.server.http.ServletRequestDispatcher.include(ServletRequestDispatcher.java:103)
at com.evermind.server.http.EvermindPageContext.include(EvermindPageContext.java:395)
at displayProcess.jspService(_displayProcess.java:857)
at com.orionserver.http.OrionHttpJspPage.service(OrionHttpJspPage.java:59)
at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:453)
at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:590)
at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:514)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
at com.evermind.server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:64)
at oracle.security.jazn.oc4j.JAZNFilter$1.run(JAZNFilter.java:392)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAsPrivileged(Subject.java:517)
at oracle.security.jazn.oc4j.JAZNFilter.doFilter(JAZNFilter.java:406)
at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:622)
at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:369)
at com.evermind.server.http.ServletRequestDispatcher.unprivileged_forward(ServletRequestDispatcher.java:260)
at com.evermind.server.http.ServletRequestDispatcher.access$100(ServletRequestDispatcher.java:50)
at com.evermind.server.http.ServletRequestDispatcher$2.oc4jRun(ServletRequestDispatcher.java:194)
at oracle.oc4j.security.OC4JSecurity.doPrivileged(OC4JSecurity.java:283)
at com.evermind.server.http.ServletRequestDispatcher.forward(ServletRequestDispatcher.java:199)
at com.collaxa.cube.fe.DomainFilter.doFilter(DomainFilter.java:131)
at com.evermind.server.http.EvermindFilterChain.doFilter(EvermindFilterChain.java:15)
at oracle.security.jazn.oc4j.JAZNFilter$1.run(JAZNFilter.java:392)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAsPrivileged(Subject.java:517)
at oracle.security.jazn.oc4j.JAZNFilter.doFilter(JAZNFilter.java:406)
at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:620)
at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:369)
at com.evermind.server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:869)
at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:449)
at com.evermind.server.http.HttpRequestHandler.serveOneRequest(HttpRequestHandler.java:216)
at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:117)
at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:110)
at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260)
at oracle.oc4j.network.ServerSocketAcceptHandler.procClientSocket(ServerSocketAcceptHandler.java:233)
at oracle.oc4j.network.ServerSocketAcceptHandler.access$800(ServerSocketAcceptHandler.java:33)
at oracle.oc4j.network.ServerSocketAcceptHandler$AcceptHandlerHorse.run(ServerSocketAcceptHandler.java:847)
at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303)
at java.lang.Thread.run(Thread.java:595)
Also the BPEL process containing JMS adapter is not able to pick up data from JMS queue.
The same adapter was used in ESB service as well, which is working fine. There are no issues in ESB JMS Adapter connecting to JMS Queue of TIBCO EMS server.
Your help is appriciated.Try the BPEL / SOA forum, you'll get more help there.
-steve- -
Need help to connect tibco jms queues from OSB
Hi,
We have a requirement in our project "to connect tibco JMS Queues from OSB".
The Queres are created by some othes in remote system, they provided us the details to connect the Queue. the detail are:
Queue Name :EXT_WEALTHHUB.TO_EXT.SYNC.REQ
Jndi Factory :SSLQueueConnectionFactory
and hostName , PORT
Credentails are provided.
We entered the same details in Business service in transport page by choosing 'jms' as protocol and EndpointURI as.
"jms://100.10.XX.YY:1234/SSLQueueConnectionFactory/EXT_WEALTHHUB.TO_EXT.SYNC.REQ"
And we created a service account to maintain the credentials and browsed the same at service account in the business service.
In JMS Transport Page we selected
Response Queue : One for all Request URI's
Response Pattern : JMS CorrelaltionID
Response UI :jms://100.10.XX.YY:1234/SSLQueueConnectionFactory/EXT_WEALTHHUB.TO_EXT.SYNC.RESP
when we are trying to establish a connection with the above queue getting
javax.naming.CommunicationException [Root exception is weblogic.socket.UnrecoverableConnectException: [Login failed for an unknown reason: er.deployer.MessageDrivenBeanInfoImpl.getInitialContext(MessageDrivenBeanInfoImpl.java:733)
at weblogic.ejb.container.deployer.MessageDrivenBeanInfoImpl.getInitialContext(MessageDrivenBeanInfoImpl.java:689)
at weblogic.jms.common.CDS$DD2Listener$1.run(CDS.java:1018)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
at weblogic.jms.common.CrossDomainSecurityManager.runAs(CrossDomainSecurityManager.java:130)
at weblogic.jms.common.CDS$DD2Listener.getInitialContextFromListener(CDS.java:1012)
at weblogic.jms.common.CDS$DD2Listener.getInitialContext(CDS.java:984)
at weblogic.jms.common.CDS$1.run(CDS.java:436)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
at weblogic.jms.common.CrossDomainSecurityManager.runAs(CrossDomainSecurityManager.java:130)
at weblogic.jms.common.CDS.createInitialContext(CDS.java:431)
at weblogic.jms.common.CDS.getDDMembershipInformation(CDS.java:270)
at weblogic.ejb.container.deployer.MessageDrivenBeanInfoImpl.createMDManagers(MessageDrivenBeanInfoImpl.java:1455)
at weblogic.ejb.container.deployer.MessageDrivenBeanInfoImpl.activate(MessageDrivenBeanInfoImpl.java:1252)
at weblogic.ejb.container.deployer.EJBDeployer.activate(EJBDeployer.java:1320)
at weblogic.ejb.container.deployer.EJBModule.activate(EJBModule.java:493)
at weblogic.application.internal.flow.ModuleListenerInvoker.activate(ModuleListenerInvoker.java:227)
at weblogic.application.internal.flow.DeploymentCallbackFlow$2.next(DeploymentCallbackFlow.java:531)
at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:41)
at weblogic.application.internal.flow.DeploymentCallbackFlow.activate(DeploymentCallbackFlow.java:165)
at weblogic.application.internal.flow.DeploymentCallbackFlow.activate(DeploymentCallbackFlow.java:157)
at weblogic.application.internal.BaseDeployment$2.next(BaseDeployment.java:1267)
at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:41)
at weblogic.application.internal.BaseDeployment.activate(BaseDeployment.java:409)
at weblogic.application.internal.EarDeployment.activate(EarDeployment.java:58)
at weblogic.application.internal.DeploymentStateChecker.activate(DeploymentStateChecker.java:161)
at weblogic.deploy.internal.targetserver.AppContainerInvoker.activate(AppContainerInvoker.java:79)
at weblogic.deploy.internal.targetserver.operations.AbstractOperation.activate(AbstractOperation.java:569)
at weblogic.deploy.internal.targetserver.operations.ActivateOperation.activateDeployment(ActivateOperation.java:150)
at weblogic.deploy.internal.targetserver.operations.ActivateOperation.doCommit(ActivateOperation.java:116)
at weblogic.deploy.internal.targetserver.operations.AbstractOperation.commit(AbstractOperation.java:323)
at weblogic.deploy.internal.targetserver.DeploymentManager.handleDeploymentCommit(DeploymentManager.java:844)
at weblogic.deploy.internal.targetserver.DeploymentManager.activateDeploymentList(DeploymentManager.java:1253)
at weblogic.deploy.internal.targetserver.DeploymentManager.handleCommit(DeploymentManager.java:440)
at weblogic.deploy.internal.targetserver.DeploymentServiceDispatcher.commit(DeploymentServiceDispatcher.java:163)
at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.doCommitCallback(DeploymentReceiverCallbackDeliverer.java:195)
at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.access$100(DeploymentReceiverCallbackDeliverer.java:13)
at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer$2.run(DeploymentReceiverCallbackDeliverer.java:68)
at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:528)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
Caused by: weblogic.socket.UnrecoverableConnectException: [Login failed for an unknown reason: in.checkLoginSuccess(Login.java:131)
at weblogic.rjvm.t3.MuxableSocketT3.connect(MuxableSocketT3.java:403)
at weblogic.rjvm.t3.ConnectionFactoryT3.createConnection(ConnectionFactoryT3.java:34)
at weblogic.rjvm.ConnectionManager.createConnection(ConnectionManager.java:1777)
at weblogic.rjvm.ConnectionManager.findOrCreateConnection(ConnectionManager.java:1417)
at weblogic.rjvm.ConnectionManager.bootstrap(ConnectionManager.java:437)
at weblogic.rjvm.ConnectionManager.bootstrap(ConnectionManager.java:316)
at weblogic.rjvm.RJVMManager.findOrCreateRemoteInternal(RJVMManager.java:254)
at weblogic.rjvm.RJVMManager.findOrCreate(RJVMManager.java:197)
at weblogic.rjvm.RJVMFinder.findOrCreateRemoteServer(RJVMFinder.java:238)
at weblogic.rjvm.RJVMFinder.findOrCreateInternal(RJVMFinder.java:200)
at weblogic.rjvm.RJVMFinder.findOrCreate(RJVMFinder.java:170)
at weblogic.rjvm.ServerURL.findOrCreateRJVM(ServerURL.java:153)
at weblogic.jndi.WLInitialContextFactoryDelegate$1.run(WLInitialContextFactoryDelegate.java:345)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:147)
at weblogic.jndi.WLInitialContextFactoryDelegate.getInitialContext(WLInitialContextFactoryDelegate.java:340)
at weblogic.jndi.Environment.getContext(Environment.java:315)
at weblogic.jndi.Environment.getContext(Environment.java:285)
at weblogic.jndi.WLInitialContextFactory.getInitialContext(WLInitialContextFactory.java:117)
at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:667)
at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:288)
at javax.naming.InitialContext.init(InitialContext.java:223)
at javax.naming.InitialContext.<init>(InitialContext.java:198)
at weblogic.ejb.container.deployer.MessageDrivenBeanInfoImpl$2.run(MessageDrivenBeanInfoImpl.java:748)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
at weblogic.ejb.container.deployer.MessageDrivenBeanInfoImpl.doPrivilagedAction(MessageDrivenBeanInfoImpl.java:2238)
at weblogic.ejb.container.deployer.MessageDrivenBeanInfoImpl.getInitialContext(MessageDrivenBeanInfoImpl.java:733)
at weblogic.ejb.container.deployer.MessageDrivenBeanInfoImpl.getInitialContext(MessageDrivenBeanInfoImpl.java:689)
at weblogic.jms.common.CDS$DD2Listener$1.run(CDS.java:1018)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
at weblogic.jms.common.CrossDomainSecurityManager.runAs(CrossDomainSecurityManager.java:130)
at weblogic.jms.common.CDS$DD2Listener.getInitialContextFromListener(CDS.java:1012)
at weblogic.jms.common.CDS$DD2Listener.getInitialContext(CDS.java:984)
at weblogic.jms.common.CDS$1.run(CDS.java:436)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
at weblogic.jms.common.CrossDomainSecurityManager.runAs(CrossDomainSecurityManager.java:130)
at weblogic.jms.common.CDS.createInitialContext(CDS.java:431)
at weblogic.jms.common.CDS.getDDMembershipInformation(CDS.java:270)
at weblogic.ejb.container.deployer.MessageDrivenBeanInfoImpl.createMDManagers(MessageDrivenBeanInfoImpl.java:1455)
at weblogic.ejb.container.deployer.MessageDrivenBeanInfoImpl.activate(MessageDrivenBeanInfoImpl.java:1252)
at weblogic.ejb.container.deployer.EJBDeployer.activate(EJBDeployer.java:1320)
at weblogic.ejb.container.deployer.EJBModule.activate(EJBModule.java:493)
at weblogic.application.internal.flow.ModuleListenerInvoker.activate(ModuleListenerInvoker.java:227)
at weblogic.application.internal.flow.DeploymentCallbackFlow$2.next(DeploymentCallbackFlow.java:532)
at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:41)
at weblogic.application.internal.flow.DeploymentCallbackFlow.activate(DeploymentCallbackFlow.java:165)
at weblogic.application.internal.flow.DeploymentCallbackFlow.activate(DeploymentCallbackFlow.java:158)
at weblogic.application.internal.BaseDeployment$2.next(BaseDeployment.java:1269)
at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:41)
at weblogic.application.internal.BaseDeployment.activate(BaseDeployment.java:409)
at weblogic.application.internal.EarDeployment.activate(EarDeployment.java:58)
at weblogic.application.internal.DeploymentStateChecker.activate(DeploymentStateChecker.java:161)
at weblogic.deploy.internal.targetserver.AppContainerInvoker.activate(AppContainerInvoker.java:79)
at weblogic.deploy.internal.targetserver.operations.AbstractOperation.activate(AbstractOperation.java:569)
at weblogic.deploy.internal.targetserver.operations.ActivateOperation.activateDeployment(ActivateOperation.java:150)
at weblogic.deploy.internal.targetserver.operations.ActivateOperation.doCommit(ActivateOperation.java:116)
at weblogic.deploy.internal.targetserver.operations.AbstractOperation.commit(AbstractOperation.java:323)
at weblogic.deploy.internal.targetserver.DeploymentManager.handleDeploymentCommit(DeploymentManager.java:844)
at weblogic.deploy.internal.targetserver.DeploymentManager.activateDeploymentList(DeploymentManager.java:1253)
at weblogic.deploy.internal.targetserver.DeploymentM
Any pointers on how to resolve the above issue will be a greate help to us.
Thanks in AdvanceWrong forum, please ask this on dedicated weblogic or soa forums
-
How does BPEL connect to JMS??
Hi All,
I have a BPEL process which basically logs a message into a JMS Q..This process runs forever and when ever a new message is to be logged we return the same instance instead of a new instace..
Now a couple of questions I have on this is -
How does the connection to JMS work,is it like there is 1 conncetion for the entire BPEL process which is used every time I wanna add a new message,or is it like a new connection is created and destroyed with every invioke to the JMS..
I need to make sure a instance of this process already exist so that I can return the same,is there any way my parent process can chek if there is an instance of the child process and if yes it will call that instance ,if No then it will create a new instance..
Is there any way I can initiate a BPEL process through ant?
It would be grt if any 1 can throw some light on these.. thnx..
Regards,
AkshathaEach JMS queue/topic has a single persistent image. Any reference to that queue through the relevant connection factory returns the reference to the same instance.
There may be many different queues, but each is uniquely identified by its jndi name.
Name each of your JMS queues differently for each separate endpoint you wish to consume messages from.
You could use ant to initiate a process by invoking the web-service sending a soap message to the url for the processes web-service. I use soap-ui or the BPEL Console to manually do the initiation, and to determine what makes up the soap packet that is forwarded to the web service. I am not aware of any task that does this for you so you would have to construct a http type target yourself. -
Unable to Connect to JMS Queue in Websphere from WLS 10.3,3
Hi Everyone,
I'm trying to connect to JMS Queue in WebSphere 7.1 from WLS 10.3.3, I'm trying to using Foreign server connection to connect to the Websphere JMS Queue. Its normal Queue not MQ Queue. I have configured the Foreign server but i know for the fact that some weblogic jar files are need on the WLS home. Does anyone let me know what is needed so that i can place them on the WLS home and restart the server.
Also i would like to consume and produce messages to the websphere queue.
Thanks for the help..
Regards
SabirHi Everyone
Has anyone tried connecting to the websphere jms queue from WLS 10.3.3
Let me know if that can be done
regards
Sabir -
JMS Connection Factory jms/QueueConnectionFactory could not be found
Hi,
Previously, i tried to extend weblogic domain "oim_domain" that only configured for OIM, and integrate the OIM with OAM 11g.
The integration was failed, because all users cannot login to OAM login page (using Active Directory authentication), so i rolled back all configuration by copying MW_HOME i've backed-up before extend the weblogic domain.
When i start the OIM after rolled back, i've found an error message as follow :
<May 16, 2013 11:38:15 AM WIT> <Error> <oracle.iam.platform.async> <IAM-0050009> <Async Service initialization failed because JMS Connection Factory jms/Queu
eConnectionFactory could not be found. Please check that a JMS Connection Factory with JNDI Name jms/QueueConnectionFactory is present in the Application Ser
ver.>
<May 16, 2013 11:38:15 AM WIT> <Error> <oracle.iam.platform.async> <IAM-0050010> <Error Trace Follows
javax.naming.NamingException: String index out of range: -1
at weblogic.jndi.Environment.getContext(Environment.java:308)
at weblogic.jndi.Environment.getContext(Environment.java:285)
at weblogic.jndi.WLInitialContextFactory.getInitialContext(WLInitialContextFactory.java:117)
at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:667)
and this error message :
<May 16, 2013 11:38:15 AM WIT> <Warning> <oracle.iam.platform.utils> <IAM-0070016> <An error occurred while initializing service : oracle.iam.platform.async.
AsyncService>
<May 16, 2013 11:38:15 AM WIT> <Warning> <oracle.iam.platform.utils> <IAM-0070016> <An error occurred while initializing service : {0}
javax.naming.NamingException: String index out of range: -1
at weblogic.jndi.Environment.getContext(Environment.java:308)
at weblogic.jndi.Environment.getContext(Environment.java:285)
at weblogic.jndi.WLInitialContextFactory.getInitialContext(WLInitialContextFactory.java:117)
at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:667)
at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:288)
Please help.
Best Regards,
HeriI have the same error!!! Do you manage to solve it?
-
PI unable to connect via JMS adapter to Weblogic
Hello All,
We have implemented JMS adapter on PI 7.11 for the first time in our landscape which connects to Weblogic server. When i test my scenario i get this Error on JMS Communication Channel. Could some one help me out .. where things are going wrong?
Am using Transport protocol as : Access JMS Provider with JNDI
CASE 1 :
284272 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=t3s://usdatlpc64m----
java.naming.factory.initial=weblogic.jndi.WLInitialContextFactory}for profile: ConnectionProfile of channel: JMS_RCV_IA_WorkOrderStatuson node: 28427250 having object id: 035dd91446303f17bf0e7ad9a4dbd564: RuntimeException: Exception occurred while reading the license file.<br> at com.sap.aii.adapter.jms.core.connector.JndiConnectorImpl.createInitialContext(JndiConnectorImpl.java:65)<br> ...
CASE2:
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=----
java.naming.factory.initial=weblogic.jndi.WLInitialContextFactory}for profile: ConnectionProfile of channel: JMS_RCV_IA_WorkOrderStatuson node: 28427251 having object id: 035dd91446303f17bf0e7ad9a4dbd564: javax.naming.NamingException: String index out of range: -1<br> at com.sap.aii.adapter.jms.core.connector.JndiConnectorImpl.createInitialContext(JndiConnectorImpl.java:65)<br> ...Hi ,
Were you able to resolve the issue?
We are facing similar issue when trying to integrate (SOAP over JMS) with WebSphere 7.x server to read JMS messages. We are using SAP PI 7.1 version and after providing the JNDI connection factory as "com.ibm.websphere.naming.WsnInitialContextFactory".....the error returned is :
======
Channel error occurred. Detailed error (if any) : com.sap.aii.adapter.jms.api.connector.ConnectorException: Error creating initial context with environment: {java.naming.provider.url=iiop://10.60.5.115:2809, java.naming.factory.initial=com.ibm.websphere.naming.WsnInitialContextFactory, java.naming.security.principal=admin, java.naming.security.credentials=admin}for profile: ConnectionProfile of channel: JMSSender_MESon node: 8649950 having object id: a8c808c859f33b40a41d0ced2088fb18: javax.naming.NoInitialContextException: Cannot instantiate class: com.ibm.websphere.naming.WsnInitialContextFactory<br> at com.sap.aii.adapter.jms.core.connector.JndiConnectorImpl.createInitialContext(JndiConnectorImpl.java:65)<br> ...
=====
Thanks in Advance
-Naveen -
Messages are not being dequed by a different connection in JMS
Scenario
There are 2 queues - Q_A and Q_B and There are 2 applications - App_1 and App_2
I am using point 2 point and java JMS
This is what I want to accomplish
App_1 queues messages to Q_A
App_2 dequeues messages from Q_A
App_2 queues messages to Q_B
App_1 dequeues messages from Q_B
But the problem I am having is that neither application can see the messages that have been queued by the other.
So even though I see the messages in the database in Q_A,
When I use QueueBrowser from App_B on Q_A to view the messages ... it is empty
But if I use QueueBrowser from App_A on the same queue Q_ A I can see the messages.
The same is true the other way round.
The queueconnection is being created usng the same db user in both apps, and the queues are owned by the same user.
please help me.
user489532Dear DAMORGAN,
Thank you for your reply and I apologise for the insufficient information. I am providing the details now. I am aware that JMS is supposed to handle my situation. And I am ableto queue and dequeue messages without problems from the same app. Its only when I am using different apps that I am having a problem. I am pasting relevant pieces of code,Please let me know if more info is needed. Thank for your help.
Oracle 10g
Weblogic 10
DDL to create Queue
BEGIN
DBMS_AQADM.CREATE_QUEUE_TABLE (
QUEUE_TABLE => 'AQ_A_QUEUE'
,QUEUE_PAYLOAD_TYPE => 'SYS.AQ$_JMS_OBJECT_MESSAGE'
,COMPATIBLE => '8.1.3'
,MULTIPLE_CONSUMERS => FALSE
DBMS_AQADM.CREATE_QUEUE(QUEUE_NAME => 'A_QUEUE',
QUEUE_TABLE => 'AQ_A_QUEUE',
MAX_RETRIES => 10,
RETRY_DELAY => 60);
DBMS_AQADM.START_QUEUE(QUEUE_NAME => 'A_QUEUE');
END;
Application A sends messages to A_QUEUE like this
//This is how I get a connection
QueueConnectionFactory queueConnectionFactory = AQjmsFactory.getQueueConnectionFactory(getDatabaseServer(), getDatabaseSid(), getDatabasePort(), "thin");
QueueConnection qc = queueConnectionFactory.createQueueConnection(getDatabaseUser(), getDatabaseUserPassword());
qc.start();
//This is how I get the Queue
QueueSession q_sess = qc.createQueueSession(true, Session.AUTO_ACKNOWLEDGE);
Queue aQueue= ((AQjmsSession)q_sess).getQueue(getDatabaseUser(), "A_QUEUE");
TestMsgObject jmsObj = new TestMsgObject();
//populate Test object
QueueSender qs = q_sess.createSender(aQueue )
ObjectMessage msg = q_sess.createObjectMessage(jmsObj);
msg.setStringProperty("MESSAGESOURCE", "APP_A");
qs.send(msg);
qs.close();
q_sess.commit();
//Application B has a message listener like this - TestListener
public void initialize() throws JMSException, NamingException {
QueueConnectionFactory queueConnectionFactory = AQjmsFactory.getQueueConnectionFactory(getDatabaseServer(), getDatabaseSid(), getDatabasePort(), "thin");
qc = queueConnectionFactory.createQueueConnection(getDatabaseUser(), getDatabaseUserPassword());
q_session = qc.createQueueSession(true, Session.AUTO_ACKNOWLEDGE);
aQueue = ((AQjmsSession)q_session).getQueue(getDatabaseUser(), "A_QUEUE");
qr = q_session.createReceiver(aQueue);
qr.setMessageListener(this);
qc.start();
public void onMessage(Message message) {
try {
System.out.println("Received Message XFS=" + message.getJMSMessageID());
//more processing
}catch(Exception e) {
e.printStackTrace();
The message listener is created and initialized from the init() method of a servlet that is loaded on startup.
The onMessage of the TestListener is never called.
I can see the messages in the database.
Also when I call the following code snippet from Application A - the messages are retrieved, but the same code called from application B does not give any messages.
browser = q_sess.createBrowser(MyUtil.getQueue(q_sess));
for (Enumeration messages = browser.getEnumeration(); messages.hasMoreElements() ;){
obj_message = (ObjectMessage)messages.nextElement();
System.out.println(obj_message.getJMSMessageID());
I can bounce the app server and still app B does not see the messages.
However if app B publishes messages to the queue itself, it can see those, without any problem.
As mentioned before the database user is the same for both the apps and owns the queue, and deques and enque are both enabled. -
Weblogic app server: MDB is unable connect to JMS Queue!
29-Jun-2006 16:22:23 o'clock SGT> <Warning> <EJB> <BEA-010096> <The Message-Driven EJB: YCCEventsMDB is unable to connect to the JMS destination: jms/citos/ycds/RecvYCCEvents_Q. Connection failed after 7 attempts. The MDB will attempt to reconnect every 10 seconds. This log message will repeat every 600 seconds until the condition clears.>
<29-Jun-2006 16:22:23 o'clock SGT> <Warning> <EJB> <BEA-010061> <The Message-Driven EJB: YCCEventsMDB is unable to connect to the JMS destination: jms/citos/ycds/RecvYCCEvents_Q. The Error was:
[EJB:011009]Unable to create a JNDI InitialContext to lookup the JMS destination.
javax.naming.ServiceUnavailableException [Root exception is java.net.UnknownHostException: ycds_app_svr]
at weblogic.jndi.internal.ExceptionTranslator.toNamingException(ExceptionTranslator.java:41)
at weblogic.jndi.WLInitialContextFactoryDelegate.toNamingException(WLInitialContextFactoryDelegate.java:618)
at weblogic.jndi.WLInitialContextFactoryDelegate.getInitialContext(WLInitialContextFactoryDelegate.java:306)
at weblogic.jndi.WLInitialContextFactoryDelegate.getInitialContext(WLInitialContextFactoryDelegate.java:239)
at weblogic.jndi.WLInitialContextFactory.getInitialContext(WLInitialContextFactory.java:135)
atAny update on this. I am getting the same error.
-
Release the connection in JMS Adapter
Hi,
I’m sending the message to JMS queue (queue is running in weblogic server) using JMS Adapter in BPEL. My question is how to release the weblogic connection once the message produced to queue. It is happen automatically or we have to release the connection explicitly. If it explicit handle means how to do it?
It would very helpful for me if you send any reference doc or url about this.
Thanks in Advance.
Thanks
ChandramohanThe JMS adapater of SOA will handle this for you. You do not have to do anything with closing connections.
Marc -
MDB cannot connect to JMS destination using Foreign Server
Hi everyone,
I have configured foreign jms server in weblogic but when MDB tries to connect to specific queue, it gets the following exception:
I would really appreciate if anyone could help me.
<Sep 28, 2012 5:23:34 PM CEST> <Warning> <EJB> <BEA-010096> <The Message-Driven EJB: SmsReceiver is unable to connect to the JMS destination or bind to JCA resource adapter: xcg2/smsInQueue. Connection failed after 2 attempts. The MDB will attempt to reconnect/rebind every 10 seconds. This log message will repeat every 600 seconds until the condition clears.>
<Sep 28, 2012 5:23:34 PM CEST> <Warning> <EJB> <BEA-010061> <The Message-Driven EJB: SmsReceiver is unable to connect to the JMS destination: xcg2/smsInQueue. The Error was:
[EJB:011010]The JMS destination with the JNDI name: jmsxcg.out could not be found. Please ensure that the JNDI name in the weblogic-ejb-jar.xml or corresponding annotation is correct, and the JMS destination has been deployed.
javax.naming.InvalidNameException: jmsxcg.out: [LDAP: error code 34 - Invalid DN]; remaining name 'jmsxcg.out' NestedException Message is :jmsxcg.out: [LDAP: error code 34 - Invalid DN]>
MDB annotation looks like this:
@MessageDriven(name="SmsReceiver", mappedName="xcg2/smsInQueue",
activationConfig = {
@ActivationConfigProperty(propertyName = "destinationType", propertyValue = "javax.jms.Queue")
@TransactionAttribute(TransactionAttributeType.NOT_SUPPORTED)
public class SmsReceiverBean implements MessageListener
weblogic-ejb-jar.xml excerpt:
<weblogic-enterprise-bean>
<ejb-name>SmsReceiver</ejb-name>
<message-driven-descriptor>
<pool>
<max-beans-in-free-pool>10</max-beans-in-free-pool>
<initial-beans-in-free-pool>5</initial-beans-in-free-pool>
</pool>
<connection-factory-jndi-name>echoQueueConnectionFactory</connection-factory-jndi-name>
</message-driven-descriptor>
<transaction-descriptor>
<trans-timeout-seconds>600</trans-timeout-seconds>
</transaction-descriptor>
<dispatch-policy>MdbSmsWorkManager</dispatch-policy>
</weblogic-enterprise-bean>
and the configuration of foreign-server:
<?xml version="1.0" encoding="UTF-8"?>
<weblogic-jms xmlns="http://www.bea.com/ns/weblogic/weblogic-jms">
<foreign-server name="serverr">
<sub-deployment-name>Subdeployment</sub-deployment-name>
<foreign-destination name="sms queue>
<local-jndi-name>xcg2/smsInQueue</local-jndi-name>
<remote-jndi-name>jmsxcg.out</remote-jndi-name>
</foreign-destination>
<foreign-connection-factory name="Connection Factory">
<local-jndi-name>echoQueueConnectionFactory</local-jndi-name>
<remote-jndi-name>QueueConnectionFactory</remote-jndi-name>
</foreign-connection-factory>
<initial-context-factory>com.tibco.tibjms.naming.TibjmsInitialContextFactory</initial-context-factory>
<connection-url>tibjmsnaming://xx.xx.xx.xx:7222</connection-url>
</foreign-server>
</weblogic-jms>
PS. I'm able to connect to the weblogic jndi, get connectionFactory echoQueueConnectionFactory, then lookup queue and grab messages so that's i suspect there is something wrong with configurationHmm - I'm not sure what's going on. Two thoughts --
Thought 1 - According to my (admittedly minimal) research, Tibco is complaining about a syntax error in the lookup name. Perhaps the problem has something to do with your use of a "." in the queue name "jmsxcg.out": WL or Tibco JNDI might be interpreting the "." as a subcontext or some-such. Perhaps try renaming the queue to "jmsxcg_out" throughout (in Tibco and in your Foreign JMS reference).
Thought 2 - It probably won't make a difference, but you might want try specifying the source destination via the "destinationJndiName" config property instead of via "mappedName".
@MessageDriven(
name = "MyMDB",
activationConfig = {
@ActivationConfigProperty(propertyName = "destinationType",
propertyValue = "javax.jms.Queue"),
@ActivationConfigProperty(propertyName = "destinationJndiName",
propertyValue = "MyQueue") // Ext. JNDI Name
)HTH,
Tom -
Error while connecting to JMS queue of weblogic
Hi
I have a bpel process which connects to weblogic queues and puts a message.
These days am getting the following error randomly
WSIF JCA Execute of operation 'Produce_Message' failed due to: ERRJMS_TRX_BEGIN.
CCI Local Transaction BEGIN failed due to: ERRJMS_GET_TRANSACTED_FAIL.
nested exception is:
ORABPEL-12100
ERRJMS_TRX_BEGIN.
CCI Local Transaction BEGIN failed due to: ERRJMS_GET_TRANSACTED_FAIL.
Session.getTransaction() failed
Please examine the log file to determine the problem.
If i resubmit after some time this error goes away.
Can any one give me some idea on what the root cause of the problem is
Thanks
VamsiHi
Thanks for the reply. I have checked out and we are using weblogic.jms.ConnectionFactory. And XA transaction feature is disabled at the weblogic end.
But still the error persists.
The following entries are in the oc4j-ra.xml file
<connector-factory location="eis/wljms/Queue" connector-name="Jms Adapter">
<config-property name="connectionFactoryLocation" value="Sample.QueueConnectionFactory"/>
<config-property name="factoryProperties" value="java.naming.factory.initial=weblogic.jndi.WLInitialContextFactory;java.naming.provider.url=t3://<IP address>:7001"/>
<config-property name="acknowledgeMode" value="CLIENT_ACKNOWLEDGE"/>
<config-property name="isTopic" value="false"/>
<config-property name="isTransacted" value="true"/>
<config-property name="username" value=""/>
<config-property name="password" value=""/>
<connection-pooling use="none">
</connection-pooling>
<security-config use="none">
</security-config>
</connector-factory>
Any further suggestions pls
Thanks
Vamsi -
I am trying to get my first JMS project working using the Sun reference version of j2ee connection to Tibco EMS. I figured out how to get two Windows machines running j2ee to talk to each other, but talking to Tibco on a UNIX box isn't working. I'm new to j2ee and JMS, so I really don't know where to go from here. I realize I haven't given much information here, but I don't know what is needed to diagnose this. Can anyone give me guidance on what I should do next?
Thanks very much.Hi Eric,
Check this:
http://help.sap.com/saphelp_nw04/helpdata/en/35/42e13d82fcfb34e10000000a114084/frameset.htm
Best regards, Maksim Rashhcynski. -
Trouble connecting to JMS queue
I created a JMS queue, but I can not get my client to connect to the queue
How can I dod this,
Should I use subdeployments ?
Thanks, GideonWhat error is your client getting? If it is a JNDI error, then there's likely a configuration error -- feel free to post your JMS server config (from your config.xml) and your JMS module config.
As for your question about subdeployments: If you're just experimenting with a simple developer setup, then you don't need subdeployments, otherwise I think one should always use subdeployments for destinations instead of default targeting (where each subdeployment consists of a list of one or more JMS servers), as subdeployments ensure that destinations will only activate on exactly the intended JMS servers. To keep things simple, I recommend configuring a single subdeployment per module (subds are sometimes called "advanced targeting" on the console), and configuring multiple modules when you have multiple target sets...
Tom -
Exception when trying to Connect to JMS Server Remotely
Hi,
I get the following error when i am trying to connect to a JMS server over the network. Please help.
Aug 7, 2009 12:58:10 PM com.sun.corba.ee.impl.transport.SocketOrChannelConnectionImpl <init>
WARNING: "IOP00410201: (COMM_FAILURE) Connection failure: socketType: IIOP_CLEAR_TEXT; hostname: localhost; port: 3700"
org.omg.CORBA.COMM_FAILURE: vmcid: SUN minor code: 201 completed: No
at com.sun.corba.ee.impl.logging.ORBUtilSystemException.connectFailure(ORBUtilSystemException.java:2690)
at com.sun.corba.ee.impl.logging.ORBUtilSystemException.connectFailure(ORBUtilSystemException.java:2711)
at com.sun.corba.ee.impl.transport.SocketOrChannelConnectionImpl.<init>(SocketOrChannelConnectionImpl.java:261)
at com.sun.corba.ee.impl.transport.SocketOrChannelConnectionImpl.<init>(SocketOrChannelConnectionImpl.java:274)
at com.sun.corba.ee.impl.transport.SocketOrChannelContactInfoImpl.createConnection(SocketOrChannelContactInfoImp
l.java:130)
at com.sun.corba.ee.impl.protocol.CorbaClientRequestDispatcherImpl.beginRequest(CorbaClientRequestDispatcherImpl
.java:192)
at com.sun.corba.ee.impl.protocol.CorbaClientDelegateImpl.request(CorbaClientDelegateImpl.java:181)
at com.sun.corba.ee.impl.protocol.CorbaClientDelegateImpl.is_a(CorbaClientDelegateImpl.java:325)
at org.omg.CORBA.portable.ObjectImpl._is_a(ObjectImpl.java:112)
at org.omg.CosNaming.NamingContextHelper.narrow(NamingContextHelper.java:69)
at com.sun.enterprise.naming.SerialContext.narrowProvider(SerialContext.java:127)
at com.sun.enterprise.naming.SerialContext.getProvider(SerialContext.java:182)
at com.sun.enterprise.naming.SerialContext.lookup(SerialContext.java:339)
at javax.naming.InitialContext.lookup(InitialContext.java:351)
at com.splwg.mpl.server.jms.JNDIJMSConnectionFactoryFactory.getConnectionFactory(JNDIJMSConnectionFactoryFactory
.java:56)
at com.splwg.mpl.server.jms.JMSUtilImpl.getConnectionFactory(JMSUtilImpl.java:75)
at com.splwg.mpl.jms.queue.JMSSender.init(JMSSender.java:80)
at com.splwg.mpl.sending.NewSenderManager.init(NewSenderManager.java:108)
at com.splwg.mpl.sending.SameThreadSendingManager.initSenderManager(SameThreadSendingManager.java:353)
at com.splwg.mpl.sending.SameThreadSendingManager.init(SameThreadSendingManager.java:154)
at com.splwg.mpl.server.async.AsyncServer.init(AsyncServer.java:193)
at com.splwg.mpl.server.MPLServer.init(MPLServer.java:386)
at com.splwg.mpl.server.MPLServer.run(MPLServer.java:547)
at com.splwg.mpl.server.MPLServer.runMPL(MPLServer.java:535)
at com.splwg.mpl.server.MPLServer.main(MPLServer.java:524)
Caused by: java.lang.RuntimeException: java.net.ConnectException: Connection refused: connect
at com.sun.enterprise.iiop.IIOPSSLSocketFactory.createSocket(IIOPSSLSocketFactory.java:347)
at com.sun.corba.ee.impl.transport.SocketOrChannelConnectionImpl.<init>(SocketOrChannelConnectionImpl.java:244)
... 22 more
Caused by: java.net.ConnectException: Connection refused: connect
at sun.nio.ch.Net.connect(Native Method)
at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:464)
at com.sun.corba.ee.impl.orbutil.ORBUtility.openSocketChannel(ORBUtility.java:105)
at com.sun.enterprise.iiop.IIOPSSLSocketFactory.createSocket(IIOPSSLSocketFactory.java:332)
... 23 more
Aug 7, 2009 12:58:16 PM com.sun.corba.ee.impl.transport.SocketOrChannelConnectionImpl <init>
WARNING: "IOP00410201: (COMM_FAILURE) Connection failure: socketType: IIOP_CLEAR_TEXT; hostname: localhost; port: 3700"
org.omg.CORBA.COMM_FAILURE: vmcid: SUN minor code: 201 completed: No
at com.sun.corba.ee.impl.logging.ORBUtilSystemException.connectFailure(ORBUtilSystemException.java:2690)
at com.sun.corba.ee.impl.logging.ORBUtilSystemException.connectFailure(ORBUtilSystemException.java:2711)
at com.sun.corba.ee.impl.transport.SocketOrChannelConnectionImpl.<init>(SocketOrChannelConnectionImpl.java:261)
at com.sun.corba.ee.impl.transport.SocketOrChannelConnectionImpl.<init>(SocketOrChannelConnectionImpl.java:274)
at com.sun.corba.ee.impl.transport.SocketOrChannelContactInfoImpl.createConnection(SocketOrChannelContactInfoImp
l.java:130)
at com.sun.corba.ee.impl.protocol.CorbaClientRequestDispatcherImpl.beginRequest(CorbaClientRequestDispatcherImpl
.java:192)
at com.sun.corba.ee.impl.protocol.CorbaClientDelegateImpl.request(CorbaClientDelegateImpl.java:181)
at com.sun.corba.ee.impl.protocol.CorbaClientDelegateImpl.is_a(CorbaClientDelegateImpl.java:325)
at org.omg.CORBA.portable.ObjectImpl._is_a(ObjectImpl.java:112)
at org.omg.CosNaming.NamingContextHelper.narrow(NamingContextHelper.java:69)
at com.sun.enterprise.naming.SerialContext.narrowProvider(SerialContext.java:127)
at com.sun.enterprise.naming.SerialContext.getProvider(SerialContext.java:182)
at com.sun.enterprise.naming.SerialContext.lookup(SerialContext.java:339)
at javax.naming.InitialContext.lookup(InitialContext.java:351)
at com.splwg.mpl.server.jms.JNDIJMSConnectionFactoryFactory.getConnectionFactory(JNDIJMSConnectionFactoryFactory
.java:56)
at com.splwg.mpl.server.jms.JMSUtilImpl.getConnectionFactory(JMSUtilImpl.java:75)
at com.splwg.mpl.jms.queue.JMSSender.init(JMSSender.java:80)
at com.splwg.mpl.sending.NewSenderManager.init(NewSenderManager.java:108)
at com.splwg.mpl.sending.SameThreadSendingManager.initSenderManager(SameThreadSendingManager.java:353)
at com.splwg.mpl.sending.SameThreadSendingManager.init(SameThreadSendingManager.java:154)
at com.splwg.mpl.server.async.AsyncServer.init(AsyncServer.java:193)
at com.splwg.mpl.server.MPLServer.init(MPLServer.java:386)
at com.splwg.mpl.server.MPLServer.run(MPLServer.java:547)
at com.splwg.mpl.server.MPLServer.runMPL(MPLServer.java:535)
at com.splwg.mpl.server.MPLServer.main(MPLServer.java:524)
Caused by: java.lang.RuntimeException: java.net.ConnectException: Connection refused: connect
at com.sun.enterprise.iiop.IIOPSSLSocketFactory.createSocket(IIOPSSLSocketFactory.java:347)
at com.sun.corba.ee.impl.transport.SocketOrChannelConnectionImpl.<init>(SocketOrChannelConnectionImpl.java:244)
... 22 more
Caused by: java.net.ConnectException: Connection refused: connect
at sun.nio.ch.Net.connect(Native Method)
at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:464)
at com.sun.corba.ee.impl.orbutil.ORBUtility.openSocketChannel(ORBUtility.java:105)
at com.sun.enterprise.iiop.IIOPSSLSocketFactory.createSocket(IIOPSSLSocketFactory.java:332)
... 23 moreThe googleapi.jar contains copies of some javamail classes. Here a few I found in my output:
javax.mail.event.MessageCountListener from googleapi.jar
javax.mail.Session from googleapi.jar
javax.mail.MessagingException from googleapi.jar
javax.mail.NoSuchProviderException from googleapi.jar
This particular google api is the old SOAP google service that is no longer allowing new registrations, but still has support for existing API key holders, like me :-). Thought this might be a common jar in most libraries, so worth mentioning.
Don't forget, you can debug your loaded classes with java -verbose MyApp to find those rogue libraries.
Maybe you are looking for
-
Hi , Is there a way to deploy RPD in OBIEE11g with out using Enterprise Manager because i have logged on to Enterprise manager and when i click on Business Intelligence/Coreapplication Its take lots of time and still not going to next step. can any o
-
EID [email protected]
-
Import Issue ADC is not flowing & Base amount is wrong
Hi, I am getting problem in Import procedure. We created Import Purchase order as normal means Main Vendor in Foreign Currency and Customs Vendor in Indian Currency. We assigned same in PO. After creating PO we did Customs MIRO in Indian Currency. I
-
HT5517 Airplay (or Home Sharing) MacBook & ATV
Is my 2008 MacBook able to airplay my 2nd gen Apple TV?
-
Failed to load multiple files using theMgr.createLocalFileInputStream
Hi I am using 2.3.8 and having trouble with putting multiple files to the container using XmlInputStream. I have hundreds of documents in 'output' folder from my project root, and I was able to load them by using other signature - reading each line f