Odkryłem dzisiaj, GetList() Metoda lists.asmx usługi sieci Web ma bardzo starannie nazywane lub jest podatna na rzut tajemniczy wyjątek "Wartość nie może być zerowy" (i że zakładając, że można uzyskać w przeszłości jeszcze gorsza komunikat Błąd rodzajowy, "Wyjątek typu ' Microsoft.SharePoint.SoapServer.SoapServerException’ zgłoszono wyjątek.") W szczególności, I stwierdzone, że nie może dostarczyć wszelkiego rodzaju prefiks na metodzie GetList. Poniższy urywek jQuery ilustruje punktu:
Jeśli, Usługa sieci web odpowiada "Wartość nie może być zerowa" jak na to skrzypek-pod warunkiem transkrypcja HTTP:
<?wersja pliku XML = "1.0" Kodowanie = "utf-8"?>
<mydło:Koperta
xmlns:mydło ="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance”
xmlns:xsd ="http://www.w3.org/2001/XMLSchema"><mydło:Organ>
<mydło:Usterka>
<faultcode>mydło:Serwer</faultcode>
<elementem faultString>
Wyjątek typu ' Microsoft.SharePoint.SoapServer.SoapServerException’ zgłoszono wyjątek.
</elementem faultString>
<szczegóły>
<ErrorString xmlns ="http://schemas.Microsoft.com/SharePoint/SOAP/">
Wartość nie może być zerowy.
</ErrorString>
</szczegóły>
</mydło:Usterka>
</mydło:Organ>
</mydło:Koperta>
Oczywiście, prawdopodobnie nie dodasz tego prefiksu "s0" na własne, Jednak niektóre narzędzia są podatne na nie (Podobnie jak Eclipse).
Jest to tym bardziej skomplikowane / frustrujący, ponieważ inne metody tolerować prefiksów. Na przykład, The GetListCollection Metoda nie przeszkadzało jeśli jest zostało poprzedzone, nawet z prefiksami bzdury, takich jak "xyzzy":
To "wartość nie może być zerowy" wydaje się dość wspólnej z lists.asmx tak miejmy nadzieję pomoże to ktoś się w przyszłości.
</koniec>
Follow me on Twitter wiek na http://www.twitter.com/pagalvin
Mały komentarz
Myślę, że brakowało “S0” prefiks dla lisname
próbować ten
Zadania