2016-06-29 11 views
0

Ich bin neu in Web-Services, so dass ich ein wenig Hilfe verwenden konnte.Anfrage/Antwort Web-Service

Ich habe ein Projekt, dass ein Webservice Daten von mir anfordert und ich werde mit einem Webdienst antworten, der die Daten gibt. Ich habe die Antwort Web-Service erstellt, wie Sie unten sehen können:

Person.cs

using System.Collections.Generic; 
using System.Linq; 
using System.Web; 

namespace TestWebServices 
{ 
    public class Person 
    { 
     public string IdNo { get; set; } 
     public string FirstName { get; set; } 
     public string LastName { get; set; } 
    } 
} 

[WebMethod]

[WebMethod(Description = "Return Applicants")] 
publicPerson[] retApplicants(String idno) 
{  
    string connString = ConfigurationManager.ConnectionStrings["conn"].ConnectionString; 
    SqlConnection connection = new SqlConnection(connString); 


    SqlCommand command = new SqlCommand("selectApplicant", connection); 
    command.CommandType = System.Data.CommandType.StoredProcedure; 
    command.Parameters.Add("@idno", SqlDbType.VarChar).Value = idno; 
    connection.Open(); 
    SqlDataReader reader = command.ExecuteReader(); 

    List<Person> persons = new List<Person>(); 
    Person persReturned; 

    while (reader.Read()) 
    { 
     persReturned = new Person(); 
     persReturned.IDNO = reader["IdNo"].ToString(); 
     persReturned.FirstName = reader["FirstName"].ToString(); 
     persReturned.LastName= reader["LastName"].ToString(); 
     persons.Add(persReturned); 
    } 

    return persons.ToArray(); 
} 

ich es in meinem Browser getestet durch den Aufruf und es funktioniert gut .

Wie kann ich die Antwort auf die angeforderte IDNO von dem anderen Webdienst machen?

Vielen Dank im Voraus.

+0

Was "anderen Web-Service" ist das? – stuartd

+0

Es ist eine andere externe Webanwendung, die nach Daten auf der Grundlage einiger Parameter fragt. – Chriz

Antwort

0

Sie müssen Ihren erstellten Webdienst konsumieren. Erstellt man kann als Referenz für andere Projekte hinzugefügt werden und durch C# -Code können Sie konsumieren und erhalten die Antwort. Beispiel Code Snippet.

 Service1 webService = new Service1(); 

     Console.WriteLine(webService.MyFirstWebMethod(“Bradd”, “Pitt”)); 

     Console.ReadLine(); 

Weitere Details finden http://www.csharptutorial.in/37/csharp-net-how-to-consume-a-web-service-in-csharp-net-visual-studio-2010

+0

Danke für die Antwort. Wie kann ich die Parameter "Bradd" und "Pitt" (in Ihrem Beispiel) von einem anderen Web-Service bekommen, der Daten benötigt? – Chriz

+0

Sie müssen den Webservice konsumieren und die Daten erhalten, die zurückgegeben werden. Hängt davon ab, welche Art von Daten Webservice Ihnen gibt. Es kann in JSON, XML, Array, Zeichenfolge oder jeder anderen sein. Angenommen, Ihr Webdienst gibt in diesem Fall eine Zeichenfolge aus. Ihr Code lautet dann "string str = webService.MyFirstWebMethod()". Sie müssen den Code gemäß Ihrer Anforderung und Webservice/WebMethod ändern. – Lara

+0

Wenn ich richtig verstehe, wird die andere Webanwendung den erstellten Webservice basierend auf den gewünschten Kriterien konsumieren (in meinem Fall die IDNO) und sie werden die XML Datei wie oben gezeigt bekommen. Nochmals vielen Dank für die Hilfe. – Chriz