I think you are missing:
<endpointProperty key="servletName" value="APIISP001”/> In the <restConfiguration> Best regards, Alex soto > On Aug 18, 2020, at 3:32 AM, Gerald Kallas <catsh...@mailbox.org> wrote: > > Thanks for the hint. But it doesn't work either. I modified my Blueprint as > following > > <blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0" > > xmlns:ext="http://aries.apache.org/blueprint/xmlns/blueprint-ext/v1.0.0" > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > > xsi:schemaLocation="http://www.osgi.org/xmlns/blueprint/v1.0.0 > https://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd"> > > <camelContext id="isp.api.APIISP001" > xmlns="http://camel.apache.org/schema/blueprint" streamCache="true" > useBreadcrumb="true"> > > > <!--********************************************************************************--> > <!-- REST API > --> > > <!--********************************************************************************--> > > <restConfiguration component="servlet" contextPath="/apiisp001" > bindingMode="json" scheme="https" port="8443"> > <dataFormatProperty key="prettyPrint" value="true" /> > <apiProperty key="base.path" value="/apiisp001" /> > <apiProperty key="api.description" value="APIISP001 - > Test API" /> > <apiProperty key="api.title" value="APIISP001" /> > <apiProperty key="api.version" value="1.0.0" /> > </restConfiguration> > > <!-- REST endpoints --> > <rest path="/base"> > <get uri="/1" id="isp.api.APIISP001.get.1"> > <route> > <!-- send the chunk to direct --> > <to uri="direct-vm:APIISP001.1"/> > </route> > </get> > </rest> > > </camelContext> > > </blueprint> > > The (untertow) web server runs with HTTPS on port 8443, other servlets are > working. I tried > > https://localhost:8443/apiisp001/base/1 > > where I'd expect the response but did get a HTTP 404 error. > > Any hints are appreciated. > > See also the log for deployment > > 2020-08-18T07:31:28,421 | INFO | fileinstall-/opt/apache-karaf-4.2.9/deploy > | BlueprintContainerImpl | 105 - org.apache.aries.blueprint.core - > 1.10.2 | Blueprint bundle isp.api.APIISP001.xml/0.0.0 has been started > 2020-08-18T07:31:28,432 | INFO | Blueprint Event Dispatcher: 1 | > BlueprintCamelContext | 169 - > org.apache.camel.karaf.camel-blueprint - 3.4.2 | Attempting to start > CamelContext: isp.api.APIISP001 > 2020-08-18T07:31:28,437 | INFO | Blueprint Event Dispatcher: 1 | > JmxManagementStrategy | 144 - org.apache.camel.camel-management - > 3.4.2 | JMX is enabled > 2020-08-18T07:31:28,484 | INFO | Blueprint Event Dispatcher: 1 | > AbstractCamelContext | 115 - org.apache.camel.camel-base - 3.4.2 > | Apache Camel 3.4.2 (isp.api.APIISP001) is starting > 2020-08-18T07:31:28,484 | INFO | Blueprint Event Dispatcher: 1 | > AbstractCamelContext | 115 - org.apache.camel.camel-base - 3.4.2 > | StreamCaching is enabled on CamelContext: isp.api.APIISP001 > 2020-08-18T07:31:28,546 | INFO | Blueprint Event Dispatcher: 1 | > AbstractCamelContext | 115 - org.apache.camel.camel-base - 3.4.2 > | Using HealthCheck: camel-health > 2020-08-18T07:31:28,592 | INFO | Blueprint Event Dispatcher: 1 | > DefaultStreamCachingStrategy | 115 - org.apache.camel.camel-base - 3.4.2 > | StreamCaching in use with spool directory: > /opt/apache-karaf/data/tmp/camel/camel-tmp-ID-43c92ad4274c-1597499175862-121-1 > and rules: [Spool > 128K body size] > 2020-08-18T07:31:28,593 | INFO | Blueprint Event Dispatcher: 1 | > JacksonDataFormat | 137 - org.apache.camel.camel-jackson - > 3.4.2 | The option autoDiscoverObjectMapper is set to false, Camel won't > search in the registry > 2020-08-18T07:31:28,594 | INFO | Blueprint Event Dispatcher: 1 | > JacksonDataFormat | 137 - org.apache.camel.camel-jackson - > 3.4.2 | The option autoDiscoverObjectMapper is set to false, Camel won't > search in the registry > 2020-08-18T07:31:28,625 | INFO | Blueprint Event Dispatcher: 1 | > InternalRouteStartupManager | 115 - org.apache.camel.camel-base - 3.4.2 > | Route: isp.api.APIISP001.get.1 started and consuming from: > servlet:/apiisp001/1 > 2020-08-18T07:31:28,626 | INFO | Blueprint Event Dispatcher: 1 | > AbstractCamelContext | 115 - org.apache.camel.camel-base - 3.4.2 > | Total 1 routes, of which 1 are started > 2020-08-18T07:31:28,626 | INFO | Blueprint Event Dispatcher: 1 | > AbstractCamelContext | 115 - org.apache.camel.camel-base - 3.4.2 > | Apache Camel 3.4.2 (isp.api.APIISP001) started in 0.142 seconds > 2020-08-18T07:31:28,643 | INFO | fileinstall-/opt/apache-karaf-4.2.9/deploy > | fileinstall | 10 - org.apache.felix.fileinstall - > 3.6.6 | Started bundle: > blueprint:file:/opt/apache-karaf-4.2.9/deploy/isp.api.APIISP001.xml > > Best > Gerald > >> Daniel Langevin <daniel.lange...@shq.gouv.qc.ca> hat am 17.08.2020 17:44 >> geschrieben: >> >> >> Hi, >> >> you have to specify the default http port number : 8181 for CamelServlet >> >> like this: >> >> http://servername.org:8181/apiisp001/1 >> >> >> >> >> Daniel Langevin >> Direction de l’assistance et des technologies >> Direction des ressources informationnelles >> >> Société d’habitation du Québec >> Édifice Marie-Guyart >> 1054, rue Louis-Alexandre-Taschereau >> Aile Jacques-Parizeau, 1er étage >> Québec (Québec) G1R 5E7 >> Téléphone : 418 643-4035, poste 1191 >> Sans frais : 1 800 463-4315 >> >> >> >> >> >>>>> >> De : Gerald Kallas <catsh...@mailbox.org> >> À : "users@camel.apache.org" <users@camel.apache.org> >> Date : 2020-08-17 11:22 >> Objet : Camel REST DSL with servlet - API URL? >> >> Dear all, >> >> I'm going to configure a REST API similar to a (working) HTTP consumer. I >> tried several URLs to call the API operation but get always a HTTP 404. >> >> Do I miss someting (e.g. the reference to the servletName)? Can someone >> point me out which is the API URL for the get operation in my case? >> >> Thanks in advance >> Gerald >> >> >> My Blueprint DSL see below .. >> >> <blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0" >> >> xmlns:ext="http://aries.apache.org/blueprint/xmlns/blueprint-ext/v1.0.0" >> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >> >> xsi:schemaLocation="http://www.osgi.org/xmlns/blueprint/v1.0.0 >> https://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.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.osgi.OsgiServletRegisterer" >> init-method="register" >> destroy-method="unregister"> >> <property name="servletName" value="APIISP001" /> >> <property name="alias" value="/apiisp001" /> >> <property name="httpService" ref="httpService" /> >> <property name="servlet" ref="camelServlet" /> >> </bean> >> >> <bean id="servlet" >> class="org.apache.camel.component.servlet.ServletComponent" /> >> >> <camelContext id="isp.api.APIISP001" >> xmlns="http://camel.apache.org/schema/blueprint" streamCache="true" >> useBreadcrumb="true"> >> >> >> <!--********************************************************************************--> >> <!-- REST API >> --> >> >> <!--********************************************************************************--> >> >> <restConfiguration component="servlet" contextPath="/apiisp001" >> bindingMode="json"> >> <dataFormatProperty key="prettyPrint" value="true" /> >> <apiProperty key="base.path" value="/apiisp001" /> >> <apiProperty key="api.description" value="APIISP001 - >> Test API" /> >> <apiProperty key="api.title" value="APIISP001" /> >> <apiProperty key="api.version" value="1.0.0" /> >> </restConfiguration> >> >> <!-- REST endpoints --> >> <rest path="/apiisp001"> >> <get uri="/1" id="isp.api.APIISP001.get.1"> >> <route> >> <!-- send the chunk to direct --> >> <to uri="direct-vm:APIISP001.1"/> >> </route> >> </get> >> </rest> >> >> </camelContext> >> >> </blueprint> >> >> One example for a working HTTP consumer find below >> >> <blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0" >> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >> xsi:schemaLocation="http://www.osgi.org/xmlns/blueprint/v1.0.0 >> https://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.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.osgi.OsgiServletRegisterer" >> init-method="register" >> destroy-method="unregister"> >> <property name="servletName" value="WEB2SFO" /> >> <property name="alias" value="/web2sfo" /> >> <property name="httpService" ref="httpService" /> >> <property name="servlet" ref="camelServlet" /> >> </bean> >> >> <bean id="servlet" >> class="org.apache.camel.component.servlet.ServletComponent" /> >> >> <camelContext xmlns="http://camel.apache.org/schema/blueprint"> >> <route> >> <from uri="servlet://get?servletName=WEB2SFO" /> >> <setBody> >> <constant>execution of /web2sfo/get</constant> >> </setBody> >> </route> >> </camelContext> >> >> </blueprint> >> >> Here I could later on add a security definition that works well.