知道为什么我会得到这个拒绝访问权限的例外吗?
我正在从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))
我正在使用BizUnit对我的Biztalk业务流程进行单元测试,但是一些业务流程使用WebService,并且测试这些似乎更像是集成测试而不是单元测试.
我熟悉使用模拟框架来模拟生成的代理对象,以便从Windows窗体应用程序测试Web服务,但我希望能够以更加集成的方式在请求 - 响应端口中执行此操作?
你会如何解决这个问题?
反正是否有"从头开始"创建具有多个输入模式的BizTalk映射?
即,不创建业务流程和转换形状,并在源中选择多个消息
我正在尝试使用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/"><body xmlns="http://microsoft.com/schemas/samples/biztalkwebhttp/1.0">HelloWorld</body></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
端口配置如文章中所示.
关于我看到这种行为的可能原因的任何指示?
谢谢
我有一个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) 我们公司有一个biztalk服务器(一个虚拟的(1!)...)和一个保存数据的sql server.现在我们有很多数据流量.我说的是成千上万.所以我实际上不确定一台服务器是否相当安全,但我们的公司并不那么容易说服.
最近我们遇到了很多问题.
请允许我详细说明,所以我没有遗漏任何东西:
我们的服务器有5个应用:
自从我们使用47个业务流程部署应用程序以来,我们遇到了问题.很多这些编排使用赋值形状,使用c#代码进行映射.这是因为我们使用HL7扩展,这是一种特殊的,所以通过使用c#code和xpath,映射更容易,因为很多这些模式看起来很相似.c#读入通过xpath接收的XmlNodes,并返回XmlNode,然后再将其分配给biztalk消息.我不确定这可能是原因,但我想我会提到它.
发送和接收端口有许多不同的类型:文件,MQSeries,SQL,MLLP,FTP.每种类型都有不同的主机实例,以平衡负载.我们的业务流程使用BiztalkApplication主机.
在这个服务器上还运行了几个脚本,主要是ftp上传脚本和拉链脚本,每天拉链文件每半小时压缩一次,并在一个月后删除zip文件.我们在备份文件上使用这个zipscript(我们备份很多,备份也在我们的服务器上),我们这样做是因为服务器在将文件发送到有很多(很多)文件的位置时出现问题,所以之后文件减少到拉链它变得更好.
现在我们最近遇到的问题主要是两个主要问题:
我们注意到在重新启动主机实例后,实例编号再次快速下降.因此,我们尝试有选择地重新启动不同的主机实例以找到问题.我们注意到最终重新启动文件发送/接收主机实例就可以了.所以我们认为文件发送会成为问题.结合我们做了很多备份.所以我们用mqseries备份替换了文件类型备份.发生同样的问题,有趣的是,重新启动文件发送/接收主机仍然可以解决问题.
在事件查看器中也找不到任何错误.
在事件查看器中,我们注意到以下错误(这些错误不止一个):
具有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连接关联.
似乎此时登录失败,因此其他服务也遇到问题,最终它们被关闭.
问题是,我们的用户是管理员,并且"有时"密码错误是不可能的.我们已经确认问题可能是由于基础设施问题,但这不是真正的部门.
我知道这是一个很长的帖子,但我们不确定该怎么做.添加另一台服务器并平衡负载会解决我们的问题吗?有没有办法确保我们的平衡,并知道从哪里开始拆分?什么是正常的负载等?
我感谢任何答案,因为这些问题越来越严重,我们也处于最后期限.
非常感谢您的回复!
我正在开发一个BizTalk项目,并且不了解安装(双击)和导入(使用biztalk管理控制台)的原因.
我有一个BizTalk项目,我添加了绑定到它的资源并导出了一个msi文件.现在我想在另一台服务器上安装该应用程序.
据我所知,这是MSI安装的作用:
但是,这是我的问题:
我确定我缺少msi提供的功能/配置,但有人可以帮助我理解为什么msi需要安装并导入到biztalk中以及为什么当你uninistall它没有完全卸载它安装的所有东西?
我的数据模型如下:
<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的值.但它的空白.
我需要将顺序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) 是否有人使用或调查过使用Jitterbit以及BizTalk?如果是这样,每个人的利弊是什么,你最后的解决方案是哪一个?
具体来说,我正在寻找SAP集成,但任何输入将不胜感激.
biztalk ×10
biztalk-2009 ×3
wcf ×2
xslt ×2
c# ×1
interface ×1
jitterbit ×1
mapping ×1
mocking ×1
rest ×1
sql-server ×1
web-services ×1
xpath ×1
xslt-1.0 ×1