Asp.net 当服务通过外部主机名返回wsdl html而不是预期的响应信封时

Asp.net 当服务通过外部主机名返回wsdl html而不是预期的响应信封时,asp.net,web-services,wcf,iis,wsdl,Asp.net,Web Services,Wcf,Iis,Wsdl,我在UAT web服务器上部署了一个IIS托管的WCF web服务。在IIS中,我在同一个web服务上有站点绑定——一个用于内部访问(例如:uat nodotsinternally),另一个用于外部访问(例如:mysvc.uat.mydomain.com) 当我使用SoapUI对内部主机名()进行测试时,它调用服务并按预期返回响应信封 当我使用SoapUI对外部主机名()进行测试时,它调用服务并返回WSDL-HTML,就像在web浏览器中看到的那样,而不是像预期的那样返回响应信封 我们需要通过防

我在UAT web服务器上部署了一个IIS托管的WCF web服务。在IIS中,我在同一个web服务上有站点绑定——一个用于内部访问(例如:uat nodotsinternally),另一个用于外部访问(例如:mysvc.uat.mydomain.com)

当我使用SoapUI对内部主机名()进行测试时,它调用服务并按预期返回响应信封

当我使用SoapUI对外部主机名()进行测试时,它调用服务并返回WSDL-HTML,就像在web浏览器中看到的那样,而不是像预期的那样返回响应信封

我们需要通过防火墙公开,以便与供应商进行测试。我们的外部客户机可以使用外部主机名浏览到我们的web服务,并在他们的web浏览器中接收回WSDL,但是当他们调用它时,它会失败,并出现302错误


我远非安全专家,但我相信我们的防火墙正在处理安全问题,然后通过http转发到UAT服务器。重定向和变体似乎在DNS的管理方式或IIS中的设置方面有所改变。是否有人对如何缩小范围以使对外部服务的调用能够工作提出了建议?

客户端收到302错误的问题是因为客户端没有向我们的web服务发送SOAP请求信封。客户端只是发送XML。

我们也有一个WCF服务,在SoapUI中,该服务在调用方法时返回WSDL HTML而不是预期的响应。这是一个支持SSL的服务,我们的解决方案是在创建请求后编辑端点URL,以便使用https而不是http。这是因为我们发现,出于某种原因,即使在创建请求时最初指定https,它也默认为http。以下是如何在SoapUI中编辑端点URL:

  • 在“请求”窗口中,单击URL上的下拉箭头
  • 选择[编辑当前..]
  • 将http更改为https,然后重试您的请求