SharePointCommunity
Die deutschsprachige Community für SharePoint, Microsoft 365, Teams, Yammer und mit Azure

Sponsored by

Willkommen im Forum Archiv.
Einträge sind hier nicht mehr möglich, aber der Bestand von 12 Jahren SharePoint-Wissen ist hier recherchierbar.




Problem mit Custom Field Types, ContentTypes und WebService

Unbeantwortet Dieser Beitrag hat 1 Antworten

Ohne Rang
410 Beiträge
Oliver Wirkus erstellt 23 Juli 2010 13:49
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hallo Forum,

ich debugge gerade ein etwas vertracktes Problem - vielleicht hat jemand von Euch eine Idee oder einen Tipp für mich.

 

Ausgangssituation: ich habe 6 Custom Field Types - sehr einfache Dinger, die eigentlich nur eine Auswahlliste anzeigen und den ausgewählten Wert in eine Bibliothek schreiben. Alle sind von SPFieldText bzw. TextField abgeleitet. Alle CFTs sind in ContentTypes eingebunden und diese sind Bibliotheken zugewiesen. Über die SharePoint-Oberfläche (also Bedienung über den Browser) funktionieren alle CFTs problemlos.

Fall 1: auf die Bibliotheken (mit den ContentTypes, in denen die CFTs eingebunden sind) wird über den Standard-SharePoint WebService lists.asmx von Außen zugegriffen. Es wird versucht, einen neuen Eintrag in der Bibliothek anzulegen und die Metadaten auszufüllen. Das Anlegen eines neuen Items in der Bibliothek klappt, aber bei 3 von 6 CFT kommt es zu einem Fehler beim Schreiben von Werten ( Normal 0 21 false false false DE X-NONE X-NONE MicrosoftInternetExplorer4 One or more field types are not installed properly. Go to the list settings page to delete these fields.). Zuerst habe ich natürlich gedacht, an diesen 3 CFTs sei irgendetwas anders - aber ich konnte keine relevanten Unterschiede finden. Beim Debuggen bin ich darauf gestossen, dass der WebService wohl beim Schreiben nicht auf das CFT zugreift, sondern den Textwert direkt in das Item schreibt. Jedenfalls wird -außer dem Konstruktor- sonst keine Methode der CFTs aufgerufen. Ist das bei einem WebService aufruf so?

Fall 2: gleiche Ausgangssituation, nur habe ich die CFTs jetzt nicht in einen ContentType integriert, sondern mit ihnen direkt Spalten in einer Bibliothek angelegt. Oder in anderen Worten: diese Testbibliothek basiert nicht auf einem ContentType -die Spalten sind direkt angelegt). Seltsamerweise hat der gleiche WebService hier keine Probleme, die Werte, die durch die CFTs abgebildet werden, zu beschreiben. In diesem Szenario (also ohne Verwendung eines ContentType) klappt es, wie erwartet.

Daraus schließe ich, dass es irgendwie an der kombination aus den CFTs und dem ContentType liegt - erklären kann ich es mir aber auch nicht. Der ContentType wurde ganz normal über doe Oberfläche angelegt (also kein Code, kein Feature). Ich habe neue Contenttypes angelgt - gleiches Ergebnis.

Momentan stelle ich mir zwei Fragen:

a) Wie sieht denn ein schreibender Zugriff über den WebService lists.asmx bzgl. CFTs aus? Schreibt der WebService wirklich direkt in ein Item ohne die CFTs aufzurufen?

b) Warum klappt es ohne ContentTypes - und warum gibt es bei 3 von 6 CFT Probleme, wenn ein ContentType verwendet wird?

Ich habe schon etwas recherchiert und bin dabei auf einige Meldungen gestossen, die besagen, dass die genannte Fehlermeldung auch gern mal bei fehlerhaften CAMl-Queries auftritt. Da man beim lists.asmx auch CAML-Queries verwenden muss, dachte ich zuerst, die Ursache gefunden zu haben. Aber dann müssten zumindest die CAML-Queries für die drei Problem-behafteten CFTs hardcoded sein - und davon gehe ich jetzt erst einmal nicht aus :-)

Ich würde mich sehr freuen, wenn jemand von Euch einen guten Tipp für mich hätte!

Alle Antworten

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 24 Juli 2010 16:41
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hast Du die Felder schon mit SharePoint Manager verglichen? Direkt an der Liste und mit ContentType? Vielleicht gibt es ja einen Unterschied.

Hast Du das Logging mal auf "Verbose" gesetzt und dann nachgeschaut? Vielleicht entdeckt man ja was.

Sorry, nur eine Idee, wie ich vorgehen würde. Nicht wirklich hilfreich und vermutlich hast Du das eh schon alles durch...

Viele Grüße
Andi
af @ evocom de
Blog