cancel
Showing results for 
Search instead for 
Did you mean: 

For Each - Message_Is_Not_Wellformed

former_member247972
Participant
0 Kudos

I am new to B1if and am work with a scenario using a For Each atom.  I am receiving a Message_Is_Not_Wellformed after the atom.  Can someone point me in the right direction?

The message going into the for-each is as follows:

  <?xml version="1.0" encoding="utf-8" ?>

<Msg xmlns="urn:com.sap.b1i.vplatform:entity" MessageId="13073015453584472042C0A800EE4DEE" BeginTimeStamp="20130730154535" logmsg="0000" SubMessageId="" status="success" owntst="true" test="true">

<Header>

  <IPO Id="vPlatform_Test" />

  <Sender Id="" ObjId="Z.CustMatchMain" />

  <Receiver Id="" />

<ReceiverList>

  <Receiver Id="" handover="P" />

  </ReceiverList>

  <Identification Ident="Void" IdPar="n.a." />

  <nsList />

  <vBIU Id="Z.CustMatchMain" ver="1.0.0" SId="Z.HDStoSAP" filter="" phase="" />

<Variables>

  <var id="userid" value="" />

  <var id="username" value="" />

  </Variables>

  <Properties />

  <SysTypeProperties />

  <LocalProperties />

  <VarProperties />

  </Header>

<Body>

  <Payload Role="T" Type="Call" />

  <Payload Role="S">*** no test message specified ***</Payload>

<Payload Role="C" id="atom1" system="0010000118" mode="single" method="Automatic detection by key word(Automatic detection by key word)" plr="4" dbtype="SQL" blockExecution="false" compatibilityMode="true" delimiter=";" sql="select top 5 CardCode, COUNT(*) as Rows from Match where MATCH_LEVEL is not null and MATCH_LEVEL <> '' group by CardCode order by CardCode" disable-output-escaping="false">

<ResultSet xmlns="urn:com.sap.b1i.adapter:jdbcadapter" rowCount="5">

<Row>

  <CardCode>1000</CardCode>

  <Rows>3</Rows>

  </Row>

<Row>

  <CardCode>10000</CardCode>

  <Rows>2</Rows>

  </Row>

<Row>

  <CardCode>10002</CardCode>

  <Rows>3</Rows>

  </Row>

<Row>

  <CardCode>10003</CardCode>

  <Rows>2</Rows>

  </Row>

<Row>

  <CardCode>10004</CardCode>

  <Rows>4</Rows>

  </Row>

  </ResultSet>

  </Payload>

  </Body>

  </Msg>

     The expression used in the for-each is as follows:

     /vpf:Msg/vpf:Body/vpf:Payload[./@Role='C']/ResultSet//Row

     The message entering the to queue is as follows:

  

<?xml version="1.0" encoding="utf-8" ?>

<Message_Is_Not_Wellformed />

Any help here would be greatly appreciated.

Kind regards,

Tom Arnold





Accepted Solutions (1)

Accepted Solutions (1)

Former Member

Hi Thomas,

Try using the following expression in your for-each:

/vpf:Msg/vpf:Body/vpf:Payload[@Role='C']/jdbc:ResultSet/jdbc:Row

Also I recommend you to use the unbranching techniques, please refer to the screenshot below:

Kind regards,

Jeroen



former_member247972
Participant
0 Kudos

Excellent!!! Thanks.

Tom

Answers (0)