Cliente SOAP CXF com NTLM para SharePoint

Estou escrevendo um cliente SOAP usando o CXF Framework (versão: 2.7.8) para o SharePoint 2007. Segui a documentação online para adicionar suporte ao NTLMaqui. Eu tenho o cliente trabalhando e o rastreamento da sessão HTTP mostra que as credenciais NTLM estão sendo enviadas; no entanto, ainda estou recebendo uma resposta 401 Não autorizada.

Código:

Lists listService = new Lists();
ListsSoap port = listService.getListsSoap();

BindingProvider bp = (BindingProvider) port;
bp.getRequestContext().put("use.async.http.conduit", Boolean.TRUE);
Credentials creds = new NTCredentials(USER, PASS, "", DOMAIN);
bp.getRequestContext().put(Credentials.class.getName(), creds);

Client client = ClientProxy.getClient(proxy);
HTTPConduit http = (HTTPConduit) client.getConduit();
HTTPClientPolicy httpClientPolicy = new HTTPClientPolicy();
httpClientPolicy.setConnectionTimeout(36000);
httpClientPolicy.setAllowChunking(false);
httpClientPolicy.setAutoRedirect(true);
http.setClient(httpClientPolicy);

// Build request and execute

Curiosamente, escrevi um cliente semelhante usando HTTP PUT para WebDAV para fazer upload de documentos usando a biblioteca Apache HTTPClient e consegui autenticar com sucesso usando NTLM. Além disso, pude usar o SOAPUI para chamar o mesmo serviço da Web Listas para o qual estou tentando criar o cliente Java e ele foi autenticado com êxito usando NTLM também.

Estou assumindo que a implementação do NTLM é diferente entre CXF e HTTPClient. Alguma opinião sobre o que há de errado com minha implementação do CXF? Ou como posso espelhar a implementação HTTPClient?

questionAnswers(3)

yourAnswerToTheQuestion