Tag Archives: листс.асмк

Листс.асмк, ГетЛистИтемс и фасцикле

Ја сам истраживао за некога данас око лист.асмк веб услугу као део СхареПоинт 2010 (и раније).  Она је била у стању да ставке листе на основној фасцикли (укључујући и имена субименике), али није могао да ставке у под-директоријумима.  Мало сам гледала около на интернетс и то је изненађујуће често питање.  Још, Нисам могао добити добар одговор на једноставно питање, "Ако ја знам фасциклу, како могу добити ставке у фасцикли?"  Да будем искрен, Нисам пробао све то тешко, јер сам хтео да схватимо ово сама за неко време Осмех.

Да бисте подесили ово, Направио сам сајт под називом "Сценарији блоггинг" и прилагођене листе по имену "Цустом Списак са под фасциклама".  Тада сам створио фолдере именоване:

  • Година 2005
  • Година 2006
  • Година 2007

Додао сам неколико ставки у фасцикли "Година 2006".  То је оно што изгледа:

image

Мој пријатељ не пише Ц # кода, већ користите Јава, па САПУН коверта је оно што је заиста потребно.  Да би се то, Написао сам мало јКуери а затим користи Фиддлер да бисте добили Стварни ХТТП разговор.

Ево релевантно јКуери (Копирао сам код доле испод ако желите да копирате / пасте):

image

Прво су кључ је да се укључе и <куериОптионс> и <КуериОптионс> чвор.  Други кључ је у томе <Фасцикла> чвор је УРЛ адреса на коју клијент има приступ.

Постоје и други начини да се ово, али ово је добро радио за мене када се користи јКуери.

Овде је САПУН коверта за горе:

<соапенв:Коверте КСМЛнс:соапенв =’хттп://сцхемас.кмлсоап.орг / сапун / коверти /’>                
  <соапенв:Тело>
    <ГетЛистИтемс КСМЛнс =’
хттп://сцхемас.мицрософт.цом / СхареПоинт / сапун /’>
      <листнаме>Прилагођену листу са под фасциклама</листнаме>
      <виевФиелдс>  
        <ВиевФиелдс>
          <ФиелдРеф Име = 'Наслов’ />
          <ФиелдРеф Име = 'ЕнцодедАбсУрл’ />
        </ВиевФиелдс>
      </виевФиелдс>
      <куериОптионс>
        <КуериОптионс>
          <Фасцикла>
хттп://демосервер1/Блоггинг Сценарији / спискови / прилагођене листе са под фасциклама / 2006 годину</Фасцикла>
        </КуериОптионс>
      </куериОптионс>
   
</ГетЛистИтемс>
  </соапенв:Тело>
</соапенв:Коверат>

Много примера и дискусија око овог ме је навело да верујем да све што ми треба је <КуериОптионс> и наведите име фасцикле.  За мене, Морам да га замотати у оба <куериОптионс> као и навести потпуно квалификовано УРЛ <Фасцикла> чвор.

Ево јКуери АЈАКС подешавање:

$(документ).спреман(функција() {
       био соапЕнв =
           "<соапенв:Коверте КСМЛнс:соапенв =’хттп://сцхемас.кмлсоап.орг / сапун / коверти /’> \
               <соапенв:Тело> \
                    <ГетЛистИтемс КСМЛнс =’хттп://сцхемас.мицрософт.цом / СхареПоинт / сапун /’> \
                       <листнаме>Прилагођену листу са под фасциклама</листнаме> \
                       <виевФиелдс> \
                           <ВиевФиелдс> \
                              <ФиелдРеф Име = 'Наслов’ /> \
                              <ФиелдРеф Име = 'ЕнцодедАбсУрл’ /> \
                          </ВиевФиелдс> \
                       </виевФиелдс> \
                       <куериОптионс> \
                         <КуериОптионс> \
                           <Фасцикла>http://demoserver1/Blogging Сценарији / спискови / прилагођене листе са под фасциклама / 2006 годину</Фасцикла> \
                         </КуериОптионс> \
                       </куериОптионс> \
                   </ГетЛистИтемс> \
               </соапенв:Тело> \
           </соапенв:Коверат>";

</крај>

Претплатите се на мој блог.

Следите ме на Туиттер на http://www.twitter.com/pagalvin

Листс.асмк, ГетЛист и "Вредност не сме бити нулл”

Открио сам да је данас ГетЛист() метода у листс.асмк веб сервиса мора да се зове веома пажљиво и да је склона да се баци мистериозни "вредност не може бити нулл" изузетак (и под претпоставком да је можете добити прошлости још горе генеричке поруке о грешци, “Exception of type ‘Microsoft.SharePoint.SoapServer.SoapServerException’ бачен. ")  Посебно, Нашао сам да не може да пружи било какав префикс на ГетЛист метода.  Следећи јКуери код илуструје тачку:

image

Ако то урадите, Веб услуга одговара са "Вредност не може бити нула" по ово виолиниста-условом ХТТП транскрипт:

<?xml version="1.0" encoding="utf-8"?>
  <сапун:Коверат
     КСМЛнс:сапун ="
хттп://сцхемас.кмлсоап.орг / сапун / коверти /"    
     КСМЛнс:кси = "
хттп://ввв.в3.орг/2001/КСМЛСцхема-инстанце"
     КСМЛнс:ксд ="
хттп://ввв.в3.орг/2001/КСМЛСцхема">

  <сапун:Тело>
    <сапун:Грешка>
      <фаултцоде>сапун:Сервер</фаултцоде>
      <фаултстринг>
        Exception of type ‘Microsoft.SharePoint.SoapServer.SoapServerException’ је бачена.
      </фаултстринг>
      <детаљ>
        <еррорстринг КСМЛнс ="
хттп://сцхемас.мицрософт.цом / СхареПоинт / сапун /">
Вредност не може бити нула.
        </еррорстринг>
      </детаљ>
    </сапун:Грешка>
  </сапун:Тело>
</сапун:Коверат>

Наравно, вероватно не би додао да "С0" префикс на сопствене, али неки алати су склони да то уради (као Ецлипсе).

То је све више збуњујуће / фрустрирајуће, јер друге методе толерише префикса.  На пример, the ГетЛистЦоллецтион метод не смета ако је прошло префикс, чак и са бесмисленим префиксима попут "киззи":

image

Ова "вредност не може бити нула" изгледа прилично уобичајено са листс.асмк па се надам да ће то помоћи некоме у будућности.

</крај>

Претплатите се на мој блог.

Следите ме на Туиттер на http://www.twitter.com/pagalvin