标签: biztalk

部署BizTalk应用程序时出错 - 访问被拒绝.(HRESULT异常:0x80070005(E_ACCESSDENIED))

知道为什么我会得到这个拒绝访问权限的例外吗?

我正在从Visual Studio部署一个非常基本的BizTalk 2009项目.

错误DEPLOY:
访问被拒绝.(HRESULT异常:0x80070005(E_ACCESSDENIED))

错误DEPLOY:位于Microsoft.BizTalk.Deployment.BizTalkAssembly的Microsoft.BizTalk.Gac.Gac.InstallAssembly(String assemblyPathname,Boolean force)
上的Microsoft.BizTalk.Gac.Fusion.IAssemblyCache.InstallAssembly (AssemblyCacheInstallFlag flags,String manifestFilePath,FusionInstallReference referenceData).
Microsoft.BizTalk.Deployment.BizTalkAssembly.Deploy的Microsoft.BizTalk.Deployment.BizTalkAssembly.PrivateDeploy(String server,String database,String assemblyPathname,String applicationName)
中的.GacInstall(String assemblyLocation)(布尔值重新部署,字符串服务器,字符串数据库,字符串assemblyPathname,String group,String applicationName,ApplicationLog log)

错误DEPLOY:未指定的异常:"
访问被拒绝.(HRESULT异常:0x80070005(E_ACCESSDENIED))"

访问被拒绝.(HRESULT异常:0x80070005(E_ACCESSDENIED))

错误DEPLOY:访问被拒绝.(HRESULT异常:0x80070005(E_ACCESSDENIED))

:PerformingEndChangeRequestsWithRollBack

错误DEPLOY:无法添加资源.某些资源的更改请求失败.BizTalkAssemblyResourceManager无法完成结束类型更改请求.访问被拒绝.(HRESULT异常:0x80070005(E_ACCESSDENIED))

biztalk biztalk-2009

10
推荐指数
1
解决办法
9334
查看次数

模拟Biztalk请求 - 响应端口消耗的WebService

我正在使用BizUnit对我的Biztalk业务流程进行单元测试,但是一些业务流程使用WebService,并且测试这些似乎更像是集成测试而不是单元测试.

我熟悉使用模拟框架来模拟生成的代理对象,以便从Windows窗体应用程序测试Web服务,但我希望能够以更加集成的方式在请求 - 响应端口中执行此操作?

你会如何解决这个问题?

biztalk web-services mocking

9
推荐指数
1
解决办法
4323
查看次数

使用多个输入模式创建BizTalk映射

反正是否有"从头开始"创建具有多个输入模式的BizTalk映射?
即,不创建业务流程和转换形状,并在源中选择多个消息

mapping biztalk

9
推荐指数
2
解决办法
1万
查看次数

使用API​​ POST:REST webservices:body序列化

我正在尝试使用REST网络服务,请遵循以下指示:http://social.technet.microsoft.com/wiki/contents/articles/invoke-restful-web-services-with-biztalk-server-2010.aspx

但是,GET似乎工作正常,但POST失败了,因为不知何故,消息被序列化为字符串.

我明白了:

POST /my_app/12005ab0-1522-71e1-0dde-0a0801c50000 HTTP/1.1
Content-Type: application/xml; charset=utf-8
Host: bsmshell.inovaprime.com:81
Content-Length: 174
Expect: 100-continue
Accept-Encoding: gzip, deflate
Connection: Keep-Alive

<string xmlns="http://schemas.microsoft.com/2003/10/Serialization/">&lt;body xmlns="http://microsoft.com/schemas/samples/biztalkwebhttp/1.0"&gt;HelloWorld&lt;/body&gt;</string>
Run Code Online (Sandbox Code Playgroud)

代替:

POST /my_app/12005ab0-1522-71e1-0dde-0a0801c50000 HTTP/1.1
Content-Type: application/xml; charset=utf-8
Host: bsmshell.inovaprime.com:81
Content-Length: 174
Expect: 100-continue
Accept-Encoding: gzip, deflate
Connection: Keep-Alive

<body xmlns="http://microsoft.com/schemas/samples/biztalkwebhttp/1.0">HelloWorld</body>
Run Code Online (Sandbox Code Playgroud)

这有一条消息:12005ab0-1522-71e1-0dde-0a0801c50000 application/xml; charset = utf-8 HelloWorld

端口配置如文章中所示.

关于我看到这种行为的可能原因的任何指示?

谢谢

rest wcf biztalk

9
推荐指数
1
解决办法
740
查看次数

为什么WCF会忽略我的TokenProvider?

我有一个BizTalk WCF自定义接收位置,我已添加自定义行为:

public class SasTokenProviderEndpointBehavior : BehaviorExtensionElement, IEndpointBehavior
    {
        public void AddBindingParameters(ServiceEndpoint endpoint, BindingParameterCollection bindingParameters)
        {
                var tokenProvider = TokenProvider.CreateSharedAccessSignatureTokenProvider(sharedAccessSecretName, sharedAccessKey);
                bindingParameters.Add(new TransportClientEndpointBehavior { TokenProvider = tokenProvider });         
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

为简洁起见,省略了参数设置代码

这是根据https://code.msdn.microsoft.com/How-to-integrate-BizTalk-07fada58#content中的示例改编的- 该作者在BizTalk社区中受到广泛尊重,此类代码已被使用好几年了.我正在做的就是调整他使用的方法,这被证明有效,可以替换不同的TokenProvider.

我可以通过调试看到此代码运行并且具有正确参数的TransportClientEndpointBehavior被添加到通道中.但是,当BizTalk接收位置轮询Service Bus时,我在事件日志中看到以下内容:

适配器"WCF-Custom"引发了错误消息.详细信息"System.UnauthorizedAccessException:40102:缺少授权令牌,资源:sb:// [namespace] .servicebus.windows.net/[queue] .TrackingId:452c2534-d3e6-400f-874f-09be324e9e11_G27,SystemTracker:[namespace]. servicebus.windows.net:[queue],时间戳:12/1/2016 11:38:56 AM ---> System.ServiceModel.FaultException:40102:缺少授权令牌,资源:sb:// [namespace] .servicebus .windows.net/[queue] .TrackingId:452c2534-d3e6-400f-874f-09be324e9e11_G27,SystemTracker:[namespace] .servicebus.windows.net:[queue],时间戳:12/1/2016 11:38:56 AM

我看不出Azure Service Bus端点会返回此错误消息的任何原因,因为没有使用令牌提供程序.为什么频道会忽略TokenProvider,我必须做什么才能正确传递令牌?

编辑:

我已经检查了有问题的端口的原始WCF消息流量以及使用SB-Messaging适配器的流量,该适配器按预期工作.区别在于SB-Messaging适配器的消息包含SOAP标头,如:

<Authorization xmlns="http://schemas.microsoft.com/servicebus/2010/08/protocol/">SharedAccessSignature sr=[really long encoded string]</Authorization>而我的自定义绑定端口的消息没有.所以问题是缺少授权SOAP标头; 但问题仍然存在 - 为什么通道不添加此标题?

编辑#2:

我已经反编译了Microsoft.ServiceBus.dll,我相信我已经找到了实际创建WCF消息的类,Microsoft.ServiceBus.Messaging.Sbmp.SbmpMessageCreator.它有这个方法:

private Message CreateWcfMessageInternal(string action, object body, bool …
Run Code Online (Sandbox Code Playgroud)

wcf biztalk azureservicebus azure-servicebus-queues

9
推荐指数
1
解决办法
295
查看次数

BizTalk服务器问题

我们公司有一个biztalk服务器(一个虚拟的(1!)...)和一个保存数据的sql server.现在我们有很多数据流量.我说的是成千上万.所以我实际上不确定一台服务器是否相当安全,但我们的公司并不那么容易说服.

最近我们遇到了很多问题.

请允许我详细说明,所以我没有遗漏任何东西:

我们的服务器有5个应用:

  • 一个有3个编排,12个发送端口,16个接收位置.
  • 一个有4个业务流程,32个发送端口,20个接收位置.
  • 一个有4个编排,24个发送端口,20个接收位置.
  • 一个有47个(是47个)编排,37个发送端口,6个接收位置.
  • 一个具有几个资源的常见应用程序.

自从我们使用47个业务流程部署应用程序以来,我们遇到了问题.很多这些编排使用赋值形状,使用c#代码进行映射.这是因为我们使用HL7扩展,这是一种特殊的,所以通过使用c#code和xpath,映射更容易,因为很多这些模式看起来很相似.c#读入通过xpath接收的XmlNodes,并返回XmlNode,然后再将其分配给biztalk消息.我不确定这可能是原因,但我想我会提到它.

发送和接收端口有许多不同的类型:文件,MQSeries,SQL,MLLP,FTP.每种类型都有不同的主机实例,以平衡负载.我们的业务流程使用BiztalkApplication主机.

在这个服务器上还运行了几个脚本,主要是ftp上传脚本和拉链脚本,每天拉链文件每半小时压缩一次,并在一个月后删除zip文件.我们在备份文件上使用这个zipscript(我们备份很多,备份也在我们的服务器上),我们这样做是因为服务器在将文件发送到有很多(很多)文件的位置时出现问题,所以之后文件减少到拉链它变得更好.

现在我们最近遇到的问题主要是两个主要问题:

  • 我们最重要的问题如下.我们在队列中保留了一个包含大量消息的接收位置以进行测试.在我们启动这个使用47个业务流程的接收位置之后,正在运行的服务实例开始转向天空.好的,这很正常.假设大约10000,然后我们停止接收位置以查看biztalk如何处理这10000个实例.通常情况下它们会很快下降,有时会发生故障,但过了一段时间它会开始"节流",这意味着它们只是停止处理并且服务实例保持相同的数字,例如在30秒内它从10000下降到4000,然后它保持在4000并且非常非常缓慢地降低,例如在5分钟或者30分钟内降低30.所以这意味着,其他应用程序的所有其他服务实例也都停留在这里,并且它们也没有被处理.

我们注意到在重新启动主机实例后,实例编号再次快速下降.因此,我们尝试有选择地重新启动不同的主机实例以找到问题.我们注意到最终重新启动文件发送/接收主机实例就可以了.所以我们认为文件发送会成为问题.结合我们做了很多备份.所以我们用mqseries备份替换了文件类型备份.发生同样的问题,有趣的是,重新启动文件发送/接收主机仍然可以解决问题.

在事件查看器中也找不到任何错误.

  • 我们遇到的第二个问题是.有时在早上6点左右,全部或部分主机实例正在停止.

在事件查看器中,我们注意到以下错误(这些错误不止一个):

具有URL"SQL:// ZNACDBPEG/mdnd0001 /"的接收位置"MdnBericht SQL"正在关闭.详细信息:"已超出错误阈值.接收位置正在关闭.".

消息传递引擎无法将具有URL"\ m2mservices\Othello_import $\DataFilter Start*.xml"的接收位置"M2m Othello Export Start Bestand"添加到适配器"FILE".原因:"FILE适配器无法访问文件夹\ m2mservices\Othello_import $\DataFilter Start.验证此文件夹是否存在.错误:登录失败:未知用户名或密码错误."

FILE适配器无法访问文件夹\ m2mservices\Othello_import $\DataFilter Start.确认此文件夹存在.错误:登录失败:未知的用户名或密码错误.

尝试连接到服务器"ZNACDBBTS"上的"BizTalkMsgBoxDb"SQL Server数据库失败.错误:"用户登录失败".用户未与受信任的SQL Server连接关联.

似乎此时登录失败,因此其他服务也遇到问题,最终它们被关闭.

问题是,我们的用户是管理员,并且"有时"密码错误是不可能的.我们已经确认问题可能是由于基础设施问题,但这不是真正的部门.

我知道这是一个很长的帖子,但我们不确定该怎么做.添加另一台服务器并平衡负载会解决我们的问题吗?有没有办法确保我们的平衡,并知道从哪里开始拆分?什么是正常的负载等?

我感谢任何答案,因为这些问题越来越严重,我们也处于最后期限.

非常感谢您的回复!

c# sql-server xpath biztalk load-balancing

8
推荐指数
1
解决办法
3979
查看次数

在BizTalk中为什么导入和安装MSI文件?

我正在开发一个BizTalk项目,并且不了解安装(双击)和导入(使用biztalk管理控制台)的原因.

我有一个BizTalk项目,我添加了绑定到它的资源并导出了一个msi文件.现在我想在另一台服务器上安装该应用程序.

据我所知,这是MSI安装的作用:

  1. 将文件复制到文件系统
  2. 将程序集注册到GAC中
  3. 将应用程序添加到"添加/删除程序"小程序

但是,这是我的问题:

  1. 使用msi进行安装不会将应用程序添加到Biztalk管理控制台.我们需要导入msi.
  2. 使用msi卸载不会从GAC中删除程序集.它只删除它复制到文件系统的文件.卸载是否还要删除GAC程序集?
  3. 如果我只是导入MSI我能够启动我的biztalk应用程序,它似乎运行正常.结合问题#1和#2,为什么MSI需要?我可以看到只是导入不会将其添加到GAC,因此如果其他应用程序依赖它,它们将无法工作.

我确定我缺少msi提供的功能/配置,但有人可以帮助我理解为什么msi需要安装并导入到biztalk中以及为什么当你uninistall它没有完全卸载它安装的所有东西?

biztalk biztalk-2009

8
推荐指数
2
解决办法
5204
查看次数

获取xml记录中的最新日期

我的数据模型如下:

<Club>
<Captain>
<Name></Name>
<DateOfBirth>15-01-1985</DateOfBirth>
</Captain>
<PlayingStaff>
<Player>
<DateOfBirth>14-01-1993</DateOfBirth>
</Player>
<Player>
<DateOfBirth>07-12-1975</DateOfBirth>
</Player>
<Player>
<DateOfBirth>11-11-1991</DateOfBirth>
</Player>
</PlayingStaff>
</Club>
Run Code Online (Sandbox Code Playgroud)

我尝试过使用这里给出的答案:XSLT:获取最新日期,但它并没有给我任何价值.

我正试图让最年轻的玩家转到外部功能.

我在Biztalk中这样做,所以我必须坚持使用XSLT1

到目前为止我的工作如下:

<xsl:variable name="youngestPlayer">
            <xsl:for-each select="$ClubRoot/*[local-name()='PlayingStaff']/*[local-name()='Player']">
                <xsl:sort select="./*[local-name()='DateOfBirth']" order="descending"/>
                <xsl:if test="position() = 1">
                    <xsl:value-of select="DateOfBirth"/>
                </xsl:if>
            </xsl:for-each>
        </xsl:variable>
        <xsl:variable name="IsYoungestPlayerUnderAgeLimit" select="externalfunctionreturningboolean">
            <xsl:element name="blahhh"><xsl:value-of select="$IsYoungestPlayerUnderAgeLimit"/></xsl:element>
            <xsl:element name="blahhh"><xsl:value-of select="$youngestPlayer"/></xsl:element>
Run Code Online (Sandbox Code Playgroud)

这是一个大模板的一部分 - 我无法真正改变这一点,但ClubRoot的价值是" <xsl:variable name="ClubRoot" select="/*[1]"/>"确保我可以读取它的子节点.

我总是得到

<blahhh>false</blahhh>
<blahhh/> 
Run Code Online (Sandbox Code Playgroud)

作为我的调试值...所以我没有拿起我期望的值

有人可以突出我出错的地方吗?

从上面的数据中,我期望在我的youngestPlayer变量中得到14-01-1993的值.但它的空白.

xslt biztalk

8
推荐指数
1
解决办法
2521
查看次数

XSLT将顺序XML转换为分层XML

我需要将顺序XML节点列表转换为层次结构,但我遇到了一些特定于XSLT的知识差距.输入XML包含文章,颜色和大小.在下面的示例中,'Record1'是一篇文章,'Record2'代表一种颜色,'Record3'代表大小.颜色和大小(record2和record3)元素的数量可以变化.

<root>
 <Record1>...</Record1>
 <Record2>...</Record2>
 <Record3>...</Record3>
 <Record3>...</Record3>
 <Record2>...</Record2>
 <Record3>...</Record3>
 <Record3>...</Record3>
 <Record3>...</Record3>
 <Record3>...</Record3>
 <Record1>...</Record1>
 <Record2>...</Record2>
 <Record3>...</Record3>
 <Record3>...</Record3>
 <Record2>...</Record2>
 <Record3>...</Record3>
 <Record3>...</Record3>
 <Record3>...</Record3>
 <Record3>...</Record3>
</root> 
Run Code Online (Sandbox Code Playgroud)

所有字段都在相同的层次结构级别,但我仍然需要创建此结构作为输出:

<root>
 <article>              -> Record1
  <color>               -> Record2
   <size>...</size>     -> Record3
   <size>...</size>     -> Record3
  </color>
  <color>               -> Record2
   <size>...</size>     -> Record3
   <size>...</size>     -> Record3
   <size>...</size>     -> Record3
   <size>...</size>     -> Record3
  </color>
 </article>
 <article>              -> Record1
  <color>               -> Record2
   <size>...</size>     -> Record3
   <size>...</size>     -> Record3
  </color>
  <color>               -> Record2
   <size>...</size>     -> Record3
   <size>...</size>     -> Record3
   <size>...</size>     -> Record3
   <size>...</size>     -> …
Run Code Online (Sandbox Code Playgroud)

xslt biztalk xslt-1.0 biztalk-2009 biztalk-mapper

8
推荐指数
1
解决办法
1457
查看次数

Jitterbit与BizTalk

是否有人使用或调查过使用Jitterbit以及BizTalk?如果是这样,每个人的利弊是什么,你最后的解决方案是哪一个?

具体来说,我正在寻找SAP集成,但任何输入将不胜感激.

biztalk interface jitterbit

7
推荐指数
2
解决办法
3498
查看次数