Skip to Content
0
Former Member
Feb 07, 2011 at 12:15 PM

Error control in BIU

90 Views

Hi all,

this is the scenario:

- external software tha call B1i with an synchronous web service and wait the response

- B1i with a BizPackage that manage the call with a synchronous web service

- BIU where the SOAP message from external software is checked and submitted to the include CALL_B1 (Call.bfd), and the response from CALL_B1 is formatted for the SOAP response that is sent to external system. The include CALL_B1 make call only through B1DI or JDBC.

If the CALL_B1 have success, i have a return message that i can sent as a response. If the CALL_B1 fail, in Main.bfd i don't receive anything and i can't send a response message. From the external software i get only an ERROR 500.

I would send the detail of the error encountered during the CALL_B1 phase, but it seems that the exception generated cannot reach the Main.bfd.

This is the Main.bfd:

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

http://www.w3.org/2001/XMLSchema-instance" xmlns="urn:com.sap.b1i.bizprocessor:bfdefinition" xsi:schemaLocation="urn:com.sap.b1i.bizprocessor:bfdefinition ../../com.sap.b1i.system/xsd/bizflow.xsd" active="true" name="MAIN" schemaversion="1.0">

<interface>

<description>XSLT transformation to convert from Sender object to Receiver object</description>

<inbound>

<propertylist>

</propertylist>

</inbound>

<outbound>

<propertylist/>

</outbound>

</interface>

<bizatoms>

<include name="CheckRequest">

<description>Check and format inbound request</description>

<subflow optional="false">

<intended bfxp_href="#/com.sap.b1i.datasync.pattern/SYS100_Call/xform2Hdr.bfd"/>

<propertylist>

<property bfxp_value="#/sim.com.sap.b1i.datasync.001/biu.Z.WS_CHARTS/CheckRequest.xsl" name="XSL"/>

</propertylist>

</subflow>

</include>

<include name="Call_B1" nslist="xmlns:b1im=&apos;urn:com.sap.b1i.sim:b1message&apos;" >

<description/>

<subflow optional="false">

<intended bfxp_href="#/com.sap.b1i.datasync.pattern/SYS100_Call/Call.bfd"/>

<propertylist>

<property bfxp_value="/node()/node()/node()/SYSTEM" name="SysId"/>

<property bfxp_value="/node()/node()/node()/TYPE" name="ConnectivityType"/>

<property bfxp_value="#/sim.com.sap.b1i.datasync.001/biu.Z.WS_CHARTS/FormatRequest.xsl" name="XSL"/>

</propertylist>

</subflow>

</include>

<xform name="BIUConvert" nslist="xmlns:b1im=&apos;urn:com.sap.b1i.sim:b1imessage&apos;xmlns:">

<description>Invoke XSLT file to convert import object to result object</description>

<rule optional="false" XSLprofile="jrexml">

<intended bfxp_href="#biu.Z.WS_CHARTS.xsl"/>

</rule>

</xform>

</bizatoms>

</bizflow2>

If CALL_B1 fail, no one message reach the xform BIUCOnvert.

Can someone tell me how i can get the message error from the include CALL_B1 and send it to the next step in Main.bfd?

Many thanks

Marco Gorga