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