[Ruby-de-talk] Exception werfen (Controller und Webservice)

Nils Beckmann beckmann.nils at arcor.de
Fri Feb 23 10:55:38 EST 2007


Erstmal danke für 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 <a2800276 at gmail.com>:
>
> >
> > Im Controller wird eine Methode abgearbeite in der eine Exception
> auftreten
> > kann.
> >
> > def methode
> >      begin
> >              .
> >              .
> >      rescue => 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ückgabestring vom Webservice
> die
> > Message von der Exception enthält. Was ich aber möchte ich das ich eine
> > soapfault zurück 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 überhaupt in Ruby oder Ruby on Rails gibt. Ich weiß
> nur
> > das es bei Java geht.
>
>
> http://www.ruby-doc.org/stdlib/libdoc/soap/rdoc/classes/SOAP/FaultError.html
> 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
> Ruby-de-talk at rubyforge.org
> http://rubyforge.org/mailman/listinfo/ruby-de-talk
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://rubyforge.org/pipermail/ruby-de-talk/attachments/20070223/cd3ede3a/attachment-0001.html 


More information about the Ruby-de-talk mailing list