Announcement

Collapse
No announcement yet.

Realease

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Realease

    Nachdem mir die Verbindungen zu einem Datenservice wie hier beschrieben nicht gelungen ist, habe ich heute mal versucht nach Anleitung eines Buches einen ganz einfachen WebService selbst zu erstellen und zu nutzen.

    Der WebService ist mir gelungen und ist über localhost im Browser auch ansprechbar und die Methode funktioniert.

    Im Client konnte ich ihn als Webverweis hinzufügen und die Methoden aufrufen. Allerdings bekomme ich bei der Ausführung des Clients (der PDA ist mit einem Kabel am Rechner angeschlossen und über ActiveSync verbunden) eine Fehlermeldung:

    Web Exception nicht behandelt
    Die Verbindung mit dem Remoteserver kann nicht hergestellt werden.

    Laut Buch sollte das Ganze einfach funktionieren, und daher habe ich keine Ahnung, wo der Fehler liegt (ja, ich bin eben wirklich ein totaler Anfänger )

    Könnt ihr mir auch hier weiterhelfen?

    Ps.: Das Problem in dem anderen Beitrag gehe ich an, sobald ich das hier hinbekommen habe. Ich wollte mir eigentlich nur mit einem Beispiel verdeutlichen wie man es eigentlich macht und bin dabei leider schon wieder gescheitert...


    Edit: Mist, der Betreff sollte eigentlich nicht so werden, sorry!!!
    Da sollte eigentlich sowas wie "Probleme bei der Verbindung mit Remoteserver" stehen...

  • #2
    Ist jetzt ein Witz, oder?

    Du hast ein programmtechnisches Problem und willst eine Lösung ohne irgendeinen Hinweis (mit der Ausnahme, das ein Fehler auftritt, nunja sonst würde man ja nicht posten) geschweige irgendwelchen Codestücken?

    Wäre so ungefähr, als ob du zum Arzt gehst und deine einzige Aussage ist "Es tut weh"

    Was glaubst du, was der sagt?

    So bleibt nur:
    - Erzeuge Log-Files die Ausgaben über den Programmablauf machen
    - Debugge dein Programm
    - schau in die LogFiles des Servers
    Christian

    Comment


    • #3
      Entschuldige, aber ich weiß eben nicht wie ich das beschreiben soll.

      Ich versuche es gerne nochmal. Und vielleicht diesmal eher so, dass ihr mir helfen könnt

      Code des Webservices:

      Code:
      public class Service : System.Web.Services.WebService
      {
          public Service () {
      
              //Auskommentierung der folgenden Zeile bei Verwendung von Designkomponenten aufheben 
              //InitializeComponent(); 
          }
      
          [WebMethod]
          public int Addieren(int a, int b)
          {
              return a + b;
          }
          
      }
      Daraus sollte ersichtlich werden, dass der WebService einfach nur das Additionsergebnis von zwei Zahlen zurückgeben soll.

      Ich habe ihn über diese URL
      http://localhost/mobile/Rechnen/Service.asmx
      im Browser aufgerufen und die Methoden dort mal angetestet. Das funktioniert.

      Nun zum Client:

      Code:
      namespace TestRechnen
      {
          public partial class Form1 : Form
          {
              public Form1()
              {
                  InitializeComponent();
              }
      
              private void doit_Click(object sender, EventArgs e)
              {
                  TestRechnen.localhost.Service webService = new TestRechnen.localhost.Service();
      
                  textBox.Text = webService.Addieren(1, 2).ToString();
      
              }
          }
      }
      Der Client hat einfach nur einen Knopf und eine Textbox. Beim drücken des Knopfes soll das Ergebnis der Addition 1+2 berechnet und in der Textbox angezeigt werden.

      Ich habe den Webservice dem Client mit "Webverweis hinzufügen..." hinzugefügt und kann die Methode auch auswählen.

      Wenn ich den Client jetzt im DebugModus starte tritt beim Aufruf der Additionsmethode des Webservices ein Fehler auf.

      Im DebugModus springt das Fenster zu der Klasse Reference.cs in die Methode Addieren.
      Die sieht da so aus:
      Code:
      public int Addieren(int a, int b) {
                  object[] results = this.Invoke("Addieren", new object[] {
                              a,
                              b});
                  return ((int)(results[0]));
              }
      Und da steht dann die Fehlermeldung:
      Web Exception wurde nicht behandelt
      Die Verbindung mit dem Remoteserver kann nicht hergestellt werden


      Der PDA ist während der Ausführung über ein Kabel und mit ActiveSync mit dem Rechner verbunden.


      Ich hoffe, dass das jetzt etwas klarer geworden ist.

      Comment


      • #4
        Die Verbindung mit dem Remoteserver kann nicht hergestellt werden
        D.h. es ist ein Verbindungsproblem.

        Localhost ist der aktuelle Rechner. Wenn du mit dem PDA auf den Webservice zugreifst (der mit Localhost erstellt wurde) so wird versucht den LocalHost (diesmal das PDA) zu erreichen -> geht nicht.

        Gib die IP-Adresse statt des localhost an/ein.

        mfG Gü
        "Any fool can write code that a computer can understand. Good programmers write code that humans can understand". - Martin Fowler

        Comment


        • #5
          Danke für die Antwort!

          Es hat geklappt

          Comment

          Working...
          X