tags:

views:

979

answers:

1

Should the WSDl only be accessible via the ".svc?wsdl" ? I have a service that has multiple endpoints. For example (in the 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>

If I go to: http://www.blah.com/Service.svc/Basic I get a 404 page error. When I go to http://www.blah.com/Service.svc?wsdl I see my wsdl and my 3 endpoints at the bottom of the page. Should I be able to get to the other endpoints via their address? I have a client that is using Axis2 to get to our services and I would like to use multiple endpoints for different clients. I know that I can add this to the serivce behavior:

<behavior name="MyServiceTypeBehavior">
  <serviceMetadata httpGetEnabled="true" httpGetUrl="Basic" />
  <serviceDebug includeExceptionDetailInFaults="true" />
  <dataContractSerializer maxItemsInObjectGraph="2147483646"/>
</behavior>

But I would have to create a service entry for each endpoint, right? Should I even be concerned about being able to access the endpoints via a URL?

Thanks

Daniel

+2  A: 

I think you might be over-thinking this. The WSDL will specify all endpoints and their policies. Clients can specify which endpoint to use for communication.

You don't need to navigate to the URL of the endpoint.

Randolpho
You are correct! I was over thinking it. I appreciate the answer!Daniel
DDiVita