---
title: Contract
summary: The WSDL-declared operations, message types, faults, and binding of the called service.
status: draft
owner: SAIF.Core documentation
last_reviewed: 2026-09-24
---

# Contract

This page documents the contract of `clsCAServices` as the WSDL declares it. It is the page a reader uses to answer "what can this service be asked to do, and in what shape".

| Field | Value |
| --- | --- |
| **Service** | `clsCAServices` |
| **WSDL document** | `Services/SAIF.Services/Web References/CleanAddressSvc/clsCAServices.wsdl` |
| **SOAP namespace** | `http://tempuri.org/` |
| **Port type / binding name** | `clsCAServicesSoap` |
| **Binding** | SOAP 1.1 over HTTP (the proxy uses `clsCAServicesSoap`; the WSDL also declares SOAP 1.2 as `clsCAServicesSoap12`) |
| **Encoding style** | `Document` / `Literal`, wrapped |
| **Parameter style** | `Wrapped` |
| **Operations declared** | 5 |

## Declared operations

| Operation | SOAP action | Input message | Output message | Faults | Called in this repository |
| --- | --- | --- | --- | --- | --- |
| `HelloWorld` | `http://tempuri.org/HelloWorld` | None | `string HelloWorldResult` | None declared | No |
| `CleanAddress` | `http://tempuri.org/CleanAddress` | `string inLine1`, `inLine2`, `inCity`, `inState`, `inZip`, `inZip4`; `boolean inMixedCase`; 25 `ref out*` fields (strings, plus `int outUSPSReturnCode`) | Echoes the 25 `out*` fields as `ref` results | None declared | Yes — [details](reference.md#cleanaddress) |
| `ConvertToProperCase` | `http://tempuri.org/ConvertToProperCase` | `string inString` | `string ConvertToProperCaseResult` | None declared | Yes — [details](reference.md#converttopropercase) |
| `FindCityStateInfoByZip` | `http://tempuri.org/FindCityStateInfoByZip` | `string inZIP`; `ref int outCount`; `ref string outString` | `int outCount`, `string outString` | None declared | Yes — [details](reference.md#findcitystateinfobyzip) |
| `RunCleanAddressBatch` | `http://tempuri.org/RunCleanAddressBatch` | `string inPath`; `ref int outReturnCode` | `int outReturnCode` | None declared | Yes — [details](reference.md#runcleanaddressbatch) |

`CleanAddress`, `FindCityStateInfoByZip`, and `RunCleanAddressBatch` model VB `ByRef` parameters: the output fields also appear on the request element, and the C# proxy exposes them as `ref` parameters.

## Message types

This service exchanges only primitive-typed message parts (`string`, `int`, `boolean`) — there are no complex types to document.

## Faults

The WSDL declares no faults. A failure reaches this repository as a generic `SoapException` (server fault) or `WebException` (transport failure) surfaced by the proxy*; see [Consumption](consumption.md) for how the call sites handle it.

## Binding details

| Aspect | Value |
| --- | --- |
| Transport | HTTP |
| Message version | SOAP 1.1 |
| Security mode | None declared in the WSDL — see [Architecture](architecture.md) for the credential mode actually applied at the call site |
| Declared message size limits | None declared in the WSDL |

## Contract drift risk

| Aspect | Finding |
| --- | --- |
| WSDL captured at | Not determined from source |
| Live service documented by this run | No |
| Verification possible | Not from this repository — the remote `clsCAServices` service is outside this run's scope |
| Consequence of drift | If the vendor engine changes `CleanAddress`'s 25-field output shape, every adapter that reads a fixed field position (for example the PostNet barcode logic in [`CleanAddress`](reference.md#cleanaddress)) could silently misread the response |

## Related documentation
- [Client index](index.md)
- [Overview](overview.md)
- [Architecture](architecture.md)
- [Operation map](operation-map.md)
- [Client reference](reference.md)
- [Consumption](consumption.md)
- [Dependencies](dependencies.md)
- [Business rules](business-rules.md)
- [Tech debt](tech-debt.md)

> **Note:** Statements marked with `*` were inferred from code structure, naming
> conventions, or contextual evidence where direct confirmation was not available
> in source artifacts.

## Sources
- `Services/SAIF.Services/Web References/CleanAddressSvc/clsCAServices.wsdl`
