I've been learning and building JSONP Web services using WCF on fx3.5. You can read some of the trials I had at .NET ASMX - Returning Pure JSON? I finally got a sample running but now I am I am dove tailing it into my app.
The web.config for the service:
<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 MSDN. 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.
Is the dll (RivWorks.Web.Service.dll) in the build output?
Next, try (for the "jsonpMessageEncoding" extension):
type="RivWorks.Web.Service.JSONP.JsonpBindingExtension, RivWorks.Web.Service, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"
Note the different spacing both in terms of " , "
and carriage returns.
After that, I would treble check the string. Write a console exe that references the dll you need (RivWorks.Web.Service), and output:
Console.WriteLine(
typeof(RivWorks.Web.Service.JSONP.JsonpBindingExtension)
.AssemblyQualifiedName);
That is the string you want in the xml, verbatim. Don't include any extra whitespace in this string.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With