4

I have an odd problem with some services. I am not the developer I am the sysadmin.

We have some SOAP services running in a development environment. Some SOAP services started to fail. Here is one example. These are both coming from the same web config.

        <endpoint address="http://<URL>/<folder>/service.svc"
                  binding="wsHttpBinding"
                  bindingConfiguration="wsHttpBinding"
                  contract="eConsentSvc.IeConsent"
                  name="WSHttpBinding_IeConsent" />

This one does not:

        <endpoint address="http://<URL>/<folder>/service.svc/mex"
                  binding="wsHttpBinding"
                  bindingConfiguration="wsHttpBindingText"
                  contract="MetaDataSvc.IMetaData"
                  name="WSHttpBinding_IMetaData">
        </endpoint>

This 2nd one throws a 404 error. The error generated is this:

There was no endpoint listening at http:////service.svc/mex that could accept the message.

The obvious difference is the "/mex." The developers insist that this has to be there so it has to be there. Why would it throw the 404 error with the MEX there?

If I remove the /mex then the service runs and generates the XML document it is supposed to create.

Please help. I am completely stumped.

1 Answers1

0

In this endpoint one cannot specify binding="wsHttpBinding" it has to one of the mex* bindings, for example: mexHttpBinding.
Another way would be to simply add another endpoint <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>
VMAtm
  • 27,943
  • 17
  • 79
  • 125