XML SOAP Service: Encoding-Probleme

sinni800

Mitglied
Hallöle! Ich möchte einen SOAP-Service (XML) abfragen. Diesen kann man ja leicht mit Webvereisen in Visual Studio einfügen.

In meinem Programm möchte ich nun den Server http://lyricwiki.org/server.php?wsdl abfragen.

Ich bekomme leider den Fehler

The content type text/xml; charset=ISO-8859-1 of the response message does not match the content type of the binding (text/xml; charset=utf-8).

Code:
Der Inhaltstyp "text/xml; charset=ISO-8859-1" der Antwortnachricht 
stimmt nicht mit dem Inhaltstyp der Bindung (text/xml; charset=utf-8) überein.


Wenn Sie einen benutzerdefinierten Encoder verwenden, sollten Sie sicherstellen, dass die IsContentTypeSupported-Methode korrekt implementiert ist. 


Die ersten 599 Bytes der Antwort waren: 


"<?xml version="1.0" encoding="ISO-8859-1"?>
<SOAP-ENV:Envelope SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"  xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"  xmlns:xsd="http://www.w3.org/2001/XMLSchema"  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"  xmlns:si="http://soapinterop.org/xsd">
<SOAP-ENV:Body>
<ns1:searchArtistsResponse xmlns:ns1="urn:LyricWiki"><return xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="xsd:string[0]"></return>
</ns1:searchArtistsResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>".

wenn ich die Zeile

Code:
        Dim lyricsearch As New LyricWiki.LyricWikiPortTypeClient
        Dim result As New LyricWiki.LyricsResult
        Dim resultS As New LyricWiki.SongResult
        Dim resultA() As String
        Dim str As String
        Dim resultnum As Integer
        If NachArtist.Checked = True Then
            resultnum = 3
            resultA = lyricsearch.searchArtists(artist.Text) 'DIESE ZEILE
        ElseIf NachLied.Checked = True Then
            resultS = lyricsearch.searchSongs(Nothing, song.Text)
            resultnum = 2
        ElseIf Beides.Checked = True Then
            resultS = lyricsearch.searchSongs(artist.Text, song.Text)
            resultnum = 2
        End If
        If resultnum = 3 Then
            For Each str In resultA
                ListBox1.Items.Add(str)
            Next
        End If
End Sub
Ausführe (Zeile mit "DIESE ZEILE" hinten dran) aber der Fehler kommt auch bei den anderen RESULTx = Zeilen

Jetzt hab ich schon gegoogelt und herausgefunden dass der doofe XML SOAP reader da kein ISO8859-1 unterstützt! Dann hab ich weitergesucht, und dash ier gefunden:

Artikel bei MSMVPS

Der verlinkt zu ner Microsoft-Seite. Das Problem bei der Sache: Ich find nicht raus was ich nun tun soll. Der erschlägt mich theoretisch mit nem haufen Code und ich weiss nicht wie ich den z. B. .. oder die IDEE davon in meinen Code integriere.

Hab euch oben den SOAP angehängt. Könnt ihrs auch probieren

Nebenbei: Ich benutze Visual Studio Orcas Beta2

Und sorry dass ich alle paar Tager grade nen Thread erstelle (Okay, sind ja nur zwei bis jetzt). Ich hab auch schon ein paar Mal ne Antwort gepostet. Irgendwie fühle ich mich schuldig weil ich hier frag... keine ahnung warum :p



[EDIT] ich glaub das passt besser ins "Kommunikation"forum.. Nen Move wäre nett ;)
 
Zuletzt bearbeitet:
Zurück