IIS Webservice,奇怪的 404 http 响应代码

IIS Webservice, weird 404 http response code

我正在努力使用 IIS 和 SOAP Web 服务,需要提示。

我使用 BizTalk Orchestration 创建一个简单的 Web 服务,它调用一个 sql 存储过程(针对 BizTalk 部署并发布为 WCF 服务)。 我碰巧让它在我的开发机器上工作,但是当我将服务传输到测试环境时它没有按预期工作。

首先发布了 Webservice 本身,我可以通过下载 WSDL 文件并将其添加到 SoapUI 来订阅它。

但是一旦我尝试调用请求,Web 服务器 returns 将 HTTP 404 作为响应。如果我停止 BizTalk Orchestration,我会收到 HTTP 500。 所以我猜 BizTalk 到 IIS 的连接有效。 但是不会有任何消息部署到 MessageBox(在 BizTalk 中,我在端口名称上过滤了消息)

部署了大约 30 个其他 Web 服务,它们都使用相同的 Web.config。它们链接到 IIS 中的同一个 AppPool。

我尝试过的事情:

是的,这是一个糟糕的陈述,但它适用于我的开发机器。其配置与目标平台相同,只是目标是集群系统。但我不认为那是问题。

IIS 的日志仅显示请求,但没有相关信息。 我真的不知道去哪里看。有人有想法吗?

编辑我:

SOAP 响应

   <body>
      <div id="header">
         <h1>Server Error</h1>
      </div>
      <div id="content">
         <div class="content-container">
            <fieldset>
               <h2>404 - File or directory not found.</h2>
               <h3>The resource you are looking for might have been removed, had its name changed, or is temporarily unavailable.</h3>
            </fieldset>
         </div>
      </div>
   </body>

我发现了问题。

在我们的测试环境和生产环境之前有一个内部负载平衡,它会自动将通信从 http 切换到 https。

BizTalk 中 WebService 的 WCF-CustomIsolated Receivelocation 具有 BasicHttpSecurityElement 的 basicHttpBinding 选项 none。这导致了 Http 404 not found 错误。将其设置为 "transport" 后,它能够处理负载均衡器中的 https 重写并且它起作用了。

404 未找到 = 传输安全失败。