26-05-23 04:00 PM
Hi all,
I wonder if anyone has had a similar experience. I have exposed a business object that simply adds items to a work queue. the Business Object accepts a collection for this test the collection is one field called product that is of type text. I use the work queue action, "Add item to work queue", I define the input parameters and I have an output collection "Item IDs" for the output Item IDs of the work queue.
When I run this object withing BP with the debug tools and a single row of dummy data, this all works fine.
When I send the same data from Appian to the Business Object, I get the following error:
ERROR: Internal : Collection fields are defined but cannot be matched to the incoming collection - The collection definition does not contain the field Item ID |
the item is successfully added to the BluePrism Queue but for some reason the output "Item IDs" seems to be related to the issue, but only when I send the data from Appian. I tried to add a field called "Item ID" to the dictionary that is send from Appian, just to test but this has no effect, and the same error is delivered to Appian as a response.
We have BluePrism 7.2 but no hub installed at present.
Answered! Go to Answer.
29-05-23 04:07 AM
Hi Thomas,
Looks like there is an issue with variable name defined in the Appian and Blue Prism object. If you are passing a dictionary with "Item ID" as a field from Appian, then the input collection which is to be passed in to "Add to work queue action" should have similar field called "Item ID". Refer below.
Regards,
Athiban
29-05-23 04:07 AM
Hi Thomas,
Looks like there is an issue with variable name defined in the Appian and Blue Prism object. If you are passing a dictionary with "Item ID" as a field from Appian, then the input collection which is to be passed in to "Add to work queue action" should have similar field called "Item ID". Refer below.
Regards,
Athiban
30-05-23 05:40 AM
Hi Athiban,
Thank for the great response.
I don't have a variable named "Item ID" that I'm passing from Appian to Blue Prism, there is the (default) output variable that is required for the "Add To Work Queue" Object but I am not passing this as a variable. I only have one variable set up to be passed into the input collection, which is a variable called "Product".
the item I pass to Blue Prism is successfully added to the work queue, but then the process fails to complete, assumably related to the output variable "Item ID" but I am not sure why, as when I trigger the process within Blue Prism using the debug tool the process runs and completes successfully.
30-05-23 07:51 AM
Hi Thomas,
Thanks for explaining your problem. did you define any fields in "ids" output collection?
Regards,
Athiban
30-05-23 08:46 AM
this is where I stored the output variable "Item ID" from the work Queue action.
Update:
I have just removed the field definition on the ids variable, meaning its now a blank collection and this has allowed to process to complete successfully. thank you for your help, Athiban.
I did not know that having the collection defined would cause a SOAP error when the object is called, I assumed that because I was not passing the collection into the start or end parameter, that this collection would be ignored with regards to the process parameters required. good to know.
Best,
Thomas
30-05-23 11:18 AM
Hello Thomas,
Glad to hear that you were able to resolve the issue. The issue is not related with your SOAP design. By default, output collection in the Add to queue action will expect a field called "Item ID". Since you had mapped a user defined collection to the output collection, BP was expecting the "Item ID" field in the output collection. Hence it has thrown the below error "Internal: Collection fields are defined but cannot be matched to the incoming collection - The collection definition does not contain the field Item ID".
(Note: If we map collection without defining any fields then BP just creates the "Item ID" field on its own)