2016-11-17 4 views
0

예외 정보 :호출 WCF 서비스 JQuery와 아약스에서 - 점점 예외 - 들어오는 요청이 허용되지

'System.InvalidOperationException'형식의 첫째 예외가 System.ServiceModel.Web.dll에서 발생

추가 정보 : 들어오는 요청 (URI가 http://localhost:24342/Test.svc/DoWork?callback=jQuery110203769165082986856_1479380612393&testParameter=TEST&_=1479380612394 인)의 HTTP 메소드 'GET'이 허용되지 않습니다.

저는 Ajax 내장 WCF 서비스를 사용하고 있습니다. WCF 클라이언트는 jQuery Ajax 호출이다. 내 코드 :

[ServiceContract(Namespace = "testWCFAjax")] 
[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)] 
public class Service 
{  
    [OperationContract] 
    [System.ServiceModel.Web.WebInvoke(Method = "POST", BodyStyle = WebMessageBodyStyle.WrappedRequest, 
     RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json)]   
    public string DoWork(string testParameter) 
    {    
     return "success"; 
    } 
} 

웹 구성 :

<system.serviceModel> 
    <behaviors> 
     <endpointBehaviors> 
      <behavior name="ServiceAspNetAjaxBehavior"> 
       <enableWebScript/> 
      </behavior> 
     </endpointBehaviors> 
    </behaviors> 
    <serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true"/> 
     <services> 
      <service name="Service"> 
       <endpoint address="" behaviorConfiguration="ServiceAspNetAjaxBehavior" binding="webHttpBinding" contract="Service"/> 
     </service> 
    </services>  
</system.serviceModel> 

아약스 코드 :

<script src="Scripts/jquery-1.9.2.min.js" type="text/javascript"></script> 
<script type="text/javascript"> 
    function CallMyService() { 
     $.support.cors = true; 
     var param = '{"testParameter": "TEST"}'; 
     $.ajax({ 
      url: 'http://localhost:24342/Test.svc/DoWork', 
      data: param, 
      type: "POST", 
      dataType: "jsonp",     
      contentType: "application/json",     
      success: ServiceSucceeded, 
      error: ServiceFailed 
     }); 
    } 
+0

은 'var param = { "testParameter": "TEST"}; (따옴표 제외)이어야합니다. 익명 객체를 직렬화합니다. –

+0

안녕하세요 @GoneCoding - 그랬지만 여전히 같은 예외가 발생했습니다. –

답변

0

나는 아약스 내장으로 WCF 서비스를 만들어이 문제를 해결할 수 있었다.