我对某些服务有一个奇怪的问题。我不是开发人员,我是系统管理员。
我们在开发环境中运行了一些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文档。
请帮忙。我完全难过了。
答案 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>