首页 > 解决方案 > 将 ASMX 服务添加到 IIS 以与 Biztalk 一起使用

问题描述

我创建了一个本地 web 服务 (.asmx),我想将它添加到 IIS。该服务需要从 Biztalk 中的发送适配器调用。

我在 Visual Studio 中的项目结构如下:

在此处输入图像描述

有一个 .asmx 文件,其中包含一个 Web 方法,请参见下面的代码:

public class LocalWebService : System.Web.Services.WebService
    {
        private BankConnectClient client;
        [WebMethod]
        public void TransferPayment()
        {
            ProcessDirectory("C:\\Test\\BankConnectTestFiles");
        }

我对 IIS 不是很熟悉,所以我不知道添加此服务以在我的本地主机上运行的最佳方法。我尝试添加一个新网站并将项目文件夹放在 C:\inetpub\wwwroot 中,然后我在 IIS 中使用以下设置对其进行引用: 在此处输入图像描述

但是当我浏览到根目录http://localhost:61406/时,我收到一个 HTTP 错误 403.14。

将 asmx Web 服务部署到 IIS,然后使用 WCF-Custom 或 WCF-BasicHttp 适配器调用 Biztalk 的正确方法是什么?

标签: c#wcfiisbiztalkasmx

解决方案


看来问题已经解决了。服务 URL 需要 LocalWebService.asmx 后缀。
此外,据我所知,WCF 中的 BasicHttpBinding 旨在兼容 ASMX Web 服务,为什么不尝试使用 BasicHttpBinding 创建 WCF 服务。BizTalk 也支持这一点。
我做了一个demo,希望对你有用。
VS 模板。
在此处输入图像描述 将以下代码片段添加到默认 webconfig。

<protocolMapping>
  <add binding="basicHttpsBinding" scheme="https" />
  <!--add the following line to support http protocol-->
  <add binding="basicHttpBinding" scheme="http"/>
</protocolMapping>

然后将项目发布到 IIS 文件夹,并将 http 绑定添加到 IIS 站点绑定模块。我们可能需要启用 WCF 支持。结果。 如果有什么我可以帮忙的,请随时告诉我。
在此处输入图像描述

在此处输入图像描述


推荐阅读