| Author | Message | 
		
		  | jpeela | 
			  
				|  Posted: Wed Apr 23, 2008 10:01 pm    Post subject: hexbinary on CWF message set |   |  | 
		
		  |  Centurion
 
 
 Joined: 23 Jan 2006Posts: 139
 
 
 | 
			  
				| Hi, 
 iam now working on message broker v6 on windows.
 
 I have a problem in setting a hexbinary value to my message set which is of type CWF.
 One of the field is set to hexbinary type. Iam getting an error like 'logical type cannot be converted to binary'.Can some one suggest me how to set this value , a value with which i can hardcode.
 
 awaiting your reply
 _________________
 Jogi
 |  | 
		
		  | Back to top |  | 
		
		  |  | 
		
		  | kimbert | 
			  
				|  Posted: Wed Apr 23, 2008 11:51 pm    Post subject: |   |  | 
		
		  |  Jedi Council
 
 
 Joined: 29 Jul 2003Posts: 5543
 Location: Southampton
 
 | 
			  
				| We're here to help...if you take time to provide the information we need. 
 
  Which logical type? Please provide the full text of the error message. On Windows, the event log should contain the full text. If not, take a user trace. 
	| Quote: |  
	| I am getting an error like 'logical type cannot be converted to binary' |  
 If necessary, add a Trace node before the output node, and post the output here.
 |  | 
		
		  | Back to top |  | 
		
		  |  | 
		
		  | jpeela | 
			  
				|  Posted: Thu Apr 24, 2008 4:21 am    Post subject: |   |  | 
		
		  |  Centurion
 
 
 Joined: 23 Jan 2006Posts: 139
 
 
 | 
			  
				| hi kimbert, 
 
 
   
	| Quote: |  
	| Which logical type? Please provide the full text of the error message. On Windows, the event log should contain the full text. If not, take a user trace |  
 Here is the error iam getting from the event logs
 
 CPI Internal error from invalid operation on PWFData
 and Logical type not equal to binary is what iam getting from my debugger
 _________________
 Jogi
 |  | 
		
		  | Back to top |  | 
		
		  |  | 
		
		  | jefflowrey | 
			  
				|  Posted: Thu Apr 24, 2008 4:26 am    Post subject: |   |  | 
		
		  | Grand Poobah
 
 
 Joined: 16 Oct 2002Posts: 19981
 
 
 | 
			  
				| 
   
	| kimbert wrote: |  
	| Please provide the full text of the error message. |  _________________
 I am *not* the model of the modern major general.
 |  | 
		
		  | Back to top |  | 
		
		  |  | 
		
		  | jpeela | 
			  
				|  Posted: Thu Apr 24, 2008 4:40 am    Post subject: |   |  | 
		
		  |  Centurion
 
 
 Joined: 23 Jan 2006Posts: 139
 
 
 | 
			  
				| HI Jefflowery, 
 Here is the error information from the debugger,
 
 Message
 LocalEnvironment
 Environment
 ExceptionList
 RecoverableException
 File = F:\\build\\S600_P\\src\\DataFlowEngine\\ImbDataFlowNode.cpp
 Line = 616
 Function = ImbDataFlowNode::createExceptionList
 Type = ComIbmMQInputNode
 Name = IS_WEB_ACC_ROLE_CONV_LOCALTEST_STUB#FCMComposite_1_1
 Label = IS_WEB_ACC_ROLE_CONV_LOCALTEST_STUB.IS_WEB.ACC.ROLE.CONV_LOCAL
 Catalog = BIPv600
 Severity = 3
 Number = 2230
 Text = Node throwing exception
 RecoverableException
 File = F:\\build\\S600_P\\src\\DataFlowEngine\\ImbMqOutputNode.cpp
 Line = 793
 Function = ImbMqOutputNode::evaluate
 Type = ComIbmMQOutputNode
 Name = IS_WEB_ACC_ROLE_CONV_LOCALTEST_STUB#FCMComposite_1_2.ComIbmMQReply#FCMComposite_1_1
 Label = IS_WEB_ACC_ROLE_CONV_LOCALTEST_STUB.MQReply.ComIbmMQOutput
 Catalog = BIPv600
 Severity = 3
 Number = 2230
 Text = Caught exception and rethrowing
 ParserException
 File = F:\\build\\S600_P\\src\\MTI\\MTIforBroker\\MtiImbParser2\\MtiImbParser.cpp
 Line = 1713
 Function = MtiImbParser::refreshBitStreamFromElements - 9 par
 Type = ComIbmComputeNode
 Name = IS_WEB_ACC_ROLE_CONV_LOCALTEST_STUB#FCMComposite_1_3
 Label = IS_WEB_ACC_ROLE_CONV_LOCALTEST_STUB.Compute
 Catalog = BIPv600
 Severity = 3
 Number = 5286
 Text = ImbRecoverableException caught from worker when attempting to write out the bitstream.
 Insert
 Type = 5
 Text = CSRV.ROLLNO_SERVICE.SERVER
 Insert
 Type = 2
 Text = 1
 Insert
 Type = 5
 Text = CWF
 Insert
 Type = 5
 Text = CSRV.ROLLNO_ACCTNO_SERVICE.OUT
 ParserException
 File = F:\\build\\S600_P\\src\\cpi\\pwf\\cwf\\cwfworker.cpp
 Line = 424
 Function = CWFWorker::write
 Type =
 Name =
 Label =
 Catalog = BIPv600
 Severity = 3
 Number = 5167
 Text = CWF General Error
 Insert
 Type = 2
 Text = 0
 Insert
 Type = 5
 Text = CWFWorker::write
 Insert
 Type = 5
 Text = CSRV.ROLLNO_ACCTNO_SERVICE.OUT
 ParserException
 File = F:\\build\\S600_P\\src\\cpi\\pwf\\cwf\\cwfmessage.cpp
 Line = 618
 Function = CMessage::write
 Type =
 Name =
 Label =
 Catalog = BIPv600
 Severity = 3
 Number = 5350
 Text = CWF Writing error
 Insert
 Type = 2
 Text = 0
 Insert
 Type = 5
 Text = CWFWorker::parseNext
 Insert
 Type = 5
 Text = CSRV.ROLLNO_ACCTNO_SERVICE.OUT
 Insert
 Type = 5
 Text = /CSRV.ROLLNO_ACCTNO_SERVICE.OUT/LK_ROLLNO_OUT_AREA/LK_ROLLNO_OUT_DETAILS
 ConversionException
 File = F:\\build\\S600_P\\src\\cpi\\bsutils\\pwfdata.cpp
 Line = 637
 Function = PWFData::getBinaryValue
 Type =
 Name =
 Label =
 Catalog = BIPv600
 Severity = 3
 Number = 5522
 Text = CPI Internal error from invalid operation on PWFData
 Insert
 Type = 5
 Text = Logical type not equal to binary
 
 
 hope this would give you some clue.
 
 awaiting your reply.
 thanks in advance.
 _________________
 Jogi
 |  | 
		
		  | Back to top |  | 
		
		  |  | 
		
		  | jpeela | 
			  
				|  Posted: Thu Apr 24, 2008 5:00 am    Post subject: |   |  | 
		
		  |  Centurion
 
 
 Joined: 23 Jan 2006Posts: 139
 
 
 | 
			  
				| To add more here is the series of error information from my local sytem event viewer 
 ( LOCALBR.default ) Exception condition detected on input node 'IS_WEB_ACC_ROLE_CONV_LOCALTEST_STUB.IS_WEB.ACC.ROLE.CONV_LOCAL'.
 
 The input node 'IS_WEB_ACC_ROLE_CONV_LOCALTEST_STUB.IS_WEB.ACC.ROLE.CONV_LOCAL' detected an error whilst processing a message.  The message flow has been rolled-back and, if the message was being processed in a unit of work, it will remain on the input queue to be processed again.  Following messages will indicate the cause of this exception.
 
 Check the error messages which follow to determine why the exception was generated, and take action as described by those messages.
 
 ( LOCALBR.default ) Error detected whilst processing a message in node 'IS_WEB_ACC_ROLE_CONV_LOCALTEST_STUB.MQReply.ComIbmMQOutput'.
 
 The message broker detected an error whilst processing a message in node 'IS_WEB_ACC_ROLE_CONV_LOCALTEST_STUB.MQReply.ComIbmMQOutput'. An exception has been thrown to cut short the processing of the message.
 
 See the following messages for details of the error.
 
 
 ( LOCALBR.default ) Message Translation Interface Writing Errors have occurred:
 Message Set Name  : ''CSRV.ROLLNO_SERVICE.SERVER''
 Message Set Level : '1'
 Message Format    : ''CWF''
 Message Type Path : ''CSRV.ROLLNO_ACCTNO_SERVICE.OUT''
 
 Review further error messages for an indication to the cause of the errors.
 
 ( LOCALBR.default ) Custom Wire Format error while parsing/writing message ''CSRV.ROLLNO_ACCTNO_SERVICE.OUT''.
 
 ( LOCALBR.default ) Custom Wire Format writing error. While writing the message quoted above, the CWF writer encountered an error.
 The error occurred during or after the writing of element ''/CSRV.ROLLNO_ACCTNO_SERVICE.OUT/LK_ROLLNO_OUT_AREA/LK_ROLLNO_OUT_DETAILS''.
 
 Check that you have built the message correctly.
 See following messages for more details.
 
 ( LOCALBR.default ) Common Parser Interface: Internal error accessing PWFData object. Diagnostic information: 'Logical type not equal to binary'.
 
 An error occurred while accessing the data of an element.
 
 This is an internal error. Please contact your IBM support center.
 
 
 hope This would be giving you more information.
 _________________
 Jogi
 |  | 
		
		  | Back to top |  | 
		
		  |  | 
		
		  | jefflowrey | 
			  
				|  Posted: Thu Apr 24, 2008 5:07 am    Post subject: |   |  | 
		
		  | Grand Poobah
 
 
 Joined: 16 Oct 2002Posts: 19981
 
 
 | 
			  
				| So the problem is with the field 
 CSRV.ROLLNO_ACCTNO_SERVICE.OUT/LK_ROLLNO_OUT_AREA/LK_ROLLNO_OUT_DETAILS
 
 Or the field before it or after it.
 _________________
 I am *not* the model of the modern major general.
 |  | 
		
		  | Back to top |  | 
		
		  |  | 
		
		  | kimbert | 
			  
				|  Posted: Thu Apr 24, 2008 5:22 am    Post subject: |   |  | 
		
		  |  Jedi Council
 
 
 Joined: 29 Jul 2003Posts: 5543
 Location: Southampton
 
 | 
			  
				| CSRV.ROLLNO_ACCTNO_SERVICE.OUT/LK_ROLLNO_OUT_AREA/LK_ROLLNO_OUT_DETAILS  should be of type BLOB. |  | 
		
		  | Back to top |  | 
		
		  |  | 
		
		  | jpeela | 
			  
				|  Posted: Thu Apr 24, 2008 9:19 pm    Post subject: |   |  | 
		
		  |  Centurion
 
 
 Joined: 23 Jan 2006Posts: 139
 
 
 | 
			  
				| Hi gone through in the ibm help some where as shown like this. 
 
 
   
	| Quote: |  
	| Generating binary data 
 You can generate binary data in your output XML in either hexBinary or base64Binary encoding.
 
 For hexBinary, use the ESQL CAST statement to convert your BLOB data to a hexBinary string
 
 |  
 so now i need to get blob data and cast to hexbinary string.
 
 
   
	| Quote: |  
	| CSRV.ROLLNO_ACCTNO_SERVICE.OUT/LK_ROLLNO_OUT_AREA/LK_ROLLNO_OUT_DETAILS should be of type BLOB. 
 |  
 so i used asBitstream function converted into blob but my question is now to convert this (cast to) hexbinary.
 
 i didnot find this hexbinary type to be casted in esql , can you please help me in clearing this doubt, what it actually means
 _________________
 Jogi
 |  | 
		
		  | Back to top |  | 
		
		  |  | 
		
		  | kimbert | 
			  
				|  Posted: Fri Apr 25, 2008 1:45 am    Post subject: |   |  | 
		
		  |  Jedi Council
 
 
 Joined: 29 Jul 2003Posts: 5543
 Location: Southampton
 
 | 
			  
				| 
  No,  that's wrong. You need to make sure that CSRV.ROLLNO_ACCTNO_SERVICE.OUT/LK_ROLLNO_OUT_AREA/LK_ROLLNO_OUT_DETAILS is of type BLOB. It is probably CHARACTER right now. So you need to CAST from the CHARACTER value to BLOB and assign the result to CSRV.ROLLNO_ACCTNO_SERVICE.OUT/LK_ROLLNO_OUT_AREA/LK_ROLLNO_OUT_DETAILS 
	| Quote: |  
	| so now i need to get blob data and cast to hexbinary string |  |  | 
		
		  | Back to top |  | 
		
		  |  | 
		
		  | jpeela | 
			  
				|  Posted: Fri Apr 25, 2008 1:52 am    Post subject: |   |  | 
		
		  |  Centurion
 
 
 Joined: 23 Jan 2006Posts: 139
 
 
 | 
			  
				| hi kimbert , 
 But in the message set which is of type CWF the above mentioned field is set to hexbinary. so this is creating problem. when we actually are givin some character or any other data type it is throwing an error as ivalid data. so we are not able to set this . any suggessions.
 _________________
 Jogi
 |  | 
		
		  | Back to top |  | 
		
		  |  | 
		
		  | kimbert | 
			  
				|  Posted: Fri Apr 25, 2008 2:50 am    Post subject: |   |  | 
		
		  |  Jedi Council
 
 
 Joined: 29 Jul 2003Posts: 5543
 Location: Southampton
 
 | 
			  
				| 
  You mean that in the message definition, this element has a physical type of hexBinary 
	| Quote: |  
	| But in the message set which is of type CWF the above mentioned field is set to hexbinary |  
 
 
  I'm not surprised. It needs a BLOB. 
	| Quote: |  
	| when we actually are givin some character or any other data type it is throwing an error as ivalid data |  
 
 
 
  Yes. Change the data type of your field to BLOB using the CAST statement. 
	| Quote: |  
	| so we are not able to set this . any suggessions. |  |  | 
		
		  | Back to top |  | 
		
		  |  | 
		
		  | jpeela | 
			  
				|  Posted: Fri Apr 25, 2008 4:03 am    Post subject: |   |  | 
		
		  |  Centurion
 
 
 Joined: 23 Jan 2006Posts: 139
 
 
 | 
			  
				| Hi Kimbert, 
 Actually the element has a physical type of hexBinary .So I tried to cast the data to blob and try to pass data to that element.At that time it is expecting Default value for that element.So I have given default value as X'00'.At that time I am getting the error
 
   
	| Quote: |  
	| Logical type not equal to binary |  If i removed the default value ,it is saying checkDefaultValue .
 
 Am I going anywhere wrong?
 _________________
 Jogi
 |  | 
		
		  | Back to top |  | 
		
		  |  | 
		
		  | jefflowrey | 
			  
				|  Posted: Fri Apr 25, 2008 4:05 am    Post subject: |   |  | 
		
		  | Grand Poobah
 
 
 Joined: 16 Oct 2002Posts: 19981
 
 
 | 
			  
				| The CAST should be working.  What's the code? _________________
 I am *not* the model of the modern major general.
 |  | 
		
		  | Back to top |  | 
		
		  |  | 
		
		  | jpeela | 
			  
				|  Posted: Fri Apr 25, 2008 4:46 am    Post subject: |   |  | 
		
		  |  Centurion
 
 
 Joined: 23 Jan 2006Posts: 139
 
 
 | 
			  
				| Hi Jefflowery, 
 For time being we actually hard coded it as this
 
 set OutputRoot.MRM."LK_ROLLNO_OUT_AREA".LK_ROLLNO_OUT_DETAILS.LK_ROLLNO_OUT_AREA_X.LK_RN_O_SORTCODE_X = CAST('0101' as BLOB);
 
 even then this is throwing an error.
 _________________
 Jogi
 |  | 
		
		  | Back to top |  | 
		
		  |  | 
		
		  |  |