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 » Web Services Question

Post new topic  Reply to topic
 Web Services Question « View previous topic :: View next topic » 
Author Message
solomita
PostPosted: Tue Mar 22, 2005 7:19 am    Post subject: Web Services Question Reply with quote

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
View user's profile Send private message Yahoo Messenger
jefflowrey
PostPosted: Tue Mar 22, 2005 8:07 am    Post subject: Reply with quote

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
View user's profile Send private message
eaiguy4
PostPosted: Thu Mar 24, 2005 6:10 am    Post subject: MQRC 2097 issue with HTTP Reply with quote

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
View user's profile Send private message
NewMB
PostPosted: Fri Jun 10, 2005 11:53 am    Post subject: Reply with quote

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
View user's profile Send private message
jefflowrey
PostPosted: Fri Jun 10, 2005 12:07 pm    Post subject: Reply with quote

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
View user's profile Send private message
DanielSonFocus
PostPosted: Mon Jun 13, 2005 10:53 am    Post subject: Reply with quote

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
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 » Web Services Question
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.