In my limited experience with BizTalk it seems that BizTalk projects and Visual Studio version are somewhat locked to each other. For example, you can't open a BizTalk 2010 project in Visual Studio 2012, you have to have BizTalk 2013 components installed on your development machine in order to do so.
So, my question is this, will Visual Studio 2013 support BizTalk 2013 projects (or even possibly BizTalk 2010 projects for that matter) or will we be stuck using VS …
我有一个调用 WCF 服务的编排,它是一个 2 路请求/响应发送端口。就像这样:

我一直在试图找出一种方法让编排保持在发送形状之前的状态。这是希望当出现异常或端点关闭时,我可以恢复编排并让它尝试重新发送到端点。
我尝试将发送/接收形状包装在各种范围形状中,以便使其持续高于发送形状,但无济于事。我仔细阅读了 Seroter 的博客,并尝试了他帖子中建议的所有内容:
http://seroter.wordpress.com/2007/01/02/orchestration-handling-of-suspended-messages/
例如,如果我取下端点并向其发送,我会得到一个
System.ServiceModel.ServiceActivationException:无法激活请求的服务“ https://my-service.svc ”。服务实例将保持暂停状态,直到以管理方式恢复或终止。如果恢复,实例将从其最后的持久状态继续,并可能重新引发相同的意外异常。
这是可以预料的。正如它所说,实例在恢复时可能会重新抛出相同的异常(无论我尝试过什么)。
我尝试过的事情:
错误 1 原子作用域不能包含或调用包含“使用”端口或服务链接上的请求响应操作的发送和相应接收的服务或作用域
我不确定我还能尝试什么。基本上我要问的是,如何让编排保持在所包含图像中看到的“conWrapper”(或 sendRCMR... 上方的任何位置)形状?
在尝试编译包含相关集的业务流程时,我收到以下错误:
message data property <promoted property> in correlation <correlation> does not exist in message <messagename>
Orchestration引用了一个dll,其中包含HL7v2模式,其中提升的属性存在,但无论出于何种原因,编排/相关集在编译期间都看不到它,并且由于上述错误,项目将无法编译.
细节:
我现在在想
我有一个业务流程,它由两种类型的消息中的一种进入并行形状激活.消息通过ID和状态进行关联,然后执行业务流程的其余部分(并将消息合并为1).

我想设法一种方法来防止编排的脱水实例在2条消息中的一条未通过时发生.所以基本上,1个消息进来而另一个没有,业务流程实例在等待第二条消息时脱水.
我一直在做一堆搜索,并发现了一些不错的方法,如果这是串行护航,但它不是,并且消息的顺序无法保证.
例如,这篇文章在串行车队方面非常有用,但仍然不能满足我的要求.
我试着在自己的分支上使用每个消息的listen形状和第三个分支上的延迟,但是我知道如果你用listen激活,所有分支都必须激活,因为延迟形状不能激活一个编排,它会不编译.
任何建议,或者我应该放弃并创建一个单独的数据库,以便使用管道手动关联消息?
考虑一个 WCF 服务,其目的是让传输层需要客户端证书(客户端证书在 IIS 中设置为“必需”)。同样,消息层也会有用户名认证。
现在我已经看到这个问题了:
我可以在某种程度上理解那里发生的事情,并意识到 WCF 本质上不允许两者兼而有之。我在代码中执行了与上面引用的链接中的海报相同的步骤,并发现了相同的结果...正在传递消息级用户名凭据(在我的例子中是在 SOAP 标头中),但是客户端证书(尽管是在 VS 调试中查看请求客户端时附加)实际上并未由端点处理。
现在是让我感到困惑的部分。我决定对它进行一些破解。我想知道为什么它的工作原理与我想要的完全一样......它通过了 IIS 客户端证书要求,用户名被传递到 WCF 服务并且一切正常。然而,WCF 不允许我仅使用 WCF 配置文件或代码(我可以找到)来完成此操作。为什么?
// sets up a proxy client based on endpoint config
// basically just here to get the URL.
this.InitializeSubmitClient();
// these get used to create the HttpWebRequest
string url = this.submitClient.Endpoint.Address.ToString();
string action = "SubmitCDA";
// this deserializes an XML file which is the "shell" of SOAP document and inject username/password into SOAP Security node …Run Code Online (Sandbox Code Playgroud)