Lists.asmx, GetList და "მნიშვნელობა არ შეიძლება იყოს null”

აღმოვაჩინე, რომ GetList() მეთოდი lists.asmx ვებ სერვისი უნდა ეწოდოს ძალიან ფრთხილად ან ეს მიდრეკილება იმისათვის, რომ ფარული "ღირებულების არ შეიძლება იყოს null" გამონაკლისი (და ეს ვთქვათ, თქვენ შეგიძლიათ მიიღოთ წარსული უარესი generic შეცდომა, “Exception of type ‘Microsoft.SharePoint.SoapServer.SoapServerException’ ესროლეს ".)  კერძოდ, მივხვდი, რომ ვერ უზრუნველყოფს რაიმე სახის პრეფიქსი on GetList მეთოდით.  შემდეგ jQuery snippet ასახავს წერტილი:

image

თუ თქვენ, რომ, ვებ სერვისი ეხმაურება და "ღირებულების არ შეიძლება იყოს null" როგორც პოსტი ამ fiddler-უზრუნველყოფილი HTTP სტენოგრამა:

<?xml version="1.0" encoding="utf-8"?>
  <საპნის:კონვერტი
     xmlns:საპნის ="
http://schemas.xmlsoap.org / საპნის / კონვერტში /"    
     xmlns:xsi = "
http://www.w3.org/2001/XMLSchema-instance"
     xmlns:xsd ="
http://www.w3.org/2001/XMLSchema">

  <საპნის:Body>
    <საპნის:ბრალია>
      <faultcode>საპნის:სერვერი</faultcode>
      <faultstring>
        Exception of type ‘Microsoft.SharePoint.SoapServer.SoapServerException’ ესროლეს.
      </faultstring>
      <დეტალურად>
        <errorstring xmlns ="
http://schemas.microsoft.com / SharePoint / საპნის /">
ღირებულება არ შეიძლება იყოს null.
        </errorstring>
      </დეტალურად>
    </საპნის:ბრალია>
  </საპნის:Body>
</საპნის:კონვერტი>

რა თქმა უნდა, თქვენ ალბათ არ დავამატებთ, რომ "s0" პრეფიქსი საკუთარ, მაგრამ ზოგიერთი ინსტრუმენტი არის მიდრეკილება რომ ამის გაკეთება (ისევე როგორც Eclipse).

ეს მით უფრო გაუგებარია / სამწუხარო იმიტომ, რომ სხვა მეთოდები მოითმენს პრეფიქსი.  მაგალითად, the GetListCollection მეთოდი არ იბადება, თუ მას უკვე prefixed, თუნდაც სისულელე ინდექსები როგორიცაა "xyzzy":

image

ეს "ღირებულება არ შეიძლება იყოს null", როგორც ჩანს საკმაოდ საერთო lists.asmx ისე იმედია ეს ხელს შეუწყობს ვინმე out მომავალში.

</ბოლო>

გამოწერა ჩემი დღიური.

გამომყვეს Twitter-ზე http://www.twitter.com/pagalvin

ერთი ფიქრობდა შესახებ "Lists.asmx, GetList და "მნიშვნელობა არ შეიძლება იყოს null”

დატოვე პასუხი

თქვენი ელ-ფოსტა არ გამოქვეყნდება. აუცილებელი ველები მონიშნულია *