[Gelöst] Pflichtfelder in Webservices definieren

13. Februar 2009 13:52

Hallo Zusammen,

ich habe einen Webservice für eine Page erstellt. Nun habe ich das Problem, dass ich einige Felder als Pflichtfeld deklarieren möchte. Hier soll der webservice sofort meckern wenn z.B. ein Item angelegt werden soll, bei dem die Description nicht gefüllt ist.
Nun habe ich in der Page selbst das Feld "Description" auf NotBlank = Yes eingerichtet, als auch in der Tabelle Item. Jedoch kann ich weiterhin lustig Items ohne Descriptions über meinen Webservice anlegen...
Kann mir da jemand helfen?

VG
M.
Zuletzt geändert von turo01 am 24. Februar 2009 09:39, insgesamt 1-mal geändert.

Re: Pflichtfelder in Webservices definieren

15. Februar 2009 15:10

Ich würde den Webservice einfach in eine Funktion packen:

z. B. VB

Public Function InsertItem(ByVal No as String, ByVal Description as String) as Boolean
Dim ws as DeinWebservice
if Description.Length < 10 then
return False
else
ws.DeinePage(No, Description)
Return True
end If
End Function

Re: Pflichtfelder in Webservices definieren

17. Februar 2009 10:54

??? Verstehe den Ansatz nicht, was machst du denn mit VB? Das Frontend zu dem Webservice?
Der Webservice wird bei uns von einem externen System bedient un z.b. 1000 neue Artikel einzupflegen.

Die Prüfung muss schon in der Page selbst sein...

VG
M.

Re: Pflichtfelder in Webservices definieren

17. Februar 2009 13:26

1. mißverständnis: dachte du entwickelst eine routine zum zugriff auf den Webservice
2. ist den Description wirklich null oder wird ggf eine leere zeichenkette oder space übergeben?
3. Wie willst Du das mit der Berechtigung zum Zugriff auf den Webservice lösen? Greifen nur Mitarbeiter zu oder können ggf. Lieferanten die Daten einpflegen/lesen? Daher vielleicht doch so wie oben und einen IIS als Proxy mit eigener Zugriffs logik dazwischenstellen.

Volker

Re: Pflichtfelder in Webservices definieren

19. Februar 2009 09:35

Den IIS als Proxy nehmen wir ja schon, nur routet dieser die Requests ja nur duch. Einwe Zwischenschicht würde ich hier als redundant beurteilen.
Ich habe mir jetzt damit geholfen die Prüfung in dem OnModify-Trigger der entsprechenden Tabelle (Page wäre auch möglich) einzubauen. Hier können nun alle Prüfungen stattfinden. Entspricht der Datensatz nicht der Schnittstelle muss er halt wieder gelöscht werden und der Webservice gibt als response eine entsprechende Fehlermeldung. Nicht elegant, aber eine andere Möglichkeit habe ich hier erstmal nicht gefunden.

Dennoch danke für deine Antworten..

VG
M.

Re: Pflichtfelder in Webservices definieren

19. Februar 2009 10:11

Wofür braucht Ihr den IIS? Ich hatte das zwar schon mal früher in den Raum geworfen, aber bei mir funktionieren die NAV-Webservices auch mit deaktiviertem IIS.

Wenn Ihr aber z. B. Lieferanten ermöglichen wollt die Daten einzutragen, dann sollte evtl. auch noch eine Routine dazwischen, die das Lesen der Daten überwacht und ggf. verhindert. Sonst liest Lieferant A bald die Daten von Lieferant B.