アプリケーションが外部 WebSockets サービスに接続する必要がある場合、クライアント設定要素を指定します。
<websocket:config name="wsClient">
<websocket:connection>
<websocket:client-settings
host="localhost"
port="80"
basePath="/ws" />
</websocket:connection>
</websocket:config>
<flow="connectToWebSocketFlow">
<websocket:open-outbound-socket
path="/chat"
socketId="myCustomWebSocketID-123"
config-ref="wsClient" />
</websocket:open-outbound-socket>
<logger info="INFO" message="Opened connection to external service!"/>
</flow>
この例では、config-ref 属性の WebSockets クライアント設定 (wsClient) を参照するアウトバウンドソケットを初期化しています。この場合、HTTP 設定を参照する必要はありません。
上記の設定では、WS 要求 URI を構築するために host、port、basePath が指定されています。host パラメーターは省略可能です。設定しない場合は、localhost に設定されます。
port パラメーターは省略可能です。指定しない場合は、プロトコルスキームに従ってデフォルト値が設定されます。WS が使用される場合、デフォルト値は 80 に設定されます。WSS が使用される場合、デフォルト値は 443 に設定されます。
basePath パラメーターは省略可能です。URI が設定されていない場合は、指定したホストおよびポートに相対的なすべてのクライアント要求のベースパスを示します。basePath パラメーターが設定されていない場合、デフォルト値は / に設定されます。
<websocket:config name="wsClient">
<websocket:connection>
<websocket:client-settings uri="ws://www.mulesoft.com" />
</websocket:connection>
</websocket:config>
ただし、その場合、URL パラメーターと path パラメーターは相互に排他的であるため、パスを指定することはできません。これは、パスがホスト、ポート、ベースパスに相対的なパスを示すのに対して、URL はフルリソースロケーターを示すためです。