cxf-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jiang Ning <ning.ji...@iona.com>
Subject Re: Questions about CodeFirst in client side
Date Thu, 12 Oct 2006 01:48:08 GMT
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


Mime
View raw message