Configurando um cookie usando o WebEngine / WebView do JavaFX

Eu não consigo encontrar qualquer maneira de definir um cookie programaticamente usandoWebEngine / WebView no JavaFX. A API não dá nenhuma idéia de como obter um objeto semelhante ao HttpRequest para modificar os cabeçalhos (que é o que eu uso no aplicativo para XML-RPC) ou qualquer tipo de gerenciador de cookies.

Nenhuma pergunta nesta página parece tocar no assunto - existeisto mas apenas desativa cookies quando no applet para corrigir umerro, meu aplicativo está no desktop btw.

A única maneira que eu imagino que eu posso fazer é solicitando a primeira página (que requer um cookie com um sessionID para carregar corretamente), recebendo uma mensagem de estilo "acesso negado", executando algum javascript no contexto da página que define o cookie e depois refrescante. Esta solução seria uma experiência horrível para o usuário.

Como faço para definir um cookie usando o WebEngine?

Atualizar: Tomando uma pista de uma questão ligada acima, eu tentei cavar em torno de alguns exemplos de usoCookieManager e APIs relacionadas.Eu encontrei este código, que então tentei incorporar ao meu aplicativo, com resultados estranhos;

MyCookieStore cookie_store = new MyCookieStore();
CookieManager cookie_manager = new CookieManager(cookie_store, new MyCookiePolicy());
CookieHandler.setDefault(cookie_manager);
WebView wv = new WebView();

Agora vamos dizer que fazemos isso:

String url = "http://www.google.com/";
wv.getEngine.go(url);

A depuração no Eclipse depois que essa solicitação foi feita mostra que o mapa do armazenamento de cookie contém um cookie:

{http://www.google.com/=[NID=67=XWOQNK5VeRGEIEovNQhKsQZ5-laDaFXkzHci_uEI_UrFFkq_1d6kC-4Xg7SLSB8ZZVDjTUqJC_ot8vaVfX4ZllJ2SHEYaPnXmbq8NZVotgoQ372eU8NCIa_7X7uGl8GS, PREF=ID=6505d5000db18c8c:FF=0:TM=1358526181:LM=1358526181:S=Nzb5yzBzXiKPLk48]}
ISSO É INCRÍVEL

O WebEngine simplesmente usa o mecanismo de cookies registrado subjacente! Mas espere, é mesmo? Vamos tentar adicionar um cookie, antes de fazer o pedido ...

cookie_store.add(new URL(url).toURI(), new HttpCookie("testCookieKey", "testCookieValue"));

Então eu olho para o pedido no Wireshark ...

GET / HTTP/1.1
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/535.14 (KHTML, like Gecko) JavaFX/2.2 Safari/535.14
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Cache-Control: no-cache
Pragma: no-cache
Host: www.google.com
Connection: keep-alive

Nenhum cookie para mim :(

O que estou fazendo de errado?

questionAnswers(2)

yourAnswerToTheQuestion