Click here to Skip to main content
12,998,483 members (105,020 online)
Rate this:
 
Please Sign up or sign in to vote.
See more:
Hi,

I have lot tried post call to wcf service but its not working,but get call is working fine.here's code:-

WCF IService->

[ServiceContract]
    public interface IService
    {
        [OperationContract]
        void DoWork();
 
        [OperationContract]
        [WebInvoke(Method = "GET", UriTemplate = "/TestMethod", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json)]
        string TestMethod();
 
        [OperationContract]
        [WebInvoke(Method = "POST", UriTemplate = "/TestMethod_FORPOST", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json)]
        string TestMethod_FORPOST(string param1);
    }



Wcf-Service.svc.cs:-
[ServiceBehavior(AddressFilterMode = AddressFilterMode.Any)]
   [AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Required)]
   public class Service : IService
   {
       public void DoWork()
       {
       }
 
       public string TestMethod()
       {
           return "Success";
       }
 
       public string TestMethod_FORPOST(string param1)
       {
           return "SuccessFullyPosted";
       }



Web Confi:- <!--CustomSettingsForWCF-->
  <system.servicemodel>
 
    <bindings>
      <webhttpbinding>
        <binding name="webBinding" maxreceivedmessagesize="2147483647" crossdomainscriptaccessenabled="true">
                 maxBufferSize="2147483647" maxBufferPoolSize="2147483647"
                 transferMode="Streamed">
          <readerquotas maxstringcontentlength="2147483647" maxarraylength="2147483647" />
 
          <!--<security mode="Transport">
            <transport>
              <extendedprotectionpolicy policyenforcement="Never" />
            </transport>
          </security>-->
        </binding>
      </webhttpbinding>
    </bindings>
 
    <services>
      <service behaviorconfiguration="Service" name="WCF_TEST_APPLICATION_WITH_AJAXCALL.Service">
        <endpoint address="" behaviorconfiguration="webEndpoint">
                  binding="webHttpBinding" bindingConfiguration="webBinding" name="web"
                  bindingNamespace="" contract="WCF_TEST_APPLICATION_WITH_AJAXCALL.IService" />
      </endpoint></service>
    </services>
 
    <behaviors>
      <endpointbehaviors>
        <behavior name="webEndpoint">
          <webhttp helpenabled="true" defaultbodystyle="Wrapped" defaultoutgoingresponseformat="Json" />
        </behavior>
      </endpointbehaviors>
      <servicebehaviors>
        <behavior name="Service">
          <servicemetadata httpgetenabled="true" />
          <servicedebug includeexceptiondetailinfaults="false" />
          <!--<userequestheadersformetadataaddress />-->
        </behavior>
      </servicebehaviors>
    </behaviors>
 
    <servicehostingenvironment aspnetcompatibilityenabled="true" multiplesitebindingsenabled="true" />
  </system.servicemodel>
  <system.webserver>
    <modules runallmanagedmodulesforallrequests="true" />
  </system.webserver>


Another application throughout Call method:-
var  WCFurl = "http://localhost:49212/Service.svc/TestMethod_FORPOST";
 var datar = { param1: "abc" };
 alert("SecondCall");
 $.ajax({
     type: "POST",
     //contentType: "application/json; charset=utf-8",
     url: WCFurl,
     data: JSON.stringify(datar),
     dataType: "json",
     beforeSend: function (xhr) {
         xhr.setRequestHeader("Access-Control-Allow-Origin", "*");
     },
     success: function (msg) {
         alert("success");
     },
     error: function (xhr, status, error) {
         alert(xhr.status + " " + status + " " + error);
     },
     complete: function (data) {
         alert(JSON.stringify(data));
     }
 });

above code is working fine for get call but not for post call, please give me suggestion, how can i do with post call?
-Sanjiv
Posted 3-Oct-12 21:03pm
Updated 3-Oct-12 22:25pm
DaveAuld192.9K
v2

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

  Print Answers RSS
Top Experts
Last 24hrsThis month


Advertise | Privacy | Mobile
Web02 | 2.8.170622.1 | Last Updated 4 Oct 2012
Copyright © CodeProject, 1999-2017
All Rights Reserved. Terms of Service
Layout: fixed | fluid

CodeProject, 503-250 Ferrand Drive Toronto Ontario, M3C 3G8 Canada +1 416-849-8900 x 100