Thanks Dan. Agree that those specifications are request/response oriented which only allow one request to get one response. However, I think one request and multiple response is a common feature that most app will need it, and it is very useful in the realtime application because we want server to push data into client.
To have two separate services could resolve the issue, however, I am concerned on the complexity of programming model that developers have to remember that two service are actually *one* service. Also, Camel could be an option, however, it add another layer on top of service, and its requires a bit more knowledge one camel. Although cxf does not support it at this moment, I hope cxf can provide a easy way to replied multiple responses in the future, thanks again. David On Tue, Apr 12, 2011 at 3:54 PM, Daniel Kulp <[email protected]> wrote: > On Monday 11 April 2011 10:16:15 PM Yinwei David Liu wrote: > > Hi Freeman, > > > > Thanks for your reply. > > > > > I don't think CXF can support one request with multiple response. > > > > Could you please help me to understand why CXF cannot support this > feature? > > It's mostly due to the specifications that CXF implements. WSDL, JAX-WS, > etc... are very request/response. Client creates a request, gets a > response, > moves on... WSDL doesn't really have a way to model single request, > multi > reponse. > > This would NORMALLY be modelled as two separate services that likely use > one- > way semantics. The "client" would bring up a service and get a reference > to > it. When it calles the service, it would pass that reference along with > the > rest of the request data. The service would then call back on that > service > as needed. > > Dan > > > > > JMS transport is an example, I also want to use a long-live transport > > (local transport, jms tcp) to send multiple response message, ( e.g. I > > send request to a cxf webservice to ask service sending some data to the > > client every minute. ) > > > > Regarding the example *client creating a callback object by passing an > > EndpointReferenceType to the server*, it sounds interesting, could you > > please point out the example name so that I can check it? thanks again. > > > > David > > > > On Tue, Apr 12, 2011 at 10:06 AM, Freeman Fang > <[email protected]>wrote: > > > Hi, > > > > > > I don't think CXF can support one request with multiple response. > > > However, per your requirement, asides from the normal response, you > can > > > always send any message to the JMS queue with JMS api in your service > > > implementations. > > > Another option is that you can use callback, which means client > creating > > > a callback object by passing an EndpointReferenceType to the server, > > > then the server can act as a client and callback for any times, we have > > > callback examples shipped with kit, you may need take a look. > > > > > > Freeman > > > > > > On 2011-4-12, at 上午8:57, Yinwei David Liu wrote: > > > Hi cxf-users, > > > > > >> I would like to know what you think if CXF can support multiple > > >> response > > >> > > >> in its service? > > >> > > >> Currently, one CXF service can only return one Response message for > > >> each > > >> > > >> Request. However, there are some use case that we want one request > have > > >> multiple response messages. E.g. my service gets a jms request from a > > >> client, and then, it will reply 3 response messages to a JMS queue. > > >> > > >> Is there any consideration to support multiple response message for > > >> this > > >> > > >> kind of use case? > > >> > > >> David > > > > > > --------------------------------------------- > > > Freeman Fang > > > > > > FuseSource > > > Email:[email protected] > > > Web: fusesource.com > > > Twitter: freemanfang > > > Blog: http://freemanfang.blogspot.com > > > Connect at CamelOne May 24-26 > > > The Open Source Integration Conference > > -- > Daniel Kulp > [email protected] > http://dankulp.com/blog > Talend - http://www.talend.com >
