只能通过“.svc?wsdl”访问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访问端点?
由于
丹尼尔
答案 0 :(得分:4)
我想你可能会过度思考这个问题。 WSDL将指定所有端点及其策略。客户端可以指定用于通信的端点。
您无需导航到端点的URL。