Please have a look at the hello_world_https example and [1]. You need to pass the cxf configuration to bus.
You can rename the configuration file to cxf.xml in you classpath or just set the system properity cxf.config.file to the config file name just as the example does. [1] http://cwiki.apache.org/CXF20DOC/client-http-transport.html Hope these can help you :) Willem. -----Original Message----- From: Pirola Davide [mailto:[EMAIL PROTECTED] Sent: Thu 7/12/2007 19:08 To: [email protected] Subject: RE: Generated client to connect to a https ws Hi Willem, I tried your solution, but I still receive the same error :( I have debugged with cxf source, and the problem is in "HttpURLConnectionFactoryImpl": /** * This call creates an URLConnection for an HTTP url. * @throws IOException if the url protocol is not "http". */ public HttpURLConnection createConnection(Proxy proxy, URL url) throws IOException { if (!url.getProtocol().equals(HTTP_URL_PROTOCOL_ID)) { throw new IOException("Illegal Protocol " + url.getProtocol() + " for HTTP URLConnection Factory."); } if (proxy != null) { return (HttpURLConnection) url.openConnection(proxy); } else { return (HttpURLConnection) url.openConnection(); } } The URL of the service, in Google WSDL, is: <wsdl:service name="AccountServiceService"> <wsdl:port binding="impl:AccountServiceSoapBinding" name="AccountService"> <wsdlsoap:address location="https://sandbox.google.com/api/adsense/v2/AccountService"/> </wsdl:port> </wsdl:service> The protocol is HTTPS... so when the code over is reached, an exception is thrown. You have any other suggestions? Thank in advance, Davide -----Original Message----- From: Willem Jiang [mailto:[EMAIL PROTECTED] Sent: giovedì 12 luglio 2007 5.13 To: [email protected] Subject: Re: Generated client to connect to a https ws Please take the hello_world_https in the samples directory as a example. Here is the sample configuration files for you case: <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:sec="http://cxf.apache.org/configuration/security" xmlns:http="http://cxf.apache.org/transports/http/configuration" xmlns:jaxws="http://java.sun.com/xml/ns/jaxws" xsi:schemaLocation=" http://cxf.apache.org/configuration/security http://cxf.apache.org/schemas/configuration/security.xsd http://cxf.apache.org/transports/http/configuration http://cxf.apache.org/schemas/configuration/http-conf.xsd http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> <http:conduit name="{http://www.google.com/api/adsense/v2}AccountService.http-conduit"> <http:tlsClientParameters> </http:tlsClientParameters> </http:conduit> </beans> Cheers, Willem. Pirola Davide wrote: > Hi, > > i'm new on cxf. > > I want to generate a client in order to connect to AdSense api of > google: > > http://code.google.com/apis/adsense/developer/adsense_api_services.html > > > > I'm using wsdl2java, and I run it to point to a wsdl like this one: > > https://www.google.com/api/adsense/v2/AccountService?wsdl > > > > it generate all needed classes. So it's seems pretty cool :D > > But... when I try to connect to the google server I receive this error: > > > > 11-lug-2007 14.40.45 org.apache.cxf.phase.PhaseInterceptorChain > doIntercept > > INFO: Interceptor has thrown exception, unwinding now > > org.apache.cxf.interceptor.Fault: Could not send Message. > > at > org.apache.cxf.interceptor.MessageSenderInterceptor.handleMessage(Messag > eSenderInterceptor.java:48) > > at > org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorC > hain.java:206) > > at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:253) > > at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:204) > > at > org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:73) > > at > org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:134) > > at $Proxy28.createAdSenseAccount(Unknown Source) > > at > com.google.api.adsense.v2.AccountServiceClient2.main(AccountServiceClien > t2.java:54) > > Caused by: java.io.IOException: Illegal Protocol https for HTTP > URLConnection Factory. > > at > org.apache.cxf.transport.http.HttpURLConnectionFactoryImpl.createConnect > ion(HttpURLConnectionFactoryImpl.java:44) > > at > org.apache.cxf.transport.http.HTTPConduit.prepare(HTTPConduit.java:468) > > at > org.apache.cxf.interceptor.MessageSenderInterceptor.handleMessage(Messag > eSenderInterceptor.java:46) > > ... 7 more > > Exception in thread "main" javax.xml.ws.soap.SOAPFaultException: Could > not send Message. > > at > org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:168) > > at $Proxy28.createAdSenseAccount(Unknown Source) > > at > com.google.api.adsense.v2.AccountServiceClient2.main(AccountServiceClien > t2.java:54) > > Caused by: org.apache.cxf.interceptor.Fault: Could not send Message. > > at > org.apache.cxf.interceptor.MessageSenderInterceptor.handleMessage(Messag > eSenderInterceptor.java:48) > > at > org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorC > hain.java:206) > > at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:253) > > at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:204) > > at > org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:73) > > at > org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:134) > > ... 2 more > > Caused by: java.io.IOException: Illegal Protocol https for HTTP > URLConnection Factory. > > at > org.apache.cxf.transport.http.HttpURLConnectionFactoryImpl.createConnect > ion(HttpURLConnectionFactoryImpl.java:44) > > at > org.apache.cxf.transport.http.HTTPConduit.prepare(HTTPConduit.java:468) > > at > org.apache.cxf.interceptor.MessageSenderInterceptor.handleMessage(Messag > eSenderInterceptor.java:46) > > ... 7 more > > > > Seems that the generated client is not able to connect via https. > > Someone have any idea about this problem? > > What I miss?? > > > > Thanks > > Davide > > >
