Exception "déjà connecté" essayant de faire une requête POST en utilisant l'API Jersey Client
Je suis la création de tests d'intégration pour un JAX-RS/Maillot Webservice déployé sur Tomcat 8 à l'aide d'arquillian.
Je suis en train de faire une requête POST comme ça:
E dummy = dummyFactory.manufacturePojo(getSubClassType());
dummy.setId(null);
Client client = ClientBuilder.newClient();
WebTarget target = client.target(BASE_URI).path("bandeira");
Response response = target.request(MediaType.APPLICATION_JSON)
.header(HttpHeaders.AUTHORIZATION, CHAVE_TESTE)
.header(HttpHeaders.CONTENT_TYPE, "application/json")
.post(Entity.entity(dummy, MediaType.APPLICATION_JSON));
Lorsque je fais cela, je reçois cette exception:
Caused by: java.lang.IllegalStateException: Already connected
at sun.net.www.protocol.http.HttpURLConnection.setRequestProperty(HttpURLConnection.java:3000)
at org.glassfish.jersey.client.HttpUrlConnector.setOutboundHeaders(HttpUrlConnector.java:364)
at org.glassfish.jersey.client.HttpUrlConnector.access$100(HttpUrlConnector.java:91)
at org.glassfish.jersey.client.HttpUrlConnector$4.getOutputStream(HttpUrlConnector.java:327)
at org.glassfish.jersey.message.internal.CommittingOutputStream.commitStream(CommittingOutputStream.java:201)
at org.glassfish.jersey.message.internal.CommittingOutputStream.commitStream(CommittingOutputStream.java:195)
at org.glassfish.jersey.message.internal.CommittingOutputStream.commit(CommittingOutputStream.java:263)
at org.glassfish.jersey.message.internal.OutboundMessageContext.commitStream(OutboundMessageContext.java:816)
at org.glassfish.jersey.client.ClientRequest.writeEntity(ClientRequest.java:546)
at org.glassfish.jersey.client.HttpUrlConnector._apply(HttpUrlConnector.java:331)
at org.glassfish.jersey.client.HttpUrlConnector.apply(HttpUrlConnector.java:243)
at org.glassfish.jersey.client.ClientRuntime.invoke(ClientRuntime.java:246)
... 149 more
Je pourrais utiliser de l'heuristique depuis je suis toujours en apprentissage arquillian et Jersey client API 🙂
Merci
source d'informationauteur Marcos J.C Kichel
Vous devez vous connecter pour publier un commentaire.
Il se peut que
java.lang.IllegalStateException: Already connected
masque seulement lesSSLHandshakeException
. Veuillez prendre un coup d'oeil à la question #3000 (précédemment connu en tant que JERSEY-2728 bug).Ce pourrait être due à un problème de connexion réseau.
J'ai rencontré ce problème depuis mon VPN connexion perdue.
Des Exceptions avec "
Already connected
", a rapporté au cours de jackson sérialisation le corps du mail.(J'ai importé le code source de Jersey et jackson-jaxrs-de base pour le débogage).Après j'ai enlevé le corps du mail, puis de nouveau à l'Exception d'erreur, "
Unknown hostname
", est sorti.Après je me connecter à mon VPN, tout fonctionne bien.
Je suis très malheureux sur le Maillot client exception
"Already connected
" qui m'a donné, mais rien de confusion.Probablement le problème est dans la négociation SSL. Essayez d'ajouter "trustall" initialisation du Client de la logique.
Vous peuvent être propriété d'en-tête http de la connexion après l'appel de connexion.connect();