2012-05-25 3 views
1

Я пытаюсь вызвать службу wcf rest через конструкцию ajax с помощью jquery, однако при этом я получаю ошибку с ошибкой при выполнении этого из jquery. Кроме того, я пытаюсь перейти непосредственно к службе и получить пустую страницу. Я уже делал вызовы службы WCF раньше и не могу понять, что здесь не так. Заранее благодарю всех за ответ. При просмотре непосредственно в службу я не вижу никаких результатов. Вот JQuery Ajax код, который делает вызов:Ajax WCF Restful Service Call Return Blank Страница

$ .ajax ({ типа: "GET", DATATYPE: "", JSON CONTENTTYPE: "приложение/JSon; Charset = UTF-8", URL: "HTTP: // локальный: 57452/мобильный/WCFService/ContactService.svc/привет", успех: функция (результат) { предупреждение ('успех'); }, ошибка: функция (результат) { }

}); 
Факс: 10

Вот интерфейс сервиса:

[ServiceContract] 
    public interface IContactService 
    { 
     [OperationContract] 
     [WebGet(
      ResponseFormat = WebMessageFormat.Xml, 
      BodyStyle = WebMessageBodyStyle.Wrapped, 
      UriTemplate = "hello")] 
     string SaySomething(); 

    } 

Вот класс обслуживания:

[AspNetCompatibilityRequirements(RequirementsMode =  AspNetCompatibilityRequirementsMode.Allowed)] 
    public class ContactService : IContactService 
    { 
     public string SaySomething() 
     { 
      // Add your operation implementation here 
      return "Hello!"; 
     } 
    } 

Вот конфигурация для службы в файле web.config:

<system.serviceModel> 
    <serviceHostingEnvironment aspNetCompatibilityEnabled="true" /> 
    <behaviors> 
     <serviceBehaviors> 
     <behavior name="SomeNameSpace.mobile.WCFService.ContactServiceBehavior"> 
      <serviceMetadata httpGetEnabled="true" /> 
      <serviceDebug includeExceptionDetailInFaults="false" /> 
     </behavior> 
     </serviceBehaviors> 
    </behaviors> 
    <services> 
     <service behaviorConfiguration="LeeCounty_ASP.mobile.WCFService.ContactServiceBehavior" 
     name="SomeNameSpace.mobile.WCFService.ContactService"> 
     <endpoint address="" binding="wsHttpBinding" contract="SomeNameSpace.mobile.WCFService.IContactService"> 
      <identity> 
      <dns value="localhost" /> 
      </identity> 
     </endpoint> 
     <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" /> 
     </service> 
    </services> 
    </system.serviceModel> 

ответ

1

I нашел проблему. Похоже, что при добавлении службы wcf привязки по умолчанию, добавленные в файл конфигурации, не добавили webHttpBinding. Нашли решение по этой ссылке, http://www.codeproject.com/Articles/132809/Calling-WCF-Services-using-jQuery

+0

У меня есть webHttpBinding, и я все еще получаю пустую страницу. Вы сделали что-нибудь еще, чтобы решить эту ошибку? У меня есть другие службы REST в том же решении, которое отлично работает –