Click here to Skip to main content
15,887,928 members
Please Sign up or sign in to vote.
4.00/5 (1 vote)
See more:
I have written a WCF service to return a JSON response.However I coulnot get it ?
Here is my code:

IService.cs:
C#
[OperationContract]
       [WebInvoke(UriTemplate = "GetAppointments/?companyId={companyId}&appointmentDate={appointmentDate}", Method = "GET", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.Bare)]
     GetAppointmentList GetAppointment(Guid companyId, string appointmentDate);


Service1.cs :
C#
public GetAppointmentList GetAppointment(Guid companyId, string appointmentDate)
{     
    SQLDataContext context = new SQLDataContext();
    var getappointment = context.GetAppointmentTimings(companyId,appointmentDate);
    GetAppointmentList getappointmentlist = new GetAppointmentList();
    getappointmentlist.AppointmentList = new List<company>().ToList();         
    foreach (var r in getappointment.ToList())
    {
        Company company = new Company();
        company.CompanyId = r.CompanyId;
        company.CompanyName = r.CompanyName;
        company.BreakStartTime = r.BreakStartTime + ":" + "00";
        company.BreakEndTime = r.BreakEndTime + ":" + "00";
        company.Interval = r.Interval;
        company.AppointmentStartTime = r.AppointmentStartTime;
        company.AppointmentEndTime = r.AppointmentEndTime;
        getappointmentlist.AppointmentList.Add(company);
    }

    return getappointmentlist;
}

web.config file:
XML
<system.serviceModel>
    <services>
      <service name="Appointments.CompanyService" behaviorConfiguration="SampleCompSvcBehavior">
        <host>
          <baseAddresses>
            <add baseAddress="http://localhost:8732/SampleCompService"/>
          </baseAddresses>
        </host>

        <endpoint address="http://localhost:8732/SampleCompService/json" binding="webHttpBinding" contract="Appointments.ICompanyService" behaviorConfiguration="SampleCompSvcWebBehavior" bindingConfiguration="hk"/>

XML
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"/>
     </service>
   </services>
   <bindings>
     <webHttpBinding>
       <binding name="hk">
         <security mode="None"></security>
       </binding>
     </webHttpBinding>
   </bindings>
   <behaviors>
     <serviceBehaviors>
       <behavior name="SampleCompSvcBehavior">

         <serviceMetadata httpGetEnabled="True"/>

         <serviceDebug includeExceptionDetailInFaults="false"/>
       </behavior>
     </serviceBehaviors>
     <endpointBehaviors>
       <behavior name="SampleCompSvcWebBehavior">
         <webHttp helpEnabled="true" defaultOutgoingResponseFormat="Json" automaticFormatSelectionEnabled="true" />
       </behavior>
     </endpointBehaviors>
   </behaviors>
   <serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true"/>
 </system.serviceModel>


Where Am I going wrong ?
Posted
Updated 29-Sep-20 11:28am
v2
Comments
Member 10656177 23-Mar-14 23:35pm    
Did you find a solution to this? I have the same problem. I wonder if its to do with using a Class file (*.cs) rather than the Service file (*.svc)

1 solution

What sort of error are you getting? Without knowing what the error is it is somewhat hard to interpret. Is the service even starting? If the service is starting I would recommend seeing if the "help" section will display.

If the service starts ok, then I would recommend changing the "includeExceptionDetailInFAults=false" to true to see if it will display the error for you until you can figure out what is going wrong. I would also reccomend adding nLog for logging if you haven't done so already. It helped me tremendously with getting things up and going.
 
Share this answer
 
Comments
Dave Kreskowiak 29-Sep-20 20:47pm    
I seriously doubt the OP is working on this 8 years later.

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



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900