|
RSS Feed - WebSphere MQ Support
|
RSS Feed - Message Broker Support
|
 |
|
Fixed Length Payload in SOAP Message |
« View previous topic :: View next topic » |
Author |
Message
|
LazyBoy |
Posted: Wed Apr 15, 2009 7:33 pm Post subject: Fixed Length Payload in SOAP Message |
|
|
Voyager
Joined: 04 May 2006 Posts: 78
|
Hi,
I have a scenario where in I need to output fixed length message as payload in xml message from my message flow.
for ex:
<Body>
<MessageID/>
<Message>fixedlengthmessage</Message>
</Body>
I am using broker 6.1, Let me know how I can do this , Should I use multipart messages to embed fixed length message in xml message. |
|
Back to top |
|
 |
kimbert |
Posted: Thu Apr 16, 2009 11:46 am Post subject: |
|
|
 Jedi Council
Joined: 29 Jul 2003 Posts: 5542 Location: Southampton
|
Your question is far too broad - we expect you to use some of your own time in researching the problem. Please tell us what you think the correct answer(s) might be. Tell us what you have tried. Tell us which DeveloperWorks articles/RedBooks/help topics you have read. |
|
Back to top |
|
 |
Vitor |
Posted: Thu Apr 16, 2009 12:04 pm Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
kimbert wrote: |
we expect you to use some of your own time in researching the problem. |
But the poster's name is surprisingly honest.  _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
LazyBoy |
Posted: Thu Apr 16, 2009 1:01 pm Post subject: |
|
|
Voyager
Joined: 04 May 2006 Posts: 78
|
Hi kimbert,
This is what I tried, I used ASBITSTREAM FUNCTION to parse an CWF Message and converted this to blob and embedded this BLOB in XML, but this Serialiazes the message in BLOB , and xml field has blob value.
I also read about Multipart messages, but I was not sure whether we can embed 2 different message domain "messages" in a single message(like for ex can a MRM Domain CWF message be embedded in XMLNSC Domain) and also how to embed a message present in Different Message set.
Thanks, |
|
Back to top |
|
 |
kimbert |
Posted: Thu Apr 16, 2009 1:36 pm Post subject: |
|
|
 Jedi Council
Joined: 29 Jul 2003 Posts: 5542 Location: Southampton
|
OK - fair questions.
- Multipart messages are only supported by the MRM parser. Even for MRM, the envelope and inner message must both use the same physical format. So multipart is not your answer.
- You are correct that the output of ASBITSTREAM is a BLOB, and therefore cannot be used as the value of a normal XMLNSC field. If you do that, the XMLNSC parser will output the default text representation of the BLOB, but it will not be the *characters* that you need to see. It will just be the hex-ascii encoding of the bytes.
However, it is simple to CAST a BLOB to a CHARACTER. There are loads of examples on this forum - just search for ASBITSTREAM within MQSeries.net. |
|
Back to top |
|
 |
LazyBoy |
Posted: Wed Apr 22, 2009 9:29 pm Post subject: |
|
|
Voyager
Joined: 04 May 2006 Posts: 78
|
Hi Kimbert,
Thank you, I used CAST with Encoding character 1208 it worked fine.
Now, this is what I have done :
I have input message in XMLNSC Domain, I used mapping node to map fields in XMLNSC node to MRM CWF Fields, and then Used ASBITSTREAM FUnction to convert it to BLOB and then converted it to CHARACTER, later Added this character to another output XMLNSC Message.
Now, My doubts are:
1) When I map the fields using mapping nodes and then use ASBITSTREAM to serialize, fields which are not mapped are not padded with "encoding null value" character(i.e SPACE).---------How do I make the parser to fill in unpopulated fields with spaces?( I dont want to set each and every field with spaces in mapping node)
2) How efficient is ASBITSTREAM Parser, is it comparable to output node parser?( Since I am handling all the serialization in ESQL code I just want to make sure if this is the right approach to do it).
Thanks, |
|
Back to top |
|
 |
kimbert |
Posted: Thu Apr 23, 2009 11:33 am Post subject: |
|
|
 Jedi Council
Joined: 29 Jul 2003 Posts: 5542 Location: Southampton
|
Quote: |
When I map the fields using mapping nodes and then use ASBITSTREAM to serialize, fields which are not mapped are not padded with "encoding null value" character(i.e SPACE).---------How do I make the parser to fill in unpopulated fields with spaces?( I dont want to set each and every field with spaces in mapping node) |
- Encoding Null and the other 'null handling' properties apply to fields which are present but have a value of NULL. They never cause unmapped fields to be output.
- XMLNSC does not use any of the physical format properties of a message set. It only ever uses the basic XML Schemas.
- There is no way to persuade the broker to automatically output the missing fields. You have to map them explicitly. The only exception is when the MRM TDS or CWF parsers are writing a fixed-length structure, and they encounter a missing field, and that field has a default value.
Quote: |
How efficient is ASBITSTREAM Parser, is it comparable to output node parser?( Since I am handling all the serialization in ESQL code I just want to make sure if this is the right approach to do it). |
The parser used by ASBITSTREAM is controlled by the DOMAIN property, and is taken from the same set of parsers as are used by the rest of the product. In other words, performance will be identical. |
|
Back to top |
|
 |
|
|
 |
|
Page 1 of 1 |
|
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
|
|
|
|