Author |
Message
|
chintu |
Posted: Thu Jan 20, 2005 1:26 pm Post subject: [SOLVED] Configuring UPES framework on a client machine. |
|
|
 Acolyte
Joined: 27 Dec 2004 Posts: 64
|
Hello all,
Here is our current dev environment setup
Machine A hosts:
WF server(3.5 SP3)
MQ server
Machine B hosts:
WF client,
WebClient(on WAS).
MQ Client.
We are able to run the samples that came with the UPES framework on machine A.However, from machine B, how do we communicate with the UPES Q which is hosted on Machine A?The mqwfupes.properties does not have a parameter to specify hostname/port (to connect using a server connection channel)?
We would eventually have everything(other that webclient) on Machine A, but for development purposes we would like to access the UPES framework from machine B.
Thanks
Last edited by chintu on Mon Jan 31, 2005 7:48 am; edited 1 time in total |
|
Back to top |
|
 |
vennela |
Posted: Thu Jan 20, 2005 1:35 pm Post subject: |
|
|
 Jedi Knight
Joined: 11 Aug 2002 Posts: 4055 Location: Hyderabad, India
|
However, from machine B, how do we communicate with the UPES Q which is hosted on Machine A?
The easiest thing to do is
Create the UPES queue on machine B
Cluster the UPES queue
Remove the name of the QMGR in the UPES definition in the buildtime. |
|
Back to top |
|
 |
Ratan |
Posted: Thu Jan 20, 2005 1:51 pm Post subject: |
|
|
 Grand Master
Joined: 18 Jul 2002 Posts: 1245
|
Vennela, Look at this
Quote: |
Machine B hosts:
WF client,
WebClient(on WAS).
MQ Client.
|
If the framework does not support connecting to the remote QM, I dont think you can do anything but to have the framework on a machine which has QM. _________________ -Ratan |
|
Back to top |
|
 |
vennela |
Posted: Thu Jan 20, 2005 2:48 pm Post subject: |
|
|
 Jedi Knight
Joined: 11 Aug 2002 Posts: 4055 Location: Hyderabad, India
|
OK
I missed that part.
Try it with the same properties and see if it works.
If the framework points itself to the client channel table that web client is using then you will be able to run it automatically.
The other thing I can think of is:
Code: |
Mqwf.Configuration = FMC
Mqwf.UserId = ADMIN
Mqwf.Password = password
Mqwf.Inbound.MQ.Queue = EXEXMLINPUTQ
Mqwf.Inbound.MQ.Queue.Manager = FMCQM
# Upes Settings
# -------------
Upes.Message.Pipe.Class = com.ibm.workflow.util.msg.MQPipe
Upes.ThreadPool.Size = 1
Upes.System = FMCSYS
Upes.System.Group = FMCGRP
Upes.Outbound.MQ.Queue = MYUPES
Upes.Outbound.MQ.Queue.Manager = FMCQM
Upes.Version = 3.4
# Upes Container Settings
# -----------------------
Upes.Class = com.acme.sample.SimpleUpes
Upes.Enabled = true |
Change them to JMSPipe like below
Code: |
Mqwf.Configuration = FMC
Mqwf.UserId = ADMIN
Mqwf.Password = password
Mqwf.Inbound.MQ.Queue = queue://EXEXMLINPUTQ
Mqwf.Inbound.MQ.Queue.Manager = qcf://FMCQM?PORT=1414&HOSTNAME=hostname&CHANNEL=svrconn
# Upes Settings
# -------------
Upes.Message.Pipe.Class = com.ibm.workflow.util.msg.JmsPipe
Upes.ThreadPool.Size = 1
Upes.System = FMCSYS
Upes.System.Group = FMCGRP
Upes.Outbound.MQ.Queue = queue://MYUPES
Upes.Outbound.MQ.Queue.Manager = qcf://FMCQM?PORT=1414&HOSTNAME=hostname&CHANNEL=svrconn
Upes.Version = 3.4
# Upes Container Settings
# -----------------------
Upes.Class = com.acme.sample.SimpleUpes
Upes.Enabled = true
|
See if it works |
|
Back to top |
|
 |
hos |
Posted: Fri Jan 21, 2005 1:13 am Post subject: |
|
|
Chevalier
Joined: 03 Feb 2002 Posts: 470
|
|
Back to top |
|
 |
chintu |
Posted: Mon Jan 24, 2005 2:35 pm Post subject: |
|
|
 Acolyte
Joined: 27 Dec 2004 Posts: 64
|
As venny said in his first post, I have installed MQ server on Machine B.
UPESQ(clustered) resides on Machine B, and I am able to put(as well as get) messages on that Q from Machine A thru a UPES activity.
sample.properties:
..
...
Mqwf.Inbound.MQ.Queue = FMC.FMCGRP.EXE.XML
Mqwf.Inbound.MQ.Queue.Manager = QM1
....
But when I try to run the sample1 program, I get a 2085 error. For testing purposes I have replaced the Inbound Q to a local Q(on macine B) and the sample runs fine. Which leads me to believe that the sample program is trying to do a GET on the remote Q(which has no local definition).
Quote: |
You are attempting to use a cluster queue that is only defined on a remote queue manager. You can put messages to cluster queues that have definitions on remote queue managers, but you must have a local definition to get messages. |
http://www.developer.ibm.com/tech/faq/individual?oid=2:25689.
Is this the reason for the 2085 error code or am I missing something??? |
|
Back to top |
|
 |
vennela |
Posted: Tue Jan 25, 2005 2:58 am Post subject: |
|
|
 Jedi Knight
Joined: 11 Aug 2002 Posts: 4055 Location: Hyderabad, India
|
I haven't tried what you did but I think you should open a PMR to see if there is a way to do it.
I used JMS and could client connect. So, for now you can use JMS until IBM comes back. But as far as I know, if you use UPES framework, MQ or JMS is transperent to you. Everything, looks like is done under the covers after reading the properties file.
Here are the settings
Code: |
# MQWF Settings
# -------------
Mqwf.Configuration = FMC
Mqwf.UserId = ADMIN
Mqwf.Password = password
# Upes Settings
# -------------
Upes.Message.Pipe.Class = com.ibm.workflow.util.msg.JmsPipe
Upes.ThreadPool.Size = 1
Upes.System = FMCSYS
Upes.System.Group = FMCGRP
Upes.Outbound.MQ.Queue = MYUPES
Upes.Outbound.MQ.Queue.Manager = FMCQM
Upes.Version = 3.5
# JMSPipe settings
# -------------
Jms.Provider.Url = file:/C:/Temp
Jms.Initial.Context.Factory = com.sun.jndi.fscontext.RefFSContextFactory
Jms.Queue.Connection.Factory = upesQCF
Mqwf.Inbound.Jms.Queue = xmlQ
Upes.Outbound.Jms.Queue = upesQ
# Upes Container Settings
# -----------------------
Upes.Class = com.acme.sample.SimpleUpes
Upes.Enabled = true
|
Code: |
InitCtx> dis qcf(upesQCF)
FAILIFQUIESCE(YES)
HOSTNAME(localhost)
PORT(5010)
QMANAGER(FMCQM)
USECONNPOOLING(YES)
CCSID(819)
TEMPMODEL(SYSTEM.DEFAULT.MODEL.QUEUE)
MSGBATCHSZ(10)
TRANSPORT(CLIENT)
SYNCPOINTALLGETS(NO)
TEMPQPREFIX()
MSGRETENTION(YES)
RESCANINT(5000)
POLLINGINT(5000)
LOCALADDRESS()
VERSION(2)
CHANNEL(SYSTEM.DEF.SVRCONN)
Q(xmlQ)
FAILIFQUIESCE(YES)
QUEUE(EXEXMLINPUTQ)
QMANAGER()
PERSISTENCE(APP)
CCSID(1208)
TARGCLIENT(JMS)
ENCODING(NATIVE)
PRIORITY(APP)
EXPIRY(APP)
VERSION(1)
Q(upesQ)
FAILIFQUIESCE(YES)
QUEUE(MYUPES)
QMANAGER()
PERSISTENCE(APP)
CCSID(1208)
TARGCLIENT(JMS)
ENCODING(NATIVE)
PRIORITY(APP)
EXPIRY(APP)
VERSION(1)
JMS Settings
|
I will try your setup tomorrow and hopefully come back to the same conclusion |
|
Back to top |
|
 |
chintu |
Posted: Tue Jan 25, 2005 6:41 am Post subject: |
|
|
 Acolyte
Joined: 27 Dec 2004 Posts: 64
|
Vennela,
Could you please post the setup in your setJMS.properties file?
The dis qcf(*) command does not show anything for me. |
|
Back to top |
|
 |
chintu |
Posted: Mon Jan 31, 2005 7:48 am Post subject: |
|
|
 Acolyte
Joined: 27 Dec 2004 Posts: 64
|
Solved...we were able to configure using the JMS option. |
|
Back to top |
|
 |
ramires |
Posted: Mon Apr 21, 2008 2:40 pm Post subject: |
|
|
Knight
Joined: 24 Jun 2001 Posts: 523 Location: Portugal - Lisboa
|
Hello, can I use a client connection from a machine running my application inside WAS to a UPES implementation on a WF server in another machine?
I'm trying to understand the Programming Guide, and also found this thread but the link hos posted doesn't exist anymore.
Thanks
Joao
|
|
Back to top |
|
 |
jmac |
Posted: Tue Apr 22, 2008 6:50 am Post subject: |
|
|
 Jedi Knight
Joined: 27 Jun 2001 Posts: 3081 Location: EmeriCon, LLC
|
If I understand correctly, I would say that as long as the Machine running the UPES can see the Request and Reply queues, there would be no issue. _________________ John McDonald
RETIRED |
|
Back to top |
|
 |
|