SOAP请求因MEX绑定而失败

时间:2014-03-28 20:02:03

标签: c# soap iis-6 wcf-binding windows-server-2003

我对某些服务有一个奇怪的问题。我不是开发人员,我是系统管理员。

我们在开发环境中运行了一些SOAP服务。一些SOAP服务开始失败。这是一个例子。这些都来自同一个网络配置。

        <endpoint address="http://<URL>/<folder>/service.svc"
                  binding="wsHttpBinding"
                  bindingConfiguration="wsHttpBinding"
                  contract="eConsentSvc.IeConsent"
                  name="WSHttpBinding_IeConsent" />

这个没有:

        <endpoint address="http://<URL>/<folder>/service.svc/mex"
                  binding="wsHttpBinding"
                  bindingConfiguration="wsHttpBindingText"
                  contract="MetaDataSvc.IMetaData"
                  name="WSHttpBinding_IMetaData">
        </endpoint>

第二个引发404错误。产生的错误是:

http://// service.svc/mex上没有可以接受该消息的端点。

明显的区别是&#34; / mex。&#34;开发人员坚持认为必须存在,所以它必须在那里。为什么它会在MEX中抛出404错误?

如果我删除/ mex,则服务运行并生成它应该创建的XML文档。

请帮忙。我完全难过了。

1 个答案:

答案 0 :(得分:0)

在此端点中,无法指定binding="wsHttpBinding" 它必须是mex*个绑定之一,例如:mexHttpBinding 另一种方法是简单地添加另一个端点<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"/>

<endpoint address="http://<URL>/<folder>/service.svc/mex"
              binding="wsHttpBinding"
              bindingConfiguration="wsHttpBindingText"
              contract="MetaDataSvc.IMetaData"
              name="WSHttpBinding_IMetaData">
</endpoint>