webForumDet fria alternativet

Webservice och felhantering

Webbutveckling

2 svar · 530 visningar · startad av dAEk

Medlem sedan feb. 20041 816 inlägg
Frågan#1

Om jag har en webservice som gör en massa spännande grejer utifrån inskickade parametrar men något går fel under exekveringens gång, hur borde man hantera det?

I det här fallet är det en webservice som serialiserar objekt och returnerar dem i XML-format. Blir något galet under exekveringen fångas det upp och returnerar null, och det är här jag undrar om det inte finns bättre sätt att hantera det hela. Jag tänker mig nåt i stil med sätter statuskod som i HTTP, t.ex response.status = 500. Eller brukar det funka som så att man alltid skickar tillbaka data men en tom nod om det blir fel på serversidan?

Medlem sedan juni 20008 205 inlägg
#2

Att returnera null när något går fel är aldrig rätt. Web services har stöd för exceptions, använd det.

red. Kör du ett eget XML-över-HTTP-protokoll, hitta på ett eget sätt för att kasta exceptions över linan. HTTP-status kan användas men ska inte ersätta ett vettigt överföringsprotokoll.

Medlem sedan feb. 20041 816 inlägg
#3

Tidigare när jag fångade felet och returnerade null skickades det en (tom) nod av objektet och klienten tolkade därmed svaret som okej. Att kasta ett exception funkade däremot skitbra. Tack! :)

260 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
127 ms — deklarationer (db)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)
127 ms — ändringar (db)