Для всех, кто интересуется этим, я просто создал собственный сервис WCF. Делает хорошую точку поиска, или даже здесь, на SO.
Вот пример того, о чем я говорю:
<system.serviceModel>
<bindings>
<customBinding>
<binding name="BinaryHTTP">
<binaryMessageEncoding/>
<httpTransport/>
</binding>
</customBinding>
</bindings>
<services>
<service name="MyServiceClassName" behaviorConfiguration="ServiceBehaviour">
<endpoint binding="customBinding" bindingConfiguration="BinaryHTTP"
name="MainService" contract="BaseNamespace.IMyService"
address="MyService"/>
<endpoint address="" behaviorConfiguration="webHttpEnablingBehavior"
binding="webHttpBinding" contract="BaseNamespace.IClientAccessPolicy" />
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
<host>
<baseAddresses>
<add baseAddress="http://localhost:80/" />
</baseAddresses>
</host>
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="ServiceBehaviour">
<!-- Enables public metadata, good for Add Service Reference in SL -->
<serviceMetadata httpGetEnabled="True"/>
<!-- Turn this off at the production level. -->
<serviceDebug includeExceptionDetailInFaults="True"/>
</behavior>
</serviceBehaviors>
<endpointBehaviors>
<behavior name="webHttpEnablingBehavior">
<webHttp/>
</behavior>
</endpointBehaviors>
</behaviors>
</system.serviceModel>
Этот пример был частично скопирован из образца размещенного сервиса, который находится в онлайн-галерее VS2010.
Интерфейс IClientAccessPolicy:
Imports System.ServiceModel
Imports System.ServiceModel.web
<ServiceContract()> _
Public Interface IClientAccessPolicy
<OperationContract(), WebGet(UriTemplate:="/clientaccesspolicy.xml")> _
Function GetPolicy() As IO.Stream
End Interface
Надеюсь, вы сможете это понять. Просто убедитесь, что ваша основная служба наследует IClientAccessPolicy и возвращает действительную.