我想通过biztalk编排动态端口在https连接上消耗put wcf服务。
XMLDocumentOutput(WCF.MaxReceivedMessageSize)= 2147483647;
XMLDocumentOutput(WCF.HttpMethodAndUrl) = @"<BtsHttpUrlMapping> <Operation Name='RestPUT' Method='PUT' /> </BtsHttpUrlMapping>";
XMLDocumentOutput(WCF.TransportClientCredentialType) = "Transport";
XMLDocumentOutput(WCF.SecurityMode)="Transport";
XMLDocumentOutput(WCF.UseSSO) = false;
XMLDocumentOutput(WCF.HttpHeaders) = "Authorization: Basic AbScSfKajfsalAbScSfKajfsalAbScSfKajfsal=";
PortName(Microsoft.XLANGs.BaseTypes.Address) = "https://example.com/url/url2";
PortName(Microsoft.XLANGs.BaseTypes.TransportType)="WCF-WSHttp";
url:https://example.com/url/url2方法:put
我无法消耗服务并获得以下错误 HTTP请求未经授权使用客户端认证方案"协商"。从服务器收到的身份验证标头是"。 找不到HTTP auth标题
服务器正在使用基本身份验证。
谢谢
我最终调用了C#方法并制作httpwebrequest。仍然想知道是否有人对此有爱。
自发布问题以来,您是否解决了问题?我认为您需要替换:
XMLDocumentOutput(WCF.HttpMethodAndUrl) = @"<BtsHttpUrlMapping> <Operation Name='RestPUT' Method='PUT' /> </BtsHttpUrlMapping>";
XMLDocumentOutput(WCF.TransportClientCredentialType) = "Transport";
with:
XMLDocumentOutput(WCF.Action) = "PUT";
XMLDocumentOutput(WCF.TransportClientCredentialType) = "Basic";
如果您要使用BizTalk Server管理控制台对话框,WCF-WSHTTP或其他方式手动配置非动态发送端口,您将看到对话框标签将与"编排表达式"对话框中的WCF属性匹配。
不确定是否应该使用wcf.httpheaders添加基本的AUTH凭据,因为Admin Console Dialog不会公开此。
您可能需要使用
XMLDocumentOutput(WCF.UserName) = "<username here>";
XMLDocumentOutput(WCF.Password) = "<password here>";