BizTalk 未向 ASP.Net 核心 Web.API 服务提交所需的凭据
BizTalk is not submitting required credentials to ASP.Net Core Web.API service
我们正在尝试将 Biztalk 用作 Web.API 服务的客户端,该服务是使用 ASP.net Core w/ .Net Framework 4.6.2 编写的。该服务使用 Windows 身份验证并且不允许匿名访问。此时我们无法通过 Biztalk 的请求发送 Windows 凭据。
在解决另一个没有使用 .Net Core 编写的测试服务时,我们能够获得 Windows 凭据。它使用.Net Framework 4.5.2。
我们认为我们可以编写一种适配器服务,它可以代表 Biztalk 服务器转发所需的凭据,但这看起来很笨拙。
Biztalk 开发人员告诉我他正在使用 WCF-WebHttp 适配器。
WCF-WebHttp 传输属性:
HTTP Method and URL Mapping
<BtsHttpUrlMapping>
<Operation Method="POST" Url="" />
EndPoint Identity (Default settings)
Binding Tab settings (Default settings )
Security Mode: TransportCredentialOnly
Transport client credential type: Windows
Behavior Tab (Default Settings)
Proxy: Use Send handler proxy settings
Outbound HTTP Headers: Content-Type: application/json
Outbound Message: GET
Send Pipeline: XmlToJSONSendPipeline
RemoveOuterEnvelope: True
Receive Pipeline: JSONToXmlReceivePipeline
RootNode: Response
Allow UnrecognizedMessage: False
REcoveraleInterchangeProcessing: False
ValidateDocument: False
在 WCF-WebHttp Behavior->EndpointBehavior 中添加 clientCredentials->Windows->allowedImpersonationLevel 将 Identity 更改为 Impersonation
这里有一个参考 link: Using IIS Authentication with ASP.NET Impersonation
我们正在尝试将 Biztalk 用作 Web.API 服务的客户端,该服务是使用 ASP.net Core w/ .Net Framework 4.6.2 编写的。该服务使用 Windows 身份验证并且不允许匿名访问。此时我们无法通过 Biztalk 的请求发送 Windows 凭据。 在解决另一个没有使用 .Net Core 编写的测试服务时,我们能够获得 Windows 凭据。它使用.Net Framework 4.5.2。 我们认为我们可以编写一种适配器服务,它可以代表 Biztalk 服务器转发所需的凭据,但这看起来很笨拙。 Biztalk 开发人员告诉我他正在使用 WCF-WebHttp 适配器。
WCF-WebHttp 传输属性:
HTTP Method and URL Mapping
<BtsHttpUrlMapping>
<Operation Method="POST" Url="" />
EndPoint Identity (Default settings)
Binding Tab settings (Default settings )
Security Mode: TransportCredentialOnly
Transport client credential type: Windows
Behavior Tab (Default Settings)
Proxy: Use Send handler proxy settings
Outbound HTTP Headers: Content-Type: application/json
Outbound Message: GET
Send Pipeline: XmlToJSONSendPipeline
RemoveOuterEnvelope: True
Receive Pipeline: JSONToXmlReceivePipeline
RootNode: Response
Allow UnrecognizedMessage: False
REcoveraleInterchangeProcessing: False
ValidateDocument: False
在 WCF-WebHttp Behavior->EndpointBehavior 中添加 clientCredentials->Windows->allowedImpersonationLevel 将 Identity 更改为 Impersonation
这里有一个参考 link: Using IIS Authentication with ASP.NET Impersonation