Author |
Message
|
solomita |
Posted: Tue Mar 22, 2005 7:19 am Post subject: Web Services Question |
|
|
Voyager
Joined: 06 May 2003 Posts: 94
|
I currently have the sample programs CallAService and BeAService (from the migration manual) up and running.
CallAService has:
MQInput -> HTTPRequest -> Compute -> MQOutput
BeAService has:
HTTPInput -> Compute -> HTTPReply
What I am trying to do in BeAService is write an MQ message to a queue in addition to responding to CallAService but have not had much success. There is code in the Compute node of CallAService to add the MQMD as it is stripped off by HTTP nodes on the reply. I tried to mimic this code by adding an additional Compute node to BeAService which is identical to the compute node of CallAService and then putting the message to an MQOutput node (queue) but I get MQRC 2097 errors.
Any ideas? _________________ IBM Certified Specialist - WebSphere MQ Integrator
IBM Certified System Administrator - WebSphere MQ V5.3
IBM Certified System Administrator - WebSphere Business Integration Message Broker V5 |
|
Back to top |
|
 |
jefflowrey |
Posted: Tue Mar 22, 2005 8:07 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
Messages wrote: |
2097 X'0831' MQRC_CONTEXT_HANDLE_ERROR
On an MQPUT or MQPUT1 call, MQPMO_PASS_IDENTITY_CONTEXT or MQPMO_PASS_ALL_CONTEXT was specified, but the handle specified in the Context field of the PutMsgOpts parameter is either not a valid queue handle, or it is a valid queue handle but the queue was not opened with MQOO_SAVE_ALL_CONTEXT.
Corrective action: Specify MQOO_SAVE_ALL_CONTEXT when the queue referred to is opened. |
There's a flag on the MQOutput node somewhere to configure it to Set Identtiy context. _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
eaiguy4 |
Posted: Thu Mar 24, 2005 6:10 am Post subject: MQRC 2097 issue with HTTP |
|
|
Newbie
Joined: 24 Mar 2005 Posts: 1
|
We have found the similar situation and as Jeff has mentioned below, the issue is with losing the context when the message comes through HttpInput node than MQInput node.
The solution is to check "Set All" for the Message Context for MQInput node and it takes care of this error. _________________ Life is kool if you take it easy! |
|
Back to top |
|
 |
NewMB |
Posted: Fri Jun 10, 2005 11:53 am Post subject: |
|
|
Apprentice
Joined: 05 Jan 2005 Posts: 42
|
But if you check "Set All", it will reset MsgID and CorrelID. Is there somehow to make it not resetting both IDs?
Thanks |
|
Back to top |
|
 |
jefflowrey |
Posted: Fri Jun 10, 2005 12:07 pm Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
NewMB wrote: |
But if you check "Set All", it will reset MsgID and CorrelID. Is there somehow to make it not resetting both IDs?
Thanks |
The Message Context box should give you more options than "set all", including "Set Identity" or some such. _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
DanielSonFocus |
Posted: Mon Jun 13, 2005 10:53 am Post subject: |
|
|
 Apprentice
Joined: 05 Jun 2005 Posts: 35 Location: Louisville, Kentucky
|
You need to not only schlep the MQMD into the Environment but you also need to set the MQMD in you message again after the web service call... This should go in your compute node before web service call:
--Save the MQMD
SET OutputLocalEnvironment.MQMD = InputRoot.MQMD;
This should in the compute after the Web Service call:
--Get rid of header
SET OutputRoot.HTTPResponseHeader = null;
--Create blank MQMD
Create NEXTSIBLING OF OutputRoot.Properties domain 'MQMD';
--Populate MQMD
SET OutputRoot.MQMD = InputLocalEnvironment.MQMD;
--If there is no CorrelId just swap with MsgId.
IF InputLocalEnvironment.MQMD.CorelId IS NULL OR InputLocalEnvironment.MQMD.CorelId = '000000000000000000000000' OR InputLocalEnvironment.MQMD.CorelId = '000000000000000000000000000000000000000000000000' THEN
SET OutputRoot.MQMD.CorrelId = InputLocalEnvironment.MQMD.MsgId;
END IF;
Also i suggest you take a look at RedBook "Using web services with WBIMB" (sg246583) page 244... You can find it in the Sticky Topic in WMQI "Sticky: WMQI/WBIMB Related Links ...
". |
|
Back to top |
|
 |
|