Problem Connecting to JMS queue with C sharp client
Hi there,
I am trying to connect to a JMS queue using a C# client but i have a problem trying to connect. The problem comes in when i run the C# script a dialog box appears requesting a T3TransportFactory.cs which i do not have on the client. and when i close it i get an exception on
IContext context = ContextFactory.CreateContext(paramMap);
Exception - Failed to connect using URL <t3://10.103.130.18:7001>
StackTrace - at WebLogic.Messaging.Physical.T3TransportFactory.CreateT3Transport(IDictionary`2 paramMap) in c:\weblogic\dev\src1032\modules\weblogic-jms-dotnetclient\jmsimpl\src\WebLogic\Messaging\Physical\T3TransportFactory.cs:line 226
at WebLogic.Messaging.Physical.ContextPhysical.CreateContext(IDictionary`2 paramMap) in c:\weblogic\dev\src1032\modules\weblogic-jms-dotnetclient\jmsimpl\src\WebLogic\Messaging\Physical\ContextPhysical.cs:line 83
at WebLogic.Messaging.Context.CreateContext(IDictionary`2 paramMap) in c:\weblogic\dev\src1032\modules\weblogic-jms-dotnetclient\jmsimpl\src\WebLogic\Messaging\Context.cs:line 56
The stacktrace indicates that it is looking for a T3TransportFactory.cs file in that particular path on the client (This is my speculation) but this directory path does not exist on the client machine with the c# code.
I got a WebLogic.Messaging.dll referenced in my c# project and the ip/port numbers are correct (we know this cause we tried a java client that connected successfully)
Can anyone assist me on this issue?
The issue might be the dll file you are referring to. Did you use the dll from the weblogic installation folder (BEA_HOME/modules/com.bea.weblogic.jms.dotnetclient_1.X.X.X).
Refer - http://docs.oracle.com/cd/E15051_01/wls/docs103/jms_dotnet/install.html#wp1075258
Hope this helps.
Thanks,
Patrick
Similar Messages
-
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
-
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 -
Problem connectivity of Web Dympro with SAP Netweaver
Hi guys,
I've a problem connectivity of Web Dympro with SAP Netweaver
I installed Sap NW in a machine on the local network with IP 192.168.x.y, and I can connect to it without problems; I can use the portal and implement jobs in Visual Composer.
After installing Sap Developer Studio, I connected it successfully to the NW through the menu "Preferences->SAP j2EE engine" selecting the option "SAP J2EE is installed on remote hosts" and inserting IP address of the machine with NW (192.168.x.y) and port 3900.
Using these parameters the logon works, in fact I can see the tab "J2EE engine".
The problem is that when I try to make the deploy, Web Dynpro asks me the SDM password (that I'm sure I've inserted correctly) but it returns the following error to me:
Deployment aborted
Settings
SDM host : SVR-NW
SDM port : 50118
URL to deploy : file:/C:/DOCUME1/Michele/IMPOST1/Temp/temp59548Welcome.ear
Result
=> deployment aborted : file:/C:/DOCUME1/Michele/IMPOST1/Temp/temp59548Welcome.ear
Aborted: development component 'Welcome'/'local'/'LOKAL'/'0.2010.09.01.07.31.29':
Caught exception while checking the login credentials for SAP J2EE Engine. Check whether the SAP J2EE Engine is up and running.
com.sap.engine.deploy.manager.DeployManagerException: ERROR: Cannot connect to Host: [svr-nw] with user name: [Administrator] Check your login information. Exception is: com.sap.engine.services.jndi.persistent.exceptions.NamingException: Exception while trying to get InitialContext. [Root exception is com.sap.engine.services.security.exceptions.BaseLoginException: Cannot authenticate the user.]
(message ID: com.sap.sdm.serverext.servertype.inqmy.extern.EngineApplOnlineDeployerImpl.checkLoginCredentials.DMEXC)
Deployment exception : The deployment of at least one item aborted
I want to add that I use Win XP Prof, and I set the same credentials (user "Administrator" and the correct password) I used on the machine where SAP NW is installed.Hi Michele,
There were 2 cases I explained, and the second was the one in case your SDM was blocked. Did you try the first one?
Anyways, here is something more that you can try to get it working. In case the SDM password is valid, did you log into the portal as the Administrator? If yes, then you must have been asked to change the password. If you did change the password there, login to the remoteGUI using the Master password (abcd1234) and change the password there also to the same password you use for Administrator on the Portal. Now try again.
In case the above doesnt work, start the configtool.bat from \usr\sap\J2E\JC01\j2ee\configtool and go to secure store. Here define the J2E passwords again (the same new password you gave for the Administrator in the portal), save and restart the server. I think it would work then
Hope that helps you out!
Bye,
Sameer
P.S - the main thing is that the error you got was Authentication failure using the Administrator username. Thats why you have to make sure that the password for the SDM is the same as what you gave for the Administrator login in the portal. So after you login into the remoteGUI, CHANGE the password to what you have for the Administrator(just like the one in the portal).
Message was edited by: Sameer Jagirdar -
ESB 10.1.3.1 Not Connecting to AQ QUEUE with error
We are having problems getting the ESB service to connect to an AQ queue to dequeue messages;
Platform: SOLARIS 10 SPARC 64
Version: 10.1.3.1 ESB
Database: 10.2.0.2
Scenario: BPEL process enqueues message successfully. ESB process not able to connect to dequeue.
Reproduceable steps:
1) Create QUEUE table, queue and start queue for a user with Roles AQ_Administrator_ROLE, AQ_USER_ROLE, DBA;
2) Enqueue message. Message payload type is RAW;
3) ESB service defines an inbound adapter service to above and succesfully deploys project to esb container;
4) Logs report the following errors:
ERROR1) >JCA: MessageReader_ReadMessage: Could not create XML document carrying AQ Head
ers: [Ljava.lang.StackTraceElement;@d7f3e3</MSG_TEXT>
ERROR2) <SUPPL_DETAIL><![CDATA[java.lang.NullPointerException
at oracle.AQ.AQOracleQueue.dequeue(AQOracleQueue.java:1715)
at oracle.AQ.AQOracleQueue.dequeue(AQOracleQueue.java:1290)
at oracle.tip.adapter.aq.database.MessageReader.readMessage(MessageReader.java:400)
at oracle.tip.adapter.aq.inbound.AQActivationSpecDequeuer.run(AQActivationSpecDequeu
er.java:189)
at oracle.j2ee.connector.work.WorkWrapper.runTargetWork(WorkWrapper.java:242)
at oracle.j2ee.connector.work.WorkWrapper.doWork(WorkWrapper.java:215)
at oracle.j2ee.connector.work.WorkWrapper.run(WorkWrapper.java:190)
at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:81
9)
at java.lang.Thread.run(Thread.java:595)
]]></SUPPL_DETAIL>
VERIFICATION: First of all, the BPEL process is successfully submitting messages to AQ QUEUE so AQ is configured properly at the database level. We verified queue table has a message in it via sql plus;
RELATED ISSUES:
1) JDEV designer is not finding queues with payload types such as JMS_TEXT_MESSAGE. We were forced to use RAW. There is probably a bug in JDEV IDE regards its inability to view valid queues in the database simply based on payload. This is easily reproducible.
2) log.xml is very unhelpful way to view a log. This should be discarded in OAS in future releases as it is not practical.Yes, WebLogic 10.1.3.6 can interoperate with 9.2. SAF agents are "Store and Forward" agents, so they'd need to run in the source cluster. If you need to get messages from a remote destinations into a local SAF "imported destinations", or just a plain-old destination, then perhaps the best option would be to deploy a simple MDB on the 10.3.6 cluster (some layered products can setup such an MDB for you).
I'm not familiar with ESB, but assume that it already provides tooling for pulling messages from remote destinations (I assume a product like ESB is designed to try and more-or-less hide JMS details from the user by providing layered tooling...). You might be able to get help from an ESB newsgroup. If this doesn't help, you may also want to see the JMS interop FAQ:
http://docs.oracle.com/cd/E21764_01/web.1111/e13727/interop.htm#JMSPG553
BTW, It's not clear to me why you need SAF Agents in this use case.
Tom -
Process not writing to JMS queue with non-xa data source
I have a process reading from a JMS-AQ with non XA, but it does not seem to be performing a commit and writing to the queue. If I use XA all the way ut works, but I don't get the desired error handling which I have built. Anything obvious I am missing? 11.1.1.5 SOA
Hi,
Under Weblogic JDBC Datasources select the datasource and then select Transaction tab there you can find Use XA datasource interface.
and In DB adapter ... go to Configuration Tab ---Outbound Connection Pool--- Unhide the pool group -Select JNDI name ( e.g eis/DB/local ) ---enter the JDBC datasource created earlier in weblogic JDBC datasource against xADataSourceName..
Now Click on Transaction tab & select Transaction Support: as XA Transaction .
Regards,
Abhinav Gupta -
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 -
Synchronization of JMS queue with backup instance
Hello,
I have the following problem: there are two machines in active - passive
configuration. Both those machines serve as JMS servers in two environments.
What I want to do is to keep a backup of JMS queue from the productive
environment in the backup one, so in case of a disaster in the productive
environment the backup one will stand up and will start processing the waiting
messages. In order to do this I need to keep an up-to-date (or almous up to
date, I will propably have to accept that some of the messages will be lost)
copy of JMS queue.
Have you ever worked on such a problem? Maybe you can suggest some solution?
Best regards,
Dawid DudaHi,
Thanks for informations, but it is not exactly what I need.
In my case I need to keep a backup of the queue in a separate location, to be
able to start processing the data in case if the first one was i.e. burned.
Therefore I was thinking about something like duplicating the database store
under the queue (using database tools) in on-line mode to be able to start
another instance in case of problems with the first one. Do you think such
aproach would work?
Best regards,
dave
Tom Barnes wrote:
> Hi,
>
> Search the newsgroup and docs for keyword "migration". Automated "whole server" migration is available in 9.0, and automated "service" level migration is slated to be available in 9.5. (8.1 provides manual/scriptable service-level migration.) Also, depending on your use case, it might be that distributed destinations, bridges, server-side-store-and-forward (9.0+), or client side store-and-forward (9.2+) would fit your needs.
>
> http://edocs.bea.com/wls/docs81/jms/intro.html#jms_features
>
> http://edocs.bea.com/wls/docs92/jms_admin/intro.html#jms_features
>
> http://dev2dev.bea.com/pub/a/2004/05/ClusteredJMS.html (service-level migration paper)
>
> Tom -
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 -
Hello,
I just started using WLST, and I've written a rather long script that creates
a JMS server and some queues, among other things.
I based my code on the JMS server creation example, and it works perfectly as
long as the JMS server doesn't already exist. If it does, I get output like this:
JMS Server already exists.
[Caching Stub]Proxy for mydomain:Name=myjs,Type=JMSServer
*** JMSQueue with name 'myAuditQ' has been created successfully.
JMS destination is already parented
Setting Type
Setting JNDIName
Traceback (innermost last):
File "<input>", line 1, in ?
File "loaddm.py", line 16, in doit
File "setupServer.py", line 274, in ?
File "<iostream>", line 145, in set
WLSTException: 'Error occured while performing set : Unknown Error. Use dumpStack()
to view the error stack trace'
The line I put the *** by is interesting because the queue that was just created
already exists, yet the create() does not throw any exceptions.
Once this happens, I can do something like the following to add to the confusion:
wls:/mydomain/config> cd('JMSQueue/myAuditQ')
wls:/mydomain/config/JMSQueue/myAuditQ> ls()
Traceback (innermost last):
File "<input>", line 1, in ?
File "<iostream>", line 176, in ls
WLSTException: 'Error occured while performing ls : Could not find an MBean
instance while doing getAttribute. Use dumpStack() to view the error stack trace'
wls:/mydomain/config/JMSQueue/myAuditQ> dumpStack()
javax.management.InstanceNotFoundException: mydomain:Name=myAuditQ,Type=JMSQueue
at weblogic.rjvm.BasicOutboundRequest.sendReceive(BasicOutboundRequest.j
ava:108)
at weblogic.rmi.internal.BasicRemoteRef.invoke(BasicRemoteRef.java:138)
at weblogic.management.internal.RemoteMBeanServerImpl_812_WLStub.getMBea
nInfo(Unknown Source)
at weblogic.management.scripting.InformationHandler.getAllAttributes(Inf
ormationHandler.java:754)
at weblogic.management.scripting.InformationHandler.la(InformationHandle
r.java:538)
at weblogic.management.scripting.InformationHandler.ls(InformationHandle
r.java:146)
at weblogic.management.scripting.WLScriptContext.ls(WLScriptContext.java
:387)
The code that generates this error is like this:
try:
r=create(cNode+'js','JMSServer')
except Exception:
print "JMS Server already exists."
r=getTarget('JMSServer/'+cNode+'js')
if clustered:
target=getTarget('Server/'+cNode)
try:
r.addTarget(target)
except Exception:
print "JMS server is already targeted."
print r
for dest,attr in jms.items():
try:
q=create(dest+suffix,'JMS'+attr['Type'])
except Exception:
print "JMS Destination already exists."
q=
getTarget('JMS'+attr['Type']+'/'+dest+suffix)
try:
q.setParent(r)
except Exception:
print "JMS destination is already parented"
cd('JMS'+attr['Type']+'/'+dest+suffix)
for att, val in attr.items():
print "Setting "+att
if att != 'Type':
set(att,val)
cd('/')This seems to be a larger problem that I initially thought. Ideally
weblogic server will not allow you to create an MBean with same name
since it will collide with the unique object name for that MBean in the
MBeanServer. From your posting I did not understand if you were able to
create an MBean with the same name and did not get a
InstanceAlreadyExists Exception. If you did get it then seems like there
is a problem in the way the server is persisting the config.xml. There
shouldn't be duplicate entries. Please file a support case [email protected].
Thanks,
-satya
Justin Dossey wrote:
(top replying because of the long post)
It looks like this was caused by Weblogic 8 allowing WLST to create invalid domain
configuration (config.xml). I opened config.xml up in an editor and found that
even though I had been using Try: create(foo)/ except Exception: (getTarget(foo)),
there were (many) duplicate entries for MBeans in config.xml. For instance, one
Server was in there four times. Almost every Server had four or more SSL entries
in config.xml. There were many unparented JMS Queues defined, as well-- this
is what I believe caused my problem.
So why does the try create actually create duplicate when an instance already
exists?
"Justin Dossey" <[email protected]> wrote:
Hello,
I just started using WLST, and I've written a rather long script that
creates
a JMS server and some queues, among other things.
I based my code on the JMS server creation example, and it works perfectly
as
long as the JMS server doesn't already exist. If it does, I get output
like this:
JMS Server already exists.
[Caching Stub]Proxy for mydomain:Name=myjs,Type=JMSServer
*** JMSQueue with name 'myAuditQ' has been created successfully.
JMS destination is already parented
Setting Type
Setting JNDIName
Traceback (innermost last):
File "<input>", line 1, in ?
File "loaddm.py", line 16, in doit
File "setupServer.py", line 274, in ?
File "<iostream>", line 145, in set
WLSTException: 'Error occured while performing set : Unknown Error. Use
dumpStack()
to view the error stack trace'
The line I put the *** by is interesting because the queue that was just
created
already exists, yet the create() does not throw any exceptions.
Once this happens, I can do something like the following to add to the
confusion:
wls:/mydomain/config> cd('JMSQueue/myAuditQ')
wls:/mydomain/config/JMSQueue/myAuditQ> ls()
Traceback (innermost last):
File "<input>", line 1, in ?
File "<iostream>", line 176, in ls
WLSTException: 'Error occured while performing ls : Could not find
an MBean
instance while doing getAttribute. Use dumpStack() to view the error
stack trace'
wls:/mydomain/config/JMSQueue/myAuditQ> dumpStack()
javax.management.InstanceNotFoundException: mydomain:Name=myAuditQ,Type=JMSQueue
at weblogic.rjvm.BasicOutboundRequest.sendReceive(BasicOutboundRequest.j
ava:108)
at weblogic.rmi.internal.BasicRemoteRef.invoke(BasicRemoteRef.java:138)
at weblogic.management.internal.RemoteMBeanServerImpl_812_WLStub.getMBea
nInfo(Unknown Source)
at weblogic.management.scripting.InformationHandler.getAllAttributes(Inf
ormationHandler.java:754)
at weblogic.management.scripting.InformationHandler.la(InformationHandle
r.java:538)
at weblogic.management.scripting.InformationHandler.ls(InformationHandle
r.java:146)
at weblogic.management.scripting.WLScriptContext.ls(WLScriptContext.java
:387)
The code that generates this error is like this:
try:
r=create(cNode+'js','JMSServer')
except Exception:
print "JMS Server already exists."
r=getTarget('JMSServer/'+cNode+'js')
if clustered:
target=getTarget('Server/'+cNode)
try:
r.addTarget(target)
except Exception:
print "JMS server is already targeted."
print r
for dest,attr in jms.items():
try:
q=create(dest+suffix,'JMS'+attr['Type'])
except Exception:
print "JMS Destination already exists."
q=
getTarget('JMS'+attr['Type']+'/'+dest+suffix)
try:
q.setParent(r)
except Exception:
print "JMS destination is already parented"
cd('JMS'+attr['Type']+'/'+dest+suffix)
for att, val in attr.items():
print "Setting "+att
if att != 'Type':
set(att,val)
cd('/') -
Problem connecting wirelessly to TC with Windows computers
This is not a new problem for me. I connect to my TC with ethernet. I connect with my ibook wirelessly with NO problem. However, I can't connect with an XP machine upstairs (great signal btw) Nor can my daughter connect via her new laptop with Vista (we had words about that purchase). I have my TC set up wep, via N (b g compatible). When we enter the password, all we get is an "connecting" that never connects. It sees the TC just fine, and reports it as wep and N configuration.
Anyone have any ideas?Happy to help.
I have an idea. Since you can "see" the wireless network from the PC it may be a password issue. Different companies do not use the same formula, or algorithm to be more more accurate, to generate the actual code when you enter your password.
For example, when you entered your password for the Time Capsule in AirPort Utility, it was converted to a long complex code of numbers and letters using Apple's code generator.
The PC manufacturer is probably not using the same algorithm, so although you are entering your "password" correctly, it is being changed to a different code which the Time Capsule interprets as incorrect and you get the log on error.
Open AirPort Utility to the Wireless page again and click in the area where your password is shown as a series of dots (do not change anything, just click in the box). Now go click on the Base Station menu at the top of the screen and click on Equivalent Network Password. You will probably see a very long code.
I think that this is the code,or password you will need to enter when you are trying to log on with the PC. Give it a try and post back on your findings. -
Problems Connecting NOMAD MuVo NX with Compu
I received a present from london. A Nomad MuVo NX. I'm having problems connecting it to the computer. My computer won't detect it at all. I installed all the programs and drivers and everything I could think of. I can't get an icon on the LCD screen saying that it's connected and it won't prompt me to install anything. I've also checked on my computer and it doesn't have an icon for it. It's not even showing up. I'm using a windows XP. Will be waitting for replies. thank you.
The MuVo doesn't need to install any drivers for Windows Me, 2000 or XP, as it should be detected as a USB mass storage device.
You can install the Creative software to rip CDs, and the software has features that help you work with the player such as "Smartfit", which helps compress files to fit on the player and save space.
But as for your problem, can you test with another PC to see if the issue is localised to your PC or to the player itself? -
Problems looking up JMS queues in JNDI from other nodes
I have a simple cluster(MyCluster) in weblogic 6.1 which consists of two managed servers
(Server1 & Server2).
Server1 has a JMSServer (JMSServer1) containing a couple of JMS queues.
I also created a JMS Connection Factory, and targeted both the managed servers as
well as the cluster.
I can look up the queue from the node hosting the JMSServer, but cannot look up the
queues from the 2nd node (server2).
It just says that it cannot resolve the jndi name for the queue on Server2.
According to weblogic docs, I should have transparent access to the queues from server2
as long as i target both servers from the connection factory.
Am I missing something?
Thanks.
I have a simple cluster(MyCluster) in weblogic 6.1 which consists of two managed servers
(Server1 & Server2).
Server1 has a JMSServer (JMSServer1) containing a couple of JMS queues.
I also created a JMS Connection Factory, and targeted both the managed servers as
well as the cluster.
I can look up the queue from the node hosting the JMSServer, but cannot look up the
queues from the 2nd node (server2).
It just says that it cannot resolve the jndi name for the queue on Server2.
According to weblogic docs, I should have transparent access to the queues from server2
as long as i target both servers from the connection factory.
Am I missing something?
Thanks.
-
Problem connecting to HTTPS host with self signed certificate
I have set up a tomcat server with SSL running in a vmware on my machine using a self signed certificate. I can connect to this no problem with a browser from my main machine with the url https://myserver:8443.
However, I am not able to connect with a Java client. I always get the below exception. I read that I need to add it as a trusted certificate in the keystore. I went to the site with firefox and saved the certificate as a .cer file, and imported it into the default keystore at c:\users\louis\.keystore. I still have the same problem. I think the problem is the client is not using the keystore, and I don't know how to make it do so. I tried adding the following argument to the run command:
-Djavax.net.ssl.trustStore=c:\users\louis\.keystore -Djavax.net.ssl.trustStorePassword=changeit
but it doesn't help.
Here is the exception I'm getting:
javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
at com.sun.net.ssl.internal.ssl.Alerts.getSSLException(Alerts.java:174)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1611)
at com.sun.net.ssl.internal.ssl.Handshaker.fatalSE(Handshaker.java:187)
at com.sun.net.ssl.internal.ssl.Handshaker.fatalSE(Handshaker.java:181)
at com.sun.net.ssl.internal.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1035)
at com.sun.net.ssl.internal.ssl.ClientHandshaker.processMessage(ClientHandshaker.java:124)
at com.sun.net.ssl.internal.ssl.Handshaker.processLoop(Handshaker.java:516)
at com.sun.net.ssl.internal.ssl.Handshaker.process_record(Handshaker.java:454)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:884)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1112)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1139)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1123)
at sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:434)
at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:166)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1049)
at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:234)
at Test.main(Test.java:39)
Caused by: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
at sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:285)
at sun.security.validator.PKIXValidator.engineValidate(PKIXValidator.java:191)
at sun.security.validator.Validator.validate(Validator.java:218)
at com.sun.net.ssl.internal.ssl.X509TrustManagerImpl.validate(X509TrustManagerImpl.java:126)
at com.sun.net.ssl.internal.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:209)
at com.sun.net.ssl.internal.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:249)
at com.sun.net.ssl.internal.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1014)
... 12 more
Caused by: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
at sun.security.provider.certpath.SunCertPathBuilder.engineBuild(SunCertPathBuilder.java:174)
at java.security.cert.CertPathBuilder.build(CertPathBuilder.java:238)
at sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:280)
... 18 moreI have worked around this problem by configuring the Java client to trust all certificates and disabling hostname verification. That way I don't need a trust store. I'll just have to remove that code in production. Not ideal since I'd rather have certificate/hostname verification working for testing, but it works at least.
I have looked at the Java security documentation and as far as i can tell a keystore and trust store is still basically the same type of file and created the same way with the keytool. The difference is when you import a cert you use the -trustcacerts option. The client 'keystore' is only being used to store the trusted cert, so it essentially is a trust store. This is documented in the keytool doc for the command -importcert.
http://download.oracle.com/javase/6/docs/technotes/tools/windows/keytool.html
I actually think my problem is more to do with the hostname, since my server doesn't have a real domain hostname like www.myserver.com. I am just using the machine name for the host, although web browsers do not have a problem with this. When I set my java client to trust all certs, I was getting the following error:
java.io.IOException: HTTPS hostname wrong
Disabling hostname verification fixed this, so I'm wondering if my cert has the wrong hostname. I originally created the self signed cert using the keytool with the command -genkey, which creates a key pair and also a self signed cert. I looked at the keytool docs, and I don't see any way of specifying the hostname or even seeing what the host name of a cert is. What does it put as the hostname by default? The IP address or machine name, or am I understanding this wrong? -
Problems connecting JavaFX 1.3 with EJB 3.0 (Glassfish 3)
Hi all,
I am trying to connect a JavaFX application with an EJB Server (Glassfish 3).
After searching a lot on the internet I just noticed some examples of connecting JavaFX 1.2 with glassfish 2.1
But with JavaFX 1.3 and Glassfish 3, no success!
The same code works in a normal java project, but not in javaFX.
Any advice ?
Thanks,
ArberAfter downgrading to 1.7.0-b147(Java Plug-in 10.0.0.147) the applet works again. Unfortunately the new JavaFX 2.0 based applets stop working, complaining about misconfiguration.
Maybe you are looking for
-
My Apple TV all of a sudden refuses to show the movies from my MacBook and says it needs to set time network. What is that?
-
I've tried to download Adobe Reader 8.1.2 numerous times and ways now, but it keeps coming up with the same message; Error 1406. Could not write value installed to key \SOFTWARE\Microsoft\Windows\CurrentVersion\Run\ OptionalComponents\MSFS. Verify th
-
Renaming the "genre" in the music database
How can I change the genre assigned to a particular song in the music list ?
-
Step Group , Monitoring Process and Integration Process.
Hi Experts, I would like to when we use Step Group, Monitoring Process and what is the difference of these two with Integration Process. As we can use all the steps of Integration Process with Step Goup and Monitoring Process. Regards, Syed
-
Why can't I get the new update
I have the 4th generation iPod touch and I can not get the new software update. I have gone under general settings but it isn't their. How can I update it to the new software?