# SOAP Integration

> Learn how to embed Taxi semantic types in SOAP WSDL definitions

Source: https://taxilang.org/docs/other-api-specs/soap

## Overview

Taxi can enhance SOAP WSDLs with semantic meaning by embedding type references directly in the WSDL definitions. This enables:
- Semantic typing for SOAP services and messages
- Integration with SOAP-based systems
- Type-safe service discovery and invocation

## Adding Taxi to WSDL

### Namespace Declaration

First, declare the Taxi namespace in your WSDL:

```xml
> <definitions xmlns:taxi="http://taxilang.org/" ...>
```

> **Note: Namespace URL**
>
> Note the trailing slash in the namespace URL - `http://taxilang.org/` is required.

### Type References

Add semantic types to WSDL elements using the `taxi:type` attribute:

```xml
   <xs:complexType name="tCurrency">
      <xs:sequence>
         <xs:element name="sISOCode" type="xs:string" 
>           taxi:type="com.orbitalhq.CurrencyIsoCode"/>
         <xs:element name="sName" type="xs:string" 
>           taxi:type="com.orbitalhq.CurrencyName"/>
      </xs:sequence>
   </xs:complexType>
```
