Usuário com melhor resposta
Dúvidas sobre xml utilizado quando atualizamos um formulário infopath via Client Object Model, e agora?

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
Respostas
-
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
-
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
Todas as Respostas
-
-
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
-
-
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 -
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
-
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.
-
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
-
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
-
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