Pergunta

Minha pergunta éAlguém pode me dizer as maneiras possíveis, posso obter dados de uma lista do sharepoint 2007, que é protegida com SSL/Https para um gadget do Windows 7 (usa HTML/Java Script),

(Perguntei aos meus desenvolvedores seniores e eles me disseram que um cliente primeiro preenche um formulário, que é validado pelo servidor ISA e fornece ao cliente um cookie, que ele usa mais tarde para acessar os sites do sharepoint aos quais obteve acesso, o que me faz supor que é uma autenticação de formulários, mas não tenho certeza se é a autenticação do Windows, pois os usuários preenchem um formulário @ IE, mas se eu abrir o mesmo portal no Chrome, uma janela aparece e pede nome de usuário e senha)

Tenho procurado maneiras diferentes, mas não tenho certeza de qual delas funcionará exatamente neste cenário.

EDITAR:
Após pesquisar sobre autenticação do Windows/Forms, descobri que estamos usando a autenticação do Windows.

Então minha pergunta será alterada para algo assim,

Quais são as maneiras possíveis de obter dados de um SPlist usando SOAP/Webservices, usando "_vti_bin/authentication.asmx" e depois "_vti_bin/lists.asmx" "GetListItems ()".Tendo em mente que não quero usar .Net (referência da web), pois estou desenvolvendo-o para um gadget do Windows Vista que será construído usando linguagem HTML/Scripting

Saúde

Mais explicação:

Tentei dar espinetas com código de resposta, mas não obtive sucesso, Também descobri que um cliente está usando autenticação básica e, em seguida, autenticação Kerbos em algum lugar entre servidores, Agora tentei este código, que também não está funcionando,

    <html>
<head>
<title>Sharepoint List Browser</title>
</head>
<body style="width:400px; height:400px;">
<div id = "abc">
<button id = "btnFindLists" type="button">Click Me!</button>
<div id="mainContent">
   <p>1</p>  <!--  -- that p will be returned -->
  <p>2</p>
</div>

<script type="text/javascript" language="javascript">
  $('document').ready(function () {
    $('#btnFindLists').bind('click', findLists);
  });
  function findLists()
  {
    $.ajax(
    {
        type:'GET',
        url:'https://usa2020.domainabc.com/portal/_vti_bin/Lists.asmx',
        data:"username=domainabc\userabc&password=apassword",
        success: function(data){
        alert('successful');
      }
    });
  }
</script>
</body>
</html>

A função "alerta" não funciona em um gadget.

Eu tentei o Código de Falak assim

    <html>
<head>
<title>Sharepoint List Browser</title>
<script type="text/javascript" language="javascript">
  $('document').ready(function () {
    $('#btnFindLists').bind('click', findLists);
  });
  function findLists()
  {
    $.getJSON("https://usa2020.domainabc.com/portal/_vti_bin/Lists.asmx", {
      sucess: function (data, textStatus, xhr) {
        $("#mainContent p").first().html(data);
      }
    });
  }
</script>
</head>
<body style="width:400px; height:400px;">
<div id = "abc">
<button id = "btnFindLists" type="button">Click Me!</button>
<div id="mainContent">
   <p>1</p>  <!--  -- that p will be returned -->
</div>
</body>
</html>

Simplesmente não funciona como os outros, o possível motivo pode ser a autenticação do Windows.

Saúde

EDITAR 2: *Outra coisa que gostaria de acrescentar agora, é que não consigo acessar os serviços da Web até fazer logon no servidor ISA, essa é outra pista que recebi.*

Foi útil?

Solução

Estou pensando por que você não usaria ListData.svc em vez de Lists.asmx para obter os dados da lista.ListData.svc fornece uma maneira de obter informações de uma lista (ou listas usando junções) usando REST e você obtém um bom feed RSS de dados de lista, que você pode consumir com qualquer cliente que desejar.

Além disso, você não precisa criar a referência da Web conforme mencionado na pergunta e ainda fazer seu trabalho por meio de scripts do lado do cliente.Aqui está um exemplo de consulta para ListData.svc usando jQuery

<script type="text/javascript" language="javascript">
  $('document').ready(function () {
    $('#btnFindLists').bind('click', findLists);
  });
  function findLists()
  {
    alert('Hello World!');
    $.getJSON("/_vti_bin/ListData.svc", {
      sucess: function (data, textStatus, xhr) {
        $("#mainContent p").first().html(data);
      }
    });
  }
</script>
Licenciado em: CC-BY-SA com atribuição
Não afiliado a sharepoint.stackexchange
scroll top