You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@cxf.apache.org by Jim Talbut <jt...@spudsoft.co.uk> on 2013/11/22 10:13:15 UTC
Custom ports using CXF in OSGi
Hi,
I've got a number of web services running using Camel configured like:
<camel-cxf:cxfEndpoint id="serviceSchedulerClient"
address="http://0.0.0.0:8026/UserAgentsDataLoad/1.0/TaskSchedulerClient"
wsdlURL="resources/1.0.0/TaskSchedulerClient.wsdl"
xmlns:cli="http://groupgti.com/esb/jobengines/client/service/GroupGtiSupportSystem/ClientSchedulerTarget"
serviceName="cli:ClientSchedulerTargetService"
endpointName="cli:ClientSchedulerPortTypeBindingPort"
serviceClass="com.groupgti.esb.jobengines.client.service.groupgtisupportsystem.clientschedulertarget.ClientSchedulerTargetPortType"
/>
These services are all on the same port, but different URLs.
There are other services on other ports.
The services are configured using fileinstall by simply dropping spring
configuration files in a "deploy" directory (separate from the etc
directory).
I'm finding that fileinstall (or something on the same timeframe as
fileinstall) is causing all of these spring bundles to restart, and they
are failing to come back up.
I think what is happening is that fileinstall is taking them down and
bringing them back up at the same time, so some are going down whilst
others are coming up and the ports are in use so it fails.
I don't know why fileinstall is restarting these bundles, it shouldn't
need to, nothing has changed.
As a fix I'm looking at moving to use the OSGi HTTP transport rather
than the direct Jetty one (thinking that this will mean the ports are
always open, but it also fixes another problem I have with configuring
the jetty engines).
I know I can have the OSGi container listen on different ports, but is
it possible to keep them separate?
So port 8026, managed by PAX, only responds to this set of endpoints and
not any other endpoints that may also be running (on other ports also
managed by OSGi) in the same container.
Thanks
Jim
Re: Custom ports using CXF in OSGi
Posted by Jim Talbut <jt...@spudsoft.co.uk>.
Thanks Christian, but the whole point is that I don't want the services
on the same port.
I want to be able to categorise services onto different ports for
security reasons - it should not be possible to know anything about one
service just because you know about another.
I can get pax web to listen on multiple ports, but then all the services
are available on all of them.
Jim
On 23/11/2013 08:20, Christian Schneider wrote:
> How about using address="/UserAgentsDataLoad/1.0/TaskSchedulerClient" ?
> This will make cxf use the servlet transport. It allows all your
> services to run on the same port and use the OSGi http service.
>
> Christian
>
> Am 22.11.2013 10:13, schrieb Jim Talbut:
>> Hi,
>>
>> I've got a number of web services running using Camel configured like:
>> <camel-cxf:cxfEndpoint id="serviceSchedulerClient"
>> address="http://0.0.0.0:8026/UserAgentsDataLoad/1.0/TaskSchedulerClient"
>> wsdlURL="resources/1.0.0/TaskSchedulerClient.wsdl"
>> xmlns:cli="http://groupgti.com/esb/jobengines/client/service/GroupGtiSupportSystem/ClientSchedulerTarget"
>>
>> serviceName="cli:ClientSchedulerTargetService"
>> endpointName="cli:ClientSchedulerPortTypeBindingPort"
>> serviceClass="com.groupgti.esb.jobengines.client.service.groupgtisupportsystem.clientschedulertarget.ClientSchedulerTargetPortType"
>>
>> />
>>
>> These services are all on the same port, but different URLs.
>> There are other services on other ports.
>>
>> The services are configured using fileinstall by simply dropping
>> spring configuration files in a "deploy" directory (separate from the
>> etc directory).
>>
>> I'm finding that fileinstall (or something on the same timeframe as
>> fileinstall) is causing all of these spring bundles to restart, and
>> they are failing to come back up.
>> I think what is happening is that fileinstall is taking them down and
>> bringing them back up at the same time, so some are going down whilst
>> others are coming up and the ports are in use so it fails.
>> I don't know why fileinstall is restarting these bundles, it
>> shouldn't need to, nothing has changed.
>>
>> As a fix I'm looking at moving to use the OSGi HTTP transport rather
>> than the direct Jetty one (thinking that this will mean the ports are
>> always open, but it also fixes another problem I have with
>> configuring the jetty engines).
>>
>> I know I can have the OSGi container listen on different ports, but
>> is it possible to keep them separate?
>> So port 8026, managed by PAX, only responds to this set of endpoints
>> and not any other endpoints that may also be running (on other ports
>> also managed by OSGi) in the same container.
>>
>> Thanks
>>
>> Jim
>
>
Re: Custom ports using CXF in OSGi
Posted by Christian Schneider <ch...@die-schneider.net>.
How about using address="/UserAgentsDataLoad/1.0/TaskSchedulerClient" ?
This will make cxf use the servlet transport. It allows all your
services to run on the same port and use the OSGi http service.
Christian
Am 22.11.2013 10:13, schrieb Jim Talbut:
> Hi,
>
> I've got a number of web services running using Camel configured like:
> <camel-cxf:cxfEndpoint id="serviceSchedulerClient"
> address="http://0.0.0.0:8026/UserAgentsDataLoad/1.0/TaskSchedulerClient"
> wsdlURL="resources/1.0.0/TaskSchedulerClient.wsdl"
> xmlns:cli="http://groupgti.com/esb/jobengines/client/service/GroupGtiSupportSystem/ClientSchedulerTarget"
>
> serviceName="cli:ClientSchedulerTargetService"
> endpointName="cli:ClientSchedulerPortTypeBindingPort"
> serviceClass="com.groupgti.esb.jobengines.client.service.groupgtisupportsystem.clientschedulertarget.ClientSchedulerTargetPortType"
>
> />
>
> These services are all on the same port, but different URLs.
> There are other services on other ports.
>
> The services are configured using fileinstall by simply dropping
> spring configuration files in a "deploy" directory (separate from the
> etc directory).
>
> I'm finding that fileinstall (or something on the same timeframe as
> fileinstall) is causing all of these spring bundles to restart, and
> they are failing to come back up.
> I think what is happening is that fileinstall is taking them down and
> bringing them back up at the same time, so some are going down whilst
> others are coming up and the ports are in use so it fails.
> I don't know why fileinstall is restarting these bundles, it shouldn't
> need to, nothing has changed.
>
> As a fix I'm looking at moving to use the OSGi HTTP transport rather
> than the direct Jetty one (thinking that this will mean the ports are
> always open, but it also fixes another problem I have with configuring
> the jetty engines).
>
> I know I can have the OSGi container listen on different ports, but is
> it possible to keep them separate?
> So port 8026, managed by PAX, only responds to this set of endpoints
> and not any other endpoints that may also be running (on other ports
> also managed by OSGi) in the same container.
>
> Thanks
>
> Jim
--
Christian Schneider
http://www.liquid-reality.de
Open Source Architect
Talend Application Integration Division http://www.talend.com