Implementando Spring Security con Java Client

Lado del cliente

Tengo una aplicación java que se conecta a un servidor remoto usando métodos POST o GET básicos:

URL url = new URL(urlStr);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("POST");
conn.setDoOutput(true);
conn.setDoInput(true);
conn.setAllowUserInteraction(false);
conn.setRequestProperty("Content-type", "text/xml; charset=" + ENCODING);

conn.connect();
conn.getOutputStream().write(data.getBytes(ENCODING));
conn.getOutputStream().close();

(No puedo cambiar este código, lo único que puedo cambiar es laurlStr y eldata enviado al servidor al llamar al método).

[EDITAR] : El cliente puede ser un cliente java o cualquier otro cliente (c ++, object-c, ..). El punto aquí es que solo puedo acceder a lo que está en el cuerpo de mi publicación, así como a la URL.

Lado del servidor

En el lado de mi servidor, me gustaría implementar Spring Security (SecurityContext y la persistencia de sesión).

Entiendo que Spring Security se basa en las cookies del navegador cuando es unaWebApp para mantener la información sobre elsession id. Pero en mi caso no hay navegador.

¿Necesito simular el almacenamiento de laJSESSIONID y enviarlo de vuelta al servidor? No estoy seguro de que esto sea posible ya que necesitaría llamarconn.addRequestProperty(key, value) Lo que no es posible.

¿Hay alguna otra manera?

Gracias.

[EDITAR]

Como lo señaló @zagyi, puedo usar la URL para pasar el token de sesión a Spring, pero todavía no puedo entender cómo.

Respuestas a la pregunta(2)

Su respuesta a la pregunta