Error handling in activiti - scala

I am trying to handle the web service exception in the workflow (activiti).Here I just created a sample process,where I am calling one of the web service through Service Task which throws an exception(no Sub process).
In order to handle that exception I have added the Boundary error event and gave the error reference as "myError"(same as in code). While I'm trying to deploy ,getting an error as
Attribute 'attachedToRef' must appear on element 'boundaryEvent'.
In activiti modeler i didn't find the attribute as 'attachedToRef'.
Here is the workflow process,which i want to deploy
Can anyone please help me out to resolve this error.

I don't think you can handle such exception in Activiti in such way. alternatively, what you can do is create a class, call your web service via this class and enter the same in the service task.
hope it helped...

You can create sub-process for error handling:
<process id="1" isClosed="false" isExecutable="true" processType="None">
**main process tasks**
<subProcess activiti:exclusive="true" id="eventSP" triggeredByEvent="true">
<startEvent id="startError" name="StartErrorEvent">
<errorEventDefinition id="_5"/>
</startEvent>
<serviceTask>
**tasks for error**
</serviceTask>
</subProcess>
</process>
For error sub-process you've to create separate class(or smth) and execute logic for error.
Or if you want to make exception like boundary read activiti user guide

This is basically because of activiti not able to figure out to which task the boundary event is attached.
To solve this try any one of the following:
Delete the boundary event and re-drag it on to the task again.
Try to add something like this to the xml file based on your id of the task and event.
<boundaryEvent id="BoundaryEventId" attachedToRef="ServiceTaskId">

Related

How to fix "Assembly "AjaxControlToolkit, Version=3.5.605" error on executing JMeter Script?

I have created a JMeter load test script for .Net Version 4.8 framework. It's successfully passed but on re-execution or on increasing thread group count it throws an error like "Assembly "AjaxControlToolkit, Version=3.5.60501.0, Culture=neutral, PublicKeyToken=28f01b0e84b6d53e" does not contain a script with hash code "de1feab2"." in View result Tree in JMeter.
Please let me know the exact steps to get it fixed for successful execution.
I think you need to pass view state value and ScriptManager’s hidden value while reposting it in .Net.
Below article may help u..
https://devio.wordpress.com/2012/07/12/configuring-jmeter-for-asp-net-sites/

jBoss Business Central Error Message when Opening Assets

To all
When trying to open an asset (DRL or Legency Test), I receive the message "Unable to complete your request. The following exception occurred: name is empty."
I can't find any hint what this means. My rules import from different projects which all can be accessed.
Does anybody have an idea what this could mean? Thank you very much already in advance.
big hug
Michael
I found out by myself. The external data objects configuration had an empty entry. So be careful when adding an external data object - you are able to add an empty row and Business Central let's you save this ... with the empty row causing the error described.
happy coding
Michael Lutz

Load Runner: InvokeMethod failure: Unable to deserialize non XmlElement node #text in path

I passing the following to LoadRunner:
<makeAtmPayment xmlns=\"http://[URL]" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\">"
"<billerId>BILL01</billerId>"
"<userId>950002</userId>"
"<productCode>P1</productCode>"
"<productParameter><value>923</value></productParameter>"
"<paymentChannel>PAY01</paymentChannel>"
"<paymentAmount>2</paymentAmount>"
"<convenienceFee>1.50</convenienceFee>"
"<effectiveDate>2011-04-14</effectiveDate>"
"<accountId xsi:nil=\"true\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"/>"
"<atmCardNumber>564373636363636</atmCardNumber>"
"<editedConfirmationId xsi:nil=\"true\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"/>"
"</makeAtmPayment>"
and it's throwing me the following error:
InvokeMethod failure: Unable to deserialize non XmlElement node #text in path '/makeAtmPayment/productParameter/name/#text'.
Can anyone give me any pointers on what I am doing wrong ?
Thanks!!
Try to change
<productParameter><value>923</value></productParameter>
To
<productParameter><name>923</name></productParameter>
I don't understand the double quotes. There is one missing at the very beginning and there is one without a slash after xmlns=\"http://[URL]". Could it be the problem?
Is this an XML of your own creation or one picked up off of a loadrunner recording? If it is the latter consider recording twice to see what differences get picked up that you need to accommodate during your development. If it is the former, then consider validating your XML through the application's business rules before submitting it via LoadRunner, just to ensure that the XML is sound independent of your testing tool

What does Siebel Error SBL-BPR-00176 mean?

My webapp talks to Siebel just fine in one test environment, but in another we are getting the following error message:
<Exception>
<Major No.>256</Major No.>
<Minor No.>6750384</Minor No.>
<Message>
The workflow/task engine cannot determine a next step while executing
process definition 'Dynamic Pricing Procedure'. The last step that it
executed was 'Start'.(SBL-BPR-00176)
</Message>
<DetailedMessage>Unknown<DetailedMessage>
</Exception>
Any idea about what the error message means and what we might do to get around it?
In short: There is something wrong with your workflow process 'Dynamic Pricing Procedure'
Specifically the conditions (branch of type 'Condition') for the next step (after a decision step) are not setup properly. Can not decide the 'next step' based on conditions setup thus you have SBL-BPR-00176.
You should fix your workflow: Try to do a validation on the workflow process or try to edit the conditional expressions in the Workflow Process Designer.

How do you debug problems with local storage? Trouble with "An error occurred while processing this request" in HandleBatchResponse

Cross-posted at MSDN.
I have a list of entity objects I'm trying to insert into a table in the local storage service. Using a data context class derived from the SampleClient TableStorageDataContext class, I create a new context object and add the entities with no issues. When I call context.SaveChanges(), an exception is ultimately thrown, but with sparingly little detail. I've run a profiler trace on SQL Server Express to see if the error originated there, and didn't find anything useful, which leads me to believe there's some issue in the local storage service, which I have no idea how to debug.
Here's the client code (F#):
let cxt0 = new WebRole.Models.TableDataContext()
entityList |> Seq.iter (fun n -> cxt0.AddObject("NutritionData", n))
let results = cxt0.SaveChanges()
I can set a breakpoint on the last of the above lines and stop execution and see that the cxt0 object contains all the entities to be added (>500K). After then continuing execution, the following exception is thrown:
System.Data.Services.Client.DataServiceRequestException:
"An error occurred while processing
this request."
at
System.Data.Services.Client.DataServiceContext.SaveAsyncResult.HandleBatchResponse()
at
System.Data.Services.Client.DataServiceContext.SaveAsyncResult.EndRequest()
at
System.Data.Services.Client.DataServiceContext.SaveChanges(SaveChangesOptions
options) at
System.Data.Services.Client.DataServiceContext.SaveChanges()
at
WorkerRole.SrDataProcessor.importSrData(FastFunc`2
pf, String blobName) in
C:\Users\Ben\Development\Projects\CloudProject\WorkerRole\SrDataProcessor.fs:line
76
The InnerException (pardon the brackets as I avoid the html tag scrubber):
System.Data.Services.Client.DataServiceClientException:
" [?xml version="1.0" encoding="utf-8"
standalone="yes"?] [error
xmlns="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata"]
[code][/code] [message
xml:lang="en-US"]An error occurred
while processing this
request.[/message] [/error] "
at
System.Data.Services.Client.DataServiceContext.SaveAsyncResult.d__1d.MoveNext()
In the HandleBatchResponse method, it appears that this error may be reported as it enumerates through the responses. Any ideas what might be calling this? The only thing left I've thought to check but haven't is to ensure that none of my entities have string properties that go past 1000 characters.
Update: Now I have, and it doesn't look like there are any. The following snippet produced an empty sequence:
let longEntities =
nutData |> Seq.choose (fun nd -> if HasLongStringProperties(nd)
then Some(nd) else None)
Also, more generally, how does one debug issues like this? Is there any way to get some introspection into the local storage service?
Update 2: I've since discovered that the "exception of origin", so to speak, is actually a System.WebException reporting an "Internal Server Error (500)", with no further detail. I've done everything I know to do to ensure that the data I'm trying to insert is compatible with the schema and data types in the tables in the SQL Server Express database backing the table service, and still I don't know what the issue is. The TableDataService just won't accept the object I'm inserting. See the MSDN thread for more details. I've also opened a bug on connect.
I was trying to do an extremely simple demo and I had the same problem but I was finally able to figure it out. By running against the development storage with logging turned on:
See:
http://blogs.msdn.com/b/partlycloudy/archive/2009/12/16/development-storage-logging.aspx
After starting the DevelopmentStorage, running my app, and then stopping the development storage and looking in the log folder I see:
9/17/2010 1:30:47 PM [Error] Caught exception during performing table operation and rethrow: System.Exception: c:\Users\Scott\AppData\Local\Temp\jvcl5gjz.0.cs(14,23) : error CS0542: 'Number': member names cannot be the same as their enclosing type
at Microsoft.Cis.Services.Nephos.Table.Service.Protocols.Rest.TableManager.EndPerformOperation(IAsyncResult ar) in x:\rd\rd_store_stable\services\xstore\XFE\table\service\Protocols\REST\src\TableManager.cs:line 184
at Microsoft.Cis.Services.Nephos.Table.Service.Protocols.Rest.TableProtocolHead.d__3e.MoveNext() in x:\rd\rd_store_stable\services\xstore\XFE\table\service\Protocols\REST\src\TableProtocolHead.cs:line 732
It turns out that my demo was too simple, because I had created a table called Number with a single column called Number...