on 09-20-2016 9:11 AM
Hi,
I am using two separate steps,
Step1:HTTP Sync --- Void
The Call Scenario Step atom in step 1 calls step 2 asynchronously and the message is placed in the Inbound Internal Queue.
Step 2: Internal Queue --- B1 Object
Step 2 is defined with the inbound channel type set to Internal Queue. and with outbound channel type set to B1 Object.
But the messages are filtered and the result message says "No subscriber defined for message"
I also tried to use the atom "Put to internal queue" and I got the same result message.
Best regards
Jim
Hi,
Seems the “filter” it is not working as documented. see below.
Version:
B1iSN9.0 Version 1.22.6
Symptom
Messages always goes into “Filtered” even if the filters are fulfilled. Result Message: “No subscriber defined for message”
Criteria Field Definitions
Name | Selection Path | Filter Type | Default Step | Default Operator | |
B1Database | //*[local-name()='Payload' and ./@Role='S']//*[local-name()='MDMCustomer']/*[local-name()='MDM']/*[local-name()='B1Database'] | SenderReceiver | all | Equal to | |
B1System | //*[local-name()='Payload' and ./@Role='S']//*[local-name()='MDMCustomer']/*[local-name()='MDM']/*[local-name()='B1System'] | SenderReceiver | all | Equal to |
Seems the variable is not supported in the selection path.
Scenario Setup Wizard-Filter Definitions
It works if there is only one receiver is selected during the scenario setup wizard, but it is always says “No subscriber defined for message” if there are multiple receivers
Inbound message:
<?xml version="1.0" encoding="utf-8"?>
<MDMCustomer xmlns="http://xxx.com/common/mdm">
<MDM>
<B1System>APACB1</B1System>
<B1Database>IN01</B1Database>
</MDM>
…
</MDMCustomer>
Output Header information.
<Header>
…
<ReceiverList>
<Receiver Id="0010000114" filter="" sndfilter="//*[local-name()='MDMCustomer']/*[local-name()='MDM']/B1Database='IN01' and //*[local-name()='MDMCustomer']/*[local-name()='MDM']/B1System='APACB1'" subscribed="false"/>
<Receiver Id="0010000116" filter="" sndfilter="//*[local-name()='MDMCustomer']/*[local-name()='MDM']/B1Database='IN01' and //*[local-name()='MDMCustomer']/*[local-name()='MDM']/B1System='APACB1'" subscribed="false"/>
<Receiver Id="0010000117" filter="" sndfilter="//*[local-name()='MDMCustomer']/*[local-name()='MDM']/B1Database='IN01' and //*[local-name()='MDMCustomer']/*[local-name()='MDM']/B1System='APACB1'" subscribed="false"/>
</ReceiverList>
</Header>
Best regards
Jim
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Keep update on this:
Bascially it worked after I did following,
1. Online help " Configuring Sender Filter Definitions "
NOTE
If the defined filters do not work at runtime, and the integration framework does not display the filter in the input fields, and you can no longer save the definitions, there is a syntax error in your filter definitions. To resolve the issue, delete the com.sap.b1i.vplatform.scenarios.setup/ vPac.<package name> folder in the BizStore. Then, repeat the scenario package setup.
2. Originally I created two criteria fields with the sam filter type "SenderReceiver", now they are set to two different filter type. one is sent to "Sender",The another one is set to "SenderReceiver"
But, There is still a problem realted to "Define Sender Filter Definitions", I am very confusing, Why the filtered message ends up in "Failure", Not "Filter"?
Best regards
Jim
User | Count |
---|---|
91 | |
8 | |
7 | |
4 | |
4 | |
3 | |
3 | |
3 | |
3 | |
3 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.