3.3.2.4.1.2 Find an Association and a Connection

When a binding handle is fully bound, the client MUST find or create an association for this call. If an association cannot be found, the client MUST attempt to create a new one, as specified in [C706] section 9.3. If the client has an existing association to the same server, identified by comparing the server name, endpoint, and protocol in the Binding handle element of the association (section 3.3.1.1.1), then the client SHOULD reuse that association, provided that the constraints as specified in section 3.3.1.4.1 are kept. Within an existing association, a client can choose to use an existing connection or create a new connection. A client is free to use any connection that meets the requirements specified in this document. For any two causally ordered calls N and N+1, a client MUST choose the same connection for N+1 that it chose for N. The client MUST not select a connection with the Discard flag set.

If the client creates a new connection in an existing association, the new connection is added to the association's List of Connections. If a new association and connection are created, the new connection is used to initialize the association's List of Connections.

When a connection is found or created, the Client Call connection property is set to the connection.