Click here to Skip to main content
Rate this: bad
good
Please Sign up or sign in to vote.
See more: WCF
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
Edited 3-Oct-12 22:25pm
(no name)171.8K
v2

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

  Print Answers RSS
0 Sergey Alexandrovich Kryukov 6,805
1 OriginalGriff 6,696
2 CPallini 5,350
3 George Jonsson 3,609
4 Gihan Liyanage 2,792


Advertise | Privacy | Mobile
Web04 | 2.8.140922.1 | Last Updated 4 Oct 2012
Copyright © CodeProject, 1999-2014
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