Manfred Skrevet 8. oktober 2008 Del Skrevet 8. oktober 2008 Sitter og funderer litt, og finner ikke uten videre noe svar. Eks jeg har koden i min WebService: [WebMethod(Description="Min Funksjon!")] public string Test(int a) { return a.ToString(); } (en veldig fornuftig funksjon) Men i alle fall. Hvis noen kaller funksjonen uten parameter, eller som Test("") eller lignende får man en feilmelding som ligner på denne: System.ArgumentException: Cannot convert to System.Boolean. Parameter name: type ---> System.FormatException: String was not recognized as a valid Boolean. at System.Boolean.Parse(String value) at System.String.System.IConvertible.ToBoolean(IFormatProvider provider) at System.Convert.ChangeType(Object value, Type conversionType, IFormatProvider provider) at System.Web.Services.Protocols.ScalarFormatter.FromString(String value, Type type) --- End of inner exception stack trace --- at System.Web.Services.Protocols.ScalarFormatter.FromString(String value, Type type) at System.Web.Services.Protocols.ValueCollectionParameterReader.Read(NameValueCollection collection) at System.Web.Services.Protocols.HtmlFormParameterReader.Read(HttpRequest request) at System.Web.Services.Protocols.HttpServerProtocol.ReadParameters() at System.Web.Services.Protocols.WebServiceHandler.CoreProcessRequest() ...som ren tekst. Jeg vil gjerne returnere noe som <result> <success>False</success> <errormessage>argument exception: type</errormessage> </result> Hvordan kan jeg få til dette? Lenke til kommentar
GeirGrusom Skrevet 8. oktober 2008 Del Skrevet 8. oktober 2008 Det er en egenklasse som heter UnhandledExceptionHandler eller noe i den duren. Har aldri rørt den selv, så kan ikke hjelpe mer en det. Lenke til kommentar
Manfred Skrevet 8. oktober 2008 Forfatter Del Skrevet 8. oktober 2008 (endret) Prøvde denne: public Content() { AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(CurrentDomain_UnhandledException); } void CurrentDomain_UnhandledException(object sender, UnhandledExceptionEventArgs e) { HttpContext.Current.Response.Write("JALLA"); } Men den ble aldri kjørt, virker det som... :\ Edit: Spørsmålet er jo da også om Constructoren til en WebService kjøres i det hele tatt når man Invoker funksjonene via HTTP Form data? Endret 8. oktober 2008 av Manfred Lenke til kommentar
steingrim Skrevet 8. oktober 2008 Del Skrevet 8. oktober 2008 AppDomain.CurrentDomain.UnhandledException En UnhandledExceptionHandler er for exceptions som ikke fanges opp av applikasjonen din. Kan typisk bruke hvis du vil vise slik boks "Programmet har kræsjet, vil du sende data til utviklerne?" -- i akkurat det tilfellet har jeg sett det blitt brukt hvertfall. Men det har ingenting med Webservices å gjøre I Webservices/SOAP er det allerede definert Fault-objekter. .Net sine exceptions blir konvertert til SOAP-Faults på server-siden og på klienten blir disse demarshaled tilbake til .Net-exceptions. Eller Java-exceptions. Osv osv. Her vil du egentlig returnere noe annet en SOAP-Fault ved exceptions. Det tror jeg ikke er helt rett fram dessverre, eller om det i det hele tatt er mulig. Jeg tipper du i det minste må arve en spesiell klasse og at du ikke kan velge så veldig hvordan XMLen skal se ut, det ville jo brutt med SOAP. Lenke til kommentar
Manfred Skrevet 8. oktober 2008 Forfatter Del Skrevet 8. oktober 2008 men soapen min returerer jo en XML dersom alt går som det skal. da bør det jo gå an å gjøre dette ved feil også. Nå synes jeg du er lite positivt innstilt her Lenke til kommentar
GeirGrusom Skrevet 13. oktober 2008 Del Skrevet 13. oktober 2008 Jaja web-utvikling er noe dritt. Problemene en støter på er aldri om hvordan en skal løse et kinkig problem, det gr som regel i "hvordan gjør jeg dette i [sett inn rammeverk her]?" Men desverre et latterlig mye mindre marked for utfordrende ting litt snodig at det som betales best for tiden også er det som krever minst tenkearbeid. "La brukeren logge inn eller registrere seg" "Lag en liste" "La brukeren skrive inn et eller annet" "Behandle informasjonen" "Vis en ny liste" "Osv" Webprogrammering i et nøtteskall Lenke til kommentar
steingrim Skrevet 13. oktober 2008 Del Skrevet 13. oktober 2008 Jaja web-utvikling er noe dritt. Det finnes artig webutvikling også Det spørs bare hvor og med hva man jobber! ...Webprogrammering i et nøtteskall Jupp. Derfor har man generiske views i Django for list, detail og edit Det er jo de tre funksjonene man som regel trenger. Lenke til kommentar
Manfred Skrevet 13. oktober 2008 Forfatter Del Skrevet 13. oktober 2008 Fant ut at det er jo faktisk fornuftig at det er sånn Slik at de systemene som kobler seg opp mot webservicen i alle fall ikke skal kunne kalle den med feil parametre... Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå