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 » IBM MQ Java / JMS » SetStringProperty not working!!'

Post new topic  Reply to topic
 SetStringProperty not working!!' « View previous topic :: View next topic » 
Author Message
h4tech
PostPosted: Fri Apr 17, 2009 11:41 pm    Post subject: SetStringProperty not working!!' Reply with quote

Newbie

Joined: 17 Apr 2009
Posts: 4

Sorry if this is a duplicate question..My search didnt give a result..Here is my issue.

Iam using weblogic 8.1 application server with JMS messaging bridge

configured to interact with MQ. I have a client who expects the character set to be in iso-

8859 and i think by setting JMS_IBM_CHARACTER_SET to 819 will do it.In my test bed I

used
BytesMessage.setStringProperty("JMS_IBM_CHARACTER_SET","819")

and when i tried to retrieve the value while reading the message using

getStringProperty("JMS_IBM_CHARACTER_SET") the value is always coming as

1028, which i believe is the default character set.
Any help how to set it properly wuld be gr8.

Also the custom values which i set using setStringProperty are missing when

it comes through MQ. I mean if i set Message.setStringProperty("XXXX","SOME

VALUE") and when i retrieve it using getStringProperty im getting null. The

same works fine when i deal with Internal Weblogic JMS queues. Im wondering

whether this is getting lost while doing the mapping from JMS message

Object Structure to MQ Message Object.
Back to top
View user's profile Send private message
fjb_saper
PostPosted: Sat Apr 18, 2009 12:07 am    Post subject: Reply with quote

Grand High Poobah

Joined: 18 Nov 2003
Posts: 20756
Location: LI,NY

Try setting the CCSID on the connection factory, or if need be on the destination. Remember as well that the CCSID has little to no effect on a BytesMessage. You may want to use a TextMessage.
For the properties they only work if the destination is JMS. If the targetClient is MQ (1) you will strip all properties that are held in the RFH2 header. Have fun
_________________
MQ & Broker admin
Back to top
View user's profile Send private message Send e-mail
h4tech
PostPosted: Sat Apr 18, 2009 1:00 am    Post subject: Reply with quote

Newbie

Joined: 17 Apr 2009
Posts: 4

Thanks for the Reply,

I know CCSID has no effect on the BytesMessage, but my target is a webmethod MQ adaptor and this adaptor checks for the CCSID value in the header

(Im not sure abt how this adaptor works)and if the value is anything other than "iso.." the message is automatically rejected. This is the reason why i

require the proper value to be sent. I dont have any control on the MQ side and this application is quite huge and communicates with other systems through MQ..Is it like if the target client is not MQ, there no use in setting this value??

One more thing which i didnt have clarity after reading abt IBM documentation was that, wil the MQ convert the textmessage to the default encoding if sender is not setting a CCSID value or it just sets the value in the header??..
Back to top
View user's profile Send private message
fjb_saper
PostPosted: Sun Apr 19, 2009 12:30 am    Post subject: Reply with quote

Grand High Poobah

Joined: 18 Nov 2003
Posts: 20756
Location: LI,NY

h4tech wrote:
Thanks for the Reply,

I know CCSID has no effect on the BytesMessage, but my target is a webmethod MQ adaptor and this adaptor checks for the CCSID value in the header

And that is relevant how? Are you sending text? Try using a TextMessage.

h4tech wrote:
(Im not sure abt how this adaptor works)and if the value is anything other than "iso.." the message is automatically rejected. This is the reason why i require the proper value to be sent. I dont have any control on the MQ side and this application is quite huge and communicates with other systems through MQ..Is it like if the target client is not MQ, there no use in setting this value??
Now we are getting a little bit further.
If your application is setting a String property on the message the Destination needs to be of targetClient JMS (=0 ? Look up the appropriate constant). If the targetClient is MQ there is no RFH header. The String property you set gets stored in the RFH header...

h4tech wrote:
One more thing which i didnt have clarity after reading abt IBM documentation was that, wil the MQ convert the textmessage to the default encoding if sender is not setting a CCSID value or it just sets the value in the header??..

MQ will convert a TextMessage only. It gets written to the queue in the CCSID of the sender (default) or in the CCSID put on the destination in JNDI (The qmgr will do the conversion for you).

The sender can specify a CCSID on the message or on the connection factory, but then it is the sender's responsability to supply the message content in said CCSID (CodedCharSetID)
_________________
MQ & Broker admin
Back to top
View user's profile Send private message Send e-mail
h4tech
PostPosted: Tue Apr 21, 2009 1:04 am    Post subject: Reply with quote

Newbie

Joined: 17 Apr 2009
Posts: 4

I was trying to figure out where things are going wrong when i set the codedcharacterset using setStringProperty.

To set the context i will explain how the test bed is

I have two Queuemanagers..

1.Having remote MQ queue which is being bridged with my Weblogic APPlication1's local JMS queue into which my app will put the message. Here before sending the message i set the setStringPropery("JMS_IBM_Charset",819)

2.Second having a local queue which is being bridged with APPlication2's local JMS queue from which i recieve the message

After putting the message from my APP1, we used AMQSBCG on the Queue under first Qmgr and i got the following values which are correct and this is what i have set

Encoding : 273 CodedCharSetId : 819

But when i used the AMQSBCG on the second Queue on the recieving end the values became

Encoding : 273 CodedCharSetId : 1208

How come this CodedCharSetId value changed from 819 to 1208(which is the default) after trasmitting ??..Is there any way to retain this?
Back to top
View user's profile Send private message
fjb_saper
PostPosted: Tue Apr 21, 2009 12:18 pm    Post subject: Reply with quote

Grand High Poobah

Joined: 18 Nov 2003
Posts: 20756
Location: LI,NY

h4tech wrote:
I was trying to figure out where things are going wrong when i set the codedcharacterset using setStringProperty.

To set the context i will explain how the test bed is

I have two Queuemanagers..

1.Having remote MQ queue which is being bridged with my Weblogic APPlication1's local JMS queue into which my app will put the message. Here before sending the message i set the setStringPropery("JMS_IBM_Charset",819)

2.Second having a local queue which is being bridged with APPlication2's local JMS queue from which i recieve the message

After putting the message from my APP1, we used AMQSBCG on the Queue under first Qmgr and i got the following values which are correct and this is what i have set

Encoding : 273 CodedCharSetId : 819

But when i used the AMQSBCG on the second Queue on the recieving end the values became

Encoding : 273 CodedCharSetId : 1208

How come this CodedCharSetId value changed from 819 to 1208(which is the default) after trasmitting ??..Is there any way to retain this?
Well you're going about it the wrong way as you just found out.
a) you did not ensure that the content of the message was in CCSID 819, yet you tried to set this on the message....

Try following. Do not specify anything in code. Set up the destination in WAS to have CCSID 819 and watch the message go...
_________________
MQ & Broker admin
Back to top
View user's profile Send private message Send e-mail
h4tech
PostPosted: Thu Apr 23, 2009 3:43 am    Post subject: Reply with quote

Newbie

Joined: 17 Apr 2009
Posts: 4

Quote:

a) you did not ensure that the content of the message was in CCSID 819, yet you tried to set this on the message....


I have encoded the string in the right encoding before setting it, eventhough it is not required for me. By the way will MQ check whether my content is not encoded properly and convert it into the right one?..I dont think so

Quote:

Try following. Do not specify anything in code. Set up the destination in WAS to have CCSID 819 and watch the

I didnt ve any luck in getting this done..I culdnt find it in the weblogic console for configuring ccsid. Anyways im givin up this try and plannin for a work around.But would be nice for my knwldge to knw why the value of ccsid is changing from one Qmgr to another?
Anyways thank you very much for ur time and kind reply.
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 » IBM MQ Java / JMS » SetStringProperty not working!!'
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.