Re: Problem deserializing pojos (fields not initialized)

2008-04-02 Thread Valerio Schiavoni
Hello ,

your code works fine, and infact my tests are now green-like-grass.

The only minor issue is that:

AegisDatabinding.WRITE_XSI_TYPE_KEY

is deprecated in the 2.1-SNAPSHOT release I've been using.

What should I use instead ?

On Tue, Apr 1, 2008 at 2:38 PM, Alpin, Luba [EMAIL PROTECTED] wrote:

 Following works good:

 Server:
 ---
 ServerFactoryBean  svrFactory = new ServerFactoryBean();
HashMapString, Object props = new HashMapString, Object();
props.put(AegisDatabinding.WRITE_XSI_TYPE_KEY, true);
ArrayListString l = new ArrayListString();
l.add(YourCustomClassName.class.getName());
props.put(AegisDatabinding.OVERRIDE_TYPES_KEY, l);

svrFactory.setServiceClass(InterfaceClassName.class);
svrFactory.setAddress(address);
svrFactory.setServiceBean(InterfaceImpl);
svrFactory.getServiceFactory().setDataBinding(new
 AegisDatabinding());
svrFactory.setProperties(props);
svrFactory.getServiceFactory().setProperties(props);
svrFactory.create();

 Client (not dynamic):
 -
 MapString, Object props = new HashMapString, Object();
 props.put(AegisDatabinding.WRITE_XSI_TYPE_KEY,
 Boolean.TRUE);
 //props.put(AegisDatabinding.READ_XSI_TYPE_KEY,
 false);
 ListString l = new ArrayListString();
 l.add(YourCustomClassName.class.getName());
 props.put(AegisDatabinding.OVERRIDE_TYPES_KEY, l);
ClientProxyFactoryBean factory = new
 ClientProxyFactoryBean();
factory.setProperties(props);
factory.getServiceFactory().setProperties(props);
factory.setServiceClass(InterfaceClassName.class);
factory.setAddress(address);
factory.getServiceFactory().setDataBinding(new
 AegisDatabinding());

 InterfaceClassName client = factory.create();

Object o = client.yourMethod();




 -Original Message-
 From: Valerio Schiavoni [mailto:[EMAIL PROTECTED]
 Sent: Tuesday, April 01, 2008 2:43 PM
 To: cxf-user@incubator.apache.org
 Subject: Re: Problem deserializing pojos (fields not initialized)

 ehm..i forgot to had copy/paste this line to the example code showcasing
 the
 problem:

 wsServerFactoryBean.getServiceFactory().setDataBinding(new
 AegisDatabinding());


 so: same error as before..


 --
 http://www.linkedin.com/in/vschiavoni
 http://jroller.com/vschiavoni




-- 
http://www.linkedin.com/in/vschiavoni
http://jroller.com/vschiavoni


Re: Problem deserializing pojos (fields not initialized)

2008-04-02 Thread Benson Margulies
Create an AegisContext, set the flag in there, push it into the
AegisDatabinding.


RE: Problem deserializing pojos (fields not initialized)

2008-04-02 Thread Alpin, Luba
I really would like to help, but I don't know I don't use it.
Regards,
Luba.


-Original Message-
From: Valerio Schiavoni [mailto:[EMAIL PROTECTED] 
Sent: Wednesday, April 02, 2008 4:02 PM
To: cxf-user@incubator.apache.org
Subject: Re: Problem deserializing pojos (fields not initialized)

Hello ,

your code works fine, and infact my tests are now green-like-grass.

The only minor issue is that:

AegisDatabinding.WRITE_XSI_TYPE_KEY

is deprecated in the 2.1-SNAPSHOT release I've been using.

What should I use instead ?

On Tue, Apr 1, 2008 at 2:38 PM, Alpin, Luba [EMAIL PROTECTED] wrote:

 Following works good:

 Server:
 ---
 ServerFactoryBean  svrFactory = new ServerFactoryBean();
HashMapString, Object props = new HashMapString, Object();
props.put(AegisDatabinding.WRITE_XSI_TYPE_KEY, true);
ArrayListString l = new ArrayListString();
l.add(YourCustomClassName.class.getName());
props.put(AegisDatabinding.OVERRIDE_TYPES_KEY, l);

svrFactory.setServiceClass(InterfaceClassName.class);
svrFactory.setAddress(address);
svrFactory.setServiceBean(InterfaceImpl);
svrFactory.getServiceFactory().setDataBinding(new
 AegisDatabinding());
svrFactory.setProperties(props);
svrFactory.getServiceFactory().setProperties(props);
svrFactory.create();

 Client (not dynamic):
 -
 MapString, Object props = new HashMapString, Object();
 props.put(AegisDatabinding.WRITE_XSI_TYPE_KEY,
 Boolean.TRUE);
 //props.put(AegisDatabinding.READ_XSI_TYPE_KEY,
 false);
 ListString l = new ArrayListString();
 l.add(YourCustomClassName.class.getName());
 props.put(AegisDatabinding.OVERRIDE_TYPES_KEY, l);
ClientProxyFactoryBean factory = new
 ClientProxyFactoryBean();
factory.setProperties(props);
factory.getServiceFactory().setProperties(props);
factory.setServiceClass(InterfaceClassName.class);
factory.setAddress(address);
factory.getServiceFactory().setDataBinding(new
 AegisDatabinding());

 InterfaceClassName client = factory.create();

Object o = client.yourMethod();




 -Original Message-
 From: Valerio Schiavoni [mailto:[EMAIL PROTECTED]
 Sent: Tuesday, April 01, 2008 2:43 PM
 To: cxf-user@incubator.apache.org
 Subject: Re: Problem deserializing pojos (fields not initialized)

 ehm..i forgot to had copy/paste this line to the example code
showcasing
 the
 problem:

 wsServerFactoryBean.getServiceFactory().setDataBinding(new
 AegisDatabinding());


 so: same error as before..


 --
 http://www.linkedin.com/in/vschiavoni
 http://jroller.com/vschiavoni




-- 
http://www.linkedin.com/in/vschiavoni
http://jroller.com/vschiavoni


Re: Problem deserializing pojos (fields not initialized)

2008-04-02 Thread Valerio Schiavoni
It works fine

On Wed, Apr 2, 2008 at 3:06 PM, Benson Margulies [EMAIL PROTECTED]
wrote:

 Create an AegisContext, set the flag in there, push it into the
 AegisDatabinding.


For the curious ones, here's the code for the client (server is the same):

clientProxyfactoryBean = new ClientProxyFactoryBean();
clientProxyfactoryBean.setServiceClass(clazz);
clientProxyfactoryBean.setAddress(address);
final AegisDatabinding aegisDatabinding = new AegisDatabinding();
AegisContext aegisCtx = new AegisContext();
aegisCtx.setReadXsiTypes(true);
aegisDatabinding.setAegisContext(aegisCtx);
clientProxyfactoryBean.getServiceFactory().setDataBinding(
aegisDatabinding);

-- 
http://www.linkedin.com/in/vschiavoni
http://jroller.com/vschiavoni


RE: Problem deserializing pojos (fields not initialized)

2008-04-02 Thread Alpin, Luba
Thanks,
I need help to run it on https.
Regards,
Luba. 

-Original Message-
From: Valerio Schiavoni [mailto:[EMAIL PROTECTED] 
Sent: Wednesday, April 02, 2008 5:03 PM
To: cxf-user@incubator.apache.org
Subject: Re: Problem deserializing pojos (fields not initialized)

It works fine

On Wed, Apr 2, 2008 at 3:06 PM, Benson Margulies [EMAIL PROTECTED]
wrote:

 Create an AegisContext, set the flag in there, push it into the
 AegisDatabinding.


For the curious ones, here's the code for the client (server is the
same):

clientProxyfactoryBean = new ClientProxyFactoryBean();
clientProxyfactoryBean.setServiceClass(clazz);
clientProxyfactoryBean.setAddress(address);
final AegisDatabinding aegisDatabinding = new
AegisDatabinding();
AegisContext aegisCtx = new AegisContext();
aegisCtx.setReadXsiTypes(true);
aegisDatabinding.setAegisContext(aegisCtx);
clientProxyfactoryBean.getServiceFactory().setDataBinding(
aegisDatabinding);

-- 
http://www.linkedin.com/in/vschiavoni
http://jroller.com/vschiavoni


Re: Problem deserializing pojos (fields not initialized)

2008-04-02 Thread Benson Margulies
I don't see what https has to do with this.


RE: Problem deserializing pojos (fields not initialized)

2008-04-02 Thread Alpin, Luba
I need use secure SOAP.
I succeeded with publish my services on
https://localhost:8080/ServiceName;
But client methods call fails.
Thanks for your time.
Regards,
Luba.



-Original Message-
From: Benson Margulies [mailto:[EMAIL PROTECTED] 
Sent: Wednesday, April 02, 2008 5:27 PM
To: cxf-user@incubator.apache.org
Subject: Re: Problem deserializing pojos (fields not initialized)

I don't see what https has to do with this.


Re: Problem deserializing pojos (fields not initialized)

2008-04-02 Thread Benson Margulies
Why don't you send in a new email message with a new subject line that
describes exactly what you did and what didn't work. This thread was about
the very specific question of the new configuration system for Aegis.

On Wed, Apr 2, 2008 at 10:33 AM, Alpin, Luba [EMAIL PROTECTED] wrote:

 I need use secure SOAP.
 I succeeded with publish my services on
 https://localhost:8080/ServiceName;
 But client methods call fails.
 Thanks for your time.
 Regards,
 Luba.



 -Original Message-
 From: Benson Margulies [mailto:[EMAIL PROTECTED]
 Sent: Wednesday, April 02, 2008 5:27 PM
 To: cxf-user@incubator.apache.org
 Subject: Re: Problem deserializing pojos (fields not initialized)

 I don't see what https has to do with this.



Re: Problem deserializing pojos (fields not initialized)

2008-04-01 Thread Valerio Schiavoni
ehm..i forgot to had copy/paste this line to the example code showcasing the
problem:

wsServerFactoryBean.getServiceFactory().setDataBinding(new
AegisDatabinding());


so: same error as before..


-- 
http://www.linkedin.com/in/vschiavoni
http://jroller.com/vschiavoni


Problem deserializing pojos (fields not initialized)

2008-04-01 Thread Valerio Schiavoni
Hello,

short version:

before sending a pojo object over the network as a service invocation
result:
  Pojo[id:2,name:pojo-2,date:2008-04-01T13:24:34.655+02:00]
after receiving the object and having it deserialized:
  Pojo[id:0,name:null,date:null]

longer version:

i'm using the ServerFactoryBean to expose a java interface, by doing
something like:

wsServerFactoryBean = new ServerFactoryBean();
wsServerFactoryBean.setAddress(address);
wsServerFactoryBean.setServiceClass(serviceClass);
wsServerFactoryBean.setServiceBean(myDelegate);

Now, consider the case where the interface to be exposed is the following:
package org.objectweb.fractal.bf.connectors;
public interface Service {
void print();

String printAndAnswer();

javax.xml.datatype.XMLGregorianCalendar getCurrentDate();

Pojo getPojo();
}

and Pojo is:
public class Pojo {
int id;

String name;

Pojo parent;

XMLGregorianCalendar date;

   //all getter/setter heres have been commented
}

So, no rocket science. The interface is correctly exported, as the logs
confirm [1].

Then, this service is invoked: to do so, i build the client using the
DynamicClientFactory:
 DynamicClientFactory dcf = DynamicClientFactory.newInstance();
Client client = dcf.createClient(this.address);

I do see the following in the logs:
1-apr-2008 13.24.30
org.apache.cxf.endpoint.dynamic.DynamicClientFactoryoutputDebug
INFO: Created classes: org.objectweb.fractal.bf.connectors.GetCurrentDate,
org.objectweb.fractal.bf.connectors.GetCurrentDateResponse,
org.objectweb.fractal.bf.connectors.GetPojo,
org.objectweb.fractal.bf.connectors.GetPojoResponse,
org.objectweb.fractal.bf.connectors.ObjectFactory,
org.objectweb.fractal.bf.connectors.Pojo,
org.objectweb.fractal.bf.connectors.Print,
org.objectweb.fractal.bf.connectors.PrintAndAnswer,
org.objectweb.fractal.bf.connectors.PrintAndAnswerResponse,
org.objectweb.fractal.bf.connectors.PrintResponse

Finally, the service is invoked by the client: here I'm interested in the
getPojo() method on the Service interface. For convenience, i print the
object before marshalling the response and after the client has received it.
Here's the result:
//this is on the server-side
Before serializing the response:
Pojo[id:2,name:pojo-2,date:2008-04-01T13:24:34.655+02:00]

//this is on the client side
After object deserialization: Pojo[id:0,name:null,date:null]


I'm using the latest 2.1-incubator-SNAPSHOT versions of the CXF artifacts.

Let me know how I can be more helpful to help solving this bug.


[1]:
1-apr-2008 13.24.27
org.springframework.context.support.AbstractApplicationContextprepareRefresh
INFO: Refreshing [EMAIL PROTECTED]:
display name [EMAIL PROTECTED];
startup date [Tue Apr 01 13:24:27 CEST 2008]; root of context hierarchy
1-apr-2008 13.24.27
org.apache.cxf.bus.spring.BusApplicationContextgetConfigResources
INFO: No cxf.xml configuration file detected, relying on defaults.
1-apr-2008 13.24.27
org.springframework.beans.factory.support.DefaultListableBeanFactoryregisterBeanDefinition
INFO: Overriding bean definition for bean '
org.apache.cxf.transport.http.policy.HTTPClientAssertionBuilder': replacing
[Root bean: class [
org.apache.cxf.transport.http.policy.HTTPClientAssertionBuilder];
scope=singleton; abstract=false; lazyInit=false; autowireCandidate=true;
autowireMode=0; dependencyCheck=0; factoryBeanName=null;
factoryMethodName=null; initMethodName=null; destroyMethodName=null; defined
in URL
[jar:file:/Users/veleno/.m2/repository/org/apache/cxf/cxf-rt-transports-http/2.1-incubator-SNAPSHOT/cxf-
rt-transports-http-2.1-incubator-SNAPSHOT.jar!/META-INF/cxf/cxf-extension-http.fixml]]
with [Root bean: class [
org.apache.cxf.transport.http.policy.HTTPClientAssertionBuilder];
scope=singleton; abstract=false; lazyInit=false; autowireCandidate=true;
autowireMode=0; dependencyCheck=0; factoryBeanName=null;
factoryMethodName=null; initMethodName=null; destroyMethodName=null; defined
in URL
[jar:file:/Users/veleno/.m2/repository/org/apache/cxf/cxf-rt-transports-http/2.1-incubator-SNAPSHOT/cxf-
rt-transports-http-2.1-incubator-SNAPSHOT.jar!/META-INF/cxf/cxf-extension-http.fixml
]]
1-apr-2008 13.24.27
org.springframework.beans.factory.support.DefaultListableBeanFactoryregisterBeanDefinition
INFO: Overriding bean definition for bean '
org.apache.cxf.transport.http.policy.HTTPServerAssertionBuilder': replacing
[Root bean: class [
org.apache.cxf.transport.http.policy.HTTPServerAssertionBuilder];
scope=singleton; abstract=false; lazyInit=false; autowireCandidate=true;
autowireMode=0; dependencyCheck=0; factoryBeanName=null;
factoryMethodName=null; initMethodName=null; destroyMethodName=null; defined
in URL
[jar:file:/Users/veleno/.m2/repository/org/apache/cxf/cxf-rt-transports-http/2.1-incubator-SNAPSHOT/cxf-
rt-transports-http-2.1-incubator-SNAPSHOT.jar!/META-INF/cxf/cxf-extension-http.fixml]]
with [Root bean: class [
org.apache.cxf.transport.http.policy.HTTPServerAssertionBuilder];
scope=singleton; abstract=false; 

RE: Problem deserializing pojos (fields not initialized)

2008-04-01 Thread Alpin, Luba
Following works good:

Server:
---
ServerFactoryBean  svrFactory = new ServerFactoryBean();
HashMapString, Object props = new HashMapString, Object();
props.put(AegisDatabinding.WRITE_XSI_TYPE_KEY, true);
ArrayListString l = new ArrayListString();
l.add(YourCustomClassName.class.getName());
props.put(AegisDatabinding.OVERRIDE_TYPES_KEY, l);

svrFactory.setServiceClass(InterfaceClassName.class);
svrFactory.setAddress(address);
svrFactory.setServiceBean(InterfaceImpl);
svrFactory.getServiceFactory().setDataBinding(new
AegisDatabinding());
svrFactory.setProperties(props);
svrFactory.getServiceFactory().setProperties(props);
svrFactory.create();

Client (not dynamic):
-
MapString, Object props = new HashMapString, Object();
 props.put(AegisDatabinding.WRITE_XSI_TYPE_KEY,
Boolean.TRUE);
 //props.put(AegisDatabinding.READ_XSI_TYPE_KEY,
false);
 ListString l = new ArrayListString();
 l.add(YourCustomClassName.class.getName());
 props.put(AegisDatabinding.OVERRIDE_TYPES_KEY, l);
ClientProxyFactoryBean factory = new
ClientProxyFactoryBean();
factory.setProperties(props);
factory.getServiceFactory().setProperties(props);
factory.setServiceClass(InterfaceClassName.class);
factory.setAddress(address);
factory.getServiceFactory().setDataBinding(new
AegisDatabinding());

 InterfaceClassName client = factory.create();

Object o = client.yourMethod();




-Original Message-
From: Valerio Schiavoni [mailto:[EMAIL PROTECTED] 
Sent: Tuesday, April 01, 2008 2:43 PM
To: cxf-user@incubator.apache.org
Subject: Re: Problem deserializing pojos (fields not initialized)

ehm..i forgot to had copy/paste this line to the example code showcasing
the
problem:

wsServerFactoryBean.getServiceFactory().setDataBinding(new
AegisDatabinding());


so: same error as before..


-- 
http://www.linkedin.com/in/vschiavoni
http://jroller.com/vschiavoni