Laden...

Webservice XML Response

Erstellt von meez vor 17 Jahren Letzter Beitrag vor 17 Jahren 1.883 Views
M
meez Themenstarter:in
2 Beiträge seit 2006
vor 17 Jahren
Webservice XML Response

Hallo,
ich bin gerade an einem glaube ich kleinen Problem dran. Und zwar baue ich einen Webservice, der als Proxy für einen Aufruf fungiert.
Mein Problem ist, dass der erste Service schon XML zurückliefert, wenn dieses XML jetzt als Response ausgegeben wird, schauts so aus:


<string xmlns="http://localhost">
# ab hier kommt der Inhalt vom Aufruf
&lt;?xml version="1.0" encoding="ISO-8859-1" standalone="no"?&gt;
&lt;!DOCT
 &lt;Customer&gt;

    &lt;Cust_No&gt;

das heißt die spitzen Klammern werden alle durch den HTML Code ersetzt. Dies darf aber nicht sein. Hat hier jemand eine Idee?

Danke,

Martin

P
123 Beiträge seit 2006
vor 17 Jahren

Zeig doch mal etwas genauer, wie kommt diese Code zustande?

Gruss plongo


Woher soll ich wissen, was ich denke, bevor ich höre, was ich sage!
Kurzum: Läufer sind gesünder, "gescheiter" und glücklicher als Nichtläufer.
www.andreas-nicole.de

M
meez Themenstarter:in
2 Beiträge seit 2006
vor 17 Jahren
Kein Problem

Der Code entstehet so:

[WebMethod]
    public string RequestNavisionData(string DebitorenID)
    {
        HttpWebResponse response = requestNavision(DebitorenID);
        Stream dataStream = response.GetResponseStream();
        StreamReader reader = new StreamReader(dataStream);
        string responseFromServer = reader.ReadToEnd();
        return responseFromServer;
    }

    static HttpWebResponse requestNavision(string debitorenID)
    {
        Uri ObjURI = new Uri("http://192.168.1.13/tools/service.asp?id=" + debitorenID);
        Console.WriteLine("URL: " + ObjURI);
        HttpWebRequest request = (HttpWebRequest)WebRequest.CreateDefault(ObjURI);
        HttpWebResponse response = (HttpWebResponse)request.GetResponse();
        return response;
    }

Wenn ich den Request im Browser absetze, passt auch alles :

<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>

aber sobald das nochmal als response zurück gegeben wird, kommen die HTML Zeichen rein.

Danke

P
123 Beiträge seit 2006
vor 17 Jahren

hier mak ein gutes Tutorial für WebServices:
http://www.aspheute.com/artikel/20010621.htm

Vielleicht hilft dir die HttpUtility.HtmlDecode Methode weiter

Gruss plongo


Woher soll ich wissen, was ich denke, bevor ich höre, was ich sage!
Kurzum: Läufer sind gesünder, "gescheiter" und glücklicher als Nichtläufer.
www.andreas-nicole.de

S
8.746 Beiträge seit 2005
vor 17 Jahren

Der ganze HTTP-Kram hat im WebMethods nichts zu suchen.

P
123 Beiträge seit 2006
vor 17 Jahren

Warum?

Gruss plongo


Woher soll ich wissen, was ich denke, bevor ich höre, was ich sage!
Kurzum: Läufer sind gesünder, "gescheiter" und glücklicher als Nichtläufer.
www.andreas-nicole.de

S
8.746 Beiträge seit 2005
vor 17 Jahren

Weil .NET (und anderen WS-Implementierungen) dir das ganze Transportgeraffel abnimmt.

WebServices sind in .NET (fast) normale Methoden. Zudem sind WebServices nicht zwingend auf HTTP beschränkt. Man kann WebServices auch auf anderen Protokollen fahren.

Aus dem Link das Mini-Beispiel:

 
  public class SampleService : WebService // das definiert den WS-Dienst
  {
    [WebMethod] // das definiert eine Methode des Dienstes
    public string SayHello(string strName) 
    { 
      return "Hello " + strName + " from the assembly"; 
    }
  }

Siehst du hier irgendwelchen HTTP-Code?

WebService-Implementierungen sind aus Nutzungssicht immer frei von Technologien wie HTTP, sowohl beim Ersteller wie beim Nutzer. Beschränkungen resultieren allein aus der Nutzung von SOAP.