SOAP Compat +
Premium SOAP webservices compatibility module for high-performance parsing and generation of delimited datasets in BoxLang+ applications.
This component is only available to Boxlang+/++ subscribers only but can be installed in conjunction with the bx-plus Module with a limited trial.
The bx-compat-soap module provides comprehensive SOAP (Simple Object Access Protocol) web services functionality for BoxLang applications. It provides Compatibility for existing CFML Axis-based web services functionality. This module enables you to create and manage SOAP-based web services with automatic WSDL generation, request/response handling, and full support for complex data types.
Features
🌐 Automatic WSDL Generation - Generate standards-compliant WSDL documents from BoxLang classes
🔄 SOAP Request/Response Handling - Parse and process SOAP envelopes with namespace support
🎯 Type Coercion - Automatic type conversion between SOAP XML types and BoxLang types
📋 Metadata Extraction - Extract function metadata for WSDL operation definitions
🚀 Web Context Support - Full integration with BoxLang web request/response cycle
⚡ SOAPAction Routing - Automatic routing based on SOAPAction headers or XML body
Installation
Install the module using CommandBox:
box install bx-compat-soapUsage
Creating a SOAP Web Service
To create a SOAP web service, simply create a BoxLang class with remote methods:
Accessing the WSDL
The WSDL is automatically generated and accessible via the ?wsdl parameter:
SOAP XML Request Format
Send SOAP requests to your service endpoint using standard SOAP envelope format:
SOAP Response Format
The service returns standard SOAP responses:
Error Handling (SOAP Faults)
Errors are returned as standard SOAP faults:
Consuming SOAP Web Services
Using createObject()
The easiest way to consume a SOAP web service is using BoxLang's createObject() function:
Advanced SOAP Client Usage
For more control over the SOAP request, you can configure the web service instance:
Handling SOAP Faults
SOAP faults are automatically converted to BoxLang exceptions:
Supported Data Types
Simple Types
string→xsd:stringnumeric→xsd:doubleboolean→xsd:booleandate→xsd:dateTime
Complex Types
binary→xsd:base64Binarystruct→apachesoap:maporxsd:complexTypearray→ Array type with sequential itemsany→xsd:anyType
Last updated
Was this helpful?
