Re: Exception werfen (Controller und Webservice)
"Nils Beckmann" <[email protected]> Fri, 23 Feb 2007 16:55:38 +0100
| Newsgroups | gmane.comp.lang.ruby.german |
|---|---|
| Message-ID | <[email protected]> |
--===============2100631807==
Content-Type: multipart/alternative;
boundary="----=_Part_52223_32590296.1172246138509"
------=_Part_52223_32590296.1172246138509
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline
Erstmal danke f=FCr die bisherige Hilfe
Ich bekomme einen RuntimeError.
Den Erzeuge ich in einem anderen Controller mit raise "nachricht"
Habe dann jetzt versucht mir mit SOAP::FaultError.new(exc) bzw. ...new(
exc.message) oder auch nru ...new("message") einen Soapfault zu erstellen.
Dort bekomme ich dann einen error.
NoMethodError (undefined method `faultcode' for "exceptions2":String):
/usr/local/lib/ruby/1.8/soap/soap.rb:90:in `initialize'
Kann aber in der Doku nichts finden was mir weiter hilft.
Hoffe mir kann auch hier weiter geholfen werden.
Am 23.02.07 schrieb Tim Becker <[email protected]>:
>
> >
> > Im Controller wird eine Methode abgearbeite in der eine Exception
> auftreten
> > kann.
> >
> > def methode
> > begin
> > .
> > .
> > rescue =3D> exc
> >
> > end
> > end
> >
> > In dem rescue soll jetzt das Exception handling passieren.
> > Ich hab es mit Exception.new(exc) versucht.
>
>
> Die Ruby Exception steckt schon in `exc` drin, Du brauchst die nicht
> mehr zu wrappen. Anhand Deines Beispiels laesst sich aber leider nicht
> erkennen, wo die Exception entsteht. Wenn kein Fault von dem
> webservice geliefert wird, wird natuerlich auch in Ruby kein SOAP
> fault entstehen.
>
> Wenn Du in dem rescue Block Dir mal den Wert von `exc.class` ausgeben
> laesst, solltest Du sehen, ob die Exception eine "SOAP::FaultError"
> ist oder nicht. Ansonsten kannst Du Dir mit `exc.backtrace` anzeigen
> lassen, wo die Exception ueberhaupt entsteht.
>
>
> > Das Ergebniss was ich bekommme ist das der R=FCckgabestring vom Webserv=
ice
> die
> > Message von der Exception enth=E4lt. Was ich aber m=F6chte ich das ich =
eine
> > soapfault zur=FCck bekomme.
>
> Was genau verstehst Du unter "soapfault"? Du moechtest an der Stelle
> die reine XML Darstellung der SOAP Nachricht erhalten, oder eine Ruby
> Exception, die SOAP Fehler abbildet? Ich vermute. dass es sich beim
> dem "Rueckgabestring" tatsaechlich um ein `SOAP::FaultError` handelt,
> aber wenn Du den einfach mit `puts` ausgibst, wird nur die
> Fehlermeldung angezeigt. Wie gesagt, mit `exc.class` kannst Du
> ermitteln, ob es sich tatsaechlich nur um einen String handelt.
>
> >Hab leider auch noch nichts gefunden was mir sagt
> > ob es einen soapfaul =FCberhaupt in Ruby oder Ruby on Rails gibt. Ich w=
ei=DF
> nur
> > das es bei Java geht.
>
>
> http://www.ruby-doc.org/stdlib/libdoc/soap/rdoc/classes/SOAP/FaultError.h=
tml
> http://www.ruby-doc.org/stdlib/libdoc/soap/rdoc/index.html
>
> Die soap4r Doku ist furchtbar. Passt irgendwie zu SOAP an sich...
>
> Gruss,
> -tim
> _______________________________________________
> Ruby-de-talk mailing list
> [email protected]
> http://rubyforge.org/mailman/listinfo/ruby-de-talk
>
------=_Part_52223_32590296.1172246138509
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline
Erstmal danke f=FCr die bisherige Hilfe<br><br>Ich bekomme einen RuntimeErr=
or.<br>Den Erzeuge ich in einem anderen Controller mit raise "nachrich=
t"<br><br>Habe dann jetzt versucht mir mit SOAP::FaultError.new(exc) b=
zw. ...new(
exc.message) oder auch nru ...new("message") einen Soapfaul=
t zu erstellen. <br>Dort bekomme ich dann einen error.<br><br>NoMethodError=
(undefined method `faultcode' for "exceptions2":String):<br>=
/usr/local/lib/ruby/1.8/soap/soap.rb:90:in `initialize&#=
39;
<br><br>Kann aber in der Doku nichts finden was mir weiter hilft. <br><br>H=
offe mir kann auch hier weiter geholfen werden.<br><br><div><span class=3D"=
gmail_quote">Am 23.02.07 schrieb <b class=3D"gmail_sendername">Tim Becker</=
b>
<<a href=3D"mailto:[email protected]">[email protected]</a>>:</spa=
n><blockquote class=3D"gmail_quote" style=3D"border-left: 1px solid rgb(204=
, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">><br>> Im=
Controller wird eine Methode abgearbeite in der eine Exception auftreten
<br>> kann.<br>><br>> def methode<br>> &=
nbsp; begin<br>> &nb=
sp; .<br>> &nb=
sp; .<br>> &nb=
sp; rescue =3D> exc<br>><br>> &n=
bsp; end<br>> end<br>><br>> In dem rescue soll jetzt da=
s Exception handling passieren.
<br>> Ich hab es mit Exception.new(exc) versucht.<br><br><br>Die Ruby Ex=
ception steckt schon in `exc` drin, Du brauchst die nicht<br>mehr zu wrappe=
n. Anhand Deines Beispiels laesst sich aber leider nicht<br>erkennen, wo di=
e Exception entsteht. Wenn kein Fault von dem
<br>webservice geliefert wird, wird natuerlich auch in Ruby kein SOAP<br>fa=
ult entstehen.<br><br>Wenn Du in dem rescue Block Dir mal den Wert von `exc=
.class` ausgeben<br>laesst, solltest Du sehen, ob die Exception eine "=
SOAP::FaultError"
<br>ist oder nicht. Ansonsten kannst Du Dir mit `exc.backtrace` =
anzeigen<br>lassen, wo die Exception ueberhaupt entsteht.<br><br><br>> D=
as Ergebniss was ich bekommme ist das der R=FCckgabestring vom Webservice d=
ie<br>> Message von der Exception enth=E4lt. Was ich aber m=F6chte ich d=
as ich eine
<br>> soapfault zur=FCck bekomme.<br><br>Was genau verstehst Du unter &q=
uot;soapfault"? Du moechtest an der Stelle<br>die reine XML Darstellun=
g der SOAP Nachricht erhalten, oder eine Ruby<br>Exception, die SOAP Fehler=
abbildet? Ich vermute. dass es sich beim
<br>dem "Rueckgabestring" tatsaechlich um ein `SOAP::FaultError` =
handelt,<br>aber wenn Du den einfach mit `puts` ausgibst, wird nur die<br>F=
ehlermeldung angezeigt. Wie gesagt, mit `exc.class` kannst Du<br>ermitteln,=
ob es sich tatsaechlich nur um einen String handelt.
<br><br>>Hab leider auch noch nichts gefunden was mir sagt<br>> ob es=
einen soapfaul =FCberhaupt in Ruby oder Ruby on Rails gibt. Ich wei=DF nur=
<br>> das es bei Java geht.<br><br><a href=3D"http://www.ruby-doc.org/st=
dlib/libdoc/soap/rdoc/classes/SOAP/FaultError.html">
http://www.ruby-doc.org/stdlib/libdoc/soap/rdoc/classes/SOAP/FaultError.htm=
l</a><br><a href=3D"http://www.ruby-doc.org/stdlib/libdoc/soap/rdoc/index.h=
tml">http://www.ruby-doc.org/stdlib/libdoc/soap/rdoc/index.html</a><br><br>
Die soap4r Doku ist furchtbar. Passt irgendwie zu SOAP an sich...<br><br>Gr=
uss,<br> -tim<br>______________________________________________=
_<br>Ruby-de-talk mailing list<br><a href=3D"mailto:Ruby-de-talk@rubyforge.=
org">[email protected]
</a><br><a href=3D"http://rubyforge.org/mailman/listinfo/ruby-de-talk">http=
://rubyforge.org/mailman/listinfo/ruby-de-talk</a><br></blockquote></div><b=
r>
------=_Part_52223_32590296.1172246138509--
--===============2100631807==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
_______________________________________________
Ruby-de-talk mailing list
[email protected]
http://rubyforge.org/mailman/listinfo/ruby-de-talk
--===============2100631807==--