support.JaxWsServiceFactoryBean as factory for multiple endpoints

2008-01-24 Thread Ron Piterman
hi,
in http://cwiki.apache.org/CXF20DOC/aegis-databinding.html it is
suggested to use
org.apache.cxf.aegis.databinding.AegisDatabinding as factory bean for
endpoints.

The described syntax implies the use of a single factory bean for
multiple endpoints, whereas this does not work.

Is this a known issue ?

When using the same factory for more than one endpoint:

jaxws:endpoint id=my_service_endpoint implementor=#my-service 
address=/MyIndex
  jaxws:serviceFactory
   ref bean='jaxws-and-aegis-service-factory' /
  /jaxws:serviceFactory
 /jaxws:endpoint

cfx delegates methods of one endpoint to another, trying to invoke a Method on 
an target bean which doesn't own it.

the workaround is :

jaxws:endpoint id=my_service_endpoint implementor=#my-service 
address=/MyIndex
  jaxws:serviceFactory
bean class=org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean 
property name=dataBinding ref=aegisBean/
property name=serviceConfigurations
 list
   bean 
class=org.apache.cxf.jaxws.support.JaxWsServiceConfiguration/
   bean 
class=org.apache.cxf.aegis.databinding.AegisServiceConfiguration/
   bean 
class=org.apache.cxf.service.factory.DefaultServiceConfiguration/ 
/list
/property
/bean  
  /jaxws:serviceFactory
/jaxws:endpoint


Chears,

Ron 




Re: support.JaxWsServiceFactoryBean as factory for multiple endpoints

2008-01-24 Thread Ron Piterman
sorry, the factory class is ofcause not

org.apache.cxf.aegis.databinding.AegisDatabinding

but

org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean

Cheers,
Ron


Ron Piterman wrote:
 hi,
 in http://cwiki.apache.org/CXF20DOC/aegis-databinding.html it is
 suggested to use
 org.apache.cxf.aegis.databinding.AegisDatabinding as factory bean for
 endpoints.

 The described syntax implies the use of a single factory bean for
 multiple endpoints, whereas this does not work.

 Is this a known issue ?

 When using the same factory for more than one endpoint:

 jaxws:endpoint id=my_service_endpoint implementor=#my-service 
 address=/MyIndex
   jaxws:serviceFactory
ref bean='jaxws-and-aegis-service-factory' /
   /jaxws:serviceFactory
  /jaxws:endpoint

 cfx delegates methods of one endpoint to another, trying to invoke a Method 
 on an target bean which doesn't own it.

 the workaround is :

 jaxws:endpoint id=my_service_endpoint implementor=#my-service 
 address=/MyIndex
   jaxws:serviceFactory
 bean class=org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean 
 property name=dataBinding ref=aegisBean/
 property name=serviceConfigurations
  list
bean 
 class=org.apache.cxf.jaxws.support.JaxWsServiceConfiguration/
bean 
 class=org.apache.cxf.aegis.databinding.AegisServiceConfiguration/
bean 
 class=org.apache.cxf.service.factory.DefaultServiceConfiguration/ 
 /list
 /property
 /bean  
   /jaxws:serviceFactory
 /jaxws:endpoint


 Chears,

 Ron 


   



Re: support.JaxWsServiceFactoryBean as factory for multiple endpoints

2008-01-24 Thread Daniel Kulp
On Thursday 24 January 2008, Benson Margulies wrote:
 On Thu, 2008-01-24 at 13:54 -0500, Daniel Kulp wrote:
  Yea, that definitely won't work.  The service factories record way
  to much state specific to that endpoint.
 
  That said, you MAY be able to get it to work by doing:
 
  bean  singleton=false
  id='jaxws-and-aegis-service-factory'
  class=org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean
  

 That is, scope='prototype'. This works in a live app of mine.

Listen to him, not me.   I have no clue what I'm talking about...  

:-)

-- 
J. Daniel Kulp
Principal Engineer, IONA
[EMAIL PROTECTED]
http://www.dankulp.com/blog