<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-3205157138751123230</id><updated>2011-12-06T11:56:02.878-08:00</updated><category term='Errores'/><category term='WebServices'/><category term='XML'/><category term='Reporting Services'/><category term='Sharepoint'/><category term='C#.net'/><category term='Infopath 2007'/><category term='WorkFlows'/><title type='text'>TIPS de un Aprendiz: INFOPATH, SHAREPOINT Y NET + Reporting Services</title><subtitle type='html'>TIPS de un Aprendiz: INFOPATH, SHAREPOINT Y NET + Reporting Services</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://marcodiazjr.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3205157138751123230/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://marcodiazjr.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Marco Diaz</name><uri>http://www.blogger.com/profile/12375669788875502691</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://1.bp.blogspot.com/_IBFk2gak5SA/SZ3KZgTXAqI/AAAAAAAAAUg/7uhRUOMvaak/s1600-R/9099239.img.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>15</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-3205157138751123230.post-7389367857003612004</id><published>2009-02-20T12:08:00.000-08:00</published><updated>2009-02-20T12:13:32.208-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Reporting Services'/><title type='text'>¿Crystal Reports o Reporting Services?</title><content type='html'>Si está evaluando una herramienta de generación de informes para integrarla en una aplicación, o incluso para implementar un sistema empresarial de gestión de informes, Este artículo puede resultarle interesante.&lt;br /&gt;&lt;a href="http://www.punzano-hijos.com/imagenes/administrador/usuarios/zzz/planos/crystal_rs.pdf"&gt;¿Crystal Reports o Reporting Services?&lt;/a&gt;&lt;br /&gt;Personalmente yo uso Reporting Services, pero no por decision propia sino porque la empresa nos impuso ese generador de informes, pero luego de un tiempo usandolo te adecuas.&lt;br /&gt;Saludos.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3205157138751123230-7389367857003612004?l=marcodiazjr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://marcodiazjr.blogspot.com/feeds/7389367857003612004/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3205157138751123230&amp;postID=7389367857003612004' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3205157138751123230/posts/default/7389367857003612004'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3205157138751123230/posts/default/7389367857003612004'/><link rel='alternate' type='text/html' href='http://marcodiazjr.blogspot.com/2009/02/crystal-reports-o-reporting-services.html' title='¿Crystal Reports o Reporting Services?'/><author><name>Marco Diaz</name><uri>http://www.blogger.com/profile/12375669788875502691</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://1.bp.blogspot.com/_IBFk2gak5SA/SZ3KZgTXAqI/AAAAAAAAAUg/7uhRUOMvaak/s1600-R/9099239.img.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3205157138751123230.post-394630022956050315</id><published>2009-02-12T11:50:00.000-08:00</published><updated>2009-02-12T12:52:36.121-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='WebServices'/><category scheme='http://www.blogger.com/atom/ns#' term='XML'/><title type='text'>Maqueteando los datos revueltos por _vti_bin/lists.asmx</title><content type='html'>Sharepoint nos ofrece acceso a sus datos a traves de Servicios Web, a los cuales podemos acceder a traves del famoso &lt;span style="font-weight: bold;"&gt;_vti_bin/lists.asmx&lt;/span&gt;, asi que desde el inicio del proyecto empece a utilzar estos Servicios Web, entre todos los metodos Web que ofrece hay uno que uso muy seguido &lt;span style="font-weight: bold;"&gt;GetListItems&lt;/span&gt;, que funciona de maravillas, la manera de trabajar con este Metodo Web es facil, haciendo uso de herramientas tales como: U2UCamlCreator podemos ir creando consultas en formato XML. Algo similar a la imagen&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_IBFk2gak5SA/SZSLmtMHKCI/AAAAAAAAASw/qhfR1G24Fjw/s1600-h/Post21.jpg"&gt;&lt;img style="cursor: pointer; width: 400px; height: 255px;" src="http://4.bp.blogspot.com/_IBFk2gak5SA/SZSLmtMHKCI/AAAAAAAAASw/qhfR1G24Fjw/s400/Post21.jpg" alt="" id="BLOGGER_PHOTO_ID_5302016158403602466" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;lo remarcado en la imagen nos usar como parametros para este Metodo Web.&lt;br /&gt;Por temas de mejorar el diseño hice una DLL llamada MossHelper.dll que enmascara este ServicioWeb y ofrece un metodo llamado &lt;span style="font-weight: bold;"&gt;MyQueryList&lt;/span&gt;(string Myquery, string listGuid, int NumReg, string MyView), que fui armado segun las necesidades, si a alquien ayuda podria adjuntar el codigo de esta dll.&lt;br /&gt;Mando los parametros necesario Myquery, es la primera region del grafico, listGuid es la GUID de la lista o libreria donde deseas consultar, NumReg es el numero de registros que deseas retornar (si deseas devolver todos, mandar 0) MyView, es la segunda region del grafico,&lt;br /&gt;Hasta aqui todo funciona perfecto, pero la data me la devuelve de esta manera:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_IBFk2gak5SA/SZSLm9sx1ZI/AAAAAAAAAS4/zQKLzlQz8nI/s1600-h/Post22.jpg"&gt;&lt;img style="cursor: pointer; width: 400px; height: 241px;" src="http://3.bp.blogspot.com/_IBFk2gak5SA/SZSLm9sx1ZI/AAAAAAAAAS4/zQKLzlQz8nI/s400/Post22.jpg" alt="" id="BLOGGER_PHOTO_ID_5302016162835584402" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Inicialmente dije bueno, no importa total alli esta la data que necesitan (y otra data que realmente no se para que sirve, si alguien sabe que es toda esa data agradeceria decirmelo y sobre todo para que me puede servir), pero luego cree un  algoritomo que mejore ese esquema XML y solo me muestre la data que pedi, y sin el prefijo &lt;span class="t"&gt;"ows_" en todo los campos.&lt;/span&gt;&lt;br /&gt;Algo como la siguiente Imagen.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_IBFk2gak5SA/SZSLmzCKhSI/AAAAAAAAATA/-aNgyKjiQfE/s1600-h/Post23.jpg"&gt;&lt;img style="cursor: pointer; width: 400px; height: 241px;" src="http://4.bp.blogspot.com/_IBFk2gak5SA/SZSLmzCKhSI/AAAAAAAAATA/-aNgyKjiQfE/s400/Post23.jpg" alt="" id="BLOGGER_PHOTO_ID_5302016159972492578" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Poco a poco fui haciendo un Algoritmo no optimizado por cierto, pero que funciona, queda en ustedes adecuarlo a su realidad y mejorarlo&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_IBFk2gak5SA/SZSJepvnZUI/AAAAAAAAASo/7d0hhp4HBS0/s1600-h/final.jpg"&gt;&lt;img style="cursor: pointer; width: 400px; height: 346px;" src="http://4.bp.blogspot.com/_IBFk2gak5SA/SZSJepvnZUI/AAAAAAAAASo/7d0hhp4HBS0/s400/final.jpg" alt="" id="BLOGGER_PHOTO_ID_5302013821016565058" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Me hubiera gustado poder escribir el codigo, pero siempre hay problemas con las etiquetas de XML.&lt;br /&gt;Bueno lo explico un poco.&lt;br /&gt;Parta esto cree una clase llamada: ClassDatos, con 3 Campos Columna, Valor 1, Valor 2; para este caso el Columna tendra el nombre de la columna a consultar, Valor 1, un valor por defecto en caso que no encuentre el campo o el campo este vacio y Valor 2 el nombre  con que deseas ver tu campo.&lt;br /&gt;Hago uso de la funcion que mensione previamente.&lt;br /&gt;Espero sea util, saludos.&lt;br /&gt;El resto es tema revisar el codigo.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3205157138751123230-394630022956050315?l=marcodiazjr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://marcodiazjr.blogspot.com/feeds/394630022956050315/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3205157138751123230&amp;postID=394630022956050315' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3205157138751123230/posts/default/394630022956050315'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3205157138751123230/posts/default/394630022956050315'/><link rel='alternate' type='text/html' href='http://marcodiazjr.blogspot.com/2009/02/maqueteando-los-datos-revueltos-por.html' title='Maqueteando los datos revueltos por _vti_bin/lists.asmx'/><author><name>Marco Diaz</name><uri>http://www.blogger.com/profile/12375669788875502691</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://1.bp.blogspot.com/_IBFk2gak5SA/SZ3KZgTXAqI/AAAAAAAAAUg/7uhRUOMvaak/s1600-R/9099239.img.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_IBFk2gak5SA/SZSLmtMHKCI/AAAAAAAAASw/qhfR1G24Fjw/s72-c/Post21.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3205157138751123230.post-5162233412814264807</id><published>2009-02-12T08:28:00.000-08:00</published><updated>2009-02-12T13:00:06.493-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Reporting Services'/><category scheme='http://www.blogger.com/atom/ns#' term='WebServices'/><category scheme='http://www.blogger.com/atom/ns#' term='XML'/><title type='text'>Reporting Services: Creando DataSorce y DataSet</title><content type='html'>Es el primer proyecto donde me he visto en la necesidad utilizar Reporting Services, por las circunstancias usar una fuente de datos XML y para acceder a ella usar WebServices.&lt;br /&gt;Manos a la Obra.&lt;br /&gt;Creamos un proyecto de tipo: Report Server Project, tal como se muestra en la imagen adjunta.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_IBFk2gak5SA/SZSMSu91CrI/AAAAAAAAATI/UZRnFUi8TSE/s1600-h/MiPrimerReporte01.jpg"&gt;&lt;img style="cursor: pointer; width: 400px; height: 269px;" src="http://2.bp.blogspot.com/_IBFk2gak5SA/SZSMSu91CrI/AAAAAAAAATI/UZRnFUi8TSE/s400/MiPrimerReporte01.jpg" alt="" id="BLOGGER_PHOTO_ID_5302016914794810034" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Tendramos una interfaz muy similar a la siguiente.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_IBFk2gak5SA/SZSMbZ7f7HI/AAAAAAAAATQ/NxmevJPK10g/s1600-h/MiPrimerReporte02.jpg"&gt;&lt;img style="cursor: pointer; width: 400px; height: 248px;" src="http://3.bp.blogspot.com/_IBFk2gak5SA/SZSMbZ7f7HI/AAAAAAAAATQ/NxmevJPK10g/s400/MiPrimerReporte02.jpg" alt="" id="BLOGGER_PHOTO_ID_5302017063766715506" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Tenemos 2 carpetas con los nombres: Shared Data Sources y Reports.&lt;br /&gt;El primero permite crear una fuente de datos, para realizar esto click derecho y elgirla opcion:  &lt;span style="font-weight: bold;"&gt;Add New Data Source&lt;/span&gt;; al realizar esto se mostrara la siguiente ventana.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_IBFk2gak5SA/SZSM3lawzMI/AAAAAAAAATY/0imqQ3vA__I/s1600-h/MiPrimerReporte03.jpg"&gt;&lt;img style="cursor: pointer; width: 400px; height: 321px;" src="http://1.bp.blogspot.com/_IBFk2gak5SA/SZSM3lawzMI/AAAAAAAAATY/0imqQ3vA__I/s400/MiPrimerReporte03.jpg" alt="" id="BLOGGER_PHOTO_ID_5302017547886972098" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Como usaremos un WebServices, seleccionamos &lt;span style="font-weight: bold;"&gt;Type&lt;/span&gt; XML, en mi caso mi webservices es &lt;img src="file:///C:/Users/Marco/AppData/Local/Temp/moz-screenshot.jpg" alt="" /&gt;http://localhost:2366/MasterTables/BPPS/Trend.asmx&lt;br /&gt;Ahora para crear un reporte tenemos 2 opciones hacerlo manualmente o utilizar el Wizard, creo que sera mas util que sea manual, asi aprendemos mas; para ellos click derecho sobre Repots y elegimos la Opcion &lt;span style="font-weight: bold;"&gt;Add/New Item/&lt;/span&gt; y elegimos Report.&lt;br /&gt;Al realizar esto se mostrara una pantalla como la siguiente.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_IBFk2gak5SA/SZSNLEI6-3I/AAAAAAAAATg/j0a8UrK411I/s1600-h/MiPrimerReporte04.jpg"&gt;&lt;img style="cursor: pointer; width: 400px; height: 248px;" src="http://1.bp.blogspot.com/_IBFk2gak5SA/SZSNLEI6-3I/AAAAAAAAATg/j0a8UrK411I/s400/MiPrimerReporte04.jpg" alt="" id="BLOGGER_PHOTO_ID_5302017882551155570" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Aqui vemos 3 Pestañas Data | Layout | Preview:&lt;br /&gt;Data, permite Crear Dataset&lt;br /&gt;Layout, permite armar propiamente el reporte, crear parametros&lt;br /&gt;Preview, nos muestra como va quedando el reporte.&lt;br /&gt;Paso 1: Crear Data Set, click sobre la opcion &lt;span style="font-weight: bold;"&gt;New Dataset...&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_IBFk2gak5SA/SZSNLXUiT9I/AAAAAAAAATo/PTSPYt6mJX8/s1600-h/MiPrimerReporte05.jpg"&gt;&lt;img style="cursor: pointer; width: 400px; height: 309px;" src="http://2.bp.blogspot.com/_IBFk2gak5SA/SZSNLXUiT9I/AAAAAAAAATo/PTSPYt6mJX8/s400/MiPrimerReporte05.jpg" alt="" id="BLOGGER_PHOTO_ID_5302017887700144082" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Para mi ejemplo, usare un Metodo Web llamado: &lt;span style="font-weight: bold;"&gt;BuscarEnPresupuesto&lt;/span&gt;, el namespace que uso es &lt;span style="font-weight: bold;"&gt;"http://tempuri.org/"&lt;/span&gt; y tiene varios parametros: string&lt;span style="font-weight: bold;"&gt; PresupuestoName_XML, &lt;/span&gt;string &lt;span style="font-weight: bold;"&gt;IdEquipo, &lt;/span&gt;string &lt;span style="font-weight: bold;"&gt;NroParte, &lt;/span&gt;string &lt;span style="font-weight: bold;"&gt;NroSerie&lt;/span&gt;, de los cuales solo el primero es obligatorio, con todos estos datos armamos, una estructura como la siguiente:&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_IBFk2gak5SA/SZSNLcwW6wI/AAAAAAAAATw/rMjFB7UOwq8/s1600-h/MiPrimerReporte06.jpg"&gt;&lt;img style="cursor: pointer; width: 400px; height: 266px;" src="http://2.bp.blogspot.com/_IBFk2gak5SA/SZSNLcwW6wI/AAAAAAAAATw/rMjFB7UOwq8/s400/MiPrimerReporte06.jpg" alt="" id="BLOGGER_PHOTO_ID_5302017889159015170" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Estos nos servira como Query String, los errores mas comunes en este nivel es son por errores de tipo, no olvidar que es "Case Sensitive".&lt;br /&gt;Si todo esta bien , ya deberia poder ver sus datos usando &lt;span style="color: rgb(255, 0, 0);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;el boton&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(255, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;Run&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(255, 0, 0);"&gt; [!]&lt;/span&gt;.&lt;br /&gt;Saludos&lt;br /&gt;&lt;br /&gt;Mensajes de Error mas comunes en este nivel&lt;br /&gt;Mensaje 1:&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_IBFk2gak5SA/SZSNlI32SBI/AAAAAAAAAT4/aJSpv8VL0Bc/s1600-h/MiPrimerReporte07.jpg"&gt;&lt;img style="cursor: pointer; width: 400px; height: 105px;" src="http://1.bp.blogspot.com/_IBFk2gak5SA/SZSNlI32SBI/AAAAAAAAAT4/aJSpv8VL0Bc/s400/MiPrimerReporte07.jpg" alt="" id="BLOGGER_PHOTO_ID_5302018330498320402" border="0" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;An error occurred while creating a data extension command.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;The XmlDP query is invalid.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Razon: Se ha omitido alguna etiqueta, se han cometido errores de tipeo o cambiaron mayusculas por minusculas.&lt;br /&gt;&lt;br /&gt;Espero esto les ayude, saludos.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3205157138751123230-5162233412814264807?l=marcodiazjr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://marcodiazjr.blogspot.com/feeds/5162233412814264807/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3205157138751123230&amp;postID=5162233412814264807' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3205157138751123230/posts/default/5162233412814264807'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3205157138751123230/posts/default/5162233412814264807'/><link rel='alternate' type='text/html' href='http://marcodiazjr.blogspot.com/2009/02/reporting-services-creando-datasorce-y.html' title='Reporting Services: Creando DataSorce y DataSet'/><author><name>Marco Diaz</name><uri>http://www.blogger.com/profile/12375669788875502691</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://1.bp.blogspot.com/_IBFk2gak5SA/SZ3KZgTXAqI/AAAAAAAAAUg/7uhRUOMvaak/s1600-R/9099239.img.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_IBFk2gak5SA/SZSMSu91CrI/AAAAAAAAATI/UZRnFUi8TSE/s72-c/MiPrimerReporte01.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3205157138751123230.post-3440183574314382330</id><published>2009-02-03T14:38:00.000-08:00</published><updated>2009-02-12T05:23:34.663-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='XML'/><category scheme='http://www.blogger.com/atom/ns#' term='Errores'/><title type='text'>Enviar ampersand(&amp;) en XML / Send ampersand in XML</title><content type='html'>&lt;span style=";font-family:verdana;font-size:85%;"  &gt;Hace algunos dias tuve necesitaba mandar una ruta Url   con parametros como valor de un nodo XML, similar a como se muestra en la imagen siguiente:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_IBFk2gak5SA/SYjJXW-gzxI/AAAAAAAAAPs/qatmRjbrt8Q/s1600-h/ValorWithAmp1.jpg"&gt;&lt;img style="cursor: pointer; width: 320px; height: 94px;" src="http://4.bp.blogspot.com/_IBFk2gak5SA/SYjJXW-gzxI/AAAAAAAAAPs/qatmRjbrt8Q/s320/ValorWithAmp1.jpg" alt="" id="BLOGGER_PHOTO_ID_5298706364743339794" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Al intentarlo obtenia un error similar a este:&lt;br /&gt;"System.Xml.XmlException: An error occurred while parsing EntityName" y al parecer no estaba comiento ningun error, pero llege a la conclusion que cada vez que ponia un ampersand como valor del nodo, el webservices fallaba.&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:verdana;font-size:85%;"  &gt;Buscando en google descubir que existe una lista de caracteres prohibidos en XML&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_IBFk2gak5SA/SYmaG1dGk6I/AAAAAAAAAQE/LQaaRRRKrHw/s1600-h/CaracteresProhibidos.jpg"&gt;&lt;img style="cursor: pointer; width: 131px; height: 92px;" src="http://1.bp.blogspot.com/_IBFk2gak5SA/SYmaG1dGk6I/AAAAAAAAAQE/LQaaRRRKrHw/s320/CaracteresProhibidos.jpg" alt="" id="BLOGGER_PHOTO_ID_5298935878797136802" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=";font-family:verdana;font-size:85%;"  &gt;Es muy comun que utilicemos ampersand en las URLs de los enlaces, por ejemplo para definir variales como esta:&lt;/span&gt;&lt;br /&gt;&lt;code&gt;&lt;my:linkhistorial&gt;/bpps/historial/Pages/ComponenteHistorial.asmx?NroParte=123&lt;span style="color: rgb(255, 0, 0); font-weight: bold;"&gt;&amp;amp;&lt;/span&gt;NroSeria=abc&lt;/my:linkhistorial&gt;&lt;br /&gt;&lt;/code&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;esto es incorrecto la forma correcta seria:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;code&gt;&lt;my:linkhistorial&gt;/bpps/historial/Pages/ComponenteHistorial.asmx?NroParte=123&lt;/my:linkhistorial&gt;&lt;/code&gt;&lt;code style="color: rgb(255, 0, 0);"&gt;&amp;amp;amp;&lt;/code&gt;&lt;code&gt;&lt;my:linkhistorial&gt;NroSeria=abc&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/my:linkhistorial&gt;&lt;/code&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;Espero que este les ayude.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Saludos.&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3205157138751123230-3440183574314382330?l=marcodiazjr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://marcodiazjr.blogspot.com/feeds/3440183574314382330/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3205157138751123230&amp;postID=3440183574314382330' title='3 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3205157138751123230/posts/default/3440183574314382330'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3205157138751123230/posts/default/3440183574314382330'/><link rel='alternate' type='text/html' href='http://marcodiazjr.blogspot.com/2009/02/enviar-ampersand-en-xml-send-ampersand.html' title='Enviar ampersand(&amp;) en XML / Send ampersand in XML'/><author><name>Marco Diaz</name><uri>http://www.blogger.com/profile/12375669788875502691</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://1.bp.blogspot.com/_IBFk2gak5SA/SZ3KZgTXAqI/AAAAAAAAAUg/7uhRUOMvaak/s1600-R/9099239.img.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_IBFk2gak5SA/SYjJXW-gzxI/AAAAAAAAAPs/qatmRjbrt8Q/s72-c/ValorWithAmp1.jpg' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3205157138751123230.post-2580438261600266567</id><published>2008-09-03T08:50:00.000-07:00</published><updated>2008-09-03T12:13:02.552-07:00</updated><title type='text'>Manipulando WorkFlows</title><content type='html'>&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;Este es el segundo Post que abarca este tema.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;En el primer posts &lt;/span&gt;&lt;a style="font-family: verdana;" href="http://marcodiazjr.blogspot.com/2008/01/iniciar-automaticamente-un-workflow.html"&gt;Iniciar Automanticamente WorkFlow&lt;/a&gt;&lt;span style="font-family:verdana;"&gt; quedaron algunas dudas.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Como obtener el TemplateID de un workflow asociado a un Document Library.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Para esto haremos uso de una dll llamada Microsoft.SharePoint.dll que obviamente puede ser descargado de la pagina de microsoft.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Los parametros que usaremos seran:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;urlSite: La direccion Url absoluta del site, donde estamos trabajando.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Libreria: El Nombre o GUID, de la libreria, donde estamos trabajando.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;SPSite _site = new SPSite(urlSite);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;SPWeb _Web = _site.OpenWeb();&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;String GUI = Libreria;//en formato similar a este: {68A5A98D-61AF-4BDF-B1DF-A326EA34460D}&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Guid MiGUI = new Guid(GUI);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;SPList _List = _Web.Lists[MiGUI];&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;SPWorkflowAssociationCollection MisWorkFlows=_List.WorkflowAssociations&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;En esta variable tenemos objetos del tipo SPWorkflowAssociation, que poseen 2 propiedades muy utiles: Name y Id, el primero obviamente si nombre lo dice, es el nombre del workflow y el segundo es el llamado TemplateID.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Pero ojo que se tendria que navegar la variable con un forech de esta manera:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Especificamente deseo conocer el TemplateID de un workflow cuyo nombre es pasado en la variable WFName="Mi WorkFlow".&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;string WFId="";&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;string WFName="MiWorkFlow";&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;foreach (SPWorkflowAssociation WF in _List.WorkflowAssociations)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;           {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;    if (WF.Name == WFName)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;    {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;        WFId=WF.Id.ToString();&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;    }&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;           }&lt;br /&gt;&lt;br /&gt;De esta manera obtener el TemplateID de un WorkFlow, conociendo el nombre, libreria y site donde se encuentra este.&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3205157138751123230-2580438261600266567?l=marcodiazjr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://marcodiazjr.blogspot.com/feeds/2580438261600266567/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3205157138751123230&amp;postID=2580438261600266567' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3205157138751123230/posts/default/2580438261600266567'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3205157138751123230/posts/default/2580438261600266567'/><link rel='alternate' type='text/html' href='http://marcodiazjr.blogspot.com/2008/09/manipulando-workflows.html' title='Manipulando WorkFlows'/><author><name>Marco Diaz</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3205157138751123230.post-6188164333416049763</id><published>2008-05-08T08:50:00.000-07:00</published><updated>2009-02-12T05:32:32.351-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='WorkFlows'/><category scheme='http://www.blogger.com/atom/ns#' term='WebServices'/><category scheme='http://www.blogger.com/atom/ns#' term='Infopath 2007'/><category scheme='http://www.blogger.com/atom/ns#' term='Sharepoint'/><title type='text'>Nuevo Proyecto: Sistema de Mantenimiento y Planificacion</title><content type='html'>&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;Disculpando la carencia de entradas de mi blog.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Este post sera para dar inicio a un nuevo proyecto: &lt;/span&gt;&lt;span style="font-weight: bold;font-family:verdana;" &gt;Sistema de Mantenimiento y Planificacion.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Para el desarrollo de este sistema el equipo desarrollador conformado por:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Cristhian Sifuentes&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Edwin Delgado&lt;/span&gt;&lt;br /&gt;&lt;a href="http://marcodiazjr.blogspot.com/"&gt;&lt;span style="font-family:verdana;"&gt;Marco Diaz&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;y un cuarto integrante.&lt;br /&gt;Ademas del Jefe de Proyecto&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:verdana;"&gt;La herramientas que utilizaremos son: Infopath 2007, sharepoint 2007,SQL2005,WorkFlow fundation y Visual Studio 2005.&lt;br /&gt;Los principales temas que veremos son:&lt;br /&gt;Acceso a datos del Sharepoint, a traves de webservices.&lt;br /&gt;Construccion de WebPart para sharepoint.&lt;br /&gt;Analisis de datos Sharepoint.&lt;br /&gt;WorkFlow&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:verdana;"&gt;Bueno, sin mas que decir me retiro hasta el proximo post.&lt;/span&gt;&lt;span style="font-weight: bold;font-family:verdana;" &gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3205157138751123230-6188164333416049763?l=marcodiazjr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://marcodiazjr.blogspot.com/feeds/6188164333416049763/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3205157138751123230&amp;postID=6188164333416049763' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3205157138751123230/posts/default/6188164333416049763'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3205157138751123230/posts/default/6188164333416049763'/><link rel='alternate' type='text/html' href='http://marcodiazjr.blogspot.com/2008/05/nuevo-proyecto-sistema-de-mantenimiento.html' title='Nuevo Proyecto: Sistema de Mantenimiento y Planificacion'/><author><name>Marco Diaz</name><uri>http://www.blogger.com/profile/12375669788875502691</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://1.bp.blogspot.com/_IBFk2gak5SA/SZ3KZgTXAqI/AAAAAAAAAUg/7uhRUOMvaak/s1600-R/9099239.img.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3205157138751123230.post-5286115474661064682</id><published>2008-01-31T05:57:00.000-08:00</published><updated>2009-02-12T05:33:30.096-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='WorkFlows'/><category scheme='http://www.blogger.com/atom/ns#' term='WebServices'/><title type='text'>Iniciar Automaticamente un WORKFLOW</title><content type='html'>&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;Hola a todos los visitantes, ya llevo mas de un mes sin postear nada.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Pero mas vale tarde que nunca.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Ahora vamos a ver como podemos por medio de programacion arrancar un WorkFlow.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Esto nos serviria en escenarios que el WorkFlow no requera un formulario de inicializacion, o donde de alguna manera se pueda tener acceso a data para el formulario de inicializacion.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Bueno para lo que ya han leido algunos de mis post, se habran dado cuenta que yo uso los webservices propios del Sharepoint, es decir: los famosos: _vti_bin/list.asmx en este caso usaremos el _vti_bin/worklows.asmx.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Y muchos se preguntaran porque usar esto que es un poco mas dificil, menos documentado y mas laborioso, el problema es que para poder hacer el testing o debug, puesto que otros componentes como sharepoint.dll no se puede hacer debug desde otra pc que no sea el servidor, asi que mientras no encuentre una solucion a este problema, seguire usando estos webservices propios del sharepoint.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Ahora si manos a la obra:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Para poder iniciar un workflow, necesitamos cierta informacion.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Tal como:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;la url del documento a que vamos a aplicar el workflow.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;la estructura del formulario de inicializacion del workflow(dejemos esto como opcional)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;el nombre del workFlow o su Template ID(para este ejemplo asumamos que ya conocemos este valor de no se asi, tendremos que buscar la manera de obtenerlo, cosa que lo haremos en otro post)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Hacer una referencia web al webservices  _vti_bin/Workflow.asmx, de manera visual.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;en codigo hacer ..... mejor vean el codigo:&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(102, 102, 102);font-family:verdana;font-size:85%;"  &gt;&lt;br /&gt;&lt;span style="color: rgb(102, 0, 0);"&gt;SiteRaizWF.Workflow WF = null;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 0, 0);"&gt;WF = new SiteRaizWF.Workflow();&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 0, 0);"&gt;ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(ValidateServerCertificate);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 0, 0);"&gt;CredentialCache cache = new CredentialCache();&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 0, 0);"&gt;WF.Credentials = new System.Net.NetworkCredential("user_admin", "pwd_admin", "Dominio");&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 0, 0);"&gt;WF.PreAuthenticate = true;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 0, 0);"&gt;XmlNode _ = WF.StartWorkflow(urlNewForm, new Guid(TemplateID), xmlFormInit);&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;bueno esto en el general todo el codigo necesario para iniciar un work flow por medio de programacion.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Antes que me llenen la bandeja con mail preguntando que son esos paremetros&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;urlNewForm: es el documento del archivo que desean aplicar el workflow&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;TemplateID: es el ID del template del workflow asociado, asociado a un documento.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;xmlFormInit: es el formulario infopath de inicializacion en XML el tipo de dato es XmlNode.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Y como demonios obtendo este famoso xmlFormInit, hay varias opciones, podemos serializar previamente nuestro formulario a clases y luego pasarlos a XML,esto permitiria llenar los datos tambien por programacion (ojo que esto es una funcionalidad muy importante y que va a sacarlos de apuros como me saco a mi :D)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;La otra es tener una string con una cadena representando este esquema XML luego llenar un xmldocument con esta cadena y listo.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Bueno por la premura del caso, dejaremos este post en este punto, si tienen dudas por favor no duden en escribirme:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 0, 0); font-weight: bold;font-family:verdana;" &gt;marcodiazjr@gmail.com&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Saludos y buena programacion.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;PD: este codigo es parte de un webservice, es decir podemos invocar este metodo desde cualquier lugar, tambien podria ser parte de si documento infopath o simulares.&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3205157138751123230-5286115474661064682?l=marcodiazjr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://marcodiazjr.blogspot.com/feeds/5286115474661064682/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3205157138751123230&amp;postID=5286115474661064682' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3205157138751123230/posts/default/5286115474661064682'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3205157138751123230/posts/default/5286115474661064682'/><link rel='alternate' type='text/html' href='http://marcodiazjr.blogspot.com/2008/01/iniciar-automaticamente-un-workflow.html' title='Iniciar Automaticamente un WORKFLOW'/><author><name>Marco Diaz</name><uri>http://www.blogger.com/profile/12375669788875502691</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://1.bp.blogspot.com/_IBFk2gak5SA/SZ3KZgTXAqI/AAAAAAAAAUg/7uhRUOMvaak/s1600-R/9099239.img.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3205157138751123230.post-4003133497737503284</id><published>2007-12-28T11:31:00.001-08:00</published><updated>2009-02-12T05:25:30.425-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Infopath 2007'/><title type='text'>Usando Contact Selector en Infopath (Multiples)</title><content type='html'>&lt;span style="color: rgb(0, 0, 0);font-size:85%;" &gt;Para poder utilizar el contol Contact Selector primero debemos de agregar el control para poder utilizarlo:&lt;br /&gt;Sigan los pasos tal como se muestan en la imagen:&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div style="text-align: center; color: rgb(0, 0, 0);"&gt;&lt;span style="font-size:85%;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_IBFk2gak5SA/R3VV5jVFpwI/AAAAAAAAAFs/uUHSEhMuiHc/s1600-h/Paso1.JPG"&gt;&lt;img style="cursor: pointer;" src="http://3.bp.blogspot.com/_IBFk2gak5SA/R3VV5jVFpwI/AAAAAAAAAFs/uUHSEhMuiHc/s320/Paso1.JPG" alt="" id="BLOGGER_PHOTO_ID_5149116196192626434" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center; color: rgb(0, 0, 0);"&gt;&lt;span style="font-size:85%;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_IBFk2gak5SA/R3VV5jVFpxI/AAAAAAAAAF0/8N4b44B-WD0/s1600-h/Paso2.JPG"&gt;&lt;img style="cursor: pointer;" src="http://3.bp.blogspot.com/_IBFk2gak5SA/R3VV5jVFpxI/AAAAAAAAAF0/8N4b44B-WD0/s320/Paso2.JPG" alt="" id="BLOGGER_PHOTO_ID_5149116196192626450" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center; color: rgb(0, 0, 0);"&gt;&lt;span style="font-size:85%;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_IBFk2gak5SA/R3VV5zVFpyI/AAAAAAAAAF8/FLzQ8Tw1B40/s1600-h/Paso3.JPG"&gt;&lt;img style="cursor: pointer;" src="http://4.bp.blogspot.com/_IBFk2gak5SA/R3VV5zVFpyI/AAAAAAAAAF8/FLzQ8Tw1B40/s320/Paso3.JPG" alt="" id="BLOGGER_PHOTO_ID_5149116200487593762" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center; color: rgb(0, 0, 0);"&gt;&lt;span style="font-size:85%;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_IBFk2gak5SA/R3VV5zVFpzI/AAAAAAAAAGE/liFBwap9J5c/s1600-h/Paso4.JPG"&gt;&lt;img style="cursor: pointer;" src="http://4.bp.blogspot.com/_IBFk2gak5SA/R3VV5zVFpzI/AAAAAAAAAGE/liFBwap9J5c/s320/Paso4.JPG" alt="" id="BLOGGER_PHOTO_ID_5149116200487593778" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center; color: rgb(0, 0, 0);"&gt;&lt;span style="font-size:85%;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_IBFk2gak5SA/R3VV5zVFp0I/AAAAAAAAAGM/LChZf6rjFEc/s1600-h/Paso5.JPG"&gt;&lt;img style="cursor: pointer;" src="http://4.bp.blogspot.com/_IBFk2gak5SA/R3VV5zVFp0I/AAAAAAAAAGM/LChZf6rjFEc/s320/Paso5.JPG" alt="" id="BLOGGER_PHOTO_ID_5149116200487593794" border="0" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="color: rgb(0, 0, 0);font-size:85%;" &gt;Finalmente Next y Finish.&lt;br /&gt;Luego de realizado esto ya tendran disponible para arrastrar el control a nuestro formulario infopath.&lt;br /&gt;Luego en debemos crear una estructura que trabaje con este control, la que necesitamos es la siguiente:&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div style="text-align: center; color: rgb(102, 102, 102);"&gt;&lt;span style="color: rgb(0, 0, 0);font-size:85%;" &gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_IBFk2gak5SA/R3VWtzVFp1I/AAAAAAAAAGU/ElaXgkWH95M/s1600-h/Paso6.JPG"&gt;&lt;img style="cursor: pointer;" src="http://4.bp.blogspot.com/_IBFk2gak5SA/R3VWtzVFp1I/AAAAAAAAAGU/ElaXgkWH95M/s320/Paso6.JPG" alt="" id="BLOGGER_PHOTO_ID_5149117093840791378" border="0" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;div style="text-align: left;"&gt;&lt;span style="color: rgb(0, 0, 0);font-size:85%;" &gt;Luego hay que agregar como recurso del formulario un archivo llamado: Context.xml con el siguiente contenido:&lt;br /&gt;&lt;/span&gt;&lt;div style="text-align: center; color: rgb(0, 0, 0);"&gt;&lt;span style="font-size:85%;"&gt;&lt;context siteurl="http://Server"&gt;&lt;context siteurl="http://BUCYPE05"&gt; siteUrl="http://Server"/&lt;br /&gt;(este contenido entre mayer y /menor como si fuera una etiqueta xml)&lt;br /&gt;&lt;br /&gt;&lt;/context&gt;&lt;/context&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="color: rgb(0, 0, 0);font-size:85%;" &gt;Donde "Server", es el nombre del servidor donde esta el Active Directory.&lt;br /&gt;&lt;context siteurl="http://TuServerAD"&gt;Un poco de imagenes para aclarar dudas:&lt;br /&gt;&lt;/context&gt;&lt;/span&gt;&lt;div style="text-align: left; color: rgb(0, 0, 0);"&gt;&lt;span style="font-size:85%;"&gt;&lt;context siteurl="http://TuServerAD"&gt;&lt;/context&gt;&lt;br /&gt;&lt;context siteurl="http://TuServerAD"&gt;&lt;/context&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span style="color: rgb(0, 0, 0);font-size:85%;" &gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_IBFk2gak5SA/R3VYRDVFp2I/AAAAAAAAAGc/WzCzIBb-zPM/s1600-h/Paso7.JPG"&gt;&lt;img style="cursor: pointer;" src="http://1.bp.blogspot.com/_IBFk2gak5SA/R3VYRDVFp2I/AAAAAAAAAGc/WzCzIBb-zPM/s320/Paso7.JPG" alt="" id="BLOGGER_PHOTO_ID_5149118798942807906" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_IBFk2gak5SA/R3VYRTVFp3I/AAAAAAAAAGk/k2H57rOc2bE/s1600-h/PAso8.JPG"&gt;&lt;img style="cursor: pointer;" src="http://2.bp.blogspot.com/_IBFk2gak5SA/R3VYRTVFp3I/AAAAAAAAAGk/k2H57rOc2bE/s320/PAso8.JPG" alt="" id="BLOGGER_PHOTO_ID_5149118803237775218" border="0" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;div style="text-align: left; color: rgb(0, 0, 0);"&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;Luego de agregar como recurso el archivo en mension, arrastemos nuestro grupo llamado gpContacto al formulario y se debe mostrar el siguiente menu:&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="color: rgb(0, 0, 0);font-size:85%;" &gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_IBFk2gak5SA/R3VYRTVFp4I/AAAAAAAAAGs/ayePDYbnyk4/s1600-h/Paso9.JPG"&gt;&lt;img style="cursor: pointer;" src="http://2.bp.blogspot.com/_IBFk2gak5SA/R3VYRTVFp4I/AAAAAAAAAGs/ayePDYbnyk4/s320/Paso9.JPG" alt="" id="BLOGGER_PHOTO_ID_5149118803237775234" border="0" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;div style="text-align: left;"&gt;&lt;span style="color: rgb(0, 0, 0);font-size:85%;" &gt;Sigan la imagen y luego a realizar las pruebas:&lt;br /&gt;Si realizada las pruebas algo falla: lo primero que hay que revisar es si hemos colocado&lt;br /&gt;Si todo esto esta bien entonces deberia funcionar:&lt;br /&gt;Si a pesar de eso no funciona, debe ser por problemas relacionados al acceso al Active Directory.&lt;br /&gt;&lt;br /&gt;Para poder utilizar mas de un contact selector en nuestro forma, no debemos realizar todos los pasos.&lt;br /&gt;Solo agragr un paso mas por cada contact selector extra.&lt;br /&gt;Crear un grupo mas: gpContacto2 por ejemplo.&lt;br /&gt;Luego hacer click derecho sobre el grupo Person y seleccionar la opcion: Reference y luego seleccionar el grupo gpContacto2 que sera nuestro nuevo contact selector.&lt;br /&gt;Las imagenes hablan mas que las palabras:&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; correctamente los nombres de los campos, luego hay que revisar el contenido del Context.xml y verificar que este agregado como recurso.&lt;/span&gt;&lt;div style="text-align: center; color: rgb(0, 0, 0);"&gt;&lt;span style="font-size:85%;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_IBFk2gak5SA/R3VbHzVFp5I/AAAAAAAAAG0/_ieDXfAooiE/s1600-h/Paso10.JPG"&gt;&lt;img style="cursor: pointer;" src="http://4.bp.blogspot.com/_IBFk2gak5SA/R3VbHzVFp5I/AAAAAAAAAG0/_ieDXfAooiE/s320/Paso10.JPG" alt="" id="BLOGGER_PHOTO_ID_5149121938563901330" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center; color: rgb(0, 0, 0);"&gt;&lt;span style="font-size:85%;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_IBFk2gak5SA/R3VbHzVFp6I/AAAAAAAAAG8/YyB3I55sDdo/s1600-h/Paso11.JPG"&gt;&lt;img style="cursor: pointer;" src="http://4.bp.blogspot.com/_IBFk2gak5SA/R3VbHzVFp6I/AAAAAAAAAG8/YyB3I55sDdo/s320/Paso11.JPG" alt="" id="BLOGGER_PHOTO_ID_5149121938563901346" border="0" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="color: rgb(0, 0, 0);font-size:85%;" &gt;Arrastemos nuestro nuevo grupo y a probar se ha dicho.&lt;br /&gt;Les dejo una imagen de como deberia quedar:&lt;br /&gt;&lt;/span&gt;&lt;div style="text-align: center;"&gt;&lt;span style="color: rgb(0, 0, 0);font-size:85%;" &gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_IBFk2gak5SA/R3VcbzVFp7I/AAAAAAAAAHE/LxZSjKBzp6E/s1600-h/PasoFinal.JPG"&gt;&lt;img style="cursor: pointer;" src="http://4.bp.blogspot.com/_IBFk2gak5SA/R3VcbzVFp7I/AAAAAAAAAHE/LxZSjKBzp6E/s320/PasoFinal.JPG" alt="" id="BLOGGER_PHOTO_ID_5149123381672912818" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;div style="text-align: left;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;Saludos:&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3205157138751123230-4003133497737503284?l=marcodiazjr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://marcodiazjr.blogspot.com/feeds/4003133497737503284/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3205157138751123230&amp;postID=4003133497737503284' title='2 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3205157138751123230/posts/default/4003133497737503284'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3205157138751123230/posts/default/4003133497737503284'/><link rel='alternate' type='text/html' href='http://marcodiazjr.blogspot.com/2007/12/usando-contact-selector-en-infopath.html' title='Usando Contact Selector en Infopath (Multiples)'/><author><name>Marco Diaz</name><uri>http://www.blogger.com/profile/12375669788875502691</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://1.bp.blogspot.com/_IBFk2gak5SA/SZ3KZgTXAqI/AAAAAAAAAUg/7uhRUOMvaak/s1600-R/9099239.img.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_IBFk2gak5SA/R3VV5jVFpwI/AAAAAAAAAFs/uUHSEhMuiHc/s72-c/Paso1.JPG' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3205157138751123230.post-3638827275602453773</id><published>2007-12-13T07:00:00.000-08:00</published><updated>2008-09-19T15:16:29.707-07:00</updated><title type='text'>Consumiendo WebServices MOSS: _vti_bin/lists.asmx</title><content type='html'>&lt;span style="font-family: verdana;font-size:85%;" &gt;A muchos de nosotros necesitamos acceder a los datos que estan contenidos en las listas de Sharepoint(MOSS), existen algunas dll que nos permiten acceder a estos datos como por ejemplo &lt;/span&gt;&lt;span style="font-family: verdana;font-size:85%;" &gt;&lt;b&gt;SharePoint.dll&lt;/b&gt;, en la red existe mucha informacion acerca de esta dll y su uso, pero en esta ocasion,  implementaremos la misma solucion pero usando los WebServices propios del Sharepoint.&lt;br /&gt;Que podemos hacer con este M Web: UpdateListItems, que el nombre no nos engañe, no solo podemos actualizar sino ademas crear y eliminar, de manera incluyente.&lt;br /&gt;Para poder utilizarlo primero debemos saber como es que recibe datos este webService.&lt;br /&gt;&lt;/span&gt;&lt;div style="text-align: center; font-family: verdana;"&gt;&lt;span style="font-size:85%;"&gt;&lt;updatelistitems xmlns="http://schemas.microsoft.com/sharepoint/soap/"&gt;&lt;/updatelistitems&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_IBFk2gak5SA/R2FSXfLP6kI/AAAAAAAAAFc/ZrvqyFQYJzk/s1600-h/soap.PNG"&gt;&lt;img style="cursor: pointer;" src="http://4.bp.blogspot.com/_IBFk2gak5SA/R2FSXfLP6kI/AAAAAAAAAFc/ZrvqyFQYJzk/s320/soap.PNG" alt="" id="BLOGGER_PHOTO_ID_5143482812892965442" border="0" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="font-family: verdana;font-size:85%;" &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: verdana;font-size:85%;" &gt;Segun esto, este metodo tiene 2 parametros: listName del tipo string y updates del tipo xmlNode. ListName se refiere al N o Id de la lista a la que queremos acceder.&lt;br /&gt;Y updates es un nodo que contiene todas las operaciones que realizaremos.&lt;br /&gt;algo muy similar a la siguiente estrucuta.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div style="text-align: center; font-family: verdana;"&gt;&lt;span style="font-size:85%;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_IBFk2gak5SA/R2FSefLP6lI/AAAAAAAAAFk/j56Wt6bFYCA/s1600-h/batch.PNG"&gt;&lt;img style="cursor: pointer;" src="http://4.bp.blogspot.com/_IBFk2gak5SA/R2FSefLP6lI/AAAAAAAAAFk/j56Wt6bFYCA/s320/batch.PNG" alt="" id="BLOGGER_PHOTO_ID_5143482933152049746" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size:85%;"&gt;&lt;batch style="font-family: verdana;" onerror="Continue"&gt;&lt;/batch&gt;&lt;/span&gt;&lt;span style="font-family: verdana;font-size:85%;" &gt;&lt;br /&gt;La forma en que construyamos este xmlnode queda a nuetro criterio. solo debemos tener cuidado en los siguientes &lt;/span&gt;&lt;span style="font-family: verdana;font-size:85%;" &gt;&lt;span style="font-weight: bold;"&gt;Method ID="1" Cmd="New"&lt;/span&gt;, indica el ID del metodo y el Comando que se usara, el ID es importante porque en el resultado de la consulta nos dira si existio error y en que metodo, esto es muy util para hacer seguiemiento de errores y el comando indica si se realizara una creacion, modificacion o eliminacion.&lt;br /&gt;Personalmente uso estas 2 funciones para armar mi batch xmlNode, pero lo uso solo para hacer inserciones y de un solo registro, ustedes podrian modificarlo a sus necesidades:&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153); font-family: verdana;font-size:85%;" &gt;XmlDocument CreateProjectBatch()&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153); font-family: verdana;font-size:85%;" &gt;    {&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153); font-family: verdana;font-size:85%;" &gt;        XmlDocument batchXml = new XmlDocument();&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153); font-family: verdana;font-size:85%;" &gt;        XmlElement rootNode = batchXml.CreateElement("Batch");&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153); font-family: verdana;font-size:85%;" &gt;        XmlAttribute attribute;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153); font-family: verdana;font-size:85%;" &gt;        attribute = batchXml.CreateAttribute("OnError");&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153); font-family: verdana;font-size:85%;" &gt;        attribute.InnerText = "Continue";&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153); font-family: verdana;font-size:85%;" &gt;        rootNode.Attributes.Append(attribute);&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153); font-family: verdana;font-size:85%;" &gt;        batchXml.AppendChild(rootNode);&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153); font-family: verdana;font-size:85%;" &gt;        return batchXml;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153); font-family: verdana;font-size:85%;" &gt;    }&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153); font-family: verdana;font-size:85%;" &gt;private XmlDocument BatchUpdateProject(XmlDocument batchXml,List&lt;/span&gt;&lt;classdatos&gt;&lt;span style="color: rgb(153, 153, 153); font-family: verdana;font-size:85%;" &gt; MisDatos)//&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153); font-family: verdana;font-size:85%;" &gt;        {&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153); font-family: verdana;font-size:85%;" &gt;            XmlElement methodNode = batchXml.CreateElement("Method");&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153); font-family: verdana;font-size:85%;" &gt;            XmlAttribute attribute;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153); font-family: verdana;font-size:85%;" &gt;            attribute = batchXml.CreateAttribute("ID");&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153); font-family: verdana;font-size:85%;" &gt;            attribute.InnerText = "1"; (batchXml.DocumentElement.ChildNodes.Count + 1).ToString();&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153); font-family: verdana;font-size:85%;" &gt;            methodNode.Attributes.Append(attribute);&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153); font-family: verdana;font-size:85%;" &gt;            attribute = batchXml.CreateAttribute("Cmd");&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153); font-family: verdana;font-size:85%;" &gt;            attribute.InnerText = "New";&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153); font-family: verdana;font-size:85%;" &gt;            methodNode.Attributes.Append(attribute);&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family: verdana;"&gt;            for (int i = 0; i &lt; innerxml =" methodNode.InnerXml"&gt;&lt;/span&gt;&lt;field style="color: rgb(153, 153, 153); font-family: verdana;" name="'"&gt;" + MisDatos[i].Valor1 + "&lt;/field&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153); font-family: verdana;font-size:85%;" &gt;";&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153); font-family: verdana;font-size:85%;" &gt;            }&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153); font-family: verdana;font-size:85%;" &gt;            batchXml.DocumentElement.AppendChild(methodNode);&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153); font-family: verdana;font-size:85%;" &gt;            return batchXml;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153); font-family: verdana;font-size:85%;" &gt;        }&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: verdana;font-size:85%;" &gt;Para finalizar este corto post, dejare un ejemplo de como usamos todo este conocimiento:&lt;br /&gt;Primero creo una referencia web, apuntando a la raiz del site donde estan las listas: en mi caso la llamo: SiteRaiz.&lt;br /&gt;Luego creo una clase que me servira para poder armar la estructura &lt;/span&gt;&lt;span style="font-family: verdana;font-size:85%;" &gt;&lt;span style="font-weight: bold;"&gt;ClassDatos &lt;/span&gt;que utilizamos en las funciones anteriores.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153); font-family: verdana;font-size:85%;" &gt;public  class ClassDatos&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153); font-family: verdana;font-size:85%;" &gt;    {&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153); font-family: verdana;font-size:85%;" &gt;        public ClassDatos(string Cln, string Vlr)&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153); font-family: verdana;font-size:85%;" &gt;        {&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153); font-family: verdana;font-size:85%;" &gt;            Columna = Cln;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153); font-family: verdana;font-size:85%;" &gt;            Valor = Vlr;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153); font-family: verdana;font-size:85%;" &gt;        }&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153); font-family: verdana;font-size:85%;" &gt;        private string Columna;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153); font-family: verdana;font-size:85%;" &gt;        public string Columna1&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153); font-family: verdana;font-size:85%;" &gt;        {&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153); font-family: verdana;font-size:85%;" &gt;            get { return Columna; }&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153); font-family: verdana;font-size:85%;" &gt;            set { Columna = value; }&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153); font-family: verdana;font-size:85%;" &gt;        }&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153); font-family: verdana;font-size:85%;" &gt;        private string Valor;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153); font-family: verdana;font-size:85%;" &gt;        public string Valor1&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153); font-family: verdana;font-size:85%;" &gt;        {&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153); font-family: verdana;font-size:85%;" &gt;            get { return Valor; }&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153); font-family: verdana;font-size:85%;" &gt;            set { Valor = value; }&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153); font-family: verdana;font-size:85%;" &gt;        }&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153); font-family: verdana;font-size:85%;" &gt;    }&lt;/span&gt;&lt;span style="font-family: verdana;font-size:85%;" &gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;Ahora si la funcion principal:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(153, 153, 153);"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153); font-family: verdana;font-size:85%;" &gt;public XmlNode InsertarDatos()//&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153); font-family: verdana;font-size:85%;" &gt;    {&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153); font-family: verdana;font-size:85%;" &gt;        List&lt;/span&gt;&lt;classdatos&gt;&lt;span style="color: rgb(153, 153, 153); font-family: verdana;font-size:85%;" &gt; Array = new List&lt;/span&gt;&lt;classdatos&gt;&lt;span style="color: rgb(153, 153, 153); font-family: verdana;font-size:85%;" &gt;(1);&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153); font-family: verdana;font-size:85%;" &gt;        Array.Add(new ClassDatos("Title", "Mi Titulo"));//ustedes deben poner mas datos Columna - Valor&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153); font-family: verdana;font-size:85%;" &gt;        XmlDocument NewBatch = CreateProjectBatch();&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153); font-family: verdana;font-size:85%;" &gt;        NewBatch = BatchUpdateProject(NewBatch,Array);&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153); font-family: verdana;font-size:85%;" &gt;        SiteRaiz.Lists xlistService = null;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153); font-family: verdana;font-size:85%;" &gt;        xlistService = new SiteRaiz.Lists();&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153); font-family: verdana;font-size:85%;" &gt;        xlistService.Url = KeySite;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153); font-family: verdana;font-size:85%;" &gt;        xlistService.Credentials = new System.Net.NetworkCredential("demo", "demo123456", "Midominio");&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153); font-family: verdana;font-size:85%;" &gt;        xlistService.PreAuthenticate = true;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153); font-family: verdana;font-size:85%;" &gt;        XmlNode returnInfo = xlistService.UpdateListItems(listGuid, NewBatch.DocumentElement);&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153); font-family: verdana;font-size:85%;" &gt;   }&lt;/span&gt;&lt;span style="font-family: verdana;font-size:85%;" &gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;No Olviden que toda la informacion sobre el estado de las acciones realizadas estan almacenadan en &lt;/span&gt;&lt;span style="font-family: verdana;font-size:85%;" &gt;&lt;span style="font-weight: bold;"&gt;returnInfo &lt;/span&gt;, seria bueno que revisen esa data.&lt;br /&gt;Antes que olvide, esto siempre los Blogger nos olvidamos de poner:&lt;br /&gt;&lt;br /&gt;Se usaron para este ejemplo las siguientes USING&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153); font-family: verdana;font-size:85%;" &gt;using System;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153); font-family: verdana;font-size:85%;" &gt;using System.Data;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153); font-family: verdana;font-size:85%;" &gt;using System.Web;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153); font-family: verdana;font-size:85%;" &gt;using System.Collections;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153); font-family: verdana;font-size:85%;" &gt;using System.Collections.Generic;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153); font-family: verdana;font-size:85%;" &gt;using System.Web.Services;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153); font-family: verdana;font-size:85%;" &gt;using System.Web.Services.Protocols;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153); font-family: verdana;font-size:85%;" &gt;using System.ComponentModel;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153); font-family: verdana;font-size:85%;" &gt;using System.Data.SqlClient;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153); font-family: verdana;font-size:85%;" &gt;using System.Xml;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153); font-family: verdana;font-size:85%;" &gt;using System.Xml.XPath;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153); font-family: verdana;font-size:85%;" &gt;using System.Security.Cryptography.X509Certificates;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153); font-family: verdana;font-size:85%;" &gt;using System.Net;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153); font-family: verdana;font-size:85%;" &gt;using System.Net.Security;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153); font-family: verdana;font-size:85%;" &gt;using System.Security.Authentication;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-weight: bold; font-family: verdana;"&gt;&lt;br /&gt;&lt;/span&gt;       &lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/classdatos&gt;&lt;/classdatos&gt;&lt;/span&gt;&lt;/classdatos&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3205157138751123230-3638827275602453773?l=marcodiazjr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://marcodiazjr.blogspot.com/feeds/3638827275602453773/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3205157138751123230&amp;postID=3638827275602453773' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3205157138751123230/posts/default/3638827275602453773'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3205157138751123230/posts/default/3638827275602453773'/><link rel='alternate' type='text/html' href='http://marcodiazjr.blogspot.com/2007/12/consumiendo-webservices-moss.html' title='Consumiendo WebServices MOSS: _vti_bin/lists.asmx'/><author><name>Marco Diaz</name><uri>http://www.blogger.com/profile/12375669788875502691</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://1.bp.blogspot.com/_IBFk2gak5SA/SZ3KZgTXAqI/AAAAAAAAAUg/7uhRUOMvaak/s1600-R/9099239.img.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_IBFk2gak5SA/R2FSXfLP6kI/AAAAAAAAAFc/ZrvqyFQYJzk/s72-c/soap.PNG' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3205157138751123230.post-5145693268896709436</id><published>2007-11-29T07:39:00.000-08:00</published><updated>2009-02-12T05:30:48.130-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C#.net'/><category scheme='http://www.blogger.com/atom/ns#' term='WebServices'/><category scheme='http://www.blogger.com/atom/ns#' term='Errores'/><title type='text'>Error: No se puede establecer una relación de confianza para el canal seguro SSL/TLS</title><content type='html'>&lt;span style="color: rgb(0, 0, 0);font-family:verdana;font-size:85%;"  &gt;Hace unos dias, empezamos los trabajos de construccion para un proyecto en que estoy, basicamente, aplicaciones que correran en un entorno &lt;strong&gt;HTTPS, &lt;/strong&gt;y tuvimos un problema al tratar de acceder a una lista del Sharepoint que se encuentra en ese Site que trabaja con certificados.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);font-family:verdana;font-size:85%;"  &gt;Basicamente el mensaje de error es el siguiente:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);font-family:verdana;font-size:85%;"  &gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);font-family:verdana;font-size:85%;"  &gt;System.Net.WebException: Se ha terminado la conexión: No se puede establecer una relación de confianza para el canal seguro SSL/TLS. ---&gt; System.Security.Authentication.AuthenticationException: El certificado remoto no es válido según el procedimiento de validación.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);font-family:verdana;font-size:85%;"  &gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);font-family:verdana;font-size:85%;"  &gt;Pase todo un dia buscando informacion y no encontraba nada, pero luego tanto un amigo mio encontro la forma de lograrlo.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);font-family:verdana;font-size:85%;"  &gt;Pero antes de dar la solucion voy a tratar de explicar un poco que es lo que pasa.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);font-family:verdana;font-size:85%;"  &gt;Simplemente el error se debe a que por tratarse de un HTTPS, al tratar de acceder a algun contenido entonces me pide un certificado y como no tengo entonces me bota ese error.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);font-family:verdana;font-size:85%;"  &gt;Entonces por alli atacaremos el problema:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);font-family:verdana;font-size:85%;"  &gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);font-family:verdana;font-size:85%;"  &gt;Este es el codigo que yo uso para acceder a una lista y sacar sus valores:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);font-family:verdana;font-size:85%;"  &gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);font-family:verdana;font-size:85%;"  &gt;XmlDocument xmlDoc = new System.Xml.XmlDocument();&lt;br /&gt;XmlElement viewFields = xmlDoc.CreateElement("ViewFields");&lt;br /&gt;viewFields.InnerXml = "&lt;fieldref name="'ID'/"&gt;&lt;fieldref name="'Title'/"&gt;";&lt;br /&gt;portal.Lists listService = null;&lt;br /&gt;listService = new portal.Lists();&lt;br /&gt;listService.Credentials = new System.Net.NetworkCredential("user", "password", "dominio");&lt;br /&gt;listService.PreAuthenticate = true;&lt;br /&gt;string listGuid = (string)"{AE348D4B-D88C-46B3-A809-B4663C4C7CB0}";&lt;br /&gt;XmlNode itemCollection = listService.GetListItems(listGuid, string.Empty, null, viewFields, "0", null, string.Empty);&lt;br /&gt;return itemCollection;&lt;/fieldref&gt;&lt;/fieldref&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);font-family:verdana;font-size:85%;"  &gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);font-family:verdana;font-size:85%;"  &gt;Para esto &lt;span style="color: rgb(0, 0, 0);"&gt;portal&lt;/span&gt; es un referencia Web al webservice del Sharepoint.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);font-family:verdana;font-size:85%;"  &gt;algo como esto: &lt;a href="https://myserver/_vti_bin/lists.asmx"&gt;https://MyServer/_vti_bin/lists.asmx&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);font-family:verdana;font-size:85%;"  &gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);font-family:verdana;font-size:85%;"  &gt;Si esto es probado en test funciona de maravillas, pero cuando queremos consumir ese webservices nos da un error como el mostrado anteriormente.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);font-family:verdana;font-size:85%;"  &gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);font-family:verdana;font-size:85%;"  &gt;Bueno sin mas vueltas que dar, agreguemos esta linea &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);font-family:verdana;font-size:85%;"  &gt;ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(ValidateServerCertificate);&lt;br /&gt;CredentialCache cache = new CredentialCache();&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);font-family:Verdana;font-size:85%;"  &gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);font-family:Verdana;font-size:85%;"  &gt;Espero que esto soluciona sus problemas.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);font-family:Verdana;font-size:85%;"  &gt;Saludos&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3205157138751123230-5145693268896709436?l=marcodiazjr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://marcodiazjr.blogspot.com/feeds/5145693268896709436/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3205157138751123230&amp;postID=5145693268896709436' title='10 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3205157138751123230/posts/default/5145693268896709436'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3205157138751123230/posts/default/5145693268896709436'/><link rel='alternate' type='text/html' href='http://marcodiazjr.blogspot.com/2007/11/error-no-se-puede-establecer-una.html' title='Error: No se puede establecer una relación de confianza para el canal seguro SSL/TLS'/><author><name>Marco Diaz</name><uri>http://www.blogger.com/profile/12375669788875502691</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://1.bp.blogspot.com/_IBFk2gak5SA/SZ3KZgTXAqI/AAAAAAAAAUg/7uhRUOMvaak/s1600-R/9099239.img.jpg'/></author><thr:total>10</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3205157138751123230.post-7934628144317878244</id><published>2007-11-28T11:28:00.000-08:00</published><updated>2007-12-10T07:42:51.701-08:00</updated><title type='text'>VB.Net to C#.Net o C#.Net to VB.Net</title><content type='html'>&lt;span style="font-size:85%;"&gt;A muchos de nosotros nos ha pasado que luego pasar varias horas en "San Google", encontramos un codigo que nos puede ser de utilidad, pero siempre esta en el lenguaje que menos dominamos (es la ley de morgan), a mi casi siempre me pasa, asi que por suerte existe esta herramienta que nos saca de apuros.&lt;br /&gt;&lt;/span&gt;&lt;a href="http://labs.developerfusion.co.uk/convert/vb-to-csharp.aspx"&gt;&lt;span style="font-size:85%;"&gt;http://labs.developerfusion.co.uk/convert/vb-to-csharp.aspx&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;Es algo simple pero cumple su funcion.&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3205157138751123230-7934628144317878244?l=marcodiazjr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://marcodiazjr.blogspot.com/feeds/7934628144317878244/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3205157138751123230&amp;postID=7934628144317878244' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3205157138751123230/posts/default/7934628144317878244'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3205157138751123230/posts/default/7934628144317878244'/><link rel='alternate' type='text/html' href='http://marcodiazjr.blogspot.com/2007/11/reporting-services-consumiendo.html' title='VB.Net to C#.Net o C#.Net to VB.Net'/><author><name>Marco Diaz</name><uri>http://www.blogger.com/profile/12375669788875502691</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://1.bp.blogspot.com/_IBFk2gak5SA/SZ3KZgTXAqI/AAAAAAAAAUg/7uhRUOMvaak/s1600-R/9099239.img.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3205157138751123230.post-752828166860698554</id><published>2007-11-24T07:50:00.000-08:00</published><updated>2007-11-24T08:57:48.376-08:00</updated><title type='text'>Problemas al personalizar el NewForm.aspx de una lista en Sharepoint</title><content type='html'>&lt;div align="justify"&gt;&lt;span style="font-family:verdana;font-size:85%;color:#333333;"&gt;Muchas veces por necesidades, nos vemos obligados a personalizar este Formulario NewForm.aspx asi como el EdithForm.aspx, por ejemplo el caso donde tuve que personalizar este formulario.&lt;/span&gt;&lt;/div&gt;&lt;span style="font-family:verdana;font-size:85%;color:#333333;"&gt;Construimos una web con sharepoint y hay una parte de ingreso de datos directo a una lista, nosotros muy inocentes subimos la web a Produccion y esa lista se empezo a llenar muy sospechozamente, entonces pensamos que podiamos estar siendo atacados por un bot o algo parecido, asi que decidimos ponerle un captcha a este formulario.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;color:#333333;"&gt;Para editarlo hice lo que cualquier programador/diseñador haria, abri con Office Sharepoint Designer mi site y busque este formulario, por suerte para mi lo encontre rapido en: SITE/List/MiLista/NewForm.aspx&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;color:#333333;"&gt;Por suerte para mi, no paso nada y le pudimos agregar el captcha al formulario, no kedo muy bonito pero almenos ta tenia una barrera para los bot.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;color:#333333;"&gt;Quedo algo como esto.&lt;/span&gt;&lt;br /&gt;&lt;div align="center"&gt;&lt;span style="font-family:verdana;font-size:85%;color:#333333;"&gt;&lt;strong&gt;Captcha en NewForm.aspx&lt;/strong&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="center"&gt;&lt;span style="font-family:verdana;font-size:85%;color:#333333;"&gt;&lt;a href="http://3.bp.blogspot.com/_IBFk2gak5SA/R0hQeAKY-UI/AAAAAAAAACk/fS0YfG6OYLg/s1600-h/Captcha.JPG"&gt;&lt;img id="BLOGGER_PHOTO_ID_5136443851385928002" style="CURSOR: hand" alt="" src="http://3.bp.blogspot.com/_IBFk2gak5SA/R0hQeAKY-UI/AAAAAAAAACk/fS0YfG6OYLg/s320/Captcha.JPG" border="0" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;span style="font-family:verdana;color:#333333;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;div align="justify"&gt;&lt;span style="font-family:verdana;font-size:85%;color:#333333;"&gt;Bueno la historia de como hicismos ese captcha y como lo pusimos es otra, luego posteo como hacerlo.&lt;/span&gt;&lt;/div&gt;&lt;span style="font-family:verdana;font-size:85%;color:#333333;"&gt;La cosa que funciono, pero por algun motivo tuve que volver a editar ese formulario y hice lo que nunca repito nunca, debemos hacer, borrarme el webpart que viene por defecto.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;color:#333333;"&gt;Si por algun motivo ya lo hicieron, entonces ya se habran dado cuenta de los problemas que eso significa.&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-family:verdana;font-size:85%;color:#333333;"&gt;Problema 1: "&lt;strong&gt;Invalid page URL:"&lt;/strong&gt; cuando tratamos de agregar un crear un nuevo item a la lista.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:verdana;font-size:85%;color:#333333;"&gt;Problema 2: Es lo mismo que el anterior pero la pagina de NewForm.aspx o se muestra vacia o muestra un error.&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-family:verdana;font-size:85%;color:#333333;"&gt;Como solucionarlo: si has llegado hasta aqui pensando que existe una forma dejame decirte que no, yo tuve esa misma descepcion, la solucion para que vuelva a funcionar ese NewForm.aspx es volviendo a crear la lista (si borrarla y crearla con el mismo nombre), pero antes de hacer esto, si tienen data improtante alli dentro con adjuntos y todo, les recomiendo que primero lo guarden en access y luego en access exporten la data a una lista, sera mas rapido, menos problemantico y mas transparente a ustedes.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;color:#333333;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;div align="center"&gt;&lt;span style="font-family:verdana;font-size:85%;color:#333333;"&gt;&lt;strong&gt;Opcion para abrir con Access&lt;/strong&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="center"&gt;&lt;a href="http://2.bp.blogspot.com/_IBFk2gak5SA/R0hTSwKY-VI/AAAAAAAAACs/q2gelvd5VNQ/s1600-h/aAccess.JPG"&gt;&lt;span style="font-family:verdana;font-size:85%;color:#333333;"&gt;&lt;img id="BLOGGER_PHOTO_ID_5136446956647283026" style="CURSOR: hand" alt="" src="http://2.bp.blogspot.com/_IBFk2gak5SA/R0hTSwKY-VI/AAAAAAAAACs/q2gelvd5VNQ/s320/aAccess.JPG" border="0" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;span style="font-family:verdana;color:#333333;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;div align="justify"&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;span style="font-family:verdana;color:#333333;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;span style="font-family:verdana;font-size:85%;color:#333333;"&gt;Luego que ya tienen la data guardada en access, si han puesto un codigo script en la pagina cuando hagan este proceso se perdera, asi que mejor guardarlos en otro lado, lo mismo con estilos personalizados.&lt;/span&gt;&lt;/div&gt;&lt;span style="font-family:verdana;font-size:85%;color:#333333;"&gt;Ya creo estan listos para borrar la lista, asi que procedan.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;color:#333333;"&gt;Ahora en elAccess, existe una opcion que dice: Exportar a Lista de Sharepoint (Gracias a dios que existe esta opcion)&lt;/span&gt;&lt;br /&gt;&lt;div align="center"&gt;&lt;strong&gt;&lt;span style="font-family:verdana;font-size:85%;color:#333333;"&gt;Opcion para Exportar a Lista de SharePoint&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;&lt;div align="center"&gt;&lt;a href="http://3.bp.blogspot.com/_IBFk2gak5SA/R0hU8AKY-WI/AAAAAAAAAC0/p4tNr7ovbkw/s1600-h/aList.JPG"&gt;&lt;span style="font-family:verdana;font-size:85%;color:#333333;"&gt;&lt;img id="BLOGGER_PHOTO_ID_5136448764828514658" style="CURSOR: hand" alt="" src="http://3.bp.blogspot.com/_IBFk2gak5SA/R0hU8AKY-WI/AAAAAAAAAC0/p4tNr7ovbkw/s320/aList.JPG" border="0" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;color:#333333;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;span style="font-family:verdana;color:#333333;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;div align="justify"&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;span style="font-family:verdana;color:#333333;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="font-family:verdana;font-size:85%;color:#333333;"&gt;Sigan el Wizard y todo estara bien, si por algun motivo no borraron la lista y primero kisieron hacer esto entonces se debe haber creado otra lista con el mismo nombre mas un numero.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;color:#333333;"&gt;De esta manera tendra operativo nuevamente el NewForm.aspx de una lista, lo mismo para el EditForm.aspx&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;color:#333333;"&gt;Pero si por algun motivo no quieren usar el webpart que tiene ese formulario, entonces borrenlo, (mentira, mentira), la mejor opcion es ocultarla doble click sobre el webpart y... mejor vean la imagen.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;color:#333333;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;div align="center"&gt;&lt;strong&gt;&lt;span style="font-family:verdana;font-size:85%;color:#333333;"&gt;Ocultar el WebPart de NewItem&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;&lt;div align="center"&gt;&lt;a href="http://4.bp.blogspot.com/_IBFk2gak5SA/R0hXAQKY-XI/AAAAAAAAAC8/o1wKhc6zXX8/s1600-h/Ocultar.JPG"&gt;&lt;span style="font-family:verdana;font-size:85%;color:#333333;"&gt;&lt;img id="BLOGGER_PHOTO_ID_5136451036866214258" style="CURSOR: hand" alt="" src="http://4.bp.blogspot.com/_IBFk2gak5SA/R0hXAQKY-XI/AAAAAAAAAC8/o1wKhc6zXX8/s320/Ocultar.JPG" border="0" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;span style="font-family:verdana;font-size:85%;color:#333333;"&gt;Ahora si, agregen todo que desen, pero no olviden el consejo, cuando personalicen uno de estos formulario: NewForm.aspx o EditForm.aspx nunca nunca borren.&lt;/span&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;span style="font-family:verdana;font-size:85%;color:#333333;"&gt;Saludos.&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3205157138751123230-752828166860698554?l=marcodiazjr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://marcodiazjr.blogspot.com/feeds/752828166860698554/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3205157138751123230&amp;postID=752828166860698554' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3205157138751123230/posts/default/752828166860698554'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3205157138751123230/posts/default/752828166860698554'/><link rel='alternate' type='text/html' href='http://marcodiazjr.blogspot.com/2007/11/problemas-al-personalizar-el.html' title='Problemas al personalizar el NewForm.aspx de una lista en Sharepoint'/><author><name>Marco Diaz</name><uri>http://www.blogger.com/profile/12375669788875502691</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://1.bp.blogspot.com/_IBFk2gak5SA/SZ3KZgTXAqI/AAAAAAAAAUg/7uhRUOMvaak/s1600-R/9099239.img.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_IBFk2gak5SA/R0hQeAKY-UI/AAAAAAAAACk/fS0YfG6OYLg/s72-c/Captcha.JPG' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3205157138751123230.post-4408965920234497885</id><published>2007-11-21T07:59:00.000-08:00</published><updated>2009-02-12T05:26:20.305-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C#.net'/><category scheme='http://www.blogger.com/atom/ns#' term='Infopath 2007'/><category scheme='http://www.blogger.com/atom/ns#' term='Sharepoint'/><category scheme='http://www.blogger.com/atom/ns#' term='Errores'/><title type='text'>Error al tratar de Publicar Infopath con Codigo a Sharepoint (Browser-Enabled)</title><content type='html'>&lt;div align="justify"&gt;&lt;span style="color: rgb(51, 51, 51);font-family:verdana;font-size:85%;"  &gt;El problema.&lt;/span&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;span style="color: rgb(51, 51, 51);font-family:verdana;font-size:85%;"  &gt;Luego de terminar de diseñar y "programar" nuestro archivo de infopath para ser usado como plantilla, llega la hora de publicar, entonces realizamos los pasos acostumbrados:&lt;/span&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;span style="color: rgb(51, 51, 51);font-family:verdana;font-size:85%;"  &gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;span style="color: rgb(51, 51, 51);font-family:verdana;font-size:85%;"  &gt;Publish&lt;/span&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;span style="color: rgb(51, 51, 51);font-family:verdana;font-size:85%;"  &gt;le decimos que publicaremos a Sharepoint.&lt;/span&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;span style="color: rgb(51, 51, 51);font-family:verdana;font-size:85%;"  &gt;y como nuestra intencion es poder usar ese formulario infopath en web (Browser-Enabled)&lt;/span&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;span style="color: rgb(51, 51, 51);font-family:verdana;font-size:85%;"  &gt;entonces nos damos cuenta que el wizard de publishing nos da un mensaje como esto.&lt;/span&gt;&lt;/div&gt;&lt;p align="center"&gt;&lt;a href="http://3.bp.blogspot.com/_IBFk2gak5SA/R0RXmC3AylI/AAAAAAAAACY/koSaEiFJVhQ/s1600-h/Publishing.JPG"&gt;&lt;span style="color: rgb(51, 51, 51);font-family:verdana;font-size:85%;"  &gt;&lt;img id="BLOGGER_PHOTO_ID_5135325786223462994" style="" alt="" src="http://3.bp.blogspot.com/_IBFk2gak5SA/R0RXmC3AylI/AAAAAAAAACY/koSaEiFJVhQ/s320/Publishing.JPG" border="0" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;div align="justify"&gt;&lt;span style="color: rgb(51, 51, 51);font-family:verdana;" &gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;span style="color: rgb(51, 51, 51);font-family:verdana;font-size:85%;"  &gt;Si hacemos un acercamiento podremos leer algo como: que el administrador debe de aprobar el templade antes de ser usado en web. Como buenos programadores, nada se pierde con interar, asi que seguimos adelante y nos damos con la sorpresa de que llegado el final y al tratar de crear un documento con este template no funciona, o simplemente no lo encuentra por ningun lado.&lt;/span&gt;&lt;/div&gt;&lt;p align="justify"&gt;&lt;span style="color: rgb(51, 51, 51);font-family:verdana;font-size:85%;"  &gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="justify"&gt;&lt;span style="color: rgb(51, 51, 51);font-family:verdana;font-size:85%;"  &gt;Solucion.&lt;/span&gt;&lt;/p&gt;&lt;p align="justify"&gt;&lt;span style="color: rgb(51, 51, 51);font-family:verdana;font-size:85%;"  &gt;Bueno ya han leido mucho de lo que ya saben asi que la respuesta sera rapida. &lt;/span&gt;&lt;/p&gt;&lt;ol&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;span style="color: rgb(51, 51, 51);font-family:verdana;font-size:85%;"  &gt;Ir al sitio de la Administración Central para su explotación (o en el servidor web si existe sólo una) &lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;span style="color: rgb(51, 51, 51);font-family:verdana;font-size:85%;"  &gt;Click en el tab "Application Management", luego buscar la seccion "InfoPath Forms Services " y elegir: "Manage Form Templates"&lt;br /&gt;Estamos en "Form Template library", es aqui donde se almacena los templade que requiere aprobacion.&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;span style="color: rgb(51, 51, 51);font-family:verdana;font-size:85%;"  &gt;Haga clic en Upload Form Template y busca tu template(formulario infopath, en la ruta donde la publicaste, seguro que la publicaste en alguna carpeta de tu PC, has memoria donde, si no recuerdas vuelve a publicar en una carpeta de facil acceso), una vez subido tu templade debes de hacerle una verificacion, esperemos que no exista errores solo advertencias, si es asi entonces continua, si sale errores, pues regresemos al infopath y probemos la compatibilidad de nuestro formulario infopath con sharepoint.&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p align="justify"&gt;&lt;span style="color: rgb(51, 51, 51);font-family:verdana;font-size:85%;"  &gt;Realizado esto, el template esta disponible para poder activarlo, eso lo encontraremos en "Feature".&lt;/span&gt;&lt;/p&gt;&lt;p align="justify"&gt;&lt;span style="color: rgb(51, 51, 51);font-family:verdana;font-size:85%;"  &gt;Y listo ahora podremos agregarlo a una libreria.&lt;/span&gt;&lt;/p&gt;&lt;p align="justify"&gt;&lt;span style="color: rgb(51, 51, 51);font-family:verdana;font-size:85%;"  &gt;Crear a libreria, entrar a las opciones y agregar un template existente, bueno eso ya es otra cosa, no hagamos mas largo este post.&lt;/span&gt;&lt;/p&gt;&lt;p align="justify"&gt;&lt;span style="color: rgb(51, 51, 51);font-family:verdana;font-size:85%;"  &gt;Saludos a todos&lt;/span&gt;&lt;/p&gt;&lt;p align="justify"&gt;&lt;span style="color: rgb(51, 51, 51);font-family:verdana;font-size:85%;"  &gt;Preguntas?? dejarlas en comentarios o al correo personal &lt;/span&gt;&lt;a href="mailto:marcodiazjr@gmail.com"&gt;&lt;span style="color: rgb(51, 51, 51);font-family:verdana;font-size:85%;"  &gt;marcodiazjr@gmail.com&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3205157138751123230-4408965920234497885?l=marcodiazjr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://marcodiazjr.blogspot.com/feeds/4408965920234497885/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3205157138751123230&amp;postID=4408965920234497885' title='2 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3205157138751123230/posts/default/4408965920234497885'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3205157138751123230/posts/default/4408965920234497885'/><link rel='alternate' type='text/html' href='http://marcodiazjr.blogspot.com/2007/11/error-al-tratar-de-publicar-infopath.html' title='Error al tratar de Publicar Infopath con Codigo a Sharepoint (Browser-Enabled)'/><author><name>Marco Diaz</name><uri>http://www.blogger.com/profile/12375669788875502691</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://1.bp.blogspot.com/_IBFk2gak5SA/SZ3KZgTXAqI/AAAAAAAAAUg/7uhRUOMvaak/s1600-R/9099239.img.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_IBFk2gak5SA/R0RXmC3AylI/AAAAAAAAACY/koSaEiFJVhQ/s72-c/Publishing.JPG' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3205157138751123230.post-7753936444700210171</id><published>2007-11-10T15:19:00.000-08:00</published><updated>2009-02-12T05:31:30.842-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C#.net'/><category scheme='http://www.blogger.com/atom/ns#' term='WebServices'/><category scheme='http://www.blogger.com/atom/ns#' term='Infopath 2007'/><title type='text'>INFOPATH: Ejecutar webservice desde codigo (C#.net)</title><content type='html'>&lt;div align="justify"&gt;&lt;span style="color: rgb(51, 51, 51);font-family:verdana;font-size:85%;"  &gt;Este es mi segundo post en este caso trataremos de algo muy intersante, como ejecutar un webservice por codigo dentro del infopath, las razones de hacer esto son muchas, pero las resumiremos diciendo que necesitamos manupilar la data que este webservice nos devielve.&lt;br /&gt;Requisitos:&lt;br /&gt;&lt;/span&gt;&lt;a href="http://marcodiazjr.blogspot.com/2007/11/infopath-conectar-webservice.html"&gt;&lt;span style="color: rgb(51, 51, 51);font-family:verdana;font-size:85%;"  &gt;INFOPATH: Conectar a webservice&lt;/span&gt;&lt;/a&gt;&lt;span style="color: rgb(51, 51, 51);font-family:verdana;font-size:85%;"  &gt;&lt;br /&gt;Para este caso en el paso 8 del &lt;/span&gt;&lt;a href="http://2.bp.blogspot.com/_IBFk2gak5SA/RzY56VSkEyI/AAAAAAAAACQ/3aQQytNgoBg/s1600-h/PASO8.GIF"&gt;&lt;span style="color: rgb(51, 51, 51);font-family:verdana;font-size:85%;"  &gt;post anterior&lt;/span&gt;&lt;/a&gt;&lt;span style="color: rgb(51, 51, 51);font-family:verdana;font-size:85%;"  &gt;, debemos quitar el check.&lt;br /&gt;Antes que nada, por lo general cuando queremos ejecutar un webservice tambien queremos mandarle paremetros para esto el webservice debe tener parametros de entrada (obvio!!!)&lt;br /&gt;&lt;br /&gt;Bueno haber plantienmos un caso:&lt;br /&gt;Un combo de Departamentos que Filtre las provincias.&lt;br /&gt;Entonces el primer combo de departamentos lo debemos enlazar a un webservice que se ejecute apenas arranca la aplicacion(el formulario de infopath).&lt;br /&gt;Espero no tengamos problemas con este punto, sino ya actualizare un post sobre esto.&lt;br /&gt;Ahora si.&lt;br /&gt;Para entrar al codigo del infopath, debemos hacer algo primero, decirle que lenguaje tiramos mas (es la forma de decir en mi pais, cual lenguaje de programacion dominamos mas), en este caso usaremos c#.net, no es que domine mas c#.net solo que encontre mas ejemplos en este lenguaje que en otro.&lt;br /&gt;¿como hacemos esto?, rapidamente &lt;strong&gt;Tools/Form Options/Programming&lt;/strong&gt; y alli elijan el lenguaje en nuestro caso C#, si por algun motivo ya han escrito codigo en otro lenguaje y desean cambiar a otro, pues primero remueben el existente y luego eligen el nuevo (remover=borrar todo el codigo anterior).&lt;br /&gt;Ahora si.&lt;br /&gt;&lt;br /&gt;Para entrar en el codigo damos click derecho sobre el combo (dropdownlist de departamentos) y elegimos la opcion &lt;strong&gt;Programming&lt;/strong&gt; y luego el evento: &lt;strong&gt;Changed Event &lt;/strong&gt;y bueno ya lo estaran viendo se abrio el Net.&lt;br /&gt;&lt;br /&gt;Ahora si. un codigo mejor que mil palabras. &lt;/span&gt;&lt;/div&gt;&lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;code&gt;Falta Poner el codigo , sorry por el codigo faltante, lo saque porque se veia mal en firefox :( &lt;/code&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color: rgb(51, 51, 51);font-family:verdana;font-size:85%;"  &gt;Ahora a explicar un poco el codigo.&lt;br /&gt;Pendiente....&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3205157138751123230-7753936444700210171?l=marcodiazjr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://marcodiazjr.blogspot.com/feeds/7753936444700210171/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3205157138751123230&amp;postID=7753936444700210171' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3205157138751123230/posts/default/7753936444700210171'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3205157138751123230/posts/default/7753936444700210171'/><link rel='alternate' type='text/html' href='http://marcodiazjr.blogspot.com/2007/11/infopath-ejecutar-webservice-desde.html' title='INFOPATH: Ejecutar webservice desde codigo (C#.net)'/><author><name>Marco Diaz</name><uri>http://www.blogger.com/profile/12375669788875502691</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://1.bp.blogspot.com/_IBFk2gak5SA/SZ3KZgTXAqI/AAAAAAAAAUg/7uhRUOMvaak/s1600-R/9099239.img.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3205157138751123230.post-4078889396706890756</id><published>2007-11-10T14:38:00.000-08:00</published><updated>2009-02-12T05:28:54.953-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='WebServices'/><category scheme='http://www.blogger.com/atom/ns#' term='Infopath 2007'/><title type='text'>INFOPATH: Conectar a webservice</title><content type='html'>&lt;div align="justify"&gt;&lt;span style="color: rgb(51, 51, 51);font-family:verdana;font-size:85%;"  &gt;Para poder utilizar un webservice en el infopath, primero debemos agregarla como fuente de datos secuendaria, ¿como? sigan los pasos, las imagenes indican la forma.&lt;br /&gt;&lt;strong&gt;Paso 1:&lt;/strong&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;p align="center"&gt;&lt;a href="http://bp3.blogger.com/_IBFk2gak5SA/RzY4G1SkErI/AAAAAAAAABY/j5JbAc5ayhM/s1600-h/PASO1.GIF"&gt;&lt;span style="color: rgb(51, 51, 51);font-family:verdana;font-size:85%;"  &gt;&lt;img id="BLOGGER_PHOTO_ID_5131350515470570162" style="" alt="" src="http://bp3.blogger.com/_IBFk2gak5SA/RzY4G1SkErI/AAAAAAAAABY/j5JbAc5ayhM/s320/PASO1.GIF" border="0" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;div align="justify"&gt;&lt;span style="color: rgb(51, 51, 51);font-family:verdana;font-size:85%;"  &gt;&lt;br /&gt;&lt;strong&gt;Paso 2:&lt;/strong&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;p align="center"&gt;&lt;a href="http://bp1.blogger.com/_IBFk2gak5SA/RzY4HVSkEsI/AAAAAAAAABg/ueUg-fBvugY/s1600-h/PASO2.GIF"&gt;&lt;span style="color: rgb(51, 51, 51);font-family:verdana;font-size:85%;"  &gt;&lt;img id="BLOGGER_PHOTO_ID_5131350524060504770" style="" alt="" src="http://bp1.blogger.com/_IBFk2gak5SA/RzY4HVSkEsI/AAAAAAAAABg/ueUg-fBvugY/s320/PASO2.GIF" border="0" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;div align="justify"&gt;&lt;span style="color: rgb(51, 51, 51);font-family:verdana;font-size:85%;"  &gt;&lt;br /&gt;&lt;strong&gt;Paso 3&lt;/strong&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;p align="center"&gt;&lt;a href="http://bp1.blogger.com/_IBFk2gak5SA/RzY4HVSkEtI/AAAAAAAAABo/Iz7p7UW5uYE/s1600-h/PASO3.GIF"&gt;&lt;span style="color: rgb(51, 51, 51);font-family:verdana;font-size:85%;"  &gt;&lt;img id="BLOGGER_PHOTO_ID_5131350524060504786" style="" alt="" src="http://bp1.blogger.com/_IBFk2gak5SA/RzY4HVSkEtI/AAAAAAAAABo/Iz7p7UW5uYE/s320/PASO3.GIF" border="0" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;div align="justify"&gt;&lt;span style="color: rgb(51, 51, 51);font-family:verdana;font-size:85%;"  &gt;&lt;br /&gt;&lt;strong&gt;Paso 4&lt;/strong&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;p align="center"&gt;&lt;a href="http://bp2.blogger.com/_IBFk2gak5SA/RzY4HlSkEuI/AAAAAAAAABw/2BOFkvUW51U/s1600-h/PASO4.GIF"&gt;&lt;span style="color: rgb(51, 51, 51);font-family:verdana;font-size:85%;"  &gt;&lt;img id="BLOGGER_PHOTO_ID_5131350528355472098" style="" alt="" src="http://bp2.blogger.com/_IBFk2gak5SA/RzY4HlSkEuI/AAAAAAAAABw/2BOFkvUW51U/s320/PASO4.GIF" border="0" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;div align="justify"&gt;&lt;span style="color: rgb(51, 51, 51);font-family:verdana;font-size:85%;"  &gt;&lt;br /&gt;&lt;strong&gt;Paso 5:&lt;/strong&gt; Aca tenemos que ingresar la ruta absoluta de nuestro webservice, ojo que si es para produccion debemos escribir con el nombre propio de la maquina donde esta el webservice, como se dan cuenta si estan poniendo bien la ruta, pues por lo general esta mal cuando aparece: &lt;/span&gt;&lt;a href="http://localhost/"&gt;&lt;span style="color: rgb(51, 51, 51);font-family:verdana;font-size:85%;"  &gt;(http://localhost/&lt;/span&gt;&lt;/a&gt;&lt;span style="color: rgb(51, 51, 51);font-family:verdana;font-size:85%;"  &gt;....). Es necesario aclarar que previamente tenemos que tener operativo 100% si webservice, sino tendremos problemas posteriores.&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;p align="center"&gt;&lt;a href="http://bp2.blogger.com/_IBFk2gak5SA/RzY4HlSkEvI/AAAAAAAAAB4/i75RAiUPJxg/s1600-h/PASO5.GIF"&gt;&lt;span style="color: rgb(51, 51, 51);font-family:verdana;font-size:85%;"  &gt;&lt;img id="BLOGGER_PHOTO_ID_5131350528355472114" style="" alt="" src="http://bp2.blogger.com/_IBFk2gak5SA/RzY4HlSkEvI/AAAAAAAAAB4/i75RAiUPJxg/s320/PASO5.GIF" border="0" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;div align="justify"&gt;&lt;span style="color: rgb(51, 51, 51);font-family:verdana;font-size:85%;"  &gt;&lt;br /&gt;&lt;strong&gt;Paso 6&lt;/strong&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;p align="center"&gt;&lt;a href="http://bp2.blogger.com/_IBFk2gak5SA/RzY5UlSkEwI/AAAAAAAAACA/7nkqsVpSBlo/s1600-h/PASO6.GIF"&gt;&lt;span style="color: rgb(51, 51, 51);font-family:verdana;font-size:85%;"  &gt;&lt;img id="BLOGGER_PHOTO_ID_5131351851205399298" style="" alt="" src="http://bp2.blogger.com/_IBFk2gak5SA/RzY5UlSkEwI/AAAAAAAAACA/7nkqsVpSBlo/s320/PASO6.GIF" border="0" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;div align="justify"&gt;&lt;span style="color: rgb(51, 51, 51);font-family:verdana;font-size:85%;"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;a href="http://bp0.blogger.com/_IBFk2gak5SA/RzY1YFSkEqI/AAAAAAAAABQ/ByfOnrqD_v0/s1600-h/WebService.JPG"&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://bp0.blogger.com/_IBFk2gak5SA/RzY1YFSkEqI/AAAAAAAAABQ/ByfOnrqD_v0/s1600-h/WebService.JPG"&gt;&lt;/a&gt;&lt;a href="http://bp0.blogger.com/_IBFk2gak5SA/RzY1YFSkEqI/AAAAAAAAABQ/ByfOnrqD_v0/s1600-h/WebService.JPG"&gt;&lt;/a&gt;&lt;a href="http://bp0.blogger.com/_IBFk2gak5SA/RzY1YFSkEqI/AAAAAAAAABQ/ByfOnrqD_v0/s1600-h/WebService.JPG"&gt;&lt;/a&gt;&lt;a href="http://bp0.blogger.com/_IBFk2gak5SA/RzY1YFSkEqI/AAAAAAAAABQ/ByfOnrqD_v0/s1600-h/WebService.JPG"&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="color: rgb(51, 51, 51);"&gt;&lt;strong&gt;Paso 7&lt;/strong&gt;: Por lo general no se marca esta opcion, pues puede traer problemas de sincronizacion, mejor dejarla siempre sin check, ojo que se podria marcar si es data que por lo general no cambia.&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;p align="center"&gt;&lt;a href="http://bp2.blogger.com/_IBFk2gak5SA/RzY5UlSkExI/AAAAAAAAACI/EvcV1k1lcr8/s1600-h/PASO7.GIF"&gt;&lt;span style="color: rgb(51, 51, 51);font-family:verdana;font-size:85%;"  &gt;&lt;img id="BLOGGER_PHOTO_ID_5131351851205399314" style="" alt="" src="http://bp2.blogger.com/_IBFk2gak5SA/RzY5UlSkExI/AAAAAAAAACI/EvcV1k1lcr8/s320/PASO7.GIF" border="0" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;div align="justify"&gt;&lt;span style="color: rgb(51, 51, 51);font-family:verdana;font-size:85%;"  &gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Paso 8&lt;/strong&gt; : En este paso hay que tener cuidado en algo: si esta fuente de datos secundaria sera utilizado para llenar un combo(dropdownlist) por ejemplo al iniciar la aplicacion entonces dejemos marcada esta opcion, si por el contrario va depender de otro valor previamente seleccionado entonces quitemos el check, no olvidar detalle.&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;p align="center"&gt;&lt;a href="http://bp1.blogger.com/_IBFk2gak5SA/RzY56VSkEyI/AAAAAAAAACQ/3aQQytNgoBg/s1600-h/PASO8.GIF"&gt;&lt;span style="color: rgb(51, 51, 51);font-family:verdana;font-size:85%;"  &gt;&lt;img id="BLOGGER_PHOTO_ID_5131352499745461026" style="" alt="" src="http://bp1.blogger.com/_IBFk2gak5SA/RzY56VSkEyI/AAAAAAAAACQ/3aQQytNgoBg/s320/PASO8.GIF" border="0" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;div align="justify"&gt;&lt;span style="color: rgb(51, 51, 51);font-family:verdana;font-size:85%;"  &gt;&lt;br /&gt;Finalmente FINALIZAR.&lt;br /&gt;Hasta aqui temos agregado nuestro webservice al infopath.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;a href="http://office.microsoft.com/en-us/infopath/HP100928241033.aspx"&gt;&lt;span style="color: rgb(51, 51, 51);font-family:verdana;font-size:85%;"  &gt;Mas informacion&lt;/span&gt;&lt;/a&gt;&lt;span style="color: rgb(51, 51, 51);font-family:verdana;font-size:85%;"  &gt;(Ingles) &lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3205157138751123230-4078889396706890756?l=marcodiazjr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://marcodiazjr.blogspot.com/feeds/4078889396706890756/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3205157138751123230&amp;postID=4078889396706890756' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3205157138751123230/posts/default/4078889396706890756'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3205157138751123230/posts/default/4078889396706890756'/><link rel='alternate' type='text/html' href='http://marcodiazjr.blogspot.com/2007/11/infopath-conectar-webservice.html' title='INFOPATH: Conectar a webservice'/><author><name>Marco Diaz</name><uri>http://www.blogger.com/profile/12375669788875502691</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://1.bp.blogspot.com/_IBFk2gak5SA/SZ3KZgTXAqI/AAAAAAAAAUg/7uhRUOMvaak/s1600-R/9099239.img.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp3.blogger.com/_IBFk2gak5SA/RzY4G1SkErI/AAAAAAAAABY/j5JbAc5ayhM/s72-c/PASO1.GIF' height='72' width='72'/><thr:total>0</thr:total></entry></feed>
