I've been learning and building JSONP Web services using WCF on fx3.5. You can read some of the trials I had at http://stackoverflow.com/questions/1903022/net-asmx-returning-pure-json. I finally got a sample running but now I am I am dove tailing it into my app.
RivWorks.Web - the web site - located at http://dev.rivworks.com RivWorks.Web.Service - the new JSONP services - located in http://dev.rivworks.com/services - the web.config for the services reside here.
The web.config for the service:
<!-- WCF configuration -->
<system.serviceModel>
<behaviors>
<endpointBehaviors>
<behavior name="JsonpServiceBehavior">
<webHttp />
</behavior>
</endpointBehaviors>
</behaviors>
<services>
<service name="RivWorks.Web.Service.CustomerService">
<endpoint address=""
binding="customBinding"
bindingConfiguration="jsonpBinding"
behaviorConfiguration="JsonpServiceBehavior"
contract="RivWorks.Web.Service.ICustomerService" />
</service>
<service name="RivWorks.Web.Service.NegotiateService">
<endpoint address=""
binding="customBinding"
bindingConfiguration="jsonpBinding"
behaviorConfiguration="JsonpServiceBehavior"
contract="RivWorks.Web.Service.INegotiateService" />
</service>
</services>
<bindings>
<customBinding>
<binding name="jsonpBinding" >
<jsonpMessageEncoding />
<httpTransport manualAddressing="true"/>
</binding>
</customBinding>
</bindings>
<extensions>
<bindingElementExtensions>
<add name="jsonpMessageEncoding"
type="RivWorks.Web.Service.JSONP.JsonpBindingExtension
, RivWorks.Web.Service
, Version=1.0.0.0
, Culture=neutral
, PublicKeyToken=null"/>
</bindingElementExtensions>
</extensions>
</system.serviceModel>
I am getting the following error and I've tried everything I can think of to fix it. Found a few typos (Sevice instead of Service) sprinkled throughout my code. I am using the sample code found at http://msdn.microsoft.com/en-us/library/cc716898.aspx. Here is the error:
Configuration Error Description: An error occurred during the processing of a configuration file required to service this request. Please review the specific error details below and modify your configuration file appropriately.
Parser Error Message: The type 'RivWorks.Web.Service.JSONP.JsonpBindingExtension , RivWorks.Web.Service , Version=1.0.0.0 , Culture=neutral , PublicKeyToken=null' registered for extension 'jsonpMessageEncoding' could not be loaded.
Source Error:
Line 58: <customBinding>
Line 59: <binding name="jsonpBinding" >
Line 60: <jsonpMessageEncoding />
Line 61: <httpTransport manualAddressing="true"/>
Line 62: </binding>
Source File: C:\RivWorks\dev\services\web.config Line: 60
Version Information: Microsoft .NET Framework Version:2.0.50727.3603; ASP.NET Version:2.0.50727.3082
Does anyone have any ideas on what else I can check? There is a DLL called RivWorks.Web.Service.dll, it is being built and copied to the web site's bin directory. The services web.config is being copied to the web site's Services directory. I don't have anything conflicting in the web site's web.config. I've checked all spelling problems. Any help is appreciated!
-kb