You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@cxf.apache.org by Mektoub <me...@gmail.com> on 2014/05/27 09:01:14 UTC

WS-Addressing with Decoupled Endpoint but without Jetty

Is it possible to use WS-Addressing with Decoupled Endpoint but without using
Jetty,
simply using the ServletDestination ?

I'm getting the following exception and my SOAP header contains anynomous
replyTo address:
2014-05-26 17:20:35,733 ERROR
[org.apache.cxf.transport.http.HTTPTransportFactory] (server_Worker-1)
Cannot find any registered HttpDestinationFactory from the Bus.
2014-05-26 17:20:35,733 WARN  [org.apache.cxf.ws.addressing.MAPAggregator]
(server_Worker-1) decoupled endpoint creation failed:
java.io.IOException: Cannot find any registered HttpDestinationFactory from
the Bus.
        at
org.apache.cxf.transport.http.HTTPTransportFactory.getDestination(HTTPTransportFactory.java:296)
        at
org.apache.cxf.ws.addressing.impl.MAPAggregatorImpl.getDestination(MAPAggregatorImpl.java:990)
        at
org.apache.cxf.ws.addressing.impl.MAPAggregatorImpl.setUpDecoupledDestination(MAPAggregatorImpl.java:961)
        at
org.apache.cxf.ws.addressing.impl.MAPAggregatorImpl.createDecoupledDestination(MAPAggregatorImpl.java:945)
        at
org.apache.cxf.ws.addressing.impl.MAPAggregatorImpl.getReplyTo(MAPAggregatorImpl.java:930)
        at
org.apache.cxf.ws.addressing.impl.MAPAggregatorImpl.addRoleSpecific(MAPAggregatorImpl.java:850)
        at
org.apache.cxf.ws.addressing.impl.MAPAggregatorImpl.aggregate(MAPAggregatorImpl.java:617)
        at
org.apache.cxf.ws.addressing.impl.MAPAggregatorImpl.mediate(MAPAggregatorImpl.java:448)
        at
org.apache.cxf.ws.addressing.impl.MAPAggregatorImpl.handleMessage(MAPAggregatorImpl.java:143)
        at
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:272)
        at org.apache.cxf.endpoint.ClientImpl.doInvoke(ClientImpl.java:565)
        at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:474)
        at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:377)
        at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:330)
        at
org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:96)
        at
org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:135)
        at $Proxy1106.doServiceWS(Unknown Source)
        at
fr.edu.rennes.cyclades.pilotage.async.WSJob.executeTask(WSJob.java:116)
        at
fr.edu.ac_rennes.webfusion.quartz.job.BaseJob.executeInternal(BaseJob.java:101)
        at
org.springframework.scheduling.quartz.QuartzJobBean.execute(QuartzJobBean.java:113)
        at org.quartz.core.JobRunShell.run(JobRunShell.java:213)
        at
org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:557)

Payload: 
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
	<soap:Header>
		<Action
xmlns="http://www.w3.org/2005/08/addressing">http://api.service.support.cyclades.rennes.edu.fr/QuartzWebService/doServiceWS</Action>
		<MessageID
xmlns="http://www.w3.org/2005/08/addressing">urn:uuid:34978730-9686-40ec-8e66-dcc68c0be27c</MessageID>
		<To
xmlns="http://www.w3.org/2005/08/addressing">http://sapdcy1.in.ac-rennes.fr:8280/ws_centre/cxf/DeclarerCentresBatchService</To>
		<ReplyTo xmlns="http://www.w3.org/2005/08/addressing">
			<Address>http://www.w3.org/2005/08/addressing/anonymous</Address>
		</ReplyTo>
	</soap:Header>
	<soap:Body/>
</soap:Envelope>




--
View this message in context: http://cxf.547215.n5.nabble.com/WS-Addressing-with-Decoupled-Endpoint-but-without-Jetty-tp5744461.html
Sent from the cxf-user mailing list archive at Nabble.com.

Re: WS-Addressing with Decoupled Endpoint but without Jetty

Posted by Manu <me...@gmail.com>.
Ok I'll try this.

The use case is exactly the one you described :
I have a CXF Client deployed in a servlet container (JBoss) that calls a
Web Service.
I don't want to use Jetty and simply want to use the servlet container It
is in.

Manuel


On Wed, May 28, 2014 at 8:40 AM, Andrei Shakirin <as...@talend.com>wrote:

> Hi,
>
> You can try to explicitly register ServletDestinationFactory as bus
> extension for HttpDestinationFactory:
>
> bus.setExtension(new
> org.apache.cxf.transport.servlet.ServletDestinationFactory(),
> HttpDestinationFactory.class);
>
> Not 100% sure that it works.
>
> What is the use case for this? Do you have CXF client deployed as servlet
> and would like to receive decoupled response using servlet transport?
>
> Regards,
> Andrei.
>
> > -----Original Message-----
> > From: Mektoub [mailto:mektoub@gmail.com]
> > Sent: Dienstag, 27. Mai 2014 09:01
> > To: users@cxf.apache.org
> > Subject: WS-Addressing with Decoupled Endpoint but without Jetty
> >
> > Is it possible to use WS-Addressing with Decoupled Endpoint but without
> using
> > Jetty, simply using the ServletDestination ?
> >
> > I'm getting the following exception and my SOAP header contains anynomous
> > replyTo address:
> > 2014-05-26 17:20:35,733 ERROR
> > [org.apache.cxf.transport.http.HTTPTransportFactory] (server_Worker-1)
> > Cannot find any registered HttpDestinationFactory from the Bus.
> > 2014-05-26 17:20:35,733 WARN
> > [org.apache.cxf.ws.addressing.MAPAggregator]
> > (server_Worker-1) decoupled endpoint creation failed:
> > java.io.IOException: Cannot find any registered HttpDestinationFactory
> from
> > the Bus.
> >         at
> >
> org.apache.cxf.transport.http.HTTPTransportFactory.getDestination(HTTPTrans
> > portFactory.java:296)
> >         at
> > org.apache.cxf.ws.addressing.impl.MAPAggregatorImpl.getDestination(MAPAg
> > gregatorImpl.java:990)
> >         at
> > org.apache.cxf.ws.addressing.impl.MAPAggregatorImpl.setUpDecoupledDestin
> > ation(MAPAggregatorImpl.java:961)
> >         at
> > org.apache.cxf.ws.addressing.impl.MAPAggregatorImpl.createDecoupledDestin
> > ation(MAPAggregatorImpl.java:945)
> >         at
> > org.apache.cxf.ws.addressing.impl.MAPAggregatorImpl.getReplyTo(MAPAggre
> > gatorImpl.java:930)
> >         at
> > org.apache.cxf.ws.addressing.impl.MAPAggregatorImpl.addRoleSpecific(MAPA
> > ggregatorImpl.java:850)
> >         at
> > org.apache.cxf.ws.addressing.impl.MAPAggregatorImpl.aggregate(MAPAggreg
> > atorImpl.java:617)
> >         at
> > org.apache.cxf.ws.addressing.impl.MAPAggregatorImpl.mediate(MAPAggregat
> > orImpl.java:448)
> >         at
> > org.apache.cxf.ws.addressing.impl.MAPAggregatorImpl.handleMessage(MAPA
> > ggregatorImpl.java:143)
> >         at
> >
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChai
> > n.java:272)
> >         at
> org.apache.cxf.endpoint.ClientImpl.doInvoke(ClientImpl.java:565)
> >         at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:474)
> >         at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:377)
> >         at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:330)
> >         at
> > org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:96)
> >         at
> > org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:135)
> >         at $Proxy1106.doServiceWS(Unknown Source)
> >         at
> > fr.edu.rennes.cyclades.pilotage.async.WSJob.executeTask(WSJob.java:116)
> >         at
> >
> fr.edu.ac_rennes.webfusion.quartz.job.BaseJob.executeInternal(BaseJob.java:10
> > 1)
> >         at
> > org.springframework.scheduling.quartz.QuartzJobBean.execute(QuartzJobBean
> > .java:113)
> >         at org.quartz.core.JobRunShell.run(JobRunShell.java:213)
> >         at
> > org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:
> > 557)
> >
> > Payload:
> > <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
> >       <soap:Header>
> >               <Action
> > xmlns="http://www.w3.org/2005/08/addressing">
> http://api.service.support.cyc
> > lades.rennes.edu.fr/QuartzWebService/doServiceWS</Action>
> >               <MessageID
> > xmlns="http://www.w3.org/2005/08/addressing">urn:uuid:34978730-9686-
> > 40ec-8e66-dcc68c0be27c</MessageID>
> >               <To
> > xmlns="http://www.w3.org/2005/08/addressing">http://sapdcy1.in.ac-
> > rennes.fr:8280/ws_centre/cxf/DeclarerCentresBatchService</To>
> >               <ReplyTo xmlns="http://www.w3.org/2005/08/addressing">
> >
> >       <Address>http://www.w3.org/2005/08/addressing/anonymous</Addres
> > s>
> >               </ReplyTo>
> >       </soap:Header>
> >       <soap:Body/>
> > </soap:Envelope>
> >
> >
> >
> >
> > --
> > View this message in context:
> http://cxf.547215.n5.nabble.com/WS-Addressing-
> > with-Decoupled-Endpoint-but-without-Jetty-tp5744461.html
> > Sent from the cxf-user mailing list archive at Nabble.com.
>

RE: WS-Addressing with Decoupled Endpoint but without Jetty

Posted by Andrei Shakirin <as...@talend.com>.
Hi,

You can try to explicitly register ServletDestinationFactory as bus extension for HttpDestinationFactory:

bus.setExtension(new org.apache.cxf.transport.servlet.ServletDestinationFactory(), HttpDestinationFactory.class);

Not 100% sure that it works.

What is the use case for this? Do you have CXF client deployed as servlet and would like to receive decoupled response using servlet transport?

Regards,
Andrei.

> -----Original Message-----
> From: Mektoub [mailto:mektoub@gmail.com]
> Sent: Dienstag, 27. Mai 2014 09:01
> To: users@cxf.apache.org
> Subject: WS-Addressing with Decoupled Endpoint but without Jetty
> 
> Is it possible to use WS-Addressing with Decoupled Endpoint but without using
> Jetty, simply using the ServletDestination ?
> 
> I'm getting the following exception and my SOAP header contains anynomous
> replyTo address:
> 2014-05-26 17:20:35,733 ERROR
> [org.apache.cxf.transport.http.HTTPTransportFactory] (server_Worker-1)
> Cannot find any registered HttpDestinationFactory from the Bus.
> 2014-05-26 17:20:35,733 WARN
> [org.apache.cxf.ws.addressing.MAPAggregator]
> (server_Worker-1) decoupled endpoint creation failed:
> java.io.IOException: Cannot find any registered HttpDestinationFactory from
> the Bus.
>         at
> org.apache.cxf.transport.http.HTTPTransportFactory.getDestination(HTTPTrans
> portFactory.java:296)
>         at
> org.apache.cxf.ws.addressing.impl.MAPAggregatorImpl.getDestination(MAPAg
> gregatorImpl.java:990)
>         at
> org.apache.cxf.ws.addressing.impl.MAPAggregatorImpl.setUpDecoupledDestin
> ation(MAPAggregatorImpl.java:961)
>         at
> org.apache.cxf.ws.addressing.impl.MAPAggregatorImpl.createDecoupledDestin
> ation(MAPAggregatorImpl.java:945)
>         at
> org.apache.cxf.ws.addressing.impl.MAPAggregatorImpl.getReplyTo(MAPAggre
> gatorImpl.java:930)
>         at
> org.apache.cxf.ws.addressing.impl.MAPAggregatorImpl.addRoleSpecific(MAPA
> ggregatorImpl.java:850)
>         at
> org.apache.cxf.ws.addressing.impl.MAPAggregatorImpl.aggregate(MAPAggreg
> atorImpl.java:617)
>         at
> org.apache.cxf.ws.addressing.impl.MAPAggregatorImpl.mediate(MAPAggregat
> orImpl.java:448)
>         at
> org.apache.cxf.ws.addressing.impl.MAPAggregatorImpl.handleMessage(MAPA
> ggregatorImpl.java:143)
>         at
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChai
> n.java:272)
>         at org.apache.cxf.endpoint.ClientImpl.doInvoke(ClientImpl.java:565)
>         at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:474)
>         at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:377)
>         at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:330)
>         at
> org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:96)
>         at
> org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:135)
>         at $Proxy1106.doServiceWS(Unknown Source)
>         at
> fr.edu.rennes.cyclades.pilotage.async.WSJob.executeTask(WSJob.java:116)
>         at
> fr.edu.ac_rennes.webfusion.quartz.job.BaseJob.executeInternal(BaseJob.java:10
> 1)
>         at
> org.springframework.scheduling.quartz.QuartzJobBean.execute(QuartzJobBean
> .java:113)
>         at org.quartz.core.JobRunShell.run(JobRunShell.java:213)
>         at
> org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:
> 557)
> 
> Payload:
> <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
> 	<soap:Header>
> 		<Action
> xmlns="http://www.w3.org/2005/08/addressing">http://api.service.support.cyc
> lades.rennes.edu.fr/QuartzWebService/doServiceWS</Action>
> 		<MessageID
> xmlns="http://www.w3.org/2005/08/addressing">urn:uuid:34978730-9686-
> 40ec-8e66-dcc68c0be27c</MessageID>
> 		<To
> xmlns="http://www.w3.org/2005/08/addressing">http://sapdcy1.in.ac-
> rennes.fr:8280/ws_centre/cxf/DeclarerCentresBatchService</To>
> 		<ReplyTo xmlns="http://www.w3.org/2005/08/addressing">
> 
> 	<Address>http://www.w3.org/2005/08/addressing/anonymous</Addres
> s>
> 		</ReplyTo>
> 	</soap:Header>
> 	<soap:Body/>
> </soap:Envelope>
> 
> 
> 
> 
> --
> View this message in context: http://cxf.547215.n5.nabble.com/WS-Addressing-
> with-Decoupled-Endpoint-but-without-Jetty-tp5744461.html
> Sent from the cxf-user mailing list archive at Nabble.com.