【发布时间】:2017-05-02 07:18:22
【问题描述】:
我在 IIS 和 SOAP Web 服务上苦苦挣扎,需要提示。
我使用 BizTalk Orchestration 创建一个简单的 Web 服务,它调用一个 sql 存储过程(针对 BizTalk 进行部署并作为 WCF 服务发布)。 我碰巧让它在我的开发机器上工作,但是当我将服务传输到测试环境时,它没有按预期工作。
一开始,Webservice 本身已经发布,我可以通过下载 WSDL 文件并将其添加到 SoapUI 来订阅它。
但是,一旦我尝试调用请求,Web 服务器就会返回 HTTP 404 作为响应。如果我停止 BizTalk 编排,我会收到 HTTP 500。 所以我猜 BizTalk 到 IIS 的连接是有效的。 但是不会有任何消息部署到 MessageBox(在 BizTalk 中,我在端口名称上过滤了消息)
部署了大约 30 个其他 WebService,它们都使用相同的 Web.config。它们链接到 IIS 中的同一个 AppPool。
我尝试过的事情:
为应用程序创建单个 IIS AppPool
检查目录和 BizTalk-/IIS-用户的权限是否正确
重新部署解决方案并将其重新发布为服务
是的,这是一个糟糕的声明,但它适用于我的开发机器。其配置与目标平台相同,但目标是集群系统。但我认为这不是问题。
来自 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>
【问题讨论】:
-
您的标题谈到 maxDate/minDate 但您的问题是关于 WS 连接性。是哪个?
-
你是对的,它保存了旧草稿,我没有更新它。 :-S
-
有很多事情会导致 BTS 出现“它在我的机器上工作”问题。 404 仅表示服务未正确发布。部署机制是否有足够的权限在 IIS 中创建虚拟目录等?
-
我是这么认为的,看到发布的数据和我工作的开发环境中的数据一样。我还确认了这些目录与其他目录具有相同的权限,在我的测试环境中运行 web 服务。
-
你是如何部署的?其他 30 项服务的部署方式是否相同?
标签: web-services wcf iis biztalk