JAX WS com.soleil.xml.interne.ws.client.ClientTransportException: HTTP transports erreur: java.net.ConnectException: Connexion refusée
Je suis nouveau sur JAX-WS. Je suis en train d'essayer d'accéder à un service web sur un ordinateur distant au sein de l'entreprise.
J'ai utilisé l'outil wsimport pour générer des classes JAVA à partir du WSDL ressource qui est présent sur notre intranet. Java fichiers ont été créés.
J'ai essayé d'envoyer une demande par le biais de SOAPUI, je reçois une réponse valide. Mais lorsque j'essaie d'exécuter mon code il jette Connexion refusée.
Voici mon code.
URL url = new URL("https://xmattersqa.com/api/services/xmatters-4.1.7?wsdl");
QName qname = new QName("http://www.xmatters.com/webservices/schema#4.1.7", "xmatters- 4.1.7");
FindWhoIsOnDuty f = new FindWhoIsOnDuty();
Xmatters417 cdoubleprime = new Xmatters417(url,qname);
Xmatters417PortType port = cdoubleprime.getXmatters417SOAP11PortHttp();
FindWhoIsOnDutyReturn fresponse = port.findWhoIsOnDuty("fmsopsqa","fmsopsqa", "", "", "", "Default Company", "Test Grp 1","23/02/2013 0:00:00 AM", "24/02/2013 0:00:00 AM", false);
Plus tard, j'ai essayé d'ajouter ce bout de code , et il ne marche pas encore.
Authenticator.setDefault(new ProxyAuthenticator("fmsopsqa","fmsopsqa"));
System.setProperty("http.proxHost","sprdxmaws401.corp.net");
System.setProperty("http.proxyPort", "8081");
C'est ce que je reçois
com.sun.xml.internal.ws.client.ClientTransportException: HTTP transport error: java.net.ConnectException: Connection refused
at com.sun.xml.internal.ws.transport.http.client.HttpClientTransport.getOutput(HttpClientTransport.java:121)
at com.sun.xml.internal.ws.transport.http.client.HttpTransportPipe.process(HttpTransportPipe.java:142)
at com.sun.xml.internal.ws.transport.http.client.HttpTransportPipe.processRequest(HttpTransportPipe.java:83)
at com.sun.xml.internal.ws.transport.DeferredTransportPipe.processRequest(DeferredTransportPipe.java:105)
at com.sun.xml.internal.ws.api.pipe.Fiber.__doRun(Fiber.java:587)
at com.sun.xml.internal.ws.api.pipe.Fiber._doRun(Fiber.java:546)
at com.sun.xml.internal.ws.api.pipe.Fiber.doRun(Fiber.java:531)
at com.sun.xml.internal.ws.api.pipe.Fiber.runSync(Fiber.java:428)
at com.sun.xml.internal.ws.client.Stub.process(Stub.java:211)
at com.sun.xml.internal.ws.client.sei.SEIStub.doProcess(SEIStub.java:124)
at com.sun.xml.internal.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:98)
at com.sun.xml.internal.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:78)
at com.sun.xml.internal.ws.client.sei.SEIStub.invoke(SEIStub.java:107)
at $Proxy32.findWhoIsOnDuty(Unknown Source)
at FindDuty.main(FindDuty.java:76)
Caused by: java.net.ConnectException: Connection refused
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:351)
at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:213)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:200)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:432)
at java.net.Socket.connect(Socket.java:529)
at java.net.Socket.connect(Socket.java:478)
at sun.net.NetworkClient.doConnect(NetworkClient.java:163)
at sun.net.www.http.HttpClient.openServer(HttpClient.java:388)
at sun.net.www.http.HttpClient.openServer(HttpClient.java:523)
at sun.net.www.http.HttpClient.<init>(HttpClient.java:227)
at sun.net.www.http.HttpClient.New(HttpClient.java:300)
at sun.net.www.http.HttpClient.New(HttpClient.java:317)
at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:970)
at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:949)
at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:836)
at sun.net.www.protocol.http.HttpURLConnection.getOutputStream(HttpURLConnection.java:1014)
at com.sun.xml.internal.ws.transport.http.client.HttpClientTransport.getOutput(HttpClientTransport.java:109)
Point de Terminaison de Service les liens semblent être réglé correctement.
@WebServiceClient(name = "xmatters-4.1.7", targetNamespace = "http://www.xmatters.com/webservices/schema#4.1.7", wsdlLocation = "https://xmattersqa.com/api/services/xmatters-4.1.7?wsdl")
- Vous tentez de vous connecter à un SSL sécurisée webservice comme vous le feriez pour un régulier service http. Il ne fonctionne pas de cette façon. Regardez cet exemple pour la direction
- ok, Merci je vais essayer ça. pourquoi soapUI pas besoin de certificats?
- Je ne peux pas expliquer de manière satisfaisante que moi, mais ma meilleure supposition est soapUI peut être en mesure de négocier automatiquement à la connexion SSL via windows natif de traitement qui vous ne faites pas dans le code mais
- génial, le lien a été vraiment utile..cela a fonctionné merci!
Vous devez vous connecter pour publier un commentaire.
Je suppose que c'est trop tard, mais peut-être que cette solution aidera d'autres personnes confrontées à la même question.
Je viens de tomber sur le même problème et a trouvé que mon proxy stub-objet en appelle une autre URL que j'avais donné à l'objet du service.
Mon debugger m'a montré ensuite que mon service n'a pas essayé d'accéder à l'URL donnée, mais à l'interne une Adresse IP qui a été à l'intérieur de la projection de wsdl sur cette URL, sous le numéro de service.
de sorte que le talon pointu à l'extrémité au 192.168.3.20 mais mon service n'était pas sur la même machine et, par conséquent, il pourrait obiously pas être atteint. Afin de corriger cela, vous devez corriger l'URL sur le talon comme ce
cela a réglé le problème pour moi
ENDPOINT_ADDRESS_PROPERTY
nécessaires à l'URL (sans l' ?WSDL suffixe)