Bonjour,
je suis bloqué dans cette analyse, quelqu'un a peut être vu un cas similaire: j'ai une batterie de web services deployés qui ne sont pas toujours accessibles. Environnement Tomcat 1.6.0.35, Framework Struts.
99% des appels de service fonctionnent. Parfois on recoit cette erreur:
Le WSDL est bien entendu toujours accessible, mais apparement pas toujours vu cette erreur.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32 [ERROR] 12 Dez 10:53:50.570 AM ActiveMQ Session Task-1 [ItemMasterData] - writeItem - Resource access error (WSDL) - <Failed to access the WSDL at: http://localhost:xxx/yyy/zzPort?wsdl. It failed with: Got Connection refused: connect while opening stream from http://localhost:xxx/yyy/zzPort?wsdl.> Cause <Got Connection refused: connect while opening stream from ... Caused by: javax.xml.ws.WebServiceException: Failed to access the WSDL at: http://... It failed with: Got Connection refused: connect while opening stream from http://... ... 19 more Caused by: java.io.IOException: Got Connection refused: connect while opening stream from http://...?wsdl at com.sun.xml.ws.wsdl.parser.RuntimeWSDLParser.createReader(RuntimeWSDLParser.java:857) at com.sun.xml.ws.wsdl.parser.RuntimeWSDLParser.resolveWSDL(RuntimeWSDLParser.java:298) at com.sun.xml.ws.wsdl.parser.RuntimeWSDLParser.parse(RuntimeWSDLParser.java:155) ... 27 more Caused by: java.net.ConnectException: Connection refused: connect at java.net.PlainSocketImpl.socketConnect(Native Method) at java.net.PlainSocketImpl.doConnect(Unknown Source) at java.net.PlainSocketImpl.connectToAddress(Unknown Source) at java.net.PlainSocketImpl.connect(Unknown Source) at java.net.SocksSocketImpl.connect(Unknown Source) at java.net.Socket.connect(Unknown Source) at java.net.Socket.connect(Unknown Source) at sun.net.NetworkClient.doConnect(Unknown Source) at sun.net.www.http.HttpClient.openServer(Unknown Source) at sun.net.www.http.HttpClient.openServer(Unknown Source) at sun.net.www.http.HttpClient.<init>(Unknown Source) at sun.net.www.http.HttpClient.New(Unknown Source) at sun.net.www.http.HttpClient.New(Unknown Source) at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(Unknown Source) at sun.net.www.protocol.http.HttpURLConnection.plainConnect(Unknown Source) at sun.net.www.protocol.http.HttpURLConnection.connect(Unknown Source) at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source) at java.net.URL.openStream(Unknown Source) at com.sun.xml.ws.wsdl.parser.RuntimeWSDLParser.createReader(RuntimeWSDLParser.java:842) ... 29 more
Le profiling de l'application ne montre aucun problème mémoire, l'application utilise 128Mb sur 512Mb configurés dans le Xmx, elle est la seule à tourner sur ce serveur de test qui a 8 Gb de RAM de libre -> donc pas de problème mémoire possible ici.
Les services sont déployés dans le conteneur web, ces services ne sont pas déployés par des EJB.
Comme l'erreur est rare mais persistente -> sur 30 000 appels de services on a régulièrement une dizaine de cas, je cale.
Dernière précision, ces web service ne sont pas en https. Le WSDL contient le header suivant:
=> Si quelqu'un a une idée, elle sera bienvenue!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 <definitions xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:wsp="http://www.w3.org/ns/ws-policy" xmlns:wsp1_2="http://schemas.xmlsoap.org/ws/2004/09/policy" xmlns:wsam="http://www.w3.org/2007/05/addressing/metadata" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://ws..../" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://schemas.xmlsoap.org/wsdl/" targetNamespace="http://ws.....com/" name="MyService">
Merci
Partager