Webservice avec HTTPS

J'ai un service web externe, il fonctionne sur https, je peux générer des classes java avec wsimport mais quand je invnoke le service que j'ai en attente de la suite d'exception:

Exception in thread "main" com.sun.xml.internal.ws.client.ClientTransportException: HTTP transport error: java.net.UnknownHostException: ECM01
at com.sun.xml.internal.ws.transport.http.client.HttpClientTransport.getOutput(Unknown Source)
at com.sun.xml.internal.ws.transport.http.client.HttpTransportPipe.process(Unknown Source)
at com.sun.xml.internal.ws.transport.http.client.HttpTransportPipe.processRequest(Unknown Source)...
Caused by: java.net.UnknownHostException: ECM01
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)

Ma classe qui appelle le service est quelque chose comme ceci:

public static void main(String[] args) {
    ColleagueServiceService cs = new ColleagueServiceService();
    ColleagueService service = cs.getColleagueServicePort();

    try {
        service.getColleagues("user", "password", 1);
    } catch (Exception_Exception e) {
        //TODO Auto-generated catch block
        e.printStackTrace();
    }
}

J'ai essayé d'utiliser SoapUI pour appeler le webservice, mais il montre une autre exception:

Tue Dec 18 09:40:06 BRST 2012:ERROR:org.apache.http.conn.HttpHostConnectException: Connection to https://my.webservice.url.com refused
org.apache.http.conn.HttpHostConnectException: Connection to https://my.webservice.url.com refused
at com.eviware.soapui.impl.wsdl.support.http.SoapUIMultiThreadedHttpConnectionManager$SoapUIClientConnectionOperator.openConnection(SoapUIMultiThreadedHttpConnectionManager.java:321)
at org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:149)
at org.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:121)
at org.apache.http.impl.client.DefaultRequestDirector.tryConnect(DefaultRequestDirector.java:561)
at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:415)
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:820)
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:754)
at com.eviware.soapui.impl.wsdl.support.http.HttpClientSupport$Helper.execute(HttpClientSupport.java:236)
at com.eviware.soapui.impl.wsdl.support.http.HttpClientSupport.execute(HttpClientSupport.java:345)
at com.eviware.soapui.impl.wsdl.submit.transports.http.HttpClientRequestTransport.sendRequest(HttpClientRequestTransport.java:241)
at com.eviware.soapui.impl.wsdl.WsdlSubmit.run(WsdlSubmit.java:123)
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)...
Caused by: java.net.ConnectException: Connection timed out: connect
at java.net.DualStackPlainSocketImpl.connect0(Native Method)
at java.net.DualStackPlainSocketImpl.socketConnect(Unknown Source)
at java.net.AbstractPlainSocketImpl.doConnect(Unknown Source)
at java.net.AbstractPlainSocketImpl.connectToAddress(Unknown Source)
at java.net.AbstractPlainSocketImpl.connect(Unknown Source)
at java.net.PlainSocketImpl.connect(Unknown Source)...

ÉDITÉ:

Ce service web est le mien, mais il est dans un serveur externe, j'ai vu ma classe ColleagueService(ce n'était pas moi qui l'ai), il est annotée avec:

@WebService(serviceName="ColleagueServiceService")
@SOAPBinding(style = SOAPBinding.Style.RPC, use = SOAPBinding.Use.LITERAL, parameterStyle = SOAPBinding.ParameterStyle.WRAPPED)
public class ColleagueService {

Le wsdl généré, j'ai ceci:

<port binding="tns:ColleagueServiceBinding" name="ColleagueServicePort">
<soap:address location="http://ECM01:80/services/ColleagueService"/>
</port>

Le serveur externe(client) a un serveur jboss et le serveur http apache, le serveur http de redirection de tous les requestes par la directive ProxyPass avec chemin d'accès /services/jboss server (serveur jboss est l'hôte ECM01), de toute façon le wsdl est mauvais, parce que, dans les services est en https et en wsdl j'ai http

Peut aider quelqu'un? Merci.

PS: je peux accéder à my.webservice.url.com/ColleagueService?wsdl dans le navigateur.
Êtes-vous, par hasard derrière un proxy?
Oui, dans mon intranet, il y a un proxy.
Et l'URL que vous avez frapper est externe à votre réseau? Dans ce cas, vous avez besoin pour faire de votre client HTTP code de conscience de l'hôte proxy, port et, éventuellement, auth.
Oui, l'URL est à l'extérieur de mon réseau, Comment dois-je faire? Puis-je utiliser wsimport -httpproxy?

OriginalL'auteur Lucas Merencia | 2012-12-18