user958015
user958015

Reputation: 21

adding behaviorConfiguration causes (415) Unsupported Media Type.HTTP GET Error

When I add in behaviorConfiguration I get the following from wcftester The remote server returned an error: (415) Unsupported Media Type.HTTP GET Error

service web.config

  <system.serviceModel>
    <services>
      <service  behaviorConfiguration="MaxConfig" name="MyRemoteHostService">
        <endpoint address="" binding="basicHttpBinding"
                  bindingConfiguration="BasicHttpBinding_MyRemoteHostService"
                  contract="My.Framework.Web.MyRemoteHostService" />

        <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
      </service>
    </services>
    <serviceHostingEnvironment aspNetCompatibilityEnabled="false"
      multipleSiteBindingsEnabled="true" />



    <bindings>
      <basicHttpBinding>
        <binding name="BasicHttpBinding_MyRemoteHostService"
            maxBufferPoolSize="2147483647"
            maxReceivedMessageSize="2147483647"
            maxBufferSize="2147483647">
          <readerQuotas
              maxArrayLength="2147483647"
              maxBytesPerRead="2147483647"
              maxDepth="2147483647"
              maxNameTableCharCount="2147483647"
              maxStringContentLength="2147483647" />
        </binding>
      </basicHttpBinding>
    </bindings>



    <behaviors>
      <serviceBehaviors>
        <behavior name="MaxConfig">
          <serviceMetadata httpGetEnabled="true" />
          <serviceDebug includeExceptionDetailInFaults="false" />
          <dataContractSerializer maxItemsInObjectGraph="2147483647" />
        </behavior>
      </serviceBehaviors>
    </behaviors>


  </system.serviceModel>

ServiceReferences.ClientConfig

  <system.serviceModel>
    <bindings>
      <basicHttpBinding>
        <binding name="BasicHttpBinding_MyRemoteHostService" maxBufferSize="2147483647"
          maxReceivedMessageSize="2147483647">
          <security mode="None" />
        </binding>
      </basicHttpBinding>
    </bindings>
    <client>
      <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
      <endpoint address="http://localhost:2622/MyRemoteHostService.svc"
        binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_MyRemoteHostService"
        contract="MyServiceReference.MyRemoteHostService" name="BasicHttpBinding_MyRemoteHostService" />
    </client>
  </system.serviceModel>

Error:

Cannot obtain Metadata from http://localhost:2622/MyRemoteHostService.svc If this is a Windows (R) Communication Foundation service to which you have access, please check that you have enabled metadata publishing at the specified address

The remote server returned an error: (415) Unsupported Media Type.HTTP GET Error URI: http://localhost:2622/MyRemoteHostService.svc The HTML document does not contain Web service discovery information.

Upvotes: 0

Views: 2062

Answers (1)

Adriaan Davel
Adriaan Davel

Reputation: 748

I got a 415 error message took me more than a day to find the cause, turns out that our web.config on the server is different to dev, it specifies a different binding which means the binding is different between the client (SL) and the wcf service on the server which seems to cause a 415 message (kinda makes sense). Your bindings above look correct, could be worth re-checking. Have you tried updating the service reference after adding the behaviorConfiguration, sometimes it works. Unfortunately HTTP error codes can be very misleading at times...

Upvotes: 1

Related Questions