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
<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
<!DOCT
<Customer>
<Cust_No>
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
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
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
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
Der ganze HTTP-Kram hat im WebMethods nichts zu suchen.
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
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.