Unha carga reintentada tras un desafío do proxy volve necesitar o seu corpo. Para o conector Apache de Jersey 2, seleccione o procesamento de entidade almacenada en búfer na configuración coa que se constrúe ese cliente:

ClientConfig config = new ClientConfig();
config.connectorProvider(new ApacheConnectorProvider());
config.property(ClientProperties.PROXY_URI,
                "http://proxy.example.net:8080");
config.property(ClientProperties.REQUEST_ENTITY_PROCESSING,
                RequestEntityProcessing.BUFFERED);

Realice a carga co cliente resultante. Estes tipos proveñen dos paquetes Jersey client e Apache-connector; establecer unha configuración non utilizada non afectaría a solicitude.

O conector envolve unha entidade almacenada en búfer en BufferedHttpEntity de Apache. A súa entidade de streaming sen búfer non é repetible. O almacenamento en búfer dálle ao fluxo de autenticación bytes que pode reenviar no canto de reler un produtor xa consumido.

Non garante que a autenticación remate tras un 407. Algúns esquemas requiren lexitimamente varias intercambios, así que revise toda a negociación antes de tratar outro desafío como estado perdido.

Manteña o tamaño do corpo dentro do orzamento de memoria. Unha carga de streaming grande necesita unha estratexia de repetición axeitada a esa carga de traballo; activar o búfer para cada solicitude pode cambiar un fallo de negociación por esgotamento de memoria.

Artigos relacionados