Rehosting workflow designer - xml-serialization

I'm creating an application that rehost the workflow designer and that can load an xoml only workflow.
When I deserialize my xoml-only workflow. There is an error stating : {"Could not deserialize object. The type 'MyCustomActivity' could not be resolved."}
my xoml looks like this:
<SequentialWorkflowActivity x:Name="Workflow2" xmlns:ns0="clr-
namespace:MyCustomActivities;Assembly=MyCustomActivities, Version=1.0.0.0,
Culture=neutral, PublicKeyToken=null" xmlns:x="http://schemas.microsoft.com/winfx
/2006/xaml" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/workflow">
<ns0:MyCustomActivity x:Name="myCustomActivity1" /></SequentialWorkflowActivity>
I'm kinda stuck on this, my workflow is pretty basic. I just want to load it to see if I could see it.
MyCustomActivities is a library containing all my custom activities.

Found the problem was related to the fact that the library was not in the same folder as the designer.

Related

SOAP Request conversion error

Due to a NDA I cannot share any code so hopefully someone can help me here.
I'm trying to do a SOAP call to a backoffice of a client which works until I ask for the result. Now my project is divided into 3 separate project files
Main App (netcoreapp1.0)
Models (netcoreapp1.0)
Services (netcoreapp1.0)
When I execute the async task the following error occurs.
System.String, System.Private.CoreLib, Version=4.0.0.0,
Culture=neutral, PublicKeyToken=7cec85d7bea7798e is not assignable
from System.String[], System.Private.CoreLib, Version=4.0.0.0,
Culture=neutral, PublicKeyToken=7cec85d7bea7798e
What I can say about the call is that I assign a string to a class that contains one property (string). So I'm not exactly sure what is the problem here.
Hopefully someone had this problem before and can point me to the fix !
Tx
I had a similar problem. I had 2 dimensions arrays "array[][]", simply I changed the 2 dimensions array "array[][]" to 1 dimension array "array[]" and it works fine. Check this post:
https://forums.asp.net/t/1469891.aspx?Unable+to+generate+a+temporary+class+result+1+error+CS0030+

Error handling in activiti

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">

0x80048470 - Importing CRM Solution

I am trying to import an unmanaged solution but for some reason I am getting the following error:
Failure: 0x80048470 - The entity relationship role of the referencing entity is required when creating a new one-to-many entity relationship business_unit_new_contract.
It's interesting because I've opened the costumizations.xml and the relationship is there. Also, when I look up at the exported solution entity that has the relationship, the relationship is also displayed.
At first, I was receiving an 0x8004803A error as shown:
Failure: 0x8004803A - The import has failed because component of type 50 is not declared in the solution file as a root component. To fix this, import again using the XML file that was generated when you exported the solution.
So, I opened the solution.xml and added a new for that particular type, which was not in the file.
Has anyone ever experienced that? Also, This relationship shown is between businessunit and one of my entities.
Is there any way of fixing it through database? What would be the best solution?
Thanks in advance,
Dem
I'll just try to explain your second problem (0x8004803A), since it happened to me today.
By the way, this was one of the few times when 'Download log' was actually helpful (it contained the real error).
The import has failed because component of type 50 is not declared in the solution file as a root component.
Entity type code 50 apparently stands for (global) Application Ribbon. This can happen when manually adding the <RibbonXmlDiff /> section to customizations.xml. If this happens it is enough to add following line to solution.xml:
<RootComponents>
...
<RootComponent type="50" schemaName=":RibbonDiffXml" />
</RootComponents>

T4 and Edmx conflict - "input file appears to be using a schema version not supported by this template"

I'm getting a warning from the T4 when the input file is a EF5 edmx.
Running transformation: The input file appears to be using a schema
version not supported by this template. This may lead to compile
errors. Please use 'Add New Generated Item' to add an updated
template.
Any idea why this is happening?
I once got this issue once when I upgraded an old project to .NET Framework 4.7.
If that is the case here too, then the *.tt file is deprecated now. It is a T4 generator file, which will create C# source required to access your entity objects and needs to be replaced. Do the following to update it (assuming you're using database first approach):
Remove the current (deprecated) *.tt file (exclude it from project and delete it)
Open the *.edmx file in the solution explorer by double-clicking it. The data classes diagrams are opening up.
Right-Click on a free space in the data classes visualization (your EF data model) and select "Update model from database..." in the context menu
Specify and test data connection (to ensure it is successful)
Now what happens in the background is that a new *.tt file will be generated. Once that is completed, rebuild your solution and the error should disappear.
But be aware that you likely have to do more changes afterwards, because there have been a couple of breaking changes in the newer versions of EF, which I have described here.

Issue with transformation files in a nuget package

I am creating nuget packages for OSGeo.FDO and I am having the following issue.
FDO uses a providers.xml file that lists all the providers it can use. So I created a main package called OSGeo.FDO containing the following:
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<FeatureProviderRegistry/>
And then, I am creating a nuget package for each provider. In each one of them I include a providers.xml.transform with, for example, the following:
<FeatureProviderRegistry>
<FeatureProvider>
<Name>OSGeo.PostgreSQL.3.6</Name>
<DisplayName>OSGeo FDO Provider for PostgreSQL/PostGIS</DisplayName>
<Description>Read/write access to PostgreSQL/PostGIS-based data store. Supports spatial data types and spatial query operations.</Description>
<IsManaged>False</IsManaged>
<Version>3.6.0.4707</Version>
<FeatureDataObjectsVersion>3.6.0.4707</FeatureDataObjectsVersion>
<LibraryPath>.\PostgreSQLProvider.dll</LibraryPath>
</FeatureProvider>
</FeatureProviderRegistry>
When I install only one provider package, it works as expected, but once I install another one, it just doesn't change the providers.xml file at all. Although it tells me it has been modified and visual studio asks me if I want to reload it. I say I do, but it doesn't add anything to it.
Is there something wrong with what I'm doing?
The NuGet XML transform can be a little quirky. The way you can make this work if the schema allows it is to make each tag unique by adding an attribute. e.g. if you had
<FeatureProviderRegistry>
<FeatureProvider name="OSGeo.PostgreSQL.3.6">
etc...
</FeatureProvider>
</FeatureProviderRegistry>
And then
<FeatureProviderRegistry>
<FeatureProvider name="Other Name">
etc...
</FeatureProvider>
</FeatureProviderRegistry>
Then it should do what you want. I realize that this may not be the way you want your XML schema, but if you can do that, it can be a workaround.