none
Dúvidas sobre xml utilizado quando atualizamos um formulário infopath via Client Object Model, e agora? RRS feed

  • Pergunta

  • Olá,
    Qual o procedimento para que a minha aplicação console Client Object Model possa ler e atualizar arquivos infopaths no meu site sharepoint.
    Qual a forma correta de se fazer isso?

    Obrigado


    k2rto4-Pb - Analista SharePoint


    • Editado TI DEV terça-feira, 24 de julho de 2012 12:10
    terça-feira, 17 de julho de 2012 14:15

Respostas

Todas as Respostas

  • K2rto4,

    Quer explicar o que vc pretende fazer?


    Atenciosamente,

    Fabian André Gehrke
    MCITP e MCPD SharePoint 2010
    http://fabiangehrke.com.br

    terça-feira, 17 de julho de 2012 15:01
    Moderador
  • Olá Fabian,

    Consegui ler os arquivos da biblioteca aqui e salvá-los.

    O problema agora é que o arquivo infopath nao abre.

    Abrindo o arquivo xml da biblioteca percebo que o arquivo em questão perdeu o seu cabeçalho.

    O cabeçalho contém:

    <?xml version="1.0" encoding="utf-8"?>

    <?"urn:schemas-microsoft-com:office:infopath: MeuFormulario:-myXSD-2009-12-02T15-38-46" solutionVersion="1.0.3719.6060" productVersion="14.0.0.0" PIVersion="1.0.0.0" href="http://meuservidor/FormServerTemplates/MeuFormulario.xsn"?>

    <?"InfoPath.Document" versionProgid="InfoPath.Document.3"?>

    <?

    Voce já passou por isso?

    Sabe como que posso fazer para que o cabeçalho não suma

    Obrigado


    k2rto4-Pb - Analista SharePoint


    • Editado TI DEV terça-feira, 17 de julho de 2012 15:48
    terça-feira, 17 de julho de 2012 15:47
  • Posta o trecho do código que você está usando pra gente verificar.
    Pode ser que haja algo errado com ele.


    Roger Corrêa - Se a resposta lhe foi útil, marque-a como tal.

    terça-feira, 17 de julho de 2012 17:43
  • K2rto4,

    Eu ainda não consegui entender o que vc quer fazer, pq abrir o formulário via cliente object model? Se explicar fica mais fácil de lhe ajudar.


    Atenciosamente,

    Fabian André Gehrke
    MCITP e MCPD SharePoint 2010
    http://fabiangehrke.com.br

    terça-feira, 17 de julho de 2012 18:34
    Moderador
  • Olá Fabian,

    Utilizo uma aplicação console para ler os arquivos da minha biblioteca infopath.
    Esta aplicação precisa atualizar os itens infopaths.

    Consegui fazer com que a alteração seja feita, mas por algum motivo as 4 primeiras linhas do meu arquivo xml se perdem.
    Voce sabe me dizer como que posso concatenar as 4 linhas (estas linhas são as mesmas para todos os itens) com o item a ser salvo?

    Quando leio o arquivo xmldocument já vejo que as 4 linhas iniciais não existem.
    Segue primeira leitura:

    ....Dentro do Foreach.....

    FileInformation ofile = ClientOM.File.OpenBinaryDirect(ClientContext, (string)oitem["FileRef"]);
    System.Xml.XmlTextReader oXmlTxtReader = new XmlTextReader(ofile.Stream);
    System.Xml.Serialization.XmlSerializer oSerializer = new System.Xml.Serialization.XmlSerializer(typeof(XmlDocument));
    XmlDocument Form = (XmlDocument)oSerializer.Deserialize(oXmlTxtReader);

    Quando acesso a propriedade OuterXml do Form já percebo que as 4 primeiras linhas não existem.

    Voces ja passaram por isso?

    Obrigado


    k2rto4-Pb - Analista SharePoint


    • Editado TI DEV terça-feira, 17 de julho de 2012 18:59
    terça-feira, 17 de julho de 2012 18:55
  • Vê se essa dica te ajuda:
    http://paulgalvinsoldblog.wordpress.com/2009/10/27/quick-hit-reading-infopath-xml-directly-from-an-splistitem-in-sharepoint/

    Roger Corrêa - Se a resposta lhe foi útil, marque-a como tal.

    terça-feira, 17 de julho de 2012 19:34
  • Olá,

    Consegui adicionar as linhas que faltavam no arquivo xml.

    Para isso segui este post http://social.msdn.microsoft.com/Forums/pt-BR/504/thread/8828061f-1ecf-4d2d-a43b-1c7114d68ca2.

    Abraços


    k2rto4-Pb - Analista SharePoint

    • Marcado como Resposta TI DEV quinta-feira, 19 de julho de 2012 13:51
    quinta-feira, 19 de julho de 2012 13:51
  • Olá,

    Consegui resolver aqui desta forma, pegando o xml gerado e adicionando as linhas que falta.

    Nisso eu adiciono sempre as mesmas linhas a todos os itens da biblioteca (xml) .

    Isso resolve, mas não conseguir obter o xml completo do item da biblioteca.

    Abs


    k2rto4-Pb - Analista SharePoint

    domingo, 22 de julho de 2012 15:52
  • Olá Amigos,
    Por acaso hoje eu descobri uma forma de recuperar o xml original do item.
    Segue solução:               

    ....Dentro do Foreach.....

    FileInformation ofile = ClientOM.File.OpenBinaryDirect(ClientContext, (string)oitem["FileRef"]);
    XmlDocument XmlOriginalInfoPath = new XmlDocument();
    XmlOriginalInfoPath.Load(ofile.Stream);

    Consegui esta solução através deste post http://weblogs.asp.net/jimjackson/archive/2008/06/26/opening-and-reading-an-xml-file-in-a-document-library.aspx.

    Acho que o meu erro estava nas linhas seguintes ao FileInformation.

    O legal é que agora esta tudo ok.

    Abraços e Obrigado


    k2rto4-Pb - Analista SharePoint

    • Marcado como Resposta TI DEV segunda-feira, 23 de julho de 2012 18:15
    segunda-feira, 23 de julho de 2012 18:15