You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@cxf.apache.org by Jiang Ning <ni...@iona.com> on 2006/10/11 11:58:04 UTC
Questions about CodeFirst in client side
Hi Dan
I am working on the CXF-18 to implement the addport() API, so I need to
build service model from code(there is no wsdl url), and create Endpoint
for Dispatch.
So I just do a quick reading about you CodeFirstTest in the
frontend-jaxws and find out that the (code first) client side don't
actual invoke the method.
I just want to ask if you have any plan to implements this or I will try
to get this work.
Thanks,
Willem.
Re: WS-Context implementation
Posted by Mark Little <ma...@jboss.com>.
Redhat already has one ;-) IONA used to have one too, but after
talking with Eric I think you misplaced it.
Mark.
On 12 Oct 2006, at 14:41, Daniel Kulp wrote:
> On Thursday October 12 2006 7:24 am, Mark Little wrote:
>> Has anyone considered doing a WS-Context (http://www.oasis-open.org/
>> committees/download.php/19659/WS-Context.zip) implementation for CXF?
>> There's a pretty good write-up on it and its relationship to WS-A
>> here
>> http://www.idealliance.org/proceedings/xml05/abstracts/paper54.HTML
>>
>> Mark.
>
> Not yet. Are you volunteering? :-)
>
> A colleague once told me "ask, and ye shall receive the action item."
>
> :-)
>
>
> --
> J. Daniel Kulp
> Principal Engineer
> IONA
> P: 781-902-8727 C: 508-380-7194 F:781-902-8001
> daniel.kulp@iona.com
Re: WS-Context implementation
Posted by Daniel Kulp <da...@iona.com>.
On Thursday October 12 2006 7:24 am, Mark Little wrote:
> Has anyone considered doing a WS-Context (http://www.oasis-open.org/
> committees/download.php/19659/WS-Context.zip) implementation for CXF?
> There's a pretty good write-up on it and its relationship to WS-A
> here
> http://www.idealliance.org/proceedings/xml05/abstracts/paper54.HTML
>
> Mark.
Not yet. Are you volunteering? :-)
A colleague once told me "ask, and ye shall receive the action item."
:-)
--
J. Daniel Kulp
Principal Engineer
IONA
P: 781-902-8727 C: 508-380-7194 F:781-902-8001
daniel.kulp@iona.com
WS-Context implementation
Posted by Mark Little <ma...@jboss.com>.
Has anyone considered doing a WS-Context (http://www.oasis-open.org/
committees/download.php/19659/WS-Context.zip) implementation for CXF?
There's a pretty good write-up on it and its relationship to WS-A
here http://www.idealliance.org/proceedings/xml05/abstracts/paper54.HTML
Mark.
Re: Questions about CodeFirst in client side
Posted by Jiang Ning <ni...@iona.com>.
Jiang Ning wrote:
> Hi Dan,
>
> Dan Diephouse wrote:
>
>> Jiang Ning wrote:
>>
>>> Hi Dan
>>>
>>> I am working on the CXF-18 to implement the addport() API, so I
>>> need to build service model from code(there is no wsdl url), and
>>> create Endpoint for Dispatch.
>>
>>
>>
>> So this service model is created from a class which extends the
>> Jax-ws service class? In reflectionservicefactory there is a
>> stopClasses list. We should tell the ServiceFactory to introspect all
>> the methods, but stop at the JAX-WS Service class using that mechanism.
>>
> [Willem] IMO ServiceFactory's code for intorspecting all the methods
> can be taken out as util method, and that could be easy for the JAX-WS
> Service class to reuse.
>
>>> So I just do a quick reading about you CodeFirstTest in the
>>> frontend-jaxws and find out that the (code first) client side don't
>>> actual invoke the method.
>>
>>
>>
>> Which method doesn't it invoke?
>
>
> [Willem] I mean the client side is not actually create an client
> proxy from SEI class to invoke the server's method in the CodeFirstTest.
> When I finish this task, I may have a unit test of that :).
[Willem] Sorry, I mix up the JAXWS Unit test and system test.
>
>>
>>> I just want to ask if you have any plan to implements this or I will
>>> try to get this work.
>>
>>
>>
>> I wasn't planning on working on it, but I think you could use the
>> BindingInfoFactories to get the addPort to work and then create a
>> dummy EndpointInfo in the service model. You shouldn't have to create
>> a whole new service model because there is already one there in Service
>
>
> [Willem] Here is the user side code for addPort.
>
> service = Service.create(qname);
> service.addPort(qname, HTTPBinding.HTTP_BINDING, url);
> Dispatch<Source> dispatcher = service.createDispatch(new QName("", ""),
> Source.class,
> service.Mode.PAYLOAD);
>
> The sevice model would not be created in Service because there is no
> wsdl for Service.
> IMO the service model will be created in createDispatch where we can
> get the SEI.
>
[Willem] Here is my mistake for the createDispatch, the Source.class is
not the SEI.
For the Dispatch usecase , Dispatch just need to get part of information
of serviceModel.
HTTPBinding.HTTP_BINDING used for loading the transport and address to
init the condit.
So the BindingInfo could be useless in this usecase.
>> - Dan
>>
>
> Willem
>
>
Willem
Re: Questions about CodeFirst in client side
Posted by Dan Diephouse <da...@envoisolutions.com>.
Jiang Ning wrote:
> Hi Dan,
>
> Dan Diephouse wrote:
>
>> Jiang Ning wrote:
>>
>>> Hi Dan
>>>
>>> I am working on the CXF-18 to implement the addport() API, so I
>>> need to build service model from code(there is no wsdl url), and
>>> create Endpoint for Dispatch.
>>
>>
>>
>> So this service model is created from a class which extends the
>> Jax-ws service class? In reflectionservicefactory there is a
>> stopClasses list. We should tell the ServiceFactory to introspect all
>> the methods, but stop at the JAX-WS Service class using that mechanism.
>>
> [Willem] IMO ServiceFactory's code for intorspecting all the methods
> can be taken out as util method, and that could be easy for the JAX-WS
> Service class to reuse.
The whole point of the servicefactory is to encapsulate all the
introspection. Why would we want this in the service class? We should
have the Service using the ServiceFactory it seems to me.
>
>>> So I just do a quick reading about you CodeFirstTest in the
>>> frontend-jaxws and find out that the (code first) client side don't
>>> actual invoke the method.
>>
>>
>>
>> Which method doesn't it invoke?
>
>
> [Willem] I mean the client side is not actually create an client
> proxy from SEI class to invoke the server's method in the CodeFirstTest.
> When I finish this task, I may have a unit test of that :).
>
Yeah, this needs to be done yet... It'd be nice to have a
ClientFactoryBean like we have a ServerFactoryBean at some point. I keep
on meaning to do this...
>>
>>> I just want to ask if you have any plan to implements this or I will
>>> try to get this work.
>>
>>
>>
>> I wasn't planning on working on it, but I think you could use the
>> BindingInfoFactories to get the addPort to work and then create a
>> dummy EndpointInfo in the service model. You shouldn't have to create
>> a whole new service model because there is already one there in Service
>
>
> [Willem] Here is the user side code for addPort.
>
> service = Service.create(qname);
> service.addPort(qname, HTTPBinding.HTTP_BINDING, url);
> Dispatch<Source> dispatcher = service.createDispatch(new QName("", ""),
> Source.class,
> service.Mode.PAYLOAD);
>
> The sevice model would not be created in Service because there is no
> wsdl for Service.
> IMO the service model will be created in createDispatch where we can
> get the SEI.
I would think we would still construct a fake service model. Have you
looked at the ProviderServiceFactoryBean? We just instantiate a dummy
model with an invoke operation. Right now we still use the
Dispatch*Interceptors, but we should be able to just use the existing
interceptors and write a databinding implementation which recognizes
Source objects instead.
- Dan
--
Dan Diephouse
(616) 971-2053
Envoi Solutions LLC
http://netzooid.com
Re: Questions about CodeFirst in client side
Posted by Jiang Ning <ni...@iona.com>.
Hi Dan,
Dan Diephouse wrote:
> Jiang Ning wrote:
>
>> Hi Dan
>>
>> I am working on the CXF-18 to implement the addport() API, so I need
>> to build service model from code(there is no wsdl url), and create
>> Endpoint for Dispatch.
>
>
> So this service model is created from a class which extends the Jax-ws
> service class? In reflectionservicefactory there is a stopClasses
> list. We should tell the ServiceFactory to introspect all the methods,
> but stop at the JAX-WS Service class using that mechanism.
>
[Willem] IMO ServiceFactory's code for intorspecting all the methods can
be taken out as util method, and that could be easy for the JAX-WS
Service class to reuse.
>> So I just do a quick reading about you CodeFirstTest in the
>> frontend-jaxws and find out that the (code first) client side don't
>> actual invoke the method.
>
>
> Which method doesn't it invoke?
[Willem] I mean the client side is not actually create an client proxy
from SEI class to invoke the server's method in the CodeFirstTest.
When I finish this task, I may have a unit test of that :).
>
>> I just want to ask if you have any plan to implements this or I will
>> try to get this work.
>
>
> I wasn't planning on working on it, but I think you could use the
> BindingInfoFactories to get the addPort to work and then create a
> dummy EndpointInfo in the service model. You shouldn't have to create
> a whole new service model because there is already one there in Service
[Willem] Here is the user side code for addPort.
service = Service.create(qname);
service.addPort(qname, HTTPBinding.HTTP_BINDING, url);
Dispatch<Source> dispatcher = service.createDispatch(new QName("", ""),
Source.class, service.Mode.PAYLOAD);
The sevice model would not be created in Service because there is no
wsdl for Service.
IMO the service model will be created in createDispatch where we can get
the SEI.
> - Dan
>
Willem
Re: Questions about CodeFirst in client side
Posted by Dan Diephouse <da...@envoisolutions.com>.
Jiang Ning wrote:
> Hi Dan
>
> I am working on the CXF-18 to implement the addport() API, so I need
> to build service model from code(there is no wsdl url), and create
> Endpoint for Dispatch.
So this service model is created from a class which extends the Jax-ws
service class? In reflectionservicefactory there is a stopClasses list.
We should tell the ServiceFactory to introspect all the methods, but
stop at the JAX-WS Service class using that mechanism.
> So I just do a quick reading about you CodeFirstTest in the
> frontend-jaxws and find out that the (code first) client side don't
> actual invoke the method.
Which method doesn't it invoke?
> I just want to ask if you have any plan to implements this or I will
> try to get this work.
I wasn't planning on working on it, but I think you could use the
BindingInfoFactories to get the addPort to work and then create a dummy
EndpointInfo in the service model. You shouldn't have to create a whole
new service model because there is already one there in Service
- Dan
--
Dan Diephouse
(616) 971-2053
Envoi Solutions LLC
http://netzooid.com