Or leave us a private message

UAT-2.7.5.0 - Getting hangfire error at the time of resume suspend tool
PriceIncreaseByMandate.bite
newjourney (2).log
In local environment, sometime it gives "Resume node not found" error. but After restart of warewolf service. it is working fine. Price increase journey have 2 suspend tool in workflow but both are working fine in local environment. But on Dev environment it is failing Randomly. Out of 10 it is failing almost 7 times. I am providing here, workflow and server log.
Yes it new workflow.
Hangfir giving below error:
{"FailedAt":"2022-04-18T05:28:31.2801372Z","ExceptionType":"System.InvalidOperationException","ExceptionMessage":"Error resuming. ServiceAction is null for Resource ID:ae105df3-9dc5-437e-ba21-e93dd6a0f356","ExceptionDetails":"System.InvalidOperationException: Error resuming. ServiceAction is null for Resource ID:ae105df3-9dc5-437e-ba21-e93dd6a0f356 ---> System.Exception: Error resuming. ServiceAction is null for Resource ID:ae105df3-9dc5-437e-ba21-e93dd6a0f356\r\n --- End of inner exception stack trace ---\r\n at HangfireServer.ResumptionAttribute.OnPerformResume(PerformingContext context) in Y:\\WOLF-INST-COMREL\\Dev\\Warewolf.HangfireServer\\ResumptionAttribute.cs:line 94\r\n at Hangfire.Profiling.ProfilerExtensions.InvokeAction[TInstance](InstanceAction`1 tuple)\r\n at Hangfire.Profiling.SlowLogProfiler.InvokeMeasured[TInstance,TResult](TInstance instance, Func`2 action, String message)\r\n at Hangfire.Profiling.ProfilerExtensions.InvokeMeasured[TInstance](IProfiler profiler, TInstance instance, Action`1 action, String message)\r\n at Hangfire.Server.BackgroundJobPerformer.InvokePerformFilter(IServerFilter filter, PerformingContext preContext, Func`1 continuation)"}

For each loop issue: All Recordset index values not passing into child workflow
Hi,
I have noticed that All the values of recordset are not passing into child workflow for each loop. I have checked this same behavior into the Select & Apply tool and it's working fine.
Please check the sample attached workflows & issue into screenshot.
forloop_recordset_all_values_not_pass_issue....png
ForLoopIssue-MainWorkflow (1).bite
ForLoopIssue-ChildWorkflow (1).bite
It looks like the For Each is getting confused with 2 different recordset inputs: User(*) and Benefit(*)
Gandalf 5 months ago
Change For Each to use No. of Executes = 3 and see different result. This is from the tool handeling the replacement of * differently and incorectly.
Yogesh Rajpurohit yesterday at 9:13 a.m.We have checked and found that the sequence of BenifitID in User Payload is incorrect so we changed the sequence and checked the result. Output is coming properly.
Attached are the Edited Workflows.
ForLoopIssue-ChildWorkflow (2).bite
ForLoopIssue-MainWorkflow (2).bite

Suspend Tool Failing
There is a problem with the suspend tool. I have two workflows created in 2.6.6.0, one works fine and the other does not.
Works fine: SuspendToolTest
Does not work: suspendtest
suspendtest.bite
SuspendToolTest.bite

Date Time and Debug not correct
Please see attached workflow. When passing the following JSON as input:
{
"dateTime": "2020-04-14T09:20:18.982Z"
}
Even though the JSON is valid and I have specified the DateTime Input Format correctly when I debug I get an error that the Input String is not in the correct format. However when I 'View in Browser' it does not show an error. Furthermore the debug input of the tool does not show the input due to the error.
PS. I got this to work by making the input format my current system format as it turned out, internally the Newtonsoft de-serializer interprets the DateTime into the system format. This is however hidden from user and would be difficult to find.
I think showing the Debug Input values would help the user see what value was actually being used and then they could adjust the format based on that. There is a case for saying that the format should not have changed without me explicitly doing so.

RabbitMQ limitations (messages per second)?
Hello,
is there any limitation on the RabbitMQ Publish Module?
In my case, I have one recordset with about 60000 different numbers. Now I want to publish this to RabbitMQ. But I only got a message rate of max. 20/s. That's not so fast. With other tools I reached over 20000 per second.
During the job runs, I've checked the system performance.
CPU: < 25%
RAM: 2,5Gb / 8Gb
How much messages can WareWolf send to RabbitMQ?
Thanks!

Executing javascript (question and ideas)
What javascript execution engine is used? I have having issues with scripts as some functions are not working properly.
Problem 1:
"testString".endsWith("g");
is valid javascript and works with node and browsers. This should return true.
However running this as a script in a workflow results in an error due to it not being a function.
Problem 2:
If I use variables in the script the strings are not escaped.
Variable:
[[testPath]] = "C:\test"
In script:
"[[testPath]]" => "c:est"
Suggestions:
I think it would be very powerful to use node.js as the javascript execution as it is so widely used. Edge.js is a c# library that allows node to easily be executed from .Net. I haven't researched it much but may be an option.
As far as escaping strings you could predefine them all on a javascript object that the script runs in. Instead of using [[varName]] we could just use $ww.varName if we use $ww as the example object that Warewolf populates. This would take care of string escaping problems and even allow complex objects to be manipulated as expected while coding javascript.

Hi Playsted,
We will look into updating the library in a coming version.
Thanks for the suggestion and thinking on this we will definitely consider it.

Workflow Persistence
Hello,
Is workflow state persisted? Can long running workflows (for example if waiting for user interaction/approval) be resumed on server restart? I know workflow foundation supports this (if enabled) but didn't see any specifics in documentation.
Thanks

Hi Playsted,
We have moved away from using the Workflow Foundation engine and in doing so we did not have an immediate requirement from any of our customers to support workflow persistence, and so we did not implement it. So at present there is no state persistence in Warewolf, however should the requirement arise in the market then we can implement it.
Thanks

File already exists
When trying to write a file, I keep getting the error: File already exists.
This was working before as the tool is set to overwrite and nothing has changed, it just stopped working.
version 0.6.0.301
windows 10

1. Open c:\windows\temp
2. Delete *.tmp files
Windows workflow foundation creates these files at run time when certain tools are executed.

Format Number tool giving error on valid numbers!
Hi
Im passing a recordset of numbers into the Format Number tool and I keep getting an error in the debug: One of the identified items was in an invalid format.
Everything works until I start passing in decimal numbers, regardless of if I try and round them or not.
I have checked my computer regional settings and they are correct for the numbers I am using e.g. 200.0876 and regional settings says use a full stop . for Decimal Symbol.
I dont know what else to do, please help.

Executing Warewolf service in javascript
I saw the example for executing a warewolf service using Javascript in the examples folder. However i tried doing it using jQuery as so
<script type="text/javascript">
function execution() {
var wareWolfUrl = "http://localhost:3142/services/Hello World.json
$.ajax({
type: "GET",
url: wareWolfUrl,
cache: false,
success: function (response) {
console.log(response);
},
error: function (errorThrown) {
console.log(errorThrown);
},
complete: function (e) {
console.log(e);
}
});
}
</script>
i am getting the following error:
XMLHttpRequest cannot load http://localhost:3142/services/Hello%20World.json? No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:23128' is therefore not allowed a... response had HTTP status code 401.
Am i doing something wrong or is the way in the sample the only way that the service can be executed.
Thanks
Customer support service by UserEcho