blob: 22c7d5fddd6db88706bc2165fc6ade775c023644 [file] [log] [blame]
Apache Axis2/C Code Generation
=============================
Apache Axis2/C 2.0.0 includes a native C WSDL2C generator that eliminates the Java dependency
and provides faster, more reliable code generation for creating C stubs and skeletons from WSDL files.
Native C Generator
==================
The native C generator is a standalone tool that provides all the functionality previously
available through the Java-based tool, with improved performance and no external dependencies.
Prerequisites
-------------
- libxml2-dev package installed
- pkgconf package installed
Building the Native Generator
----------------------------
From the Axis2/C source directory:
cd tools/codegen/native
mkdir build && cd build
cmake ..
make
This creates the wsdl2c-native executable in the build directory.
Using the Native Generator
-------------------------
The native generator supports comprehensive command-line options:
./wsdl2c-native -uri <WSDL_FILE> [options]
Command Line Options:
-uri <path> WSDL file path or URL (Required)
-o <path> Output directory (Default: current directory)
-ss Generate server side code (skeletons)
-sd Generate service descriptor (services.xml)
-d <databinding> Data binding: adb, none (Default: adb)
-u Unwrap parameters
-g Generate all classes (client and server)
-a Generate async code only
-s Generate sync code only (takes precedence over -a)
-t Generate test cases
-p <package> Custom package name
-l <language> Language (only "c" supported)
-h, --help Show help
-v, --version Show version
Examples
--------
Generate a service skeleton in C:
./wsdl2c-native -uri interoptestdoclitparameters.wsdl -ss -sd -d adb -u
Generate a client stub in C:
./wsdl2c-native -uri interoptestdoclitparameters.wsdl -d adb -u
Generate with XML in/out model (no data binding):
./wsdl2c-native -uri interoptestdoclitparameters.wsdl -d none
Migration from Java Tools
=========================
Previous versions of Axis2/C relied on Java-based WSDL2C tools. The native generator
provides the same functionality with these advantages:
- No Java runtime dependency
- Faster code generation
- Better error handling
- Consistent with Axis2/C philosophy
- Easier to maintain and debug
Simply replace any previous Java-based WSDL2C commands with the native generator.
Generated Code Compatibility
============================
The native generator produces code that is fully compatible with existing Axis2/C applications.
Generated stubs and skeletons maintain the same API and behavior as the previous Java-based tools.