lunes, 15 de febrero de 2010

[SharePoint 2007] An unrecognized HTTP status was received. Check that the address can be accesed using Internet Explorer.

Después de una implementación sin mayores problemas, y tras dos meses de que había estado funcionando correctamente. Un buen día me doy cuenta que el rastreo no está funcionando y me está devolviendo miles (literalmente) de errores como los siguientes.


Lo primero que uno piensa es que la cuenta con la que se está intentando hacer el rastreo, no tiene permisos para ejecutarlo. Sin embargo la cuenta si tiene los permisos necesarios, es más, tal como dice el mensaje de "ayuda", intento acceder a algunas de las url's a las cuales supuestamente no puede acceder, y para mi sorpresa (si, aún me sorprendo con los errores de SharePoint), el navegador si es capaz de abrir esta url.

He aquí cuando de verdad comienza mi desconcierto, si la cuenta de acceso para el rastreo si puede acceder a las fuentes de contenido, y además mediante el navegador es posible acceder a ese contenido, que otra cosa puede ser?

Pues después de mucha investigación y leer artículos de mucha ayuda como: What every SharePoint administrator needs to know about Alternate Access Mappings (Part 2 of 3)

La causa y la resolución de la misma es un poco rebuscada.

1.- Elimina el proxy establecido de los servidores desde donde no se puede tener acceso y al servidor de destino, es decir el servidor con el rol de Index, y los WFE. No importa que el proxy sea establecido a través de alguna política. Si tienes seleccionado el checkbox de "Automatically detect settings", deselecciónalo.



2.- Deseleccionar la opción "Append parent suffixes of the primary DNS Suffix." Esto lo puedes hacer con los siguientes pasos:

Ve al Panel de Control
Entra al apartado de Network Connections
Click derecho sobre tu conexión, en mi caso (Local Area Connection), click en properties
Selecciona Internet Protocol Version 4 (TCP/IPv4)
Click en Properties
En la siguiente ventana click en Advanced
En la siguiente ventana seleccionamos el tab de DNS
Deselecciona la opción Append parent suffixes of the primary DNS Suffix




Información Adicional:

http://support.microsoft.com/kb/938219
What every SharePoint administrator needs to know about Alternate Access Mappings (Part 2 of 3)

lunes, 8 de febrero de 2010

[Screencast] Error al abrir SharePoint Solution Generator 2008

Es común que cuando instalamos por primera vez las extensiones de Visual Studio para WSS (vsewss 1.3) en Windows 2008 Server, se nos presente el siguiente error al querer utilizarlo.


The content type text/html; charset=utf-8 of the response message does not match the content type of the binding (text/xml; charset=utf-8). If using a custom encoder, be sure that the IsContentTypeSupported method is implemented properly. The first 1024 bytes of the response were: ...

Como sabemos estas extensiones al instalarse crean un web application en el IIS llamado VSeWSS, que contiene un servicio con extensión .svc (Windows Communication Service), el cual para su correcto funcionamiento necesita de la habilitación de la característica WCF HTTP Activation. Así que para solucionar este pequeño inconveniente solo es necesario habilitar esta característica. Con los siguientes pasos:

  • Abre la consola de administración del servidor (Server Manager)
  • Ve a la pestaña de Features
  • Click en Add Features
  • Expande el nodo llamado .Net Framework  3.0 Features
  • Expande el nodo WCF Activation
  • Selecciona la opción HTTP Activation. La opción Non-HTTP Activation no es requerida para este propósito.
  • Click en Next
  • Click en Install

Después de completar estos sencillos pasos, la utileria SharePoint Solution Generator 2008, funcionará correctamente.


Dejo además un screencast en donde se muestra de manera gráfica los pasos anteriormente descritos.



Happy Coding!

lunes, 1 de febrero de 2010

[Sharepoint 2010] - SharePoint Client Object Model

Pues comenzamos con los posts relacionados con SharePoint 2010, en cuanto a desarrollo se refiere, específicamente con el SharePoint Client Object Model (SharePoint OM). En esta ocasión revisaremos la teoría previa, que problema resuelve y como funciona.

En el pasado (en realidad presente para la mayoría de nosotros), cuando construimos alguna aplicación cliente (como Silverlight) que se integraría con SharePoint 2007, lo hacíamos a través de web services, ya sea que usaramos los que SharePoint nos proporciona out the box ó que desarrolláramos los propios para satisfacer requerimientos puntuales de negocio.

Sin embargo esto no era del todo transparente, puesto que había que saber un par de cosillas adicionales de cómo funcionan los Web Services en SharePoint, máxime si nos decidíamos a utilizar WCF, quien no lanzo varios WTF's!, cuando descubrió la falla incapacidad de Sharepoint de convivir con los archivos .SVC.

¿Cuál es la solución que SharePoint 2010 nos brinda?

SharePoint 2010 Managed Client Object Model es una característica que nos permite escribir código del lado del cliente para trabajar con los objetos comunes con los que estamos acostumbrados a tratar del lado del servidor. Todo este código que se ejecuta del lado del cliente ahora puede agregar listas, actualizarlas, eliminarlas, manipular elementos de listas, manipular documentos que se encuentran el librerías, crear, eliminar y modificar sitios, y muchas cosas más, como veremos con forme pase el tiempo.


Además este nuevo modelo de objetos viene en tres diferentes sabores, para adaptarse a las necesidades del día a día de un desarrollador:

.Net Managed Applications (usando .NET CLR)
Silverlight Applications
ECMAScript (JavaScript, JScript)

Es importante es este punto hacer mención de que las clases del modelo de objetos en el cliente se les ha quitado el prefijo "SP", que tanto molestaba a algunos.

ServidorCliente
SPContextContext
SPWebWeb
SPSiteSite
SPListList
SPListItemListItem


Pero como aquel famoso programa de TV pregunta, ¿Y cómo funciona esto?

Nosotros interactuamos con la API en alguno de los sabores antes mencionado, es decir, llamamos métodos, asignamos propiedades, etc. Después de esto, nosotros hacemos una llamada al método ExecuteQuery ó ExecuteQueryAsync (este último para Silverlight), entonces el Client OM, se encarga de transformar todas esas operaciones que hicimos en un documento XML y enviarlo al servidor, por medio del servicio client.svc que expone SharePoint 2010. El servidor recibe la solicitud enviada desde el Client OM y hace las correspondientes llamadas a los objetos y métodos del modelo de objetos de servidor (si, si, SPContext, SPSite, SPWeb, etc.). Una vez que el servidor termine de procesar las operaciones solicitadas, este devolverá la respuesta serializada con JSON. El Client OM, recibe la respuesta y parsea el JSON a objetos .Net o bien a objetos javascript, en caso de que estemos utilizando ECMAScript.

void LoadData()
{
 ClientContext context = new ClientContext("http://mss:5300");
 Web web = context.Web;
 ListCollection lists = web.Lists;
 context.Load(web);
 context.Load(lists);

 context.ExecuteQueryAsync(succededCallback, failedCallback);
}


El servicio Client.svc


Mirando la respuesta enviada al cliente.

Etiquetas

SharePoint 2010 (38) Microsoft (32) Desarrollo SharePoint (31) Gerardo Reyes Ortiz (27) SharePoint (20) SharePoint 2013 (18) Errores SharePoint (12) México (10) PowerShell (9) Silverlight (8) Visio Services (7) Features (6) MVP (6) Silverlight 3 (6) WebCast (6) Workflows (6) Configuracion SharePoint 2010 (5) D.F. (5) API REST (4) Configuracion SharePoint 2010; (4) Troubleshooting (4) Visual Studio 2010 (4) Visual studio (4) WSS (4) Web parts (4) Apps (3) Comunidad SharePoint (3) Configuración SharePoint 2013 (3) ODATA (3) SharePoint Server (3) SharePoint; Instalación SharePoint; Troubleshooting; Search Service (3) Silverlight 3.0 (3) Silverlight Toolkit (3) WebParts (3) javascript (3) jquery (3) Eventos SharePoint (2) Office 2010 (2) PeoplePicker (2) REST (2) SQL Server (2) Scripting (2) Search Service Application (2) SharePoint Designer (2) UPA (2) UPS (2) Workflows SharePoint (2) host header (2) Apps Development (1) Big Bang (1) CAS (1) CSOM (1) Codeplex (1) CompartiMOSS (1) Configuracion SharePoint 2010; Errores SharePoint (1) Configuracion SharePoint 2010; SharePoint 2010 (1) Custom Actions (1) Custom Editor Parts (1) Delegate Controls (1) Deployment (1) DisableLoopbackCheck (1) Document Library (1) Entrevista (1) Examenes de Certificación (1) Extract WSP (1) FBA (1) FS4SP (1) Fakes (1) Fast Search Server 2010 For SharePoint (1) Fiddler (1) HTTP.SYS (1) HTTPS (1) JSON (1) Language Pack's (1) Latam (1) MAXDOP (1) MCSM (1) MSExpertos (1) MVC (1) Microsoft México (1) Microsoft; Codeplex; Screencast; (1) My Sites (1) SQL Server 2012 (1) SQL Server Reporting Services (1) Screencast (1) Screencast; (1) Service Applications (1) Service Pack (1) SharePoint 2007 (1) SharePoint 2010 SP 1 (1) SharePoint API (1) SharePoint Conference (1) SharePoint Emulators (1) SharePoint Farm (1) SharePoint Health Analyzer (1) SharePoint Magazine (1) SharePoint Online (1) SharePoint Search (1) SharePoint Test (1) SharePoint; Desarrollo SharePoint (1) Shims (1) Simposio (1) Simposio Latinoamericano (1) SkyDrive Pro (1) Soporte Microsoft (1) Templates (1) Tip (1) VSeWSS (1) Virtual Machine (1) Visual Studio 2012 (1) WCF (1) WSS; IIS 7 (1) Web API (1) Web Content Management (1) Web Services (1) Windows 8 (1) Windows Live ID (1) Xml (1) appcmd (1) iOS (1) jqGrid (1) onload function (1)