99VA73XKQ82V
viernes 16 de abril de 2010
Technorati Claim Verification
Posted by
Martin Hermosilla
at
4/16/2010 12:44:00 PM
0
comments
at
4/16/2010 12:44:00 PM Permalink
Links to this post
miércoles 12 de agosto de 2009
Juez de Texas prohibe la venta de Microsoft Word por violación de Patente
Un Juez del distrito este de Texas ha dictado sentencia sobre la demanda interpuesta por i4i Inc. contra Microsoft por violación de patente de su producto Microsoft Word. De acuerdo a la demanda, Microsoft Word usa XML en la lectura y escritura de archivos XML, DOCX y DOCM. La demanda se basa en la violación de la patente #5.787.449 de XML fechada en 1998. La resolución tendrá efecto dentro 60 días y establece que Microsoft debe suspender las ventas y demostraciones de Word.Microsoft deberá pagar a i4i algo así como USD$290 Millones en daños y perjuicios. La respuesta de Microsof es breve y precisa: "Estamos decepcionados con el veredicto de la corte. Creemos que la evidencia claramente demuestra que no hemos violado la patente y mas aún que la patente de i4i es invalida. Apelaremos al veredicto"
Fuente: martinh.cl
Posted by
Martin Hermosilla
at
8/12/2009 11:34:00 AM
0
comments
at
8/12/2009 11:34:00 AM Permalink
Links to this post
Labels: Actualidad, Microsoft, Office, Word
jueves 30 de julio de 2009
Lance Davis, Administrador del proyecto CentOs Perdido en Acción
|
Posted by
Martin Hermosilla
at
7/30/2009 04:38:00 PM
0
comments
at
7/30/2009 04:38:00 PM Permalink
Links to this post
miércoles 15 de julio de 2009
Java web app y SharePoint WebServices Parte 1
Fue una tortura de grandes proporciones el intentar conectar una aplicación web que se ejecuta sobre tomcat, con un servidor SharePoint. El objetivo es poder acceder a ciertas listas publicadas en el servidor SharePoint. El método de acceso a ellas SharePoint WebServices.
Luego de escarbar la web en busca de ayuda para solucionar mi problema el como conectar una aplicación Java como cliente de los WebServices que publica el servidor SharePoint, encontré cientos de consejos y tutoriales, lamentablemente ninguno decía especificamente que hacer, eran fragmentos de fragmentos de código, con un centenar de cosas asumidas.
Uno asume que todas las versiones de Java son capaces de realizar autentificacion NTLM, y no es así, en la Version 1.4 de Java se incluye NTLM para Windows, a partir de la version 1.5 se incluye no solo para Windows, tambien otras Plataformas (Linux/Unix).
No hay que olvidar que otros se han dado el trabajo de realizar librerias de libre distribución o simplemente pagadas que resuelven todo este problema. Pero pagar por una libreria en este caso no es una alternativa. A parte que le quita lo desafiante de poder solucionar este problema de forma personal no?.
Despues de intentar con JAX-WS y XFire, regresé a mi herramienta de WebServices Favorita, Axis, pero esta vez escogí Axis2 en su versión 1.4.1. En la especificación mencionan soporte para autentificacion NTLM, así que bingo, comence los pasos para crear el cliente del WebService.
Ya que no pude generar el Cliente directamente del sitio web SharePoint, por la autentificación NTLM, decidí bajar el WSDL del servicio Web y a partir de este generar el stub. Una vez creado el Stub, comienzo a codificar la clase que se encargara de ser el cliente del Servicio Web. Obviamente tal como está creado el stub no es capaz de realizar la autentificación con el servidor SharePoint, para ello usamos el fragmento de código que ha sido ejemplificado en varios blogs. Usaré como ejemplo el servicio de Listas de SharePoint: https://spserver/site/_vti_bin/Lists.asmx
Axis 2 crea el stub ListsStub.class su uso:
Lamentablemente este fragmento de código por si solo no es suficiente. Para poder realizar la conexión con el servidor SharePoint, necesitamos agregar código a la clase cliente para poder ayudar al Http Transport en el proceso de autentificación NTLM. Esto me llevó a investigar un poco más pués en todos los webs que hablan de este tema, pareciera bastar con el código antes descrito. Sin explicar en ningun lado que el Servidor SharePoint tiene un Certificado Autoemitido y al realizar la conexión por SSL nos arruina toda la autentificación NTLM.
En la próxima entrega, les contaré como enfrente el problema del Certificado del Servidor SharePoint y cómo logre la conexión para poder ser capaz de consumir el WebService Lists de SharePoint.
algunas referencias:
http://markmail.org/message/qw6zixsto633xkts
http://rabout.com/?q=ms_dynamics_crm_3_api_axis2
http://www.scribd.com/doc/15301394/Axis2-Authentication
http://ws.apache.org/axis2/1_4_1/contents.html
Luego de escarbar la web en busca de ayuda para solucionar mi problema el como conectar una aplicación Java como cliente de los WebServices que publica el servidor SharePoint, encontré cientos de consejos y tutoriales, lamentablemente ninguno decía especificamente que hacer, eran fragmentos de fragmentos de código, con un centenar de cosas asumidas.
Uno asume que todas las versiones de Java son capaces de realizar autentificacion NTLM, y no es así, en la Version 1.4 de Java se incluye NTLM para Windows, a partir de la version 1.5 se incluye no solo para Windows, tambien otras Plataformas (Linux/Unix).
No hay que olvidar que otros se han dado el trabajo de realizar librerias de libre distribución o simplemente pagadas que resuelven todo este problema. Pero pagar por una libreria en este caso no es una alternativa. A parte que le quita lo desafiante de poder solucionar este problema de forma personal no?.
Despues de intentar con JAX-WS y XFire, regresé a mi herramienta de WebServices Favorita, Axis, pero esta vez escogí Axis2 en su versión 1.4.1. En la especificación mencionan soporte para autentificacion NTLM, así que bingo, comence los pasos para crear el cliente del WebService.
Ya que no pude generar el Cliente directamente del sitio web SharePoint, por la autentificación NTLM, decidí bajar el WSDL del servicio Web y a partir de este generar el stub. Una vez creado el Stub, comienzo a codificar la clase que se encargara de ser el cliente del Servicio Web. Obviamente tal como está creado el stub no es capaz de realizar la autentificación con el servidor SharePoint, para ello usamos el fragmento de código que ha sido ejemplificado en varios blogs. Usaré como ejemplo el servicio de Listas de SharePoint: https://spserver/site/_vti_bin/Lists.asmx
Axis 2 crea el stub ListsStub.class su uso:
ListsStub stub = new ListsStub( endpoint );
Options options = new Options();
stub._getServiceClient().setOptions(options);
stub._getServiceClient().getOptions().setTo( new EndpointReference(endpoint) );HttpTransportProperties.Authenticator auth = new HttpTransportProperties.Authenticator();auth.setHost( host );
auth.setPort( port);
auth.setUsername( user );
auth.setPassword( pass );
auth.setDomain( domain );
auth.setReal( host );
auth.setPreemptiveAuthentication( true );
ArrayListauthSchemes = new ArrayList();
authSchemes .add( HttpTransportProperties.Authenticator.NTLM );
auth.setAuthSchemes( authSchemes );
stub._getServiceClient().getOptions().setProperty( HTTPConstants.AUTHENTICATE, auth );
Lamentablemente este fragmento de código por si solo no es suficiente. Para poder realizar la conexión con el servidor SharePoint, necesitamos agregar código a la clase cliente para poder ayudar al Http Transport en el proceso de autentificación NTLM. Esto me llevó a investigar un poco más pués en todos los webs que hablan de este tema, pareciera bastar con el código antes descrito. Sin explicar en ningun lado que el Servidor SharePoint tiene un Certificado Autoemitido y al realizar la conexión por SSL nos arruina toda la autentificación NTLM.
En la próxima entrega, les contaré como enfrente el problema del Certificado del Servidor SharePoint y cómo logre la conexión para poder ser capaz de consumir el WebService Lists de SharePoint.
algunas referencias:
http://markmail.org/message/qw6zixsto633xkts
http://rabout.com/?q=ms_dynamics_crm_3_api_axis2
http://www.scribd.com/doc/15301394/Axis2-Authentication
http://ws.apache.org/axis2/1_4_1/contents.html
Posted by
Martin Hermosilla
at
7/15/2009 09:20:00 PM
2
comments
at
7/15/2009 09:20:00 PM Permalink
Links to this post
Labels: Axis, Java, Programación, SharePoint, WebServices
Suscribirse a:
Entradas (Atom)

