Laden...

[Gelöst] - Genauer Fehlermeldungstext bei HttpWebResponse-Exception

Erstellt von mosspower vor 14 Jahren Letzter Beitrag vor 14 Jahren 1.402 Views
mosspower Themenstarter:in
456 Beiträge seit 2007
vor 14 Jahren
[Gelöst] - Genauer Fehlermeldungstext bei HttpWebResponse-Exception

Hallo "Kollegen",

gibt es eine Möglichkeit, genauere Fehlermeldungen zu bekommen, wenn z.B. als Response HTTP-StatusCode 500 (Internal Error) geliefert wird.

Ich kann diesbezüglich in dem Exception-Objekt nichts finden.

Untersuche ich den Response mittels Sniffer, dann sehe ich die Fehlermeldung.
Welche Möglichkeit gibt es hier?

Wichtig bei mir ist das aktuell, weil ein Kunde bestimmte Exception im Programm nicht handelt, so könnten wir zumindest sehen, ob es sich um einen Fehler des Ziel-Systems (z.B. Datenbank nicht ansprechbar) handelt oder um fehlerhafte Requestdaten des Clients.

Vielen Danke für evtl. Antworten schon einmal im Voraus.

Gelöschter Account
vor 14 Jahren

gibt es eine inner exception? welche exception wird da genau geworfen? kommst du an den response ran?

mosspower Themenstarter:in
456 Beiträge seit 2007
vor 14 Jahren

Hallo JAck30lena,

nein, leider gibt es die nicht, auch steht die gesuchte Information nicht im (einem) Exception Objekt.


webResponse = (HttpWebResponse)this.webRequest.GetResponse();

Das Objekt (hier webResponse) ist leider null. In obiger Zeile wird die Exception geworfen.

Gelöschter Account
vor 14 Jahren

die exception hat ein property .Response

da müsste es stehen.

edit: evtl .Response.StatusDescription oder im .Response.Header?

mosspower Themenstarter:in
456 Beiträge seit 2007
vor 14 Jahren

Hallo Hallo JAck30lena,

nein, hier sind keine näheren Informationen vorhanden, im Header-Objekt stehen nur die headerrelevanten Informationen zur Verfügung.

In der Exception-Fehlermeldung steht: The remote server returned an error: (500) Internal Server Error

Im Response der WebException steht noch weniger: Internal Server Error, System.Net.HttpStatusCode.InternalServerError

Gelöschter Account
vor 14 Jahren

kannst du evtl das posten, was du im sniffer gesehn hast? inkl dem header?

mosspower Themenstarter:in
456 Beiträge seit 2007
vor 14 Jahren

Im WebException-Response-Header steht:

{Connection: close
Content-Type: text/xml;charset=utf-8
Date: Fri, 19 Mar 2010 09:37:35 GMT
Server: Apache-Coyote/1.1}

Im Original:
HTTP/1.1 500 Internal Server Error
Server: Apache-Coyote/1.1
Content-Type: text/xml;charset=utf-8
Date: Fri, 19 Mar 2010 09:37:35 GMT
Connection: close

Die Fehlermeldung (also HTTP-Response-Body) fehlt:


<?xml version="1.0" encoding="UTF-8"?><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><soapenv:Body><soapenv:Fault><faultcode>soapenv:Server.userException</faultcode><faultstring>org.xml.sax.SAXParseException: An invalid XML character (Unicode: 0x1b29e0) was found in the element content of the document.</faultstring><detail><ns1:hostname xmlns:ns1="http://xml.apache.org/axis/">gtprint-test</ns1:hostname></detail></soapenv:Fault></soapenv:Body></soapenv:Envelope>

Gelöschter Account
vor 14 Jahren

du kannst an der exception .Response.GetResponseSream() aufrufen. da müsste der body dann enthalten sein.

mosspower Themenstarter:in
456 Beiträge seit 2007
vor 14 Jahren

Hallo JAck30lena,

Jesus!, da hätte ich aber auch selbst draufkommen können - vielen Dank!