Hi,

before open the case i tried to include theese lines into my SPRING
Bundle. (i don't use BLUEPRINT)



<beans xmlns="http://www.springframework.org/schema/beans";
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
       xmlns:camel="http://camel.apache.org/schema/spring";
       xmlns:cxf="http://camel.apache.org/schema/cxf";
       xsi:schemaLocation="
          http://www.springframework.org/schema/beans 
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd 
          http://camel.apache.org/schema/cxf 
http://camel.apache.org/schema/cxf/camel-cxf.xsd 
          http://camel.apache.org/schema/spring   
http://camel.apache.org/schema/spring/camel-spring-2.17.7.xsd";>

<reference id="httpService"
interface="org.osgi.service.http.HttpService"/>

<bean id="camelservlet"
class="org.apache.camel.component.servlet.CamelHttpTransportServlet"/>
<bean
class="org.apache.camel.component.servlet.osgi.OsgiServletRegisterer"
       init-method="register"
       destroy-method="unregister">
    <property name="alias" value="/rest"/>
    <property name="httpService" ref="httpService"/>
    <property name="servlet" ref="camelServlet"/>
</bean>

but i received error on deployement.

org.xml.sax.SAXParseException: cvc-complex-type.2.4.a: Invalid content
was found starting with element 'reference'

Do i missed something in my Beans declaration ?



Daniel






>>> Kerry <karaf-u...@avionicengineers.com> 2017-11-28 14:34 >>>
Hi,

I have achieve the exact same thing Daniel (based upon the
camel-example-servlet-rest-blueprint example available in the GitHub
repo)

My (rough) example can be found here: https://github.com/jtkb/cameltest


The two bundles of interest are the 'api' and 'time-api' Maven modules.
Take a look at the blueprint XML files under
resources/OSGI-INF/blueprint.

you'll see the the root context path for both bundles is
/camel-example-res-blueprint/rest (although for the api bundle it
extends it further with /user - never tried it without but could be
worth checking)

Pay close attention to to the restConfiguration and servletName.

BTW, this example as it stands isn't great as it has circular package
dependencies - I need to fix that.

Kerry


On 28/11/17 16:05, Daniel Langevin wrote:
> Hi,
>
> i try to implement a Rest service In OSGI Karaf 4.0.9  with Camel
2.17.7
> i want to have multiple REST service from more than one bundle using
the same port number
>
> like this.
>
> A)  file name ABC-REST-0.0.1.XML deployed containg all routes for the
system ABC.
>
> <restConfiguration bindingMode="auto" component="restlet' port="9101"
contextPath="/rest/ABC" />
> <rest path="/SendMail">
>   <get uri="/{abcIdMail}">
>        <to pattern="InOut" uri="direct:abcProcMail"/>
>   </get>
> </rest>
> ...
>
> call the service with http://serverName:9101/rest/ABC/Sendmail/nnn 
> recevie a 200 OK
>
>
> B) file name XYZ-REST-0.0.1.XML deployed containg all routes for the
system XYZ.
>
> <restConfiguration bindingMode="auto" component="restlet' port="9102"
contextPath="/rest/XYZ" />
> <rest path="/GetQuote">
>   <get uri="/{abcIdQuote}">
>        <to pattern="InOut" uri="direct:xyzProcQuote"/>
>   </get>
> </rest>
> ...
> call the service with http://serverName:9102/rest/XYZ/getQuote/nnn 
> receive a 200 OK
>
> I want to be able to bind all my rest services on the same port using
http servlet , like this ( no error on deployement )
>
> C) file name ABC-REST-0.0.1.XML containg all routes for the system
ABC.
>
> <restConfiguration bindingMode="auto" component="servlet' port="8181"
contextPath="/rest/ABC" />
> <rest path="/SendMail">
>   <get uri="/{abcIdMail}">
>        <to pattern="InOut" uri="direct:abcProcMail"/>
>   </get>
> </rest>
> ...
> call the service with http://serverName:8181/rest/XYZ/getQuote/nnn 
> receive a 404 url not found
>
>
> aD)file name XYZ-REST-0.0.1.XML containg all routes for the system
XYZ.
>
> <r
estConfiguration bindingMode="auto" component="servlet' port="8181"
contextPath="/rest/XYZ" />
> <rest path="/GetQuote">
>   <get uri="/{abcIdQuotel}">
>        <to pattern="InOut" uri="direct:xyzProcQuote"/>
>   </get>
> </rest>
> ...
> call the service with http://serverName:8181/rest/XYZ/getQuote/nnn 
> receive a 404 url not found
>
>
>
> What i missed ?
> Do i have to refered the http servlet someware in my camel Context ?
>
>
> Thank's
>
>
> Daniel Langevin
>
>
>
>
>
>
>
>
>
>
>
> "Le présent courriel peut contenir des renseignements confidentiels
et ne s'adresse qu'au destinataire dont le nom apparaît ci-dessus. Si ce
courriel vous est parvenu par mégarde, veuillez le supprimer et nous en
aviser aussitôt."
>



"Le présent courriel peut contenir des renseignements confidentiels et ne 
s'adresse qu'au destinataire dont le nom apparaît ci-dessus. Si ce courriel 
vous est parvenu par mégarde, veuillez le supprimer et nous en aviser aussitôt."

Reply via email to