Announcement

Collapse
No announcement yet.

WSDL über Webreference

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

  • WSDL über Webreference

    Hallo zusammen,
    ich habe folgendes Problem. Ich habe eine wsdl die auf einer Virtuellen Maschine ist. Diese möchte ich gerne nutzen um an die API des Programms zu kommen, das auf der VM ist.

    Ich nutze:
    VS2008 und möchte das ganze in ein C# Projekt unterbringen.

    Ich bin wie folgt vorgegangen:
    - Im Solution Explorer, Rechtsklick auf References und dann auf "add Service Reference"
    - klick auf Advanced
    - "Add Web Reference..."
    - URL der WSDL angegeben

    Die wsdl wird gefunden und auch als Service erkannt. Im Fenster werden mir die Methoden aufgelistet. Anschließend habe ich einen Namen vergeben und auf "Add Reference" geklickt.

    Ich bekomme folgende Warnung:
    "Warning 1 Custom tool warning: At least one optional import ServiceDescriptionFormatExtension has been ignored."

    Wenn ich die Methoden ansprechen will hat jede Methode hinter dem eigentlichen Namen ...CompletedEventArgs und ...CompletedEventsHandler

    Hat jemand eine Idee. Ich muss dazu sagen, ich arbeite das erste Mal mit Web Referenzen.

    Danke und Gruß
    Thomas

  • #2
    Hallo Thomas,

    In dein ...CompletedEventArgs sind die Rueckgabewerte der ausgefuehrten Operation enthalten (zB: e.Result, e.Error, e.Cancelled, ...).
    Der ...CompletedEventsHandler dient dazu, dass du eben genau auf diese Werte zugreifen kannst (vereinfacht gesagt!).

    Der Vorgang deinerseits ist der, dass du irgendwo in deinem Code auf diesen CompletedEvent 'hoeren' musst, das funktioniert zB im Constructor deiner Form.

    Beispiel:
    Code:
    // constructor
    this.m_SerivceReference.DoSomethingCompleted += this.OnDoSomethingCompleted;
    und die zugehoerige Completed-Methode in deiner Form koennte dann so aussehen:

    Code:
    private void OnDoSomethingCompleted(object sender, DoSomethingEventArgs e)
    {
        if (e.Error != null)
        {
            MessageBox.Show(e.Result.bla);
        }
    }
    und der eigentliche Aufruf dieser Service-Methode funktioniert dann zB auf diese Weise:

    Code:
    // some logic
    this.m_ServiceReference.DoSomething();
    Ich hoffe das hilft dir weiter.
    *-- robert.oh. --*

    Comment


    • #3
      Wusste gar nicht, dass WebServices auch Callbacks unterstützen sehr nett... danke für die Info.

      Comment

      Working...
      X