| Author | 
		  Message
		 | 
		
		  | SABCAS | 
		  
		    
			  
				 Posted: Tue Feb 21, 2006 6:31 am    Post subject: conversion Type string to XML format | 
				     | 
			   
			 
		   | 
		
		
		   Acolyte
 
 Joined: 09 Mar 2005 Posts: 60 Location: Switzerland 
  | 
		  
		    
			  
				Hallo,
 
I have the following string :
 
![CDATA[<SIFM xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="BasWfmState.xsd"><!--  Domain         : WFM --><!--  Author         : Swisscom IT Services AG, IT-PDL --><!--  Contact        : sif.message@swisscom.com --><!--  Purpose        : xml sample file --><!--  Interface      : OMHS_0033_WFMServiceOrderState (V1) --><!--  Function       : BasWfmState --><!--  DataObject     : WfmStateBas (V1) --><!--  Export         : 19.01.2006 17:14:26 by SIF-MCR -->  <Header id="a">    <Requester>      <ApplicationID application="com.swisscom.wfm" bo="" />    </Requester>    <BSR function="BasWfmState" revision="1">      <ApplicationID application="com.swisscom.baskal.1" bo="" />    </BSR>    <Environment language="" opCode="" prefix="" testFlag="">      <Timestamp>2005-11-28T09:30:47+01:00</Timestamp>    </Environment>    <FunctionHeader functionType="Datagramm" priorityType="medium" responseType="onExecution" returnCode="failed" />  </Header>  <WfmStateBas>    <WfmTask>      <StateText>completed</StateText>      <StateCode>1</StateCode>      <StateDate>2005-12-24T13:36:00+01:00</StateDate>      <Visum>tgdscju4</Visum>      <Message>Test abgeschlossen</Message>    </WfmTask>    <ErrorStatus>      <ErrorComponent>BAS</ErrorComponent>      <ErrorCode>123456789</ErrorCode>      <ErrorText>invalid content of Business Object</ErrorText>      <ErrorDetail>BaskalExNr:2004/TechInfo:CircuitOrderKey field is not of Type Integer</ErrorDetail>    </ErrorStatus>    <BaskalOrderTask>      <TaskListKey>17</TaskListKey>      <BaskalCode>INAR</BaskalCode>      <BaskalOrderId>        <CircuitCode>235479</CircuitCode>        <CircuitOrderKey>1400493</CircuitOrderKey>      </BaskalOrderId>    </BaskalOrderTask>  </WfmStateBas></SIFM>]]
 
 
and I would like to convert into XML document:
 
 
<SIFM xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="BasWfmState.xsd">
 
<!--  Domain         : WFM -->
 
<!--  Author         : Swisscom IT Services AG, IT-PDL -->
 
<!--  Contact        : sif.message@swisscom.com -->
 
<!--  Purpose        : xml sample file -->
 
<!--  Interface      : OMHS_0033_WFMServiceOrderState (V1) -->
 
<!--  Function       : BasWfmState -->
 
<!--  DataObject     : WfmStateBas (V1) -->
 
<!--  Export         : 19.01.2006 17:14:26 by SIF-MCR -->
 
  <Header id="a">
 
    <Requester>
 
      <ApplicationID application="com.swisscom.wfm" bo=""/>
 
    </Requester>
 
    <BSR function="BasWfmState" revision="1">
 
      <ApplicationID application="com.swisscom.baskal.1" bo=""/>
 
    </BSR>
 
    <Environment language="" prefix="" testFlag="" opCode="">
 
      <Timestamp>2005-11-28T09:30:47+01:00</Timestamp>
 
    </Environment>
 
    <FunctionHeader functionType="Datagramm" responseType="onExecution" priorityType="medium" returnCode="failed"/>
 
  </Header>
 
  <WfmStateBas>
 
    <WfmTask>
 
      <StateText>completed</StateText>
 
      <StateCode>1</StateCode>
 
      <StateDate>2005-12-24T13:36:00+01:00</StateDate>
 
      <Visum>tgdscju4</Visum>
 
      <Message>Test abgeschlossen</Message>
 
    </WfmTask>
 
    <ErrorStatus>
 
      <ErrorComponent>BAS</ErrorComponent>
 
      <ErrorCode>123456789</ErrorCode>
 
      <ErrorText>invalid content of Business Object</ErrorText>
 
      <ErrorDetail>BaskalExNr:2004/TechInfo:CircuitOrderKey field is not of Type Integer</ErrorDetail>
 
    </ErrorStatus>
 
    <BaskalOrderTask>
 
      <TaskListKey>17</TaskListKey>
 
      <BaskalCode>INAR</BaskalCode>
 
      <BaskalOrderId>
 
        <CircuitCode>235479</CircuitCode>
 
        <CircuitOrderKey>1400493</CircuitOrderKey>
 
      </BaskalOrderId>
 
    </BaskalOrderTask>
 
  </WfmStateBas>
 
</SIFM>
 
 
How can I do in ESQL Command?
 
Thanks in advance for your answer and Help.
 
Ciao
 
Sabato   | 
			   
			 
		   | 
		
		
		  | Back to top | 
		  
		  	
		   | 
		
		
		    | 
		
		
		  | EddieA | 
		  
		    
			  
				 Posted: Tue Feb 21, 2006 11:06 am    Post subject:  | 
				     | 
			   
			 
		   | 
		
		
		    Jedi
 
 Joined: 28 Jun 2001 Posts: 2453 Location: Los Angeles 
  | 
		  
		    
			  
				Maybe the data needs to be PARSEd.
 
 
Cheers, _________________ Eddie Atherton
 
IBM Certified Solution Developer - WebSphere Message Broker V6.1
 
IBM Certified Solution Developer - WebSphere Message Broker V7.0 | 
			   
			 
		   | 
		
		
		  | Back to top | 
		  
		  	
		   | 
		
		
		    | 
		
		
		  | SABCAS | 
		  
		    
			  
				 Posted: Tue Feb 21, 2006 10:24 pm    Post subject:  | 
				     | 
			   
			 
		   | 
		
		
		   Acolyte
 
 Joined: 09 Mar 2005 Posts: 60 Location: Switzerland 
  | 
		  
		    
			  
				Hallo,
 
I parsed the data but I receive "No valid body of the document could be found", here it follows my ESQL code:
 
SET OutputRoot.Properties.Domain='XML';
 
		SET OutputRoot.Properties.MessageFormat='XML';
 
		SET OutputRoot.Properties.MessageSet='XML';
 
		SET OutputRoot.Properties.MessageType = '';
 
		SET OutputRoot.Properties.Transactional = TRUE;
 
        SET OutputRoot.Properties.Persistence = FALSE;
 
        
 
		
 
		SET Environment.Variables.Application.inString = CAST(InputRoot."BLOB"."BLOB" AS CHAR CCSID 850);
 
		SET I = POSITION('<SIFM' IN Environment.Variables.Application.inString);
 
		SET J = POSITION(']]' IN Environment.Variables.Application.inString);
 
		SET leng = LENGTH(Environment.Variables.Application.inString);
 
		SET Environment.Variables.Application.input = SUBSTRING(Environment.Variables.Application.inString FROM I FOR J-I);
 
		
 
		
 
		SET OutputRoot.MQMD.MsgType = MQMT_DATAGRAM;
 
		SET OutputRoot.MQMD.Expiry = MQEI_UNLIMITED;
 
		SET OutputRoot.MQMD.Priority = 0;
 
		SET OutputRoot.MQMD.ReplyToQ = '';
 
		SET OutputRoot.MQMD.ReplyToQMgr = '';
 
		SET OutputRoot.MQMD.Encoding = 546;
 
		SET OutputRoot.MQMD.CodedCharSetId = 819;
 
		SET OutputRoot.MQMD.Format = MQFMT_STRING;
 
		SET OutputRoot.MQMD.PutApplType = MQAT_BROKER;
 
		SET OutputRoot.MQMD.PutApplName = 'WBIMB/XSLTTestFlow';
 
		SET OutputRoot.MQMD.PutDate = CURRENT_GMTDATE;
 
		SET OutputRoot.MQMD.PutTime = CURRENT_GMTTIME;	
 
		
 
		
 
		--Create an XML Declaration
 
		SET OutputRoot.XML.(XML.XmlDecl)='';
 
		
 
		--Set the Version within the XML Declaration
 
		SET OutputRoot.XML.(XML.XmlDecl).(XML.Version)='1.0';
 
		
 
		--Set the Encoding within the XML Declaration
 
		SET OutputRoot.XML.(XML.XmlDecl).(XML."Encoding")='UTF-8'; 
 
		
 
		SET OutputRoot.XML = Environment.Variables.Application.input;
 
 
 I suppose that I should parse only the data string.
 
Ciao
 
Sabato | 
			   
			 
		   | 
		
		
		  | Back to top | 
		  
		  	
		   | 
		
		
		    | 
		
		
		  | elvis_gn | 
		  
		    
			  
				 Posted: Tue Feb 21, 2006 10:38 pm    Post subject:  | 
				     | 
			   
			 
		   | 
		
		
		    Padawan
 
 Joined: 08 Oct 2004 Posts: 1905 Location: Dubai 
  | 
		  
		    
			  
				
   
	| SABCAS wrote: | 
   
  
	Hallo,
 
"No valid body of the document could be found" | 
   
 
 
This would mean that the message could not be parsed at the input node itself, it hasent reached your code as yet...
 
 
R you using a input message set ??
 
 
Regards. | 
			   
			 
		   | 
		
		
		  | Back to top | 
		  
		  	
		   | 
		
		
		    | 
		
		
		  | elvis_gn | 
		  
		    
			  
				 Posted: Tue Feb 21, 2006 10:38 pm    Post subject:  | 
				     | 
			   
			 
		   | 
		
		
		    Padawan
 
 Joined: 08 Oct 2004 Posts: 1905 Location: Dubai 
  | 
		  
		    
			  
				
   
	| SABCAS wrote: | 
   
  
	Hallo,
 
"No valid body of the document could be found" | 
   
 
 
This would mean that the message could not be parsed at the input node itself, it hasent reached your code as yet...
 
 
R you using a input message set ??
 
 
Regards. | 
			   
			 
		   | 
		
		
		  | Back to top | 
		  
		  	
		   | 
		
		
		    | 
		
		
		  | EddieA | 
		  
		    
			  
				 Posted: Tue Feb 21, 2006 10:46 pm    Post subject:  | 
				     | 
			   
			 
		   | 
		
		
		    Jedi
 
 Joined: 28 Jun 2001 Posts: 2453 Location: Los Angeles 
  | 
		  
		    
			  
				
   
	| EddieA wrote: | 
   
  
	| Maybe the data needs to be PARSEd. | 
   
 
 
Less subtle hint.  Look up PARSE in the ESQL documentation.  Or try seaching for it, using the ever present, Search button.
 
 
Cheers, _________________ Eddie Atherton
 
IBM Certified Solution Developer - WebSphere Message Broker V6.1
 
IBM Certified Solution Developer - WebSphere Message Broker V7.0 | 
			   
			 
		   | 
		
		
		  | Back to top | 
		  
		  	
		   | 
		
		
		    | 
		
		
		  | dipankar | 
		  
		    
			  
				 Posted: Tue Feb 21, 2006 11:53 pm    Post subject:  | 
				     | 
			   
			 
		   | 
		
		
		   Disciple
 
 Joined: 03 Feb 2005 Posts: 171
  
  | 
		  
		    
			  
				Don't use the following code because it has no valid header tag.
 
   
	| Code: | 
   
  
	| SET OutputRoot.XML = Environment.Variables.Application.input;  | 
   
 
 
 
As EddieA has told you before, you have to use parser. 
 
Use the following code
 
CREATE LASTCHILD OF OutputRoot DOMAIN 'XML' PARSE(Environment.Variables.Application.input)
 
 
I hope it will help you out. _________________ Regards | 
			   
			 
		   | 
		
		
		  | Back to top | 
		  
		  	
		   | 
		
		
		    | 
		
		
		  | SABCAS | 
		  
		    
			  
				 Posted: Wed Feb 22, 2006 2:09 am    Post subject:  | 
				     | 
			   
			 
		   | 
		
		
		   Acolyte
 
 Joined: 09 Mar 2005 Posts: 60 Location: Switzerland 
  | 
		  
		    
			  
				Hallo 
 
I used your last suggestion, but I receive from Parser the following:
 
"String is not of correct form for byte array. Must have even number of characters"
 
 
Should I make a CAST before PARSE ?
 
 
Thanks for the Help
 
Ciao
 
Sabato   | 
			   
			 
		   | 
		
		
		  | Back to top | 
		  
		  	
		   | 
		
		
		    | 
		
		
		  | SABCAS | 
		  
		    
			  
				 Posted: Wed Feb 22, 2006 3:39 am    Post subject:  | 
				     | 
			   
			 
		   | 
		
		
		   Acolyte
 
 Joined: 09 Mar 2005 Posts: 60 Location: Switzerland 
  | 
		  
		    
			  
				Hallo 
 
I make a little progress, I mean I have the following String:
 
SET myString = '<?xml version="1.0" encoding="UTF-8"?><SIFM xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="BasWfmState.xsd"><!--  Domain         : WFM --><!--  Author         : Swisscom IT Services AG, IT-PDL --><!--  Contact        : sif.message@swisscom.com --><!--  Purpose        : xml sample file --><!--  Interface      : OMHS_0033_WFMServiceOrderState (V1) --><!--  Function       : BasWfmState --><!--  DataObject     : WfmStateBas (V1) --><!--  Export         : 19.01.2006 17:14:26 by SIF-MCR -->  <Header id="a">    <Requester>      <ApplicationID application="com.swisscom.wfm" bo="" />    </Requester>    <BSR function="BasWfmState" revision="1">      <ApplicationID application="com.swisscom.baskal.1" bo="" />    </BSR>    <Environment language="" opCode="" prefix="" testFlag="">      <Timestamp>2005-11-28T09:30:47+01:00</Timestamp>    </Environment>    <FunctionHeader functionType="Datagramm" priorityType="medium" responseType="onExecution" returnCode="failed" />  </Header>  <WfmStateBas>    <WfmTask>      <StateText>completed</StateText>      <StateCode>1</StateCode>      <StateDate>2005-12-24T13:36:00+01:00</StateDate>      <Visum>tgdscju4</Visum>      <Message>Test abgeschlossen</Message>    </WfmTask>    <ErrorStatus>      <ErrorComponent>BAS</ErrorComponent>      <ErrorCode>123456789</ErrorCode>      <ErrorText>invalid content of Business Object</ErrorText>      <ErrorDetail>BaskalExNr:2004/TechInfo:CircuitOrderKey field is not of Type Integer</ErrorDetail>    </ErrorStatus>    <BaskalOrderTask>      <TaskListKey>17</TaskListKey>      <BaskalCode>INAR</BaskalCode>      <BaskalOrderId>        <CircuitCode>235479</CircuitCode>        <CircuitOrderKey>1400493</CircuitOrderKey>      </BaskalOrderId>    </BaskalOrderTask>  </WfmStateBas></SIFM>'
 
 
 
and now I would it to convert in XML Document, I use:
 
CREATE LASTCHILD OF OutputRoot DOMAIN 'XML' PARSE(ASBITSTREAM(Environment.Variables.Application.outString2) OPTIONS RootBitStream);
 
 
But I receive an Exception from Parser:
 
<ParserException><File>F:\build\S500_P\src\MTI\MTIforBroker\GenXmlParser2\XmlImbParser.cpp</File><Line>394</Line><Function>XmlImbParser::parseFirstChild</Function><Type></Type><Name></Name><Label></Label><Text>XML Parsing Errors have occurred</Text><Catalog>BIPv500</Catalog><Severity>3</Severity><Number>5009</Number><ParserException><File>F:\build\S500_P\src\MTI\MTIforBroker\GenXmlParser2\XmlBrokerAsgardParser.cpp</File><Line>815</Line><Function>XmlBrokerAsgardParser::error</Function><Type></Type><Name></Name><Label></Label><Text>An error has been reported by the BIPXML4C component.</Text><Catalog>BIPv500</Catalog><Severity>3</Severity><Number>5004</Number><Insert><Type>2</Type><Text>182</Text></Insert><Insert><Type>5</Type><Text></Text></Insert><Insert><Type>2</Type><Text>1</Text></Insert><Insert><Type>2</Type><Text>1</Text></Insert><Insert><Type>5</Type><Text>Invalid document structure</Text></Insert><Insert><Type>5</Type><Text>XML</Text></Insert></ParserException></ParserException></RecoverableException></RecoverableException></EXEPTLIST></ERROR>
 
 
I tried with XMLSpy to load and validate my string and it's ok!!!
 
Why The Parser on WBIMB gives some Problem ?
 
 
Thanks for your Help.
 
Ciao
 
Sabato   | 
			   
			 
		   | 
		
		
		  | Back to top | 
		  
		  	
		   | 
		
		
		    | 
		
		
		  | JT | 
		  
		    
			  
				 Posted: Wed Feb 22, 2006 8:49 am    Post subject:  | 
				     | 
			   
			 
		   | 
		
		
		   Padawan
 
 Joined: 27 Mar 2003 Posts: 1564 Location: Hartford, CT. 
  | 
		  
		    
			  
				The BIP5004 error results from a badly formed XML document.
 
 
So, to provide clarity, add a Trace node prior to the MQOuput node with the ${Root} pattern. Post the results here. | 
			   
			 
		   | 
		
		
		  | Back to top | 
		  
		  	
		   | 
		
		
		    | 
		
		
		  | SABCAS | 
		  
		    
			  
				 Posted: Wed Feb 22, 2006 10:45 pm    Post subject:  | 
				     | 
			   
			 
		   | 
		
		
		   Acolyte
 
 Joined: 09 Mar 2005 Posts: 60 Location: Switzerland 
  | 
		  
		    
			  
				Hallo,
 
I have added a traceNode prior MqOutputNode but I didn't have received more information, here is what I receive:
 
sifm        = '<?xml version="1.0" encoding="UTF-8"?><SIFM><Header>12345</Header></SIFM>'
 
    )
 
  )
 
) 
 
(
 
  (0x01000000):Properties = (
 
    (0x03000000):MessageSet      = NULL
 
    (0x03000000):MessageType     = NULL
 
    (0x03000000):MessageFormat   = NULL
 
    (0x03000000):Encoding        = NULL
 
    (0x03000000):CodedCharSetId  = NULL
 
    (0x03000000):Transactional   = UNKNOWN
 
    (0x03000000):Persistence     = UNKNOWN
 
    (0x03000000):CreationTime    = NULL
 
    (0x03000000):ExpirationTime  = NULL
 
    (0x03000000):Priority        = NULL
 
    (0x03000000):ReplyIdentifier = NULL
 
    (0x03000000):ReplyProtocol   = 'MQ'
 
    (0x03000000):Topic           = NULL
 
  )
 
  (0x01000010):XML        = 
 
 
I tried also with a very little XML : sifm        = '<?xml version="1.0" encoding="UTF-8"?><SIFM><Header>12345</Header></SIFM>' but the Parser answers always the same "Invalid document structure"
 
I tried also the following string :  '<SIFM><Header>12345</Header></SIFM>' but without successfull.
 
Thanks for your help.
 
Ciao
 
Sabato | 
			   
			 
		   | 
		
		
		  | Back to top | 
		  
		  	
		   | 
		
		
		    | 
		
		
		  | dipankar | 
		  
		    
			  
				 Posted: Thu Feb 23, 2006 12:22 am    Post subject:  | 
				     | 
			   
			 
		   | 
		
		
		   Disciple
 
 Joined: 03 Feb 2005 Posts: 171
  
  | 
		  
		    
			  
				Hi SABCAS,
 
Please try with the follwoing code
 
 
   
	| Code: | 
   
  
	CREATE LASTCHILD OF OutputRoot DOMAIN 'XML' PARSE(Environment.Variables.Application.outString2); 
 
 
--Create an XML Declaration 
 
SET OutputRoot.XML.(XML.XmlDecl)=''; 
 
 
--Set the Version within the XML Declaration 
 
SET OutputRoot.XML.(XML.XmlDecl).(XML.Version)='1.0'; 
 
 
--Set the Encoding within the XML Declaration 
 
SET OutputRoot.XML.(XML.XmlDecl).(XML."Encoding")='UTF-8';  | 
   
 
 
 
First create messagebody then create declaration part.
 
 
Can you check the value populated in Environment.Variables.Application.outString2? 
 
Are you giving input as BLOB? If yes, populate the above environment variable as BLOB. _________________ Regards | 
			   
			 
		   | 
		
		
		  | Back to top | 
		  
		  	
		   | 
		
		
		    | 
		
		
		  | dipankar | 
		  
		    
			  
				 Posted: Thu Feb 23, 2006 12:58 am    Post subject:  | 
				     | 
			   
			 
		   | 
		
		
		   Disciple
 
 Joined: 03 Feb 2005 Posts: 171
  
  | 
		  
		    
			  
				I have checked your code in my own system. I am able to create the expected output.
 
 
Most probably you are getting the following error
 
 XML parsing error (Invalid document structure) encountered on line 1 column 1 while parsing element XML.   
 
 
It is because of your input string itself contains '<?xml version="1.0" encoding="UTF-8"?>'.
 
 
By the ESQL you are also trying to create that part. _________________ Regards | 
			   
			 
		   | 
		
		
		  | Back to top | 
		  
		  	
		   | 
		
		
		    | 
		
		
		  | SABCAS | 
		  
		    
			  
				 Posted: Thu Feb 23, 2006 3:51 am    Post subject:  | 
				     | 
			   
			 
		   | 
		
		
		   Acolyte
 
 Joined: 09 Mar 2005 Posts: 60 Location: Switzerland 
  | 
		  
		    
			  
				Hallo,
 
I correct my ESQL code but the conversion from String to BLOB doesn't work.
 
Could you my Code test:
 
SET Environment.Variables.Application.sifm = '<SIFM xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="BasWfmState.xsd"><!--  Domain         : WFM --><!--  Author         : Swisscom IT Services AG, IT-PDL --><!--  Contact        : sif.message@swisscom.com --><!--  Purpose        : xml sample file --><!--  Interface      : OMHS_0033_WFMServiceOrderState (V1) --><!--  Function       : BasWfmState --><!--  DataObject     : WfmStateBas (V1) --><!--  Export         : 19.01.2006 17:14:26 by SIF-MCR -->  <Header id="a">    <Requester>      <ApplicationID application="com.swisscom.wfm" bo="" />    </Requester>    <BSR function="BasWfmState" revision="1">      <ApplicationID application="com.swisscom.baskal.1" bo="" />    </BSR>    <Environment language="" opCode="" prefix="" testFlag="">      <Timestamp>2005-11-28T09:30:47+01:00</Timestamp>    </Environment>    <FunctionHeader functionType="Datagramm" priorityType="medium" responseType="onExecution" returnCode="failed" />  </Header>  <WfmStateBas>    <WfmTask>      <StateText>completed</StateText>      <StateCode>1</StateCode>      <StateDate>2005-12-24T13:36:00+01:00</StateDate>      <Visum>tgdscju4</Visum>      <Message>Test abgeschlossen</Message>    </WfmTask>    <ErrorStatus>      <ErrorComponent>BAS</ErrorComponent>      <ErrorCode>123456789</ErrorCode>      <ErrorText>invalid content of Business Object</ErrorText>      <ErrorDetail>BaskalExNr:2004/TechInfo:CircuitOrderKey field is not of Type Integer</ErrorDetail>    </ErrorStatus>    <BaskalOrderTask>      <TaskListKey>17</TaskListKey>      <BaskalCode>INAR</BaskalCode>      <BaskalOrderId>        <CircuitCode>235479</CircuitCode>        <CircuitOrderKey>1400493</CircuitOrderKey>      </BaskalOrderId>    </BaskalOrderTask>  </WfmStateBas></SIFM>'
 
SET OutputRoot.MQMD.MsgType = MQMT_DATAGRAM;
 
		SET OutputRoot.MQMD.Expiry = MQEI_UNLIMITED;
 
		SET OutputRoot.MQMD.Priority = 0;
 
		SET OutputRoot.MQMD.ReplyToQ = '';
 
		SET OutputRoot.MQMD.ReplyToQMgr = '';
 
		SET OutputRoot.MQMD.Encoding = 546;
 
		SET OutputRoot.MQMD.CodedCharSetId = 819;
 
		SET OutputRoot.MQMD.Format = MQFMT_STRING;
 
		SET OutputRoot.MQMD.PutApplType = MQAT_BROKER;
 
		SET OutputRoot.MQMD.PutApplName = 'WBIMB/SifMpm2Wfm';
 
		SET OutputRoot.MQMD.PutDate = CURRENT_GMTDATE;
 
		SET OutputRoot.MQMD.PutTime = CURRENT_GMTTIME;	
 
		
 
		DECLARE bodyBlob BLOB ASBITSTREAM(Environment.Variables.Application.sifm, Environment.Variables.Application.Encoding, Environment.Variables.Application.CodeCharSetID);
 
		SET Environment.Variables.Application.BodyBlob = bodyBlob;
 
		CREATE LASTCHILD OF OutputRoot DOMAIN 'XML' PARSE(bodyBlob); 
 
		--Create an XML Declaration
 
		SET OutputRoot.XML.(XML.XmlDecl)='';
 
		
 
		--Set the Version within the XML Declaration
 
		SET OutputRoot.XML.(XML.XmlDecl).(XML.Version)='1.0';
 
		
 
		--Set the Encoding within the XML Declaration
 
		SET OutputRoot.XML.(XML.XmlDecl).(XML."Encoding")='UTF-8'; 
 
In Trace Node I check my Varible bodyBlob and is it  equal X'' since NULL,
 
therefore the Parser answer "Invalid Document", something is not clear with a conversion String to BLOB.
 
Could you help me about the right code to convert String to BLOB ?
 
Thanks a Lot 
 
Ciao
 
Sabato | 
			   
			 
		   | 
		
		
		  | Back to top | 
		  
		  	
		   | 
		
		
		    | 
		
		
		  | dipankar | 
		  
		    
			  
				 Posted: Thu Feb 23, 2006 4:11 am    Post subject:  | 
				     | 
			   
			 
		   | 
		
		
		   Disciple
 
 Joined: 03 Feb 2005 Posts: 171
  
  | 
		  
		    
			  
				Hi,
 
Instead of using this
 
   
	| Code: | 
   
  
	DECLARE bodyBlob BLOB ASBITSTREAM(Environment.Variables.Application.sifm, Environment.Variables.Application.Encoding, Environment.Variables.Application.CodeCharSetID); 
 
SET Environment.Variables.Application.BodyBlob = bodyBlob;  | 
   
 
 
please use the simple code below
 
   
	| Code: | 
   
  
	| SET Environment.Variables.Application.BodyBlob = CAST([b][i]what everstring[/i][/b] AS BLOB CCSID InputRoot.MQMD.CodedCharSetId); | 
   
 
 
Because ASBITSTREAM returns a value of type BLOB containing a bit stream representation of the field pointed to by FieldReference and its children.
 
 
As your input is BLOB, you can use
 
SET Environment.Variables.Application.BodyBlob = InputRoot.BLOB.BLOB; _________________ Regards | 
			   
			 
		   | 
		
		
		  | Back to top | 
		  
		  	
		   | 
		
		
		    | 
		
		
		  | 
		    
		   |