RE: Generated client to connect to a https ws

2007-08-29 Thread Per Olesen
Hi Doug,

I think it was you, who left a comment on my blog about the same issue. I
have left you a response there.

http://techpolesen.blogspot.com/2007/08/using-ssl-with-xfirecxf-battling.html

Basically, I think you should try with this conduit name:

{http://gov.nwcg.isuite.webservice}ConnectionAdmin;

In the client config, even though you are deploying on SSL.

/Per

doug.anderson wrote:

 I believe I am having the same problems connecting to a https web service
 as
 you were having.  I was wondering what the solution was that worked for
 you.

 I have a simple web service and client.  When I host it on Tomcat at
 http://localhost:8080/service/services, the client connects just fine, but
 it does not work when using https://localhost:8443/service/services.

 I am using spring.

 For connection on  http://localhost:8080/service/services

 here is the relevant portion of the spring config file on the server:

jaxws:endpoint
  id=connectionAdmin
  implementor=#connectionAdminService
  address=/connectionAdminService /

 here is the relevant portion of the spring file for the client:
bean id=adminClient
 class=gov.nwcg.isuite.service.webservice.admin.ConnectionAdminService
 factory-bean=adminClientFactory factory-method=create/

bean id=adminClientFactory
 class=org.apache.cxf.jaxws.JaxWsProxyFactoryBean
property name=serviceClass
 value=gov.nwcg.isuite.service.webservice.admin.ConnectionAdminService/
property name=address
 value=http://localhost:8080/service/services/connectionAdminService/
/bean


 The server page at http://localhost:8080/service/services/  returns:
 {http://gov.nwcg.isuite.webservice}ConnectionAdmin

 When I run the client, it connects to the web service and everything is
 fine

 now I want to connect on https

 I change the spring config on the client to have an http:conduit with SSL
 and change the address of the client factory.  It now reads:

http:conduit
 name={https://gov.nwcg.isuite.webservice}ConnectionAdmin.http-conduit;
http:tlsClientParameters secureSocketProtocol=SSL
/http:tlsClientParameters
/http:conduit

bean id=adminClient
 class=gov.nwcg.isuite.service.webservice.admin.ConnectionAdminService
 factory-bean=adminClientFactory factory-method=create/

bean id=adminClientFactory
 class=org.apache.cxf.jaxws.JaxWsProxyFactoryBean
property name=serviceClass
 value=gov.nwcg.isuite.service.webservice.admin.ConnectionAdminService/
property name=address
 value=https://localhost:8443/service/services/connectionAdminService/
/bean

 The server page at https://localhost:8443/service/services/  returns:
 {http://gov.nwcg.isuite.webservice}ConnectionAdmin

 When the client runs, I get the same error you were getting:

 ..
 Caused by: java.io.IOException: Illegal Protocol https for HTTP
 URLConnection Factory.
at
 org.apache.cxf.transport.http.HttpURLConnectionFactoryImpl.createConnection(HttpURLConnectionFactoryImpl.java:44)
at
 org.apache.cxf.transport.http.HTTPConduit.prepare(HTTPConduit.java:468)
at
 org.apache.cxf.interceptor.MessageSenderInterceptor.handleMessage(MessageSenderInterceptor.java:46)
... 7 more


 Could you tell me what I am missing?

 Thanks for your help


 Doug Anderson


 Pirola Davide-2 wrote:

 Hi all,
 I solved the problem... was my fault :(
 Now I can contact adsense web services... BUT I have another issue.
 When I call the service cxf give me this error:
 org.apache.cxf.binding.soap.SoapFault: null is not a valid SOAP
 version

 The reason is that all services give me a wrong http response (415
 Unsupported Media Type).

 My request:
 [EMAIL PROTECTED] pairs: {POST
 /api/adsense/v2/AccountService HTTP/1.1: null}{Content-Type: text/xml;
 charset=UTF-8}{developer_email: [EMAIL PROTECTED]:
 }{developer_password: mypassword}{client_id: ignored}{Cache-Control:
 no-cache}{Pragma: no-cache}{User-Agent: Java/1.6.0_01}{Host:
 sandbox.google.com}{Accept: text/html, image/gif, image/jpeg, *; q=.2,
 */*; q=.2}{Connection: keep-alive}{Transfer-Encoding: chunked}

 Google response:
 [EMAIL PROTECTED] pairs: {null: HTTP/1.1 415
 Unsupported
 Media Type}{Content-Type: text/html; charset=UTF-8}{Cache-control:
 private}{Content-Length: 167}{Date: Tue, 17 Jul 2007 17:09:38
 GMT}{Server:
 GFE/1.3}


 Anyone have experience on this problem?
 Sure, Is always my fault.. but where? :D

 Thanks
 Davide


 -Original Message-
 From: Pirola Davide
 Sent: venerdì 13 luglio 2007 10.12
 To: 'cxf-user@incubator.apache.org'
 Subject: RE: Generated client to connect to a https ws

 Hi Dan  Willem,
 Thanks for your support!
 The problem I have is in this peace of code
 (AbstractHTTPTransportFactory):

  /**
  * This static call creates a connection factory based on
  * the existence of the SSL (TLS) client side configuration.
  */
 static HttpURLConnectionFactory getConnectionFactory

Re: Generated client to connect to a https ws

2007-08-29 Thread Julio Arias

Hi guys -

U can take a look also at https://issues.apache.org/jira/browse/CXF-922

On Aug 29, 2007, at 1:12 AM, Per Olesen wrote:


Hi Doug,

I think it was you, who left a comment on my blog about the same  
issue. I

have left you a response there.

http://techpolesen.blogspot.com/2007/08/using-ssl-with-xfirecxf- 
battling.html


Basically, I think you should try with this conduit name:

{http://gov.nwcg.isuite.webservice}ConnectionAdmin;

In the client config, even though you are deploying on SSL.

/Per

doug.anderson wrote:


I believe I am having the same problems connecting to a https web  
service

as
you were having.  I was wondering what the solution was that  
worked for

you.

I have a simple web service and client.  When I host it on Tomcat at
http://localhost:8080/service/services, the client connects just  
fine, but

it does not work when using https://localhost:8443/service/services.

I am using spring.

For connection on  http://localhost:8080/service/services

here is the relevant portion of the spring config file on the server:

   jaxws:endpoint
 id=connectionAdmin
 implementor=#connectionAdminService
 address=/connectionAdminService /

here is the relevant portion of the spring file for the client:
   bean id=adminClient
class=gov.nwcg.isuite.service.webservice.admin.ConnectionAdminServic 
e

factory-bean=adminClientFactory factory-method=create/

   bean id=adminClientFactory
class=org.apache.cxf.jaxws.JaxWsProxyFactoryBean
   property name=serviceClass
value=gov.nwcg.isuite.service.webservice.admin.ConnectionAdminServic 
e/

   property name=address
value=http://localhost:8080/service/services/ 
connectionAdminService/

   /bean


The server page at http://localhost:8080/service/services/  returns:
{http://gov.nwcg.isuite.webservice}ConnectionAdmin

When I run the client, it connects to the web service and  
everything is

fine

now I want to connect on https

I change the spring config on the client to have an http:conduit  
with SSL

and change the address of the client factory.  It now reads:

   http:conduit
name={https://gov.nwcg.isuite.webservice}ConnectionAdmin.http- 
conduit

   http:tlsClientParameters secureSocketProtocol=SSL
   /http:tlsClientParameters
   /http:conduit

   bean id=adminClient
class=gov.nwcg.isuite.service.webservice.admin.ConnectionAdminServic 
e

factory-bean=adminClientFactory factory-method=create/

   bean id=adminClientFactory
class=org.apache.cxf.jaxws.JaxWsProxyFactoryBean
   property name=serviceClass
value=gov.nwcg.isuite.service.webservice.admin.ConnectionAdminServic 
e/

   property name=address
value=https://localhost:8443/service/services/ 
connectionAdminService/

   /bean

The server page at https://localhost:8443/service/services/  returns:
{http://gov.nwcg.isuite.webservice}ConnectionAdmin

When the client runs, I get the same error you were getting:

..
Caused by: java.io.IOException: Illegal Protocol https for HTTP
URLConnection Factory.
   at
org.apache.cxf.transport.http.HttpURLConnectionFactoryImpl.createConn 
ection(HttpURLConnectionFactoryImpl.java:44)

   at
org.apache.cxf.transport.http.HTTPConduit.prepare(HTTPConduit.java: 
468)

   at
org.apache.cxf.interceptor.MessageSenderInterceptor.handleMessage 
(MessageSenderInterceptor.java:46)

   ... 7 more


Could you tell me what I am missing?

Thanks for your help


Doug Anderson


Pirola Davide-2 wrote:


Hi all,
I solved the problem... was my fault :(
Now I can contact adsense web services... BUT I have another issue.
When I call the service cxf give me this error:
org.apache.cxf.binding.soap.SoapFault: null is not a valid SOAP
version

The reason is that all services give me a wrong http response (415
Unsupported Media Type).

My request:
[EMAIL PROTECTED] pairs: {POST
/api/adsense/v2/AccountService HTTP/1.1: null}{Content-Type: text/ 
xml;

charset=UTF-8}{developer_email: [EMAIL PROTECTED]:
}{developer_password: mypassword}{client_id: ignored}{Cache- 
Control:

no-cache}{Pragma: no-cache}{User-Agent: Java/1.6.0_01}{Host:
sandbox.google.com}{Accept: text/html, image/gif, image/jpeg, *;  
q=.2,

*/*; q=.2}{Connection: keep-alive}{Transfer-Encoding: chunked}

Google response:
[EMAIL PROTECTED] pairs: {null: HTTP/1.1 415
Unsupported
Media Type}{Content-Type: text/html; charset=UTF-8}{Cache-control:
private}{Content-Length: 167}{Date: Tue, 17 Jul 2007 17:09:38
GMT}{Server:
GFE/1.3}


Anyone have experience on this problem?
Sure, Is always my fault.. but where? :D

Thanks
Davide


-Original Message-
From: Pirola Davide
Sent: venerdì 13 luglio 2007 10.12
To: 'cxf-user@incubator.apache.org'
Subject: RE: Generated client to connect to a https ws

Hi Dan  Willem,
Thanks for your support!
The problem I have is in this peace of code
(AbstractHTTPTransportFactory):

 /**
 * This static call creates a connection factory based on
 * the existence of the SSL (TLS) client side

RE: Generated client to connect to a https ws

2007-08-28 Thread doug.anderson

I believe I am having the same problems connecting to a https web service as
you were having.  I was wondering what the solution was that worked for you.

I have a simple web service and client.  When I host it on Tomcat at
http://localhost:8080/service/services, the client connects just fine, but
it does not work when using https://localhost:8443/service/services.

I am using spring.

For connection on  http://localhost:8080/service/services

here is the relevant portion of the spring config file on the server:

   jaxws:endpoint
 id=connectionAdmin
 implementor=#connectionAdminService
 address=/connectionAdminService /

here is the relevant portion of the spring file for the client:
   bean id=adminClient
class=gov.nwcg.isuite.service.webservice.admin.ConnectionAdminService 
factory-bean=adminClientFactory factory-method=create/

   bean id=adminClientFactory
class=org.apache.cxf.jaxws.JaxWsProxyFactoryBean
   property name=serviceClass
value=gov.nwcg.isuite.service.webservice.admin.ConnectionAdminService/
   property name=address
value=http://localhost:8080/service/services/connectionAdminService/
   /bean


The server page at http://localhost:8080/service/services/  returns:
{http://gov.nwcg.isuite.webservice}ConnectionAdmin

When I run the client, it connects to the web service and everything is fine

now I want to connect on https

I change the spring config on the client to have an http:conduit with SSL
and change the address of the client factory.  It now reads:

   http:conduit
name={https://gov.nwcg.isuite.webservice}ConnectionAdmin.http-conduit;
   http:tlsClientParameters secureSocketProtocol=SSL
   /http:tlsClientParameters
   /http:conduit

   bean id=adminClient
class=gov.nwcg.isuite.service.webservice.admin.ConnectionAdminService 
factory-bean=adminClientFactory factory-method=create/

   bean id=adminClientFactory
class=org.apache.cxf.jaxws.JaxWsProxyFactoryBean
   property name=serviceClass
value=gov.nwcg.isuite.service.webservice.admin.ConnectionAdminService/
   property name=address
value=https://localhost:8443/service/services/connectionAdminService/
   /bean

The server page at https://localhost:8443/service/services/  returns:
{http://gov.nwcg.isuite.webservice}ConnectionAdmin

When the client runs, I get the same error you were getting:

..
Caused by: java.io.IOException: Illegal Protocol https for HTTP
URLConnection Factory.
   at
org.apache.cxf.transport.http.HttpURLConnectionFactoryImpl.createConnection(HttpURLConnectionFactoryImpl.java:44)
   at
org.apache.cxf.transport.http.HTTPConduit.prepare(HTTPConduit.java:468)
   at
org.apache.cxf.interceptor.MessageSenderInterceptor.handleMessage(MessageSenderInterceptor.java:46)
   ... 7 more


Could you tell me what I am missing?

Thanks for your help


Doug Anderson


Pirola Davide-2 wrote:
 
 Hi all,
 I solved the problem... was my fault :(
 Now I can contact adsense web services... BUT I have another issue.
 When I call the service cxf give me this error:
 org.apache.cxf.binding.soap.SoapFault: null is not a valid SOAP version
 
 The reason is that all services give me a wrong http response (415
 Unsupported Media Type).
 
 My request:
 [EMAIL PROTECTED] pairs: {POST
 /api/adsense/v2/AccountService HTTP/1.1: null}{Content-Type: text/xml;
 charset=UTF-8}{developer_email: [EMAIL PROTECTED]:
 }{developer_password: mypassword}{client_id: ignored}{Cache-Control:
 no-cache}{Pragma: no-cache}{User-Agent: Java/1.6.0_01}{Host:
 sandbox.google.com}{Accept: text/html, image/gif, image/jpeg, *; q=.2,
 */*; q=.2}{Connection: keep-alive}{Transfer-Encoding: chunked}
 
 Google response:
 [EMAIL PROTECTED] pairs: {null: HTTP/1.1 415 Unsupported
 Media Type}{Content-Type: text/html; charset=UTF-8}{Cache-control:
 private}{Content-Length: 167}{Date: Tue, 17 Jul 2007 17:09:38 GMT}{Server:
 GFE/1.3}
 
 
 Anyone have experience on this problem?
 Sure, Is always my fault.. but where? :D
 
 Thanks
 Davide
 
 
 -Original Message-
 From: Pirola Davide 
 Sent: venerdì 13 luglio 2007 10.12
 To: 'cxf-user@incubator.apache.org'
 Subject: RE: Generated client to connect to a https ws
 
 Hi Dan  Willem,
 Thanks for your support!
 The problem I have is in this peace of code
 (AbstractHTTPTransportFactory):
 
  /**
  * This static call creates a connection factory based on
  * the existence of the SSL (TLS) client side configuration. 
  */
 static HttpURLConnectionFactory getConnectionFactory(
 HTTPConduit configuredConduit
 ) {
 HttpURLConnectionFactory fac = null;
 
 if (configuredConduit.getTlsClientParameters() != null) {
 fac = new HttpsURLConnectionFactory(
  configuredConduit.getTlsClientParameters());
 } else {
 fac = new HttpURLConnectionFactoryImpl();
 }
 return fac;
 }   
 
 The configuredConduit object seems to be ok... so I

RE: Generated client to connect to a https ws

2007-07-19 Thread Pirola Davide
Thanks Dan!
I've solved this issue adding ContentType information in http-conduit:

http:conduit 
name={http://www.google.com/api/adsense/v2}AccountService.http-conduit;
http:client Connection=Keep-Alive
  MaxRetransmits=1
  AllowChunking=false 
  ContentType=text/xml/
  
http:tlsClientParameters/
  /http:conduit

I don't know why without it I receive this error... in fact, the http request 
already contains the text/xml information... so shouldn't be  necessary to 
specify it in conduit :/

Now I'm working on another issue... adding some Soap header parameters to the 
message.
I think that i've done it correctly:

MapString, Object soapHeaders = new HashMapString, Object();
List h1 = new ArrayList();
h1.add([EMAIL PROTECTED]);
soapHeaders.put(developer_email, h1);
List h2 = new ArrayList();
h2.add(mypassword);
soapHeaders.put(developer_password, h2);
List h3 = new ArrayList();
h3.add(myclientid);
soapHeaders.put(client_id, h3);
...
...

requestContext.put(MessageContext.HTTP_REQUEST_HEADERS, soapHeaders);

 but Google tell me that these values are missing :(

There are other ways to add them to soap headers (for example directly in 
http-conduit)?

Thanks
Davide


-Original Message-
From: Dan Diephouse [mailto:[EMAIL PROTECTED] 
Sent: giovedì 19 luglio 2007 0.07
To: cxf-user@incubator.apache.org
Subject: Re: Generated client to connect to a https ws

It looks like Google is sending you an HTML response - not XML. Are you
using the right endpoint URL for the google web service?  You might want to
try using TCPMon to look at the response google is sending back and see what
their message says...

http://cwiki.apache.org/CXF20DOC/debugging.html

- Dan

On 7/18/07, Pirola Davide [EMAIL PROTECTED] wrote:

 Hi all,
 I solved the problem... was my fault :(
 Now I can contact adsense web services... BUT I have another issue.
 When I call the service cxf give me this error:
 org.apache.cxf.binding.soap.SoapFault: null is not a valid SOAP version

 The reason is that all services give me a wrong http response (415
 Unsupported Media Type).

 My request:
 [EMAIL PROTECTED] pairs: {POST
 /api/adsense/v2/AccountService HTTP/1.1: null}{Content-Type: text/xml;
 charset=UTF-8}{developer_email: [EMAIL PROTECTED]:
 }{developer_password: mypassword}{client_id: ignored}{Cache-Control:
 no-cache}{Pragma: no-cache}{User-Agent: Java/1.6.0_01}{Host:
 sandbox.google.com}{Accept: text/html, image/gif, image/jpeg, *; q=.2,
 */*; q=.2}{Connection: keep-alive}{Transfer-Encoding: chunked}

 Google response:
 [EMAIL PROTECTED] pairs: {null: HTTP/1.1 415 Unsupported
 Media Type}{Content-Type: text/html; charset=UTF-8}{Cache-control:
 private}{Content-Length: 167}{Date: Tue, 17 Jul 2007 17:09:38 GMT}{Server:
 GFE/1.3}


 Anyone have experience on this problem?
 Sure, Is always my fault.. but where? :D

 Thanks
 Davide


 -Original Message-
 From: Pirola Davide
 Sent: venerdì 13 luglio 2007 10.12
 To: 'cxf-user@incubator.apache.org'
 Subject: RE: Generated client to connect to a https ws

 Hi Dan  Willem,
 Thanks for your support!
 The problem I have is in this peace of code
 (AbstractHTTPTransportFactory):

  /**
  * This static call creates a connection factory based on
  * the existence of the SSL (TLS) client side configuration.
  */
 static HttpURLConnectionFactory getConnectionFactory(
 HTTPConduit configuredConduit
 ) {
 HttpURLConnectionFactory fac = null;

 if (configuredConduit.getTlsClientParameters() != null) {
 fac = new HttpsURLConnectionFactory(
  configuredConduit.getTlsClientParameters());
 } else {
 fac = new HttpURLConnectionFactoryImpl();
 }
 return fac;
 }

 The configuredConduit object seems to be ok... so I have it from the one
 configured in my cxf.xml file:

 http:conduit name={
 http://www.google.com/api/adsense/v2}AccountServiceService.http-conduit;
 http:tlsClientParameters
 /http:tlsClientParameters
 /http:conduit

 BUT... the getTlsClientParameters() method return a null object :(
 So... seems that the general definition of conduit is ok.. but the
 http:tlsClientParameters is ingnored.

 I tried to put http:conduit definition in my cxf.xml file, and I used
 the system property to tell to cxf to load it, then I tried to put it in the
 cxf.xml file contained in the cxf-2.0-incubator.jar(/META-INF/cxf/cxf.xml).. 
 but the result is the same.

 Now I'm trying to use the API, as suggested from Dan.

 Thanks
 Davide




 -Original Message-
 From: Dan Diephouse [mailto:[EMAIL PROTECTED]
 Sent: giovedì 12 luglio 2007 21.42
 To: cxf-user@incubator.apache.org
 Subject: Re: Generated client to connect to a https ws

 Actually if you're using the client API, this is probably easier:

 YourService s = new YourService()
 ServiceInterface client

RE: Generated client to connect to a https ws

2007-07-13 Thread Pirola Davide
Hi Dan  Willem,
Thanks for your support!
The problem I have is in this peace of code (AbstractHTTPTransportFactory):

 /**
 * This static call creates a connection factory based on
 * the existence of the SSL (TLS) client side configuration. 
 */
static HttpURLConnectionFactory getConnectionFactory(
HTTPConduit configuredConduit
) {
HttpURLConnectionFactory fac = null;

if (configuredConduit.getTlsClientParameters() != null) {
fac = new HttpsURLConnectionFactory(
 configuredConduit.getTlsClientParameters());
} else {
fac = new HttpURLConnectionFactoryImpl();
}
return fac;
}   

The configuredConduit object seems to be ok... so I have it from the one 
configured in my cxf.xml file:

http:conduit 
name={http://www.google.com/api/adsense/v2}AccountServiceService.http-conduit;
http:tlsClientParameters
/http:tlsClientParameters
/http:conduit

BUT... the getTlsClientParameters() method return a null object :(
So... seems that the general definition of conduit is ok.. but the 
http:tlsClientParameters is ingnored.

I tried to put http:conduit definition in my cxf.xml file, and I used the 
system property to tell to cxf to load it, then I tried to put it in the 
cxf.xml file contained in the cxf-2.0-incubator.jar (/META-INF/cxf/cxf.xml).. 
but the result is the same.

Now I'm trying to use the API, as suggested from Dan.

Thanks
Davide




-Original Message-
From: Dan Diephouse [mailto:[EMAIL PROTECTED] 
Sent: giovedì 12 luglio 2007 21.42
To: cxf-user@incubator.apache.org
Subject: Re: Generated client to connect to a https ws

Actually if you're using the client API, this is probably easier:

YourService s = new YourService()
ServiceInterface client = s.getYourServiceSoapHttpPort

Client c = ClientProxy.getClient(client);
HTTPConduit conduit = (HTTPConduit) c.getConduit()
TLSClientParameters tlsParams = new TLSClientParameters();
conduit.setTlsClientParameters(tlsParams);

Thats equivalent to the XMLM that Willem posted. I would think that you need
to do something further with the tlsParams object (like tell it to accept
the google certificate), but I'm not sure offhand how to do that. Anyone
else around know?

- Dan

On 7/11/07, Willem Jiang [EMAIL PROTECTED] wrote:

 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

Re: Generated client to connect to a https ws

2007-07-13 Thread Willem Jiang

Hi,

Could you try the trunk version of CXF,
I test the below configuration in the trunk,

configuredConduit.getTlsClientParameters() is not null and it just is a size of 
zero list.

http:conduit 
name={http://www.google.com/api/adsense/v2}AccountServiceService.http-conduit;

  http:tlsClientParameters
  /http:tlsClientParameters
/http:conduit

Cheers,

Willem.

Pirola Davide wrote:

Hi Dan  Willem,
Thanks for your support!
The problem I have is in this peace of code (AbstractHTTPTransportFactory):

 /**
 * This static call creates a connection factory based on
 * the existence of the SSL (TLS) client side configuration. 
 */

static HttpURLConnectionFactory getConnectionFactory(
HTTPConduit configuredConduit
) {
HttpURLConnectionFactory fac = null;

if (configuredConduit.getTlsClientParameters() != null) {
fac = new HttpsURLConnectionFactory(
 configuredConduit.getTlsClientParameters());
} else {
fac = new HttpURLConnectionFactoryImpl();
}
return fac;
}   


The configuredConduit object seems to be ok... so I have it from the one 
configured in my cxf.xml file:

http:conduit 
name={http://www.google.com/api/adsense/v2}AccountServiceService.http-conduit;
http:tlsClientParameters
/http:tlsClientParameters
/http:conduit

BUT... the getTlsClientParameters() method return a null object :(
So... seems that the general definition of conduit is ok.. but the 
http:tlsClientParameters is ingnored.

I tried to put http:conduit definition in my cxf.xml file, and I used the 
system property to tell to cxf to load it, then I tried to put it in the cxf.xml file 
contained in the cxf-2.0-incubator.jar (/META-INF/cxf/cxf.xml).. but the result is the 
same.

Now I'm trying to use the API, as suggested from Dan.

Thanks
Davide




-Original Message-
From: Dan Diephouse [mailto:[EMAIL PROTECTED] 
Sent: giovedì 12 luglio 2007 21.42

To: cxf-user@incubator.apache.org
Subject: Re: Generated client to connect to a https ws

Actually if you're using the client API, this is probably easier:

YourService s = new YourService()
ServiceInterface client = s.getYourServiceSoapHttpPort

Client c = ClientProxy.getClient(client);
HTTPConduit conduit = (HTTPConduit) c.getConduit()
TLSClientParameters tlsParams = new TLSClientParameters();
conduit.setTlsClientParameters(tlsParams);

Thats equivalent to the XMLM that Willem posted. I would think that you need
to do something further with the tlsParams object (like tell it to accept
the google certificate), but I'm not sure offhand how to do that. Anyone
else around know?

- Dan

On 7/11/07, Willem Jiang [EMAIL PROTECTED] wrote:
  

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

RE: Generated client to connect to a https ws

2007-07-12 Thread Pirola Davide
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: cxf-user@incubator.apache.org
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

Re: Generated client to connect to a https ws

2007-07-12 Thread Dan Diephouse

Actually if you're using the client API, this is probably easier:

YourService s = new YourService()
ServiceInterface client = s.getYourServiceSoapHttpPort

Client c = ClientProxy.getClient(client);
HTTPConduit conduit = (HTTPConduit) c.getConduit()
TLSClientParameters tlsParams = new TLSClientParameters();
conduit.setTlsClientParameters(tlsParams);

Thats equivalent to the XMLM that Willem posted. I would think that you need
to do something further with the tlsParams object (like tell it to accept
the google certificate), but I'm not sure offhand how to do that. Anyone
else around know?

- Dan

On 7/11/07, Willem Jiang [EMAIL PROTECTED] wrote:


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

 

Re: Generated client to connect to a https ws

2007-07-11 Thread Willem Jiang

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