Apache Axis2/C - C语实现的Web service引擎

jopen 7年前

Apache Axis2/C是一个采用C语言实现的Web service引擎。它基于可扩展和灵活的Axis2 architecture架构。Apache Axis2/C可用于提供和调用WebServices。Apache Axis2/C具有轻便,可嵌入的特点,使用它容易集成到其它软件中。
Apache Axis2/C支持SOAP 1.1SOAP 1.2, 还有 REST 风格的Webservices。 一个服务可以同时发布成SOAP与REST两种风格。它还内置 MTOM 支持,可用于交换二进制数据,比如图片的上传与下载。

Apache Axis2/ C是高效,模块化与可扩展性。其扩展性设计使得它能够支持WS-*栈模块的概念。Apache Axis2/C支持大部分采用C语言实现的WS-*规范。 这使它能够使用C实现Service Oriented Architecture (SOA)架构,以及将遗留系统集成到SOA时非常有用。


  1. Support for one-way messaging (In-Only) and request response messaging (In-Out)
  2. Client APIs: Easy to use service client API and more advanced operation client API
  3. Transports supported: HTTP
    • Inbuilt HTTP server called simple axis server
    • Apache2 httpd module called mod_axis2 for server side
    • IIS module for server side. Supports IIS 5.1, 6 and 7
    • Client transport with ability to enable SSL support
    • Basic HTTP Authentication
    • AMQP Transport based on Apache Qpid (Experimental)

    • libcurl based client transport
    • CGI interface
  4. Module architecture, mechanism to extend the SOAP processing model
  5. WS-Addressing support, both the submission (2004/08) and final (2005/08) versions, implemented as a module
  6. MTOM/XOP support
  7. XPath support for Axiom XML Object model
  8. AXIOM, an XML object model optimized for SOAP 1.1/1.2 messages; This has complete XML infoset support
  9. XML parser abstraction
    • Libxml2 wrapper
    • Guththila pull parser support
  10. Both directory based and archive based deployment models for deploying services and modules
  11. Description hierarchy providing access to static data of Axis2/C runtime (configuration, service groups, services, operations and messages)
  12. Context hierarchy providing access to dynamic Axis2/C runtime information(corresponding contexts to map to each level of description hierarchy)
  13. Message receiver abstraction
    • Inbuilt raw XML message receiver
  14. Code generation tool for stub and skeleton generation for a given WSDL (based on Java tool)
    • Axis Data Binding (ADB) support
  15. Transport proxy support
  16. REST support (more POX like) using both HTTP POST and GET
  17. Comprehensive documentation
    • Axis2/C Manual
  18. WS-Policy implementation called Neethi/C, with WS-SecurityPolicy extension
  19. TCP Transport, for both client and server side