Jeg opdagede i dag, GetList() metode i lists.asmx webtjenesten har kaldt meget omhyggeligt, eller det er tilbøjelige til at smide en mystisk "Værdi kan ikke være null" undtagelse (og antages kan du få forbi den endnu værre generiske fejlmeddelelse, "Undtagelse af typen ' Microsoft.SharePoint.SoapServer.SoapServerException’ der blev udløst.") Specifikt, Jeg fandt, at du ikke kan give nogen form for præfiks på metoden GetList. Den følgende jQuery snippet illustrerer punktet:
Hvis du gør det, Webtjenesten svarer med "Værdi kan ikke være null" som pr. dette spillemand-forudsat http-transcript:
<?XML version = "1.0" encoding = "utf-8"?>
<SOAP:Konvolut
xmlns:SOAP ="http://schemas.xmlsoap.org/SOAP/Envelope/"
xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance”
xmlns:XSD ="http://www.w3.org/2001/XMLSchema"><SOAP:Organ>
<SOAP:Fejl>
<faultcode>SOAP:Server</faultcode>
<faultString>
Undtagelse af typen ' Microsoft.SharePoint.SoapServer.SoapServerException’ der blev udløst.
</faultString>
<detaljer>
<ErrorString xmlns ="http://schemas.Microsoft.com/SharePoint/SOAP/">
Værdi må ikke være null.
</ErrorString>
</detaljer>
</SOAP:Fejl>
</SOAP:Organ>
</SOAP:Konvolut>
Selvfølgelig, du ville sandsynligvis tilføje denne "s0" præfiks på dine egne, men nogle værktøjer er tilbøjelige til at gøre det. (ligesom Eclipse).
Dette er så meget desto mere forvirrende / frustrerende fordi andre metoder tolerere præfikser. For eksempel, den GetListCollection metode huske ikke, hvis det er blevet præfikset, selv med nonsens præfikser ligesom "xyzzy":
Dette "værdi ikke kan være null" forekommer temmelig fælles med lists.asmx så forhåbentlig dette vil hjælpe en anden person ud i fremtiden.
</slutningen>
Følg mig på kvidre på http://www.twitter.com/pagalvin
En lille kommentar
Jeg tror, at du gik glip “s0” præfiks for lisname
Prøv denne
Opgaver