[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[List Home]
|
[ecf-dev] ECF not serializing changed method arguments (generic server)
|
- From: Konrad Bielak <konrad.bielak@xxxxxxxxx>
- Date: Thu, 12 Apr 2012 20:38:31 +0200
- Delivered-to: ecf-dev@eclipse.org
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:date:message-id:subject:from:to:content-type; bh=YQgjcpHJHKx5I3jA2O8nLdnTHq51oGQ8UIRrdu1urbo=; b=ni4fldg0EJilP494lClD1lOYaCmfaQr0HSBACGEYSkzI5dyKop1/QMXmoxOUCwX4VB 9Z9AC9DljcwbF3PVZvkmRV8t3OP/EBXuaQbn0tqWod7G04ysSDgDpbYJRiSCxmdx4IRC mmIpV7a2lOXQPbZ7gdVD5s49f4n0CrhHAivMRoVGuBapOvsxN1FrI132szCxLkN9+72+ zv5V1Q+M1WcJNd6g/qbZXDOKPc+RIFhOwYDBfCN2mK+6QMftRkb2PV7kKwOdaG9cs6eB n+r2b3LEFH3AJQyYJg5jKki8Jc1NqfcaGTinFIKcr8TPQ8DUL16bHBVFDSsMHBDrbtj+ 48wQ==
Hello,
Suppose `person` is an ECF proxy object implementing Person interface
with getPerson() method. getPerson() has some parameters, and these
parameters are Holder [1] class (which means there is another object
reference inside).
Now, consider following Consumer endpoint code:
Holder<String> personId = new Holder<String>("Person from OSGi bundle");
Holder<String> ssn = new Holder<String>("1");
Holder<String> name = new Holder<String>("1");
logger.info("---> SENDING data: personId=" + personId.value + "
ssn=" + ssn.value + " name=" + name.value);
person.getPerson(personId, ssn, name);
logger.info("<--- Returned data: personId=" + personId.value + "
ssn=" + ssn.value + " name=" + name.value);
on Provider endpoint on another OSGi container `ssn` and `name` inside
values are changed. But consumer wont know about this, because ECF
does not serialize these objects again when returning from method
getPerson(). Log:
---> SENDING data: personId=Person from OSGi bundle ssn=1 name=1
<--- Returned data: personId=Person from OSGi bundle ssn=1 name=1
Is there any way to serialize these objects again on Provider endpoint?
So my log can show cute new values :-)
<--- Returned data: personId=Person from OSGi bundle ssn=000-000-0000
name=Guillaume
I'm using ECF version prior to march 19. Setup: generic server with ecftcp.
BTW Pax-Runner script for ECF4Felix [2] is outdated.
[1] http://docs.oracle.com/javase/6/docs/api/javax/xml/ws/Holder.html
[2] https://github.com/ECF/ECF4Felix
Konrad Bielak