ASG
IBM
Zystems
Cressida
Icon
Netflexity
 
  MQSeries.net
Search  Search       Tech Exchange      Education      Certifications      Library      Info Center      SupportPacs      LinkedIn  Search  Search                                                                   FAQ  FAQ   Usergroups  Usergroups
 
Register  ::  Log in Log in to check your private messages
 
RSS Feed - WebSphere MQ Support RSS Feed - Message Broker Support

MQSeries.net Forum Index » WebSphere Message Broker (ACE) Support » WMB outputting to BEA WL JMS queue hosted remotely...

Post new topic  Reply to topic
 WMB outputting to BEA WL JMS queue hosted remotely... « View previous topic :: View next topic » 
Author Message
Allan Mackay
PostPosted: Wed Jan 23, 2013 2:30 am    Post subject: WMB outputting to BEA WL JMS queue hosted remotely... Reply with quote

Apprentice

Joined: 08 Jul 2010
Posts: 29

Hi all,

My apologies for the seeming n00bness of what follows... I have no experience of JMS and certainly no experience of trying to use a JMS Output node in WMB (and I thought I generally had most things WMB covered)...

I have a message flow, running on a zLinux guest, using WMB v6.1.0.4. The message flow receives a message on an MQInput node, transforms it and sends it on its way... This was to an MQOutput node and/or a file. This works. Now, I need to output to a JMS queue hosted "elsewhere" (with no DNS access). It's hosted by BEA WebLogic. I have the queue name, the connection factory name, an address (of the form t3://99.99.99.99:9999) and I understand that I need to set the "JMS provider name" (and that WMB very kindly provides me with the "Initial contect factory"). What I don't have is any clue how to configure all this properly and what other steps I may need to perform to get my JMS output working. I have searched for help and, to be honest, there's a lot out there, but I am finding it a tad confusing...

Can anybody help with providing, in laymans (JMS n00b) terms, what I need to do? The main thing I'm stumbling over is the "Location JNDI bindings" parameter on the JMS connection parameters. And do I need to use the MQJMSTransform? Do I need to preconfigure anything for WMB? Yeah, a cry for help...

Many thanks for any help you guys give. If there's anything else you need to know, I'll endeavour to provide info (I don't even know, at this stage, what you'd need).

Kind regards,

Allan
Back to top
View user's profile Send private message
mqjeff
PostPosted: Wed Jan 23, 2013 2:45 am    Post subject: Reply with quote

Grand Master

Joined: 25 Jun 2008
Posts: 17447

excellent post, well written, mostly clear.

JMS uses a lookup between the names of objects that are referenced in the application itself and the names of those same objects on the real messaging platform - this is the "bindings". So where it asks you for the "Location JNDI Bindings", it is asking you where those bindings can be found.

This can either be stored in a file by the JMS administrator or otherwise in some kind of JNDI server (I'll leave google to tell you what JNDI stands for...)

But since you're using WebLogic, it's unfortunately kind of different. You should follow the instructions at topic ac66100_ in the Info Center... ("Configuring the broker to enable a JMS provider's proprietary API")

Just follow the steps listed, making the bare minimum of changes to match your local information. Then set the JMS nodes to use the name of the JMSProvider you created.

If you are receiving an input message from MQ and sending it to a JMSOutput node, you should use the MQJMSTransform node to adjust the headers before the JMSOutput. It makes things easier.
Back to top
View user's profile Send private message
Allan Mackay
PostPosted: Wed Jan 23, 2013 4:29 am    Post subject: Reply with quote

Apprentice

Joined: 08 Jul 2010
Posts: 29

Thank you so much mqjeff. I must admit, I had found that article but was confused by the paragraph stating "If the WebSphere® Message Broker JMS nodes use BEA WebLogic as the JMS provider, and the nodes must participate in a globally coordinated message flow, you must modify...". So I wasn't sure whether I should or shouldn't.

Well, I have done that now and attempted an execution... I get WMB error 4640 ("Failure to obtain JNDI administered objects") with text saying "Cannot instantiate class: weblogic.jndi.WLInitialContextFactory". I can 'telnet' to the address/port I was supplied. Does this indicate a failure to connect? Or a problem with my setup?

Btw, I put the address (as I defined in the mqsichangeproperties - t3://xx.xx.xx.xx:xxxx) in the "Location JNDI bindings" parameter on the output node. Not sure if that's the correct thing to do?

Sorry to be a pain...

Kind regards,

Allan
Back to top
View user's profile Send private message
smdavies99
PostPosted: Wed Jan 23, 2013 5:50 am    Post subject: Reply with quote

Jedi Council

Joined: 10 Feb 2003
Posts: 6076
Location: Somewhere over the Rainbow this side of Never-never land.

Allan,
You aren't being a pain. There are many of us here who get rather frustrated at some of the questions, the posters and their lack of willingness to try even the simplest things when trying to solve the problem for themselves.

Your posts are well written and you are telling us what you are trying out. Well done and keep it up.

I wish more newbies/novices would be as clear as you are in your posts.

The downside is that this reply does not help you solve your problem. JMS is a black art as far as I'm concerned.
_________________
WMQ User since 1999
MQSI/WBI/WMB/'Thingy' User since 2002
Linux user since 1995

Every time you reinvent the wheel the more square it gets (anon). If in doubt think and investigate before you ask silly questions.
Back to top
View user's profile Send private message
mqjeff
PostPosted: Wed Jan 23, 2013 6:03 am    Post subject: Reply with quote

Grand Master

Joined: 25 Jun 2008
Posts: 17447

Allan Mackay wrote:
Thank you so much mqjeff. I must admit, I had found that article but was confused by the paragraph stating "If the WebSphere® Message Broker JMS nodes use BEA WebLogic as the JMS provider, and the nodes must participate in a globally coordinated message flow, you must modify...". So I wasn't sure whether I should or shouldn't.

Yeah, okay, I agree that maybe you don't need to follow those instructions.

I've not done JMS with WebLogic before. As smdavies99 suggests, there is a bit of an art to it, rather than it being an exact science....

Allan Mackay wrote:
Well, I have done that now and attempted an execution... I get WMB error 4640 ("Failure to obtain JNDI administered objects") with text saying "Cannot instantiate class: weblogic.jndi.WLInitialContextFactory". I can 'telnet' to the address/port I was supplied. Does this indicate a failure to connect? Or a problem with my setup?

That indicates that the jars for the WebLogic JMS client portion are not applied. Did you populate the jarsURL of the configurable service? Or otherwise add WebLogic JMS jar files to shared-classes?

Allan Mackay wrote:
Btw, I put the address (as I defined in the mqsichangeproperties - t3://xx.xx.xx.xx:xxxx) in the "Location JNDI bindings" parameter on the output node. Not sure if that's the correct thing to do?

Sorry to be a pain...


Again, you're doing better than 90% of the typical first posters....

But I'd leave location JNDI bindings empty for now - or ask for specific direction on what to put in from the WebLogic administrators.
Back to top
View user's profile Send private message
Allan Mackay
PostPosted: Wed Jan 23, 2013 6:44 am    Post subject: Reply with quote

Apprentice

Joined: 08 Jul 2010
Posts: 29

Thank you again! That's not something I'd considered. I foolishly assumed that WMB came with the necessary .jar files (documentation loosely alludes to that somewhat) but I see that we don't have the necessary files. I've requested these of our BEA WL admin team and will apply them as soon as... I'll let you know how I get on

Thanks again
Back to top
View user's profile Send private message
Allan Mackay
PostPosted: Thu Jan 24, 2013 6:33 am    Post subject: Reply with quote

Apprentice

Joined: 08 Jul 2010
Posts: 29

Well, that was a lot of fun... Having identified the missing .jars, located copies and 'installed' them, WMB started whinging about the class version. Our WMB instances are, to my amusement, still running Java 1.5... Not much hope of changing that this century, sadly...

So, I managed to get some 'older' versions installed... and things have moved on to the next brick wall. I'm getting an error I don't quite understand:
"weblogic.messaging.dispatcher.DispatcherException: Could not register a DisconnectListener for [Delegate(xxxxxxxxxx) [weblogic.iiop.IOR[RMI:weblogic.messaging.dispatcher.DispatcherImpl:0000000000000000] @xxx.xxx.xxx.xx:xxxxx, <0, null>]]"

Would I be correct in thinking this may be a firewall issue? The xxx.xxx.xxx.xxx address I don't entirely recognise but think it may be a proxy address for the BEA WL server I'm trying to hit (although it's not the address I'm specifying in my JMS configuration). However, the port is definitely unrecognisable, being a lot different to the port I supplied for the JMS connection itself.

Much fun being had on this one...
Back to top
View user's profile Send private message
mqjeff
PostPosted: Thu Jan 24, 2013 6:40 am    Post subject: Reply with quote

Grand Master

Joined: 25 Jun 2008
Posts: 17447

I'd take that error message back to the WL admins.
Back to top
View user's profile Send private message
Allan Mackay
PostPosted: Thu Jan 24, 2013 6:51 am    Post subject: Reply with quote

Apprentice

Joined: 08 Jul 2010
Posts: 29

Yeah, already done. Typically, their response is a lot slower than the guys' here

Thanks anyway
Back to top
View user's profile Send private message
Allan Mackay
PostPosted: Thu Jan 24, 2013 7:46 am    Post subject: Reply with quote

Apprentice

Joined: 08 Jul 2010
Posts: 29

A clash of classes! All I needed was the wlthint3client.jar in my shared-classes directory. My JMSOutput node is now working (mostly). The message has arrived as garbage but that's just a transformation issue now, I can handle that

Thanks ever so much for the pointers and patience with me, I don't think I would have got this far without...

Cheers guys

Kind regards,

Allan.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic  Reply to topic Page 1 of 1

MQSeries.net Forum Index » WebSphere Message Broker (ACE) Support » WMB outputting to BEA WL JMS queue hosted remotely...
Jump to:  



You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
Protected by Anti-Spam ACP
 
 


Theme by Dustin Baccetti
Powered by phpBB © 2001, 2002 phpBB Group

Copyright © MQSeries.net. All rights reserved.