Click here to Skip to main content
15,881,938 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
XML
I want to insert data in SQL database using REST services (JSON response)and I have implemented them.But I couldn't understand how to  insert data without adding any client .Can I insert data directly from service-url without using client app.Because my client application is android and I want to invoke that rest service from android and insert in database..How can I insert data without using client application?

My code is :

Iservice1.cs

 [ServiceContract]
    public interface IService1
    {
        [OperationContract]
        [WebInvoke(UriTemplate = "Appointments", Method = "POST", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.Wrapped)]
        void CreateAppointment(Appointment appointment);

    }

    [DataContract]
    public class Appointment
    {
        [DataMember]
        public string UserName { get; set; }
        [DataMember]
        public string AppointmentBookedForCompany { get; set; }
        [DataMember]
        public string Date { get; set; }
        [DataMember]
        public string TimeStart { get; set; }
        [DataMember]
        public string TimeEnd { get; set; }
        [DataMember]
        public string PhoneNo { get; set; }
 }
       Service1.cs:

  public void CreateAppointment(Appointment appointment)
         {
             string str = "Data Source = . Initial Catalog = Appointment; User ID = sa; Password = 123";
             SqlConnection cn = new SqlConnection(str);

             SqlCommand cm = new SqlCommand();
             string username = appointment.UserName;
             string appointmentbookedForcompany = appointment.AppointmentBookedForCompany;
             string date = appointment.Date;
             string timestart = appointment.TimeStart;
             string timeend = appointment.TimeEnd;
             string phoneno = appointment.PhoneNo;
            cm.CommandText = "insert into BookAppointment values(@username,@appointmentbookedForcompany,@date,@timestart,@timeend,@phoneno)";
             cm.Parameters.Add(new SqlParameter("@username", SqlDbType.VarChar,50)).Value = username;
             cm.Parameters.Add(new SqlParameter("@appointmentbookedForcompany", SqlDbType.VarChar,50)).Value = appointmentbookedForcompany;
             cm.Parameters.Add(new SqlParameter("@date", SqlDbType.VarChar,50)).Value = date;
             cm.Parameters.Add(new SqlParameter("@timestart", SqlDbType.VarChar,50)).Value = timestart;
             cm.Parameters.Add(new SqlParameter("@timeend", SqlDbType.VarChar,50)).Value = timeend;
             cm.Parameters.Add(new SqlParameter("@phoneno", SqlDbType.VarChar,50)).Value = phoneno;

           cm.Connection = cn;
             cn.Open();
             cm.ExecuteNonQuery();

             cn.Close();

             cm.Dispose();
         }}
 My config file: <system.serviceModel>
    <services>
      <service name="RESTAppointments.Service1" behaviorConfiguration="RESTAppointments.hk">
        <host>
          <baseAddresses>
            <add baseAddress="http://localhost:8732/Design_Time_Addresses/RESTAppointments/Service1/"/>
          </baseAddresses>
        </host>

        <endpoint address="http://localhost:8732/Design_Time_Addresses/RESTAppointments/Service1/ed" binding="webHttpBinding" contract="RESTAppointments.IService1" behaviorConfiguration="WebHttpBehavior"/>

            <identity>
            <dns value="localhost"/>
          </identity>
        </endpoint>

        <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"/>
      </service>
    </services>
    <behaviors>
      <serviceBehaviors>
        <behavior name="RESTAppointments.hk">

          <serviceMetadata httpGetEnabled="True"/>

          <serviceDebug includeExceptionDetailInFaults="true"/>
        </behavior>
      </serviceBehaviors>
      <endpointBehaviors>
        <behavior name="WebHttpBehavior">
          <webHttp/>
        </behavior>
        </endpointBehaviors>
    </behaviors>
    <serviceHostingEnvironment aspNetCompatibilityEnabled="true"/>
  </system.serviceModel>

 How can I proceed further ?
Posted

1 solution

You can browse the WCF service and the pass in an xml to save it without a client.

You can also use the WCF test client tool - http://msdn.microsoft.com/en-us/library/bb552364.aspx[^].
 
Share this answer
 
Comments
cutie1 31-Aug-12 3:11am    
Hii,,Can u please explain me briefly how to pass in an xml to save it without a client for REST services ..For SOAP services I knew how to do it(invoke procedure).But when I run the services ,I couldn't see the method getting added to the service.When I use basichttpbinding I can see the method.But I dont want to use basichttpbinding since it is a REST service

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