On Friday, May 27, 2011 9:29:20 AM ext2 wrote:
> Thanks Glen Mazza:
> 
> It seems the Dispatch interface ask for choosing MEP (invokeOneway() /
> invoke()), but in  my situation , I doesn't know what's the MEP is. Because
> the only thing I know is just the xml data, and doesn't know anything about
> operation;

You may be able to do this with a couple of interceptors, but you'll need to 
experiment a bit to find out.   

First off, I'd experiment a bit with the invokeOneWay().   It may "just work".  
 
If something goes wrong on the server side PRIOR to being able to determine 
the MEP on the server side, a fault would get sent back.  Thus, the client 
does wait there for the 200.   I'm not 100% sure what happens on a 500 (fault) 
with the invokeOneWay.   It might "just work".   If not, you may be able to 
register an interceptor or similar that would, on a fault, reset the 
message.getExchange().isOneWay() status to false if an exception occurs.  
Possibly an "out" interceptor that on the "handleFault" method would reset it.

Definitely some stuff to experiment with.    That said, if Axis2 is setting up 
that kind of MEP in a WSDL1 document, even if it is just the portType or 
similar, it's generating an invalid wsdl.   

Dan



> > ----Original-----
> > Sender: Glen Mazza [mailto:[email protected]]
> > Date: 2011/5/27 20:38
> > Receiver: [email protected]
> > Subject: Re: A Raw XML Client's MEP questions.
> > 
> > For the client, JAX-WS Dispatch (example here:
> > http://www.jroller.com/gmazza/entry/calling_rpc_encoded_web_services but
> > google for more) will allow you access to the raw XML of which you can
> > do anything you want with.  JAX-WS Provider is the web service provider
> > counterpart to it.  That might be what you're looking for.
> > 
> > Regards,
> > Glen
> > 
> > On 05/27/2011 08:03 AM, ext2 wrote:
> > > Hi:
> > >   First , forgive my long story. I cannot using a short words to
> > > 
> > > describe my question clearly;
> > > 
> > >     Recently I want to use CXF as client to connecting an exists system
> 
> which
> 
> > > already support some web-service like service;
> > > 
> > >    Here "web-service like" means: the service only use soap protocol to
> > > 
> > > exchange  it's custom xml data. Although the service does supply WSDL,
> 
> but
> 
> > > the  WSDL only describe operations, and there are nothing about what
> > > xml schema is;
> > > 
> > >     The exists system is implemented using Axis2. I hate it, and do not
> 
> want
> 
> > > to use Axis2 in my program, because of XML performance. I must
> > > transform standard xml to axiom(axis2's xml api), this is a big
> > > performance
> 
> bottle)
> 
> > >   So I want to know how could I using CXF to implement the raw xml
> > > 
> > > client?   That's to say it must full-fill following requirement:
> > >   1) the raw xml client just use with xml data as input and output
> > >   2) the program which call the raw-xml client can give body xml and
> > > 
> > > header xml as input, and wish the raw xml client to send the xml(body
> 
> and
> 
> > > header) by soap-protocol;
> > > 
> > >   3) the raw xml client cannot determine MEP of operation by the xml's
> > > 
> > > schema, it can only determine if response soap xml received ,  or just
> > > a http accept, or soap-fault  at run-time;
> > > 
> > >   In a word, the raw-xml client is somewhat  like just working on soap
> > > 
> > > protocol level;
> > > 
> > >   After checking the source code of CXF, I feel the 3) is most
> > > 
> > > difficult to implement, if I doesn't change the CXF's internal
> > > implementations, and just using CXF's build-in extending mechanis( for
> > > example: interceptors).
> > > 
> > >   Does anyone has an suggestion about how could I extend CXF to
> > > 
> > > implement these requirement (especially requirement 3) ?
> > 
> > --
> > Glen Mazza
> > Software Engineer, Talend (http://www.talend.com)
> > blog: http://www.jroller.com/gmazza

-- 
Daniel Kulp
[email protected]
http://dankulp.com/blog
Talend - http://www.talend.com

Reply via email to