WCF with multiple endpoints accessing WSDL?

If WSDl is only accessible via ".svc? Wsdl"? I have a service with multiple endpoints. For example (in web.config file):

<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 reach other endpoints by their address? I have a client who uses Axis2 to access our services and I would like to use multiple endpoints for different clients. I know 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 need to create a service record for each endpoint, right? Should I even be worried about being able to access endpoints via URLs?

thanks

Daniel

-1


a source to share


1 answer


I think you might think about it. WSDL will define all endpoints and their policies. Clients can specify which endpoint to use for communication.



You don't need to navigate to the endpoint url.

+4


a source







All Articles