Showing posts with label Wcf webHttpBinding And Sending Objects. Show all posts
Showing posts with label Wcf webHttpBinding And Sending Objects. Show all posts

Thursday, 19 January 2012

Wcf webHttpBinding And Sending Objects:-

While using webHttpBinding in wcf service we have to send json data.Wcf internally uses the DataContractSerializer to convert json data into objects.

WcfService:-
namespace WebHttpBindingXmlHttpRequestWcf
{
  [ServiceContract]
  public interface IService
  {
    [OperationContract]
          Person GetData(Person objPerson);
   }

  [DataContract]
  public class Person
  {
   [DataMember]
   public string Name { get; set; }

   [DataMember]
   public string Age { get; set; }

  }
 }    

namespace WebHttpBindingXmlHttpRequestWcf
{ 
   public class Service : IService
    {  
     public Person GetData(Person objPerson)
          
{
  
       return objPerson;
          
}
      
}
}

<system.serviceModel>
   <services>
     <service name="WebHttpBindingXmlHttpRequestWcf.Service">
       <endpoint address="webHttpBinding" 
binding="webHttpBinding" 
contract="WebHttpBindingXmlHttpRequestWcf.IService"
behaviorConfiguration="webHttpBindingEndpointBehavior">
       </endpoint>
     </service>
   </services>
    <behaviors>
       <endpointBehaviors>
         <behavior name="webHttpBindingEndpointBehavior">
           <enableWebScript/>
         </behavior>
       </endpointBehaviors>
   </behaviors>
 </system.serviceModel>

Javascript File:-

//call the wcf service
function callservice(objPerson)
{
      //url of the service
      var url=’’;

       //here the name(objPerson) must match with the name in the operation contract
       var data = '{"objPerson":' + $.toJSON(objPerson) + '}';

//jquery ajax function to call wcf service
$.ajax({ type: 'POST',
        async: true,
        url: url,
        contentType: 'application/json; charset=utf-8',
        data: data,
        success: function (res) { alert(‘success...’); },
        error: function (err) { alert(‘error occurred...’); }
    });
}



Let me know, if you have any feedback. Mail me for source code. Enjoy reading my articles…
sekhartechblog@gmail.com