Try deploying your service on local transport http://cxf.apache.org/docs/local-transport.html On 31/10/2014 2:46 AM, "Warren, Jared S" <[email protected]> wrote:
> First off, I admit this is an odd request, and will come off as quite > hackish (because it is)...but I'm going to ask anyway. > > In a JVM where I am running CXF 2.7.8 as a SOAP webservices server (using > both http and jms jaxws endpoints), I have a String that happens to be a > fully formed SOAP request. > > I would like to call the CXF stack within the JVM, passing that String, > for it to handle the request. Ideally, I'd like to do that without going > back out to the network (via an HTTP client) and without relying on > additional threading. > > I've discovered that I can do something like this (where mySOAPRequestDOM > is a DOM created from the SOAP request String): > > Dispatch<DOMSource> httpDispatcher = > myService.createDispatch(myServiceWsdlHttpPort, > > DOMSource.class, Mode.MESSAGE); > > .... > > httpDispatcher.invoke(mySOAPRequestDOM); > > But this is REALLY heavyweight - it results in a network call, a thread > pool and all kinds of nasty. > > What I'd really like to do is call something like the existing HTTP (or > JMS) interceptor chain - but without the HTTPConduit - so that the request > is handled in the current thread without a trip through the socket > libraries. > > Any great ideas? > > Thanks! > jared > The information transmitted is intended only for the person or entity to > which it is addressed and may contain confidential and/or privileged > material. If the reader of this message is not the intended recipient, you > are hereby notified that your access is unauthorized, and any review, > dissemination, distribution or copying of this message including any > attachments is strictly prohibited. If you are not the intended recipient, > please contact the sender and delete the material from any computer. >
