2012-01-06 13 views
7

Estoy a punto de empezar a trabajar en Axis/C. Tengo una buena idea de C y los servicios web por separado. También estoy bastante bien con * nix.Comenzando con Axis/C MIME/DIME y MTOM

¿Puede alguien decirme sobre la complejidad relacionada con la creación de un servicio web con soporte para MIME/DIME y MTOM con Axis/C? El servicio web se invocará desde Java así como también con clientes C++.

¿Tiene Axis/C alguna limitación conocida en este sentido? ¿Cuáles son los mejores puntos de partida para aprender Axis/C en general y MTOM et al. apoyo en particular.

Respuesta

2

Recomendaría en contra de Apache Axis/C o Axis2c para el caso. Ambos proyectos carecen de desarrollo activo y contribución de los miembros. La última versión de Axis2c fue en 2009 y el enlace de la página de lanzamiento de Axis/c ni siquiera funciona.

he desarrollado una aplicación de servicios web razonablemente complejo (cliente y servidor), y yo he encontré con estos temas:

  • documentación es simplemente correcto. Nada grande.
  • La devolución de los códigos de estado de su elección no es fácil.
  • Algunos verbos HTTP tienen errores, por ejemplo, no pude hacer que DELETE funcione.
  • He tenido problemas con la biblioteca XML proporcionada guththila. libxml funcionó mejor para mí.
  • Es difícil construir rutas REST complejas para su aplicación.
  • El manejo de objetos XML entrantes es bastante engorroso e inconveniente. Terminé escribiendo una biblioteca de funciones de conveniencia.
  • Falta compatibilidad con JSON.
  • Su aplicación tenderá a ser grande con cada implementación del servicio del lado del servidor ejecutando al menos un centenar de líneas de código.

WSO2 parece ser otra opción en lo que se refiere a los servicios web en C. El equipo de Axis2C está lleno de gente de WSO2 de todos modos. No lo he probado, pero definitivamente parece más prometedor que Axis2C.

+0

Gracias por compartir su experiencia. Pero mi pregunta es más específicamente sobre MIME/DIME y MTOM. – Jaywalker

1

tuve que modificar el código para conseguirlo eje 1 para compilar en Fedora 13 + creo que he tenido que añadir un poco de virtual pura en qué parte del código