---
title: Client reference
summary: Complete reference for every contract operation this repository calls.
status: draft
owner: SAIF.Core documentation
last_reviewed: 2026-09-24
---

# Client reference

This page documents every operation `ConnectInfo` declares. `GetODPConnectString` and `GetSQLConnectString` are called from repository source through `ConnectInfoSoapClient`; `GetOracleConnectString`, `GetDB2ConnectString`, `ClearCache`, and `GetCache` are declared by the WSDL but have no call site in repository source.

---

## GetODPConnectString

Resolves an Oracle connection string, including embedded credentials, for the pool code and database instance supplied by the caller.

| Field | Value |
| --- | --- |
| **Operation** | `GetODPConnectString` |
| **SOAP action** | `http://saifonline/WebServices/wsDBConnections/GetODPConnectString` |
| **Proxy member** | `string GetODPConnectString(ConnectRequestInfo inConnectRequestInfo)` |
| **Input message** | `ConnectRequestInfo` |
| **Output message** | `string` |
| **Declared faults** | None declared |
| **Called by** | `DbConnectionServiceProxy.GetOracleConnectionString(string instance, string userName)` (`Services/SAIF.Services.Web.Proxies/Legacy/DbConnectionsServiceProxy.cs:31`) |
| **Source** | `Services/SAIF.Services.Web.Proxies/Legacy/DbConnectionsServiceProxy.cs:25-31` |

### Input message

| Part | Type | Required | Bound from | Purpose |
| --- | --- | --- | --- | --- |
| `Code` | `string` | Not stated in the WSDL | `userName` parameter | A SAIF pool code, not a schema — see [BR-DBC-001](business-rules.md#br-dbc-001-pool-code-is-not-a-schema) |
| `Database` | `string` | Not stated in the WSDL | `instance` parameter | The database instance name |
| `OSUserid` | `string` | Not stated in the WSDL | `Environment.UserName` | The Windows identity of the calling process |
| `Server` | `string` | Not stated in the WSDL | Not set (left default) | Not applicable to this operation |

### Output message

The generated `string` result is a raw connection string. The wrapper replaces every occurrence of the literal `"ZSPECIALCHAR"` in the result with the ASCII BEL character `(char)7` before returning it — see [BR-DBC-002](business-rules.md#br-dbc-002-zspecialchar-token-decoding).

| Part | Type | Consumed by the caller | Notes |
| --- | --- | --- | --- |
| `<return>` | `string` | Yes | A `null` result would throw `NullReferenceException` at the `.Replace` call* |

### Faults

| Fault | Surfaces as | Handled at the call site |
| --- | --- | --- |
| Generic SOAP fault | `FaultException` / `CommunicationException`* | Not handled — the exception propagates |

### Call site

```csharp
webService.GetODPConnectString(new ConnectRequestInfo
{
    Code = userName,
    Database = instance,
    OSUserid = Environment.UserName
});
```

| Aspect | Finding |
| --- | --- |
| Invocation frequency | Per call — as evidenced by the synchronous, no-cache call shape |
| Result cached | No |
| Timeout at this call site | None — binding defaults apply |
| Retry at this call site | None |

### Notes
- The authored method name is `GetOracleConnectionString`, but it invokes `GetODPConnectString`, not `GetOracleConnectString` — the Writer must not conflate the two operations.

---

## GetSQLConnectString

Resolves a SQL Server connection string, including embedded credentials, for the server, pool code, and database instance supplied by the caller.

| Field | Value |
| --- | --- |
| **Operation** | `GetSQLConnectString` |
| **SOAP action** | `http://saifonline/WebServices/wsDBConnections/GetSQLConnectString` |
| **Proxy member** | `string GetSQLConnectString(ConnectRequestInfo inConnectRequestInfo)` |
| **Input message** | `ConnectRequestInfo` |
| **Output message** | `string` |
| **Declared faults** | None declared |
| **Called by** | `DbConnectionServiceProxy.GetSqlServerConnectionString(string server, string instance, string userName)` (`Services/SAIF.Services.Web.Proxies/Legacy/DbConnectionsServiceProxy.cs:45`) |
| **Source** | `Services/SAIF.Services.Web.Proxies/Legacy/DbConnectionsServiceProxy.cs:38-45` |

### Input message

| Part | Type | Required | Bound from | Purpose |
| --- | --- | --- | --- | --- |
| `Code` | `string` | Not stated in the WSDL | `userName` parameter | A SAIF pool code, not a schema — see [BR-DBC-001](business-rules.md#br-dbc-001-pool-code-is-not-a-schema) |
| `Database` | `string` | Not stated in the WSDL | `instance` parameter | The database instance name |
| `Server` | `string` | Not stated in the WSDL | `server` parameter | The SQL Server host name |
| `OSUserid` | `string` | Not stated in the WSDL | `Environment.UserName` | The Windows identity of the calling process |

### Output message

| Part | Type | Consumed by the caller | Notes |
| --- | --- | --- | --- |
| `<return>` | `string` | Yes | Returned unchanged — no `ZSPECIALCHAR` decoding is applied here |

### Faults

| Fault | Surfaces as | Handled at the call site |
| --- | --- | --- |
| Generic SOAP fault | `FaultException` / `CommunicationException`* | Not handled — the exception propagates |

### Call site

```csharp
webService.GetSQLConnectString(new ConnectRequestInfo
{
    Code = userName,
    Database = instance,
    Server = server,
    OSUserid = Environment.UserName
});
```

| Aspect | Finding |
| --- | --- |
| Invocation frequency | Per call |
| Result cached | No |
| Timeout at this call site | None — binding defaults apply |
| Retry at this call site | None |

### Notes
- Unlike `GetODPConnectString`, the returned string is not post-processed by the wrapper.

---

## GetOracleConnectString

Declared by the WSDL to resolve an Oracle connection string for the pool code and database instance supplied by the caller; no repository source line invokes it.

| Field | Value |
| --- | --- |
| **Operation** | `GetOracleConnectString` |
| **SOAP action** | `http://saifonline/WebServices/wsDBConnections/GetOracleConnectString` |
| **Proxy member** | `string GetOracleConnectString(ConnectRequestInfo inConnectRequestInfo)` |
| **Input message** | `ConnectRequestInfo` |
| **Output message** | `string` |
| **Declared faults** | None declared |
| **Called by** | No call site found in repository source |
| **Source** | `Services/SAIF.Services.Web.Proxies/Service References/DbConnection/connectinfo.wsdl` |

### Input message

| Part | Type | Required | Bound from | Purpose |
| --- | --- | --- | --- | --- |
| `Code` | `string` | Not stated in the WSDL | Not applicable — no call site | A SAIF pool code, not a schema |
| `Database` | `string` | Not stated in the WSDL | Not applicable — no call site | The database instance name |
| `OSUserid` | `string` | Not stated in the WSDL | Not applicable — no call site | The Windows identity of the calling process |
| `Server` | `string` | Not stated in the WSDL | Not applicable — no call site | Not applicable to this operation |

### Output message

| Part | Type | Consumed by the caller | Notes |
| --- | --- | --- | --- |
| `<return>` | `string` | Not applicable | No repository code reads this value |

### Faults

| Fault | Surfaces as | Handled at the call site |
| --- | --- | --- |
| Generic SOAP fault | Not applicable | Not applicable — this operation has no call site in repository source |

### Call site

No call site found in repository source.

### Notes
- This operation shares its input message shape with `GetODPConnectString`, but repository code invokes `GetODPConnectString`, not this operation, despite the similarity of the two names.

---

## GetDB2ConnectString

Declared by the WSDL to resolve a DB2 connection string for the pool code and database instance supplied by the caller; no repository source line invokes it.

| Field | Value |
| --- | --- |
| **Operation** | `GetDB2ConnectString` |
| **SOAP action** | `http://saifonline/WebServices/wsDBConnections/GetDB2ConnectString` |
| **Proxy member** | `string GetDB2ConnectString(ConnectRequestInfo inConnectRequestInfo)` |
| **Input message** | `ConnectRequestInfo` |
| **Output message** | `string` |
| **Declared faults** | None declared |
| **Called by** | No call site found in repository source |
| **Source** | `Services/SAIF.Services.Web.Proxies/Service References/DbConnection/connectinfo.wsdl` |

### Input message

| Part | Type | Required | Bound from | Purpose |
| --- | --- | --- | --- | --- |
| `Code` | `string` | Not stated in the WSDL | Not applicable — no call site | A SAIF pool code, not a schema |
| `Database` | `string` | Not stated in the WSDL | Not applicable — no call site | The database instance name |
| `OSUserid` | `string` | Not stated in the WSDL | Not applicable — no call site | The Windows identity of the calling process |
| `Server` | `string` | Not stated in the WSDL | Not applicable — no call site | Not applicable to this operation |

### Output message

| Part | Type | Consumed by the caller | Notes |
| --- | --- | --- | --- |
| `<return>` | `string` | Not applicable | No repository code reads this value |

### Faults

| Fault | Surfaces as | Handled at the call site |
| --- | --- | --- |
| Generic SOAP fault | Not applicable | Not applicable — this operation has no call site in repository source |

### Call site

No call site found in repository source.

### Notes
- No repository code constructs a `DbConnectionServiceProxy` method for DB2; the generated proxy exposes this operation, but nothing invokes it.

---

## ClearCache

Declared by the WSDL as a parameterless operation, presumably to clear a server-side connection-string cache; no repository source line invokes it.

| Field | Value |
| --- | --- |
| **Operation** | `ClearCache` |
| **SOAP action** | `http://saifonline/WebServices/wsDBConnections/ClearCache` |
| **Proxy member** | `void ClearCache()` |
| **Input message** | None |
| **Output message** | None — one-way |
| **Declared faults** | None declared |
| **Called by** | No call site found in repository source |
| **Source** | `Services/SAIF.Services.Web.Proxies/Service References/DbConnection/connectinfo.wsdl` |

### Input message

This operation declares no input message.

### Output message

This operation declares no output message.

### Faults

| Fault | Surfaces as | Handled at the call site |
| --- | --- | --- |
| Generic SOAP fault | Not applicable | Not applicable — this operation has no call site in repository source |

### Call site

No call site found in repository source.

### Notes
- The operation's purpose can only be inferred from its name; no repository source or WSDL documentation states what cache it clears*.

---

## GetCache

Declared by the WSDL to return a value from a server-side cache identified by `inCacheType`; no repository source line invokes it.

| Field | Value |
| --- | --- |
| **Operation** | `GetCache` |
| **SOAP action** | `http://saifonline/WebServices/wsDBConnections/GetCache` |
| **Proxy member** | `string GetCache(string inCacheType)` |
| **Input message** | `string inCacheType` |
| **Output message** | `string` |
| **Declared faults** | None declared |
| **Called by** | No call site found in repository source |
| **Source** | `Services/SAIF.Services.Web.Proxies/Service References/DbConnection/connectinfo.wsdl` |

### Input message

| Part | Type | Required | Bound from | Purpose |
| --- | --- | --- | --- | --- |
| `inCacheType` | `string` | Not stated in the WSDL | Not applicable — no call site | Identifies which cache entry to return* |

### Output message

| Part | Type | Consumed by the caller | Notes |
| --- | --- | --- | --- |
| `<return>` | `string` | Not applicable | No repository code reads this value |

### Faults

| Fault | Surfaces as | Handled at the call site |
| --- | --- | --- |
| Generic SOAP fault | Not applicable | Not applicable — this operation has no call site in repository source |

### Call site

No call site found in repository source.

### Notes
- The operation's purpose can only be inferred from its name and its counterpart `ClearCache`; no repository source or WSDL documentation states its exact semantics*.

---

## Coverage checklist

| Operation | Documented section | Called by |
| --- | --- | --- |
| `GetOracleConnectString` | [`GetOracleConnectString`](#getoracleconnectstring) | No call site found in repository source |
| `GetODPConnectString` | [`GetODPConnectString`](#getodpconnectstring) | `DbConnectionServiceProxy.GetOracleConnectionString` |
| `GetDB2ConnectString` | [`GetDB2ConnectString`](#getdb2connectstring) | No call site found in repository source |
| `GetSQLConnectString` | [`GetSQLConnectString`](#getsqlconnectstring) | `DbConnectionServiceProxy.GetSqlServerConnectionString` |
| `ClearCache` | [`ClearCache`](#clearcache) | No call site found in repository source |
| `GetCache` | [`GetCache`](#getcache) | No call site found in repository source |

## Related documentation
- [Client index](index.md)
- [Overview](overview.md)
- [Architecture](architecture.md)
- [Contract](contract.md)
- [Operation map](operation-map.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 or contextual
> evidence. Statements marked with `**` could not be confirmed; treat as unknown until
> verified.

## Sources
- `Services/SAIF.Services.Web.Proxies/Legacy/DbConnectionsServiceProxy.cs`
- `Services/SAIF.Services.Web.Proxies/Service References/DbConnection/connectinfo.wsdl`
