WSDL-Webservice in Windows Phone App WSDL-Webservice in Windows Phone App
Ergebnis 1 bis 11 von 11
  1. 24.02.2012, 21:28
    #1
    Hallo,

    Wie kann ich ein Webservice (http://url.wsdl) in meine Windows Phone App einbinden?

    Ich kann den Webservice ohne Probleme in eine Windows .NET Anwendung einbinden aber in einem Windows Phone Projekt ist die Schaltfläche "Webservice hinzufügen" ausgegraut.

    Gibt es dort eine Möglichkeit ein solches Webservice einzubinden?

    Vielen Dank schon mal im vorraus.

    Johann Löwen
    0
     

  2. 27.02.2012, 21:51
    #2
    Hat keiner eine Idee ob dies möglich ist und wenn ja dann wie.
    Mit der kostenlosen PocketPC.ch App von meinem HD7 T9292 aus geschrieben.
    0
     

  3. 27.02.2012, 22:23
    #3
    normalerweise machst du in deinem Solution Explorer rechtesklick auf References und dann wählt man "Add Service Reference..." aus. In dem oberen Feld gibst du die Adresse ein und unten der NameSpace, den du im Programm benutzen willst, ABER so wie ich das hier (http://forums.create.msdn.com/forums...px?PageIndex=2) herausgelesen habe funktioniert es iwie nicht ganz. also wenn du ein WCF Service nutzt, dann geht das ohne Probleme, aber bei anderen scheint es wohl Probleme bei der Rückgabe zu geben. Viele sagen, es kommen "null" Objekte/Daten zurück. Dies scheint aber nicht bei den Standardtypen zu sein wie String oder int. Lies dir am besten den Thread komplett durch, dort werden auch ein paar workarounds vorgeschlagen, vielleicht funktioniert ja einer.

    und nicht vergessen "using ..." einzufügen
    0
     

  4. 27.02.2012, 23:28
    #4
    Danke für die Antwort.

    In dem oben genannten Thread scheint es aber um ein anderes Problem zu gehen. Ist aber mein Fehler da meine Angaben nicht vollständig waren.

    Ich habe gerade das ganze noch einmal versucht und mir ist die folgende Warnung aufgefallen:

    Warnung für benutzerdefiniertes Tool: Contract is not compatible with Silverlight 3 because it contains one or more operations with SOAP Encoding (use='encoded'). Only the non-encoded operations will be generated.

    Gibt es für mich als Benutzer des Dienstes eine Möglichkeit diesen Webservice dennoch zu verwenden?
    0
     

  5. 28.02.2012, 08:15
    #5
    Das Problem ist, dass Microsoft in Silverlight die Verwendung von SOAP-WebServices nicht unterstützt (das sind die, die das .Net Framework bis Version 3.0 standardmässig generiert hat mit ASP.Net). Mit Silverlight gehen meines Wissens nur noch REST-Services. Du kannst jedoch das WebService einfach selbst mittels HTTP aufrufen und das XML selbst parsen - das geht immer.
    0
     

  6. 28.02.2012, 16:57
    #6
    @StevieBallz: Danke für die Antwort. Hättest du für mich ein Beispiel wie ich einen Webservice per HTTP aufrufen kann. Oder geht das ganz normal mit einem HttpRequest? Aber wie gebe ich dabei die Methode und die Parameter an?
    Mit der kostenlosen PocketPC.ch App von meinem HD7 T9292 aus geschrieben.
    0
     

  7. 29.02.2012, 16:36
    #7
    Ich habe mal ein wenig recherchiert.

    Mit dem Soap Message Generator http://soapclient.com/soapmsg.html habe ich mir eine SoapMessage erstellt die wie folgt aussieht:

    HTML-Code:
    <?xml version="1.0" encoding="UTF-8" standalone="no"?>
    <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:typens="urn:WebService_Customer" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >
    <SOAP-ENV:Body>
    <mns:GetSessionID xmlns:mns="urn:WebService_Customer" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
    <UserID xsi:type="xsd:integer">0000000</UserID>
    <UserCallname xsi:type="xsd:string">Name1</UserCallname>
    <UserName xsi:type="xsd:string">Name2</UserName>
    <PasswordHash xsi:type="xsd:string">PasswordHash</PasswordHash>
    </mns:GetSessionID>
    </SOAP-ENV:Body>
    </SOAP-ENV:Envelope>
    Diese Message schicke ich nun mit der folgenden Methode an den Server:

    Code:
    Public Function SoapRequest(ByVal webserviceURL As String, ByVal soapMessage As String) As Xml.XmlDocument
            Dim res As New Xml.XmlDocument()
    
            Using webClient As New Net.WebClient()
                webClient.Headers.Add("Content-Type", "application/soap+xml; charset=utf-8")
                res.LoadXml(webClient.UploadString(webserviceURL, soapMessage))
            End Using
    
            Return res
        End Function
    Ich bekomme auch eine Antwort aber die Antwort besteht aus der Definition des Webservices also genau das glaeich wenn ich die URL der WSDL-Datei einfach in den Browser packe und Enter drücke.
    0
     

  8. 01.03.2012, 15:09
    #8
    Wies sieht denn da deine webserviceURL aus? Wenn du da an die URL mit dem *.wsdl schickst, dann kriegst du bei einem Get trotzdem die WSDL zurück.
    0
     

  9. 01.03.2012, 15:16
    #9
    Die URL lautet: http://www.dvd-datenbank.com/webserv..._Customer.wsdl

    Und als Antwort bekomme ich die gleiche XML-Struktur wie wenn ich die URL alleine im Browser ansteuere.
    0
     

  10. 02.03.2012, 18:50
    #10
    Ich habe mir jetzt mal "soapUI" heruntergeladen und es damit versucht. Es klappte auf anhieb also habe ich mir die Soap Messages von dort kopiert aber wenn ich die aus meinem Programm absende dann bekomme ich immer noch die gleiche Antwort wie bisher auch.

    HTML-Code:
    <soapenv:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:WebService_Customer">
       <soapenv:Header/>
       <soapenv:Body>
          <urn:GetSessionID soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
             <UserID xsi:type="xsd:integer">?</UserID>
             <UserCallname xsi:type="xsd:string">?</UserCallname>
             <UserName xsi:type="xsd:string">?</UserName>
             <PasswordHash xsi:type="xsd:string">?</PasswordHash>
          </urn:GetSessionID>
       </soapenv:Body>
    </soapenv:Envelope>
    Ist die Funktion "SoapRequest" die etwas weiter oben schon steht falsch? Was kann man da verändern um doch noch das richtige Ergebnis zu bekommen?
    0
     

  11. 07.03.2012, 22:34
    #11
    Habe das Problem nun endlich beheben können.

    Die SOAP Nachrichten sind korrekt. Ich musste die "SoapRequest" Methode anpassen.

    Für den der auch über solche Probleme stolpern sollte hinterlasse ich hier mal meine jetzt funktionierende Methoden:

    Code:
        Private Sub SoapRequest(ByVal url As String, ByVal soapMessage As String, ByVal encoding As Text.Encoding)
            If (Microsoft.Phone.Net.NetworkInformation.DeviceNetworkInformation.IsNetworkAvailable) Then
                Try
                    Dim webClient As New Net.WebClient()
                    webClient.Headers(HttpRequestHeader.ContentType) = "text/xml"
                    webClient.Encoding = encoding
    
                    AddHandler webClient.UploadStringCompleted, AddressOf WebClient_UploadStringCompleted
                    webClient.UploadStringAsync(New System.Uri(url, UriKind.Absolute), "POST", soapMessage)
                Catch ex As Exception
                End Try
            End If
        End Sub
    
        Private Sub WebClient_UploadStringCompleted(sender As Object, e As System.Net.UploadStringCompletedEventArgs)
            Dim xdoc As Xml.Linq.XDocument = Xml.Linq.XDocument.Parse(e.Result)
            'Weiter verarbeitung
        End Sub
    1
     

Ähnliche Themen

  1. Antworten: 4
    Letzter Beitrag: 20.07.2011, 12:22

Besucher haben diese Seite mit folgenden Suchbegriffen gefunden:

web service windows phone

windows phone web service

windows phone 7 web service example

windows phone web service tutorial

webservice wsdl

windows phone soap webservice

html datei in browser einbinden wp7

app webservice

windows phone7 webdienst

www.wdsl windows phone

wp7 webservice

windows phone app webservice

wsdl windows phone

windows phone webservice

windows phone 7 soap web service

webservice windows phone

call web service from wsdl windows store apps

windowsphone webdienst url

wp7 soap web service

wsdl webservice in windows-phone

wcf service mit windows phone 8 nutzen

windows 8 phone soap web service

fehler beim aufrufen eines webservices von windows phone

win 8 soap encoded

Stichworte