【发布时间】:2009-05-19 20:17:42
【问题描述】:
WSDl 是否只能通过“.svc?wsdl”访问?我有一个具有多个端点的服务。例如(在 web.config 中):
<services>
<service behaviorConfiguration="MyServiceTypeBehavior" name="WcfService1.Service">
<endpoint binding="wsHttpBinding" bindingConfiguration="ws1"
name="ws1" contract="WcfService1.IMyService" />
<endpoint address="http://www.blah.com/Service.svc/Basic" binding="basicHttpBinding"
bindingConfiguration="Basic" name="Basic" contract="WcfService1.IMyService" />
<endpoint address="http://localhost:5606/Service.svc/Secured"
binding="wsHttpBinding" bindingConfiguration="WsSecured" name="WsSecured"
contract="WcfService1.IMyService" />
</service>
</services>
如果我转到:http://www.blah.com/Service.svc/Basic,我会收到 404 页面错误。当我转到http://www.blah.com/Service.svc?wsdl 时,我在页面底部看到了我的 wsdl 和我的 3 个端点。我应该能够通过他们的地址到达其他端点吗?我有一个使用 Axis2 访问我们的服务的客户端,我想为不同的客户端使用多个端点。我知道我可以将此添加到服务行为中:
<behavior name="MyServiceTypeBehavior">
<serviceMetadata httpGetEnabled="true" httpGetUrl="Basic" />
<serviceDebug includeExceptionDetailInFaults="true" />
<dataContractSerializer maxItemsInObjectGraph="2147483646"/>
</behavior>
但是我必须为每个端点创建一个服务条目,对吗?我是否应该担心能够通过 URL 访问端点?
谢谢
丹尼尔
【问题讨论】: