parent
f1d0456ec5
commit
f1287f5bc5
@ -0,0 +1,8 @@
|
|||||||
|
auth {
|
||||||
|
mode: basic
|
||||||
|
}
|
||||||
|
|
||||||
|
auth:basic {
|
||||||
|
username:
|
||||||
|
password:
|
||||||
|
}
|
@ -0,0 +1,40 @@
|
|||||||
|
version: 1
|
||||||
|
|
||||||
|
dn: uid=cxfrs,ou=users,dc=example,dc=com
|
||||||
|
objectClass: inetOrgPerson
|
||||||
|
objectClass: organizationalPerson
|
||||||
|
objectClass: person
|
||||||
|
objectClass: top
|
||||||
|
cn: CXFRS server
|
||||||
|
sn: CXFRS
|
||||||
|
uid: cxfrs
|
||||||
|
userPassword:: e1NTSEF9QXhLYjdpeVNuWEhYMTBGaGxzU0RoOFdzU0d1VnpWbzJIcGFTcHc9P
|
||||||
|
Q==
|
||||||
|
|
||||||
|
dn: cn=backend,ou=groups,dc=example,dc=com
|
||||||
|
objectClass: groupOfNames
|
||||||
|
objectClass: top
|
||||||
|
cn: backend
|
||||||
|
member: cn=cxfrs,ou=users,dc=example,dc=com
|
||||||
|
|
||||||
|
dn: ou=groups,dc=example,dc=com
|
||||||
|
objectclass: organizationalUnit
|
||||||
|
objectclass: top
|
||||||
|
ou: groups
|
||||||
|
|
||||||
|
dn: ou=users,dc=example,dc=com
|
||||||
|
objectclass: organizationalUnit
|
||||||
|
objectclass: top
|
||||||
|
ou: users
|
||||||
|
|
||||||
|
dn: cn=server,ou=groups,dc=example,dc=com
|
||||||
|
objectClass: groupOfNames
|
||||||
|
objectClass: top
|
||||||
|
cn: server
|
||||||
|
member: cn=cxfrs,ou=users,dc=example,dc=com
|
||||||
|
|
||||||
|
dn: dc=example,dc=com
|
||||||
|
objectclass: domain
|
||||||
|
objectclass: top
|
||||||
|
dc: example
|
||||||
|
|
@ -1,91 +0,0 @@
|
|||||||
== Spring Boot Example with Camel exposing REST services using Apache CXF
|
|
||||||
|
|
||||||
=== Introduction
|
|
||||||
|
|
||||||
This example illustrates how to use https://projects.spring.io/spring-boot/[Spring Boot] with http://camel.apache.org[Camel]. It provides a simple REST service that is created using https://cxf.apache.org/[Apache CXF].
|
|
||||||
|
|
||||||
|
|
||||||
=== Build
|
|
||||||
|
|
||||||
You can build this example using:
|
|
||||||
|
|
||||||
$ mvn package
|
|
||||||
|
|
||||||
=== Run
|
|
||||||
|
|
||||||
You can run this example using:
|
|
||||||
|
|
||||||
$ mvn spring-boot:run
|
|
||||||
|
|
||||||
After the Spring Boot application is started, you can open the following URL in your web browser to access the list of services: http://localhost:8080/services/ including WADL definition
|
|
||||||
|
|
||||||
You can also access the REST endpoint from the command line:
|
|
||||||
|
|
||||||
List all the users
|
|
||||||
[source,text]
|
|
||||||
----
|
|
||||||
$ curl http://localhost:8080/services/api/user -s | jq .
|
|
||||||
----
|
|
||||||
|
|
||||||
The command will produce the following output:
|
|
||||||
|
|
||||||
[source,json]
|
|
||||||
----
|
|
||||||
[ {
|
|
||||||
"id" : 1,
|
|
||||||
"name" : "John Coltrane"
|
|
||||||
}, {
|
|
||||||
"id" : 2,
|
|
||||||
"name" : "Miles Davis"
|
|
||||||
}, {
|
|
||||||
"id" : 3,
|
|
||||||
"name" : "Sonny Rollins"
|
|
||||||
} ]
|
|
||||||
----
|
|
||||||
|
|
||||||
Retrieve a specific user
|
|
||||||
[source,text]
|
|
||||||
----
|
|
||||||
$ curl http://localhost:8080/services/api/user/1 -s | jq .
|
|
||||||
----
|
|
||||||
|
|
||||||
The command will produce the following output:
|
|
||||||
|
|
||||||
[source,json]
|
|
||||||
----
|
|
||||||
{
|
|
||||||
"id": 1,
|
|
||||||
"name": "John Coltrane"
|
|
||||||
}
|
|
||||||
----
|
|
||||||
|
|
||||||
Insert/update user
|
|
||||||
|
|
||||||
[source,text]
|
|
||||||
----
|
|
||||||
$ curl -X PUT http://localhost:8080/services/api/user --data '{"id":4,"name":"Charlie Parker"}' -H 'Content-Type: application/json' -v
|
|
||||||
----
|
|
||||||
|
|
||||||
The http status code of the response will be https://www.iana.org/assignments/http-status-codes/http-status-codes.xhtml#http-status-codes-1[201]
|
|
||||||
|
|
||||||
Moreover, the input user is validated according to the annotations on the link:src/main/java/org/apache/camel/example/springboot/cxf/User.java[User bean]
|
|
||||||
|
|
||||||
[source,text]
|
|
||||||
----
|
|
||||||
$ curl -X PUT http://localhost:8080/services/api/user --data '{"id":4,"name":"C"}' -H 'Content-Type: application/json'
|
|
||||||
----
|
|
||||||
|
|
||||||
will produce a validation error
|
|
||||||
|
|
||||||
|
|
||||||
The Spring Boot application can be stopped pressing `[CTRL] + [C]` in the shell.
|
|
||||||
|
|
||||||
=== Help and contributions
|
|
||||||
|
|
||||||
If you hit any problem using Camel or have some feedback, then please
|
|
||||||
https://camel.apache.org/community/support/[let us know].
|
|
||||||
|
|
||||||
We also love contributors, so
|
|
||||||
https://camel.apache.org/community/contributing/[get involved] :-)
|
|
||||||
|
|
||||||
The Camel riders!
|
|
@ -0,0 +1,98 @@
|
|||||||
|
**Please start the following services before testing**
|
||||||
|
|
||||||
|
1. ApacheDS Server 2.0.0.AM27
|
||||||
|
|
||||||
|
2. Apache ActiveMQ 6.1.5
|
||||||
|
|
||||||
|
|
||||||
|
**Startup screens**
|
||||||
|
|
||||||
|
1. ApacheDS Server 2.0.0.AM27
|
||||||
|
|
||||||
|
```
|
||||||
|
C:\Users\XXX\apacheds-2.0.0.AM28-SNAPSHOT\bin>apacheds.bat default start
|
||||||
|
Starting ApacheDS instance 'default'...
|
||||||
|
[20:22:19] WARN [org.apache.directory.api.ldap.model.entry.DefaultAttribute] - ERR_13207_VALUE_ALREADY_EXISTS The value '1.3.6.1.4.1.42.2.27.8.5.1' already exists in the attribute (supportedControl)
|
||||||
|
[20:22:19] WARN [org.apache.directory.api.ldap.model.entry.DefaultAttribute] - ERR_13207_VALUE_ALREADY_EXISTS The value '1.2.840.113556.1.4.841' already exists in the attribute (supportedControl)
|
||||||
|
[20:22:19] WARN [org.apache.directory.api.ldap.model.entry.DefaultAttribute] - ERR_13207_VALUE_ALREADY_EXISTS The value '1.3.6.1.4.1.4203.1.9.1.2' already exists in the attribute (supportedControl)
|
||||||
|
[20:22:19] WARN [org.apache.directory.api.ldap.model.entry.DefaultAttribute] - ERR_13207_VALUE_ALREADY_EXISTS The value '1.2.840.113556.1.4.319' already exists in the attribute (supportedControl)
|
||||||
|
[20:22:19] WARN [org.apache.directory.api.ldap.model.entry.DefaultAttribute] - ERR_13207_VALUE_ALREADY_EXISTS The value '1.2.840.113556.1.4.528' already exists in the attribute (supportedControl)
|
||||||
|
[20:22:19] WARN [org.apache.directory.api.ldap.model.entry.Value] - MSG_13202_AT_IS_NULL ()
|
||||||
|
[20:22:19] WARN [org.apache.directory.api.ldap.model.entry.Value] - MSG_13202_AT_IS_NULL ()
|
||||||
|
[20:22:19] WARN [org.apache.directory.api.ldap.model.entry.Value] - MSG_13202_AT_IS_NULL ()
|
||||||
|
[20:22:19] WARN [org.apache.directory.api.ldap.model.entry.Value] - MSG_13202_AT_IS_NULL ()
|
||||||
|
[20:22:19] WARN [org.apache.directory.api.ldap.model.entry.Value] - MSG_13202_AT_IS_NULL ()
|
||||||
|
[20:22:19] WARN [org.apache.directory.api.ldap.model.entry.Value] - MSG_13202_AT_IS_NULL ()
|
||||||
|
[20:22:19] WARN [org.apache.directory.api.ldap.model.entry.Value] - MSG_13202_AT_IS_NULL ()
|
||||||
|
[20:22:19] WARN [org.apache.directory.api.ldap.model.entry.Value] - MSG_13202_AT_IS_NULL ()
|
||||||
|
[20:22:19] WARN [org.apache.directory.api.ldap.model.entry.Value] - MSG_13202_AT_IS_NULL ()
|
||||||
|
[20:22:19] WARN [org.apache.directory.api.ldap.model.entry.Value] - MSG_13202_AT_IS_NULL ()
|
||||||
|
[20:22:19] WARN [org.apache.directory.api.ldap.model.entry.Value] - MSG_13202_AT_IS_NULL ()
|
||||||
|
[20:22:19] WARN [org.apache.directory.api.ldap.model.entry.Value] - MSG_13202_AT_IS_NULL ()
|
||||||
|
[20:22:19] WARN [org.apache.directory.api.ldap.model.entry.Value] - MSG_13202_AT_IS_NULL ()
|
||||||
|
[20:22:19] WARN [org.apache.directory.server.core.DefaultDirectoryService] - You didn't change the admin password of directory service instance 'default'. Please update the admin password as soon as possible to prevent a possible security breach.
|
||||||
|
_ _ ____ ____
|
||||||
|
/ \ _ __ ___ ___| |__ ___| _ \/ ___|
|
||||||
|
/ _ \ | '_ \ / _` |/ __| '_ \ / _ \ | | \___ \
|
||||||
|
/ ___ \| |_) | (_| | (__| | | | __/ |_| |___) |
|
||||||
|
/_/ \_\ .__/ \__,_|\___|_| |_|\___|____/|____/
|
||||||
|
|_|
|
||||||
|
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
2. Apache ActiveMQ 6.1.5
|
||||||
|
|
||||||
|
```
|
||||||
|
C:\Users\XXX\apache-activemq-6.1.5\bin>activemq start
|
||||||
|
|
||||||
|
Warning: JAVA_HOME environment variable is not set.
|
||||||
|
|
||||||
|
Java Runtime: Oracle Corporation 17.0.14 C:\Users\XXX\graalvm-jdk-17.0.14+8.1
|
||||||
|
Heap sizes: current=1048576k free=1039360k max=1048576k
|
||||||
|
JVM args: -XX:ThreadPriorityPolicy=1 -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCIProduct -XX:-UnlockExperimentalVMOptions -Dcom.sun.management.jmxremote -Xms1G -Xmx1G -Djava.util.logging.config.file=logging.properties -Djava.security.auth.login.config=C:\Users\XXX\apache-activemq-6.1.5\bin\..\conf\login.config -Dactivemq.classpath=C:\Users\XXX\apache-activemq-6.1.5\bin\..\conf;C:\Users\XXX\apache-activemq-6.1.5\bin\../conf;C:\Users\XXX\apache-activemq-6.1.5\bin\../conf; -Dactivemq.home=C:\Users\XXX\apache-activemq-6.1.5\bin\.. -Dactivemq.base=C:\Users\XXX\apache-activemq-6.1.5\bin\.. -Dactivemq.conf=C:\Users\XXX\apache-activemq-6.1.5\bin\..\conf -Dactivemq.data=C:\Users\XXX\apache-activemq-6.1.5\bin\..\data -Djolokia.conf=file:C:\\Users\\XXX\\apache-activemq-6.1.5\\bin\\..\\conf\\jolokia-access.xml -Djava.io.tmpdir=C:\Users\XXX\apache-activemq-6.1.5\bin\..\data\tmp
|
||||||
|
Extensions classpath:
|
||||||
|
[C:\Users\XXX\apache-activemq-6.1.5\bin\..\lib,C:\Users\XXX\apache-activemq-6.1.5\bin\..\lib\camel,C:\Users\XXX\apache-activemq-6.1.5\bin\..\lib\optional,C:\Users\XXX\apache-activemq-6.1.5\bin\..\lib\web,C:\Users\XXX\apache-activemq-6.1.5\bin\..\lib\extra]
|
||||||
|
ACTIVEMQ_HOME: C:\Users\XXX\apache-activemq-6.1.5\bin\..
|
||||||
|
ACTIVEMQ_BASE: C:\Users\XXX\apache-activemq-6.1.5\bin\..
|
||||||
|
ACTIVEMQ_CONF: C:\Users\XXX\apache-activemq-6.1.5\bin\..\conf
|
||||||
|
ACTIVEMQ_DATA: C:\Users\XXX\apache-activemq-6.1.5\bin\..\data
|
||||||
|
Loading message broker from: xbean:activemq.xml
|
||||||
|
INFO | Using Persistence Adapter: KahaDBPersistenceAdapter[C:\Users\XXX\apache-activemq-6.1.5\bin\..\data\kahadb]
|
||||||
|
INFO | Starting Persistence Adapter: KahaDBPersistenceAdapter[C:\Users\XXX\apache-activemq-6.1.5\bin\..\data\kahadb]
|
||||||
|
INFO | Starting KahaDBStore
|
||||||
|
INFO | Opening MessageDatabase
|
||||||
|
INFO | Page File: C:\Users\XXX\apache-activemq-6.1.5\bin\..\data\kahadb\db.data. Recovering pageFile free list due to prior unclean shutdown..
|
||||||
|
INFO | KahaDB is version 7
|
||||||
|
INFO | Page File: C:\Users\XXX\apache-activemq-6.1.5\bin\..\data\kahadb\db.data. Recovered pageFile free list of size: 0
|
||||||
|
INFO | Starting Temp Data Store
|
||||||
|
INFO | PListStore:[C:\Users\XXX\apache-activemq-6.1.5\bin\..\data\localhost\tmp_storage] started
|
||||||
|
INFO | Starting Job Scheduler Store
|
||||||
|
INFO | Persistence Adapter successfully started
|
||||||
|
INFO | Apache ActiveMQ 6.1.5 (localhost, ID:DESKTOP-66E87L5-60208-1739018831814-0:1) is starting
|
||||||
|
INFO | Listening for connections at: tcp://DESKTOP-66E87L5:61616?maximumConnections=1000&wireFormat.maxFrameSize=104857600
|
||||||
|
INFO | Connector openwire started
|
||||||
|
INFO | Listening for connections at: amqp://DESKTOP-66E87L5:5672?maximumConnections=1000&wireFormat.maxFrameSize=104857600
|
||||||
|
INFO | Connector amqp started
|
||||||
|
INFO | Listening for connections at: stomp://DESKTOP-66E87L5:61613?maximumConnections=1000&wireFormat.maxFrameSize=104857600
|
||||||
|
INFO | Connector stomp started
|
||||||
|
INFO | Listening for connections at: mqtt://DESKTOP-66E87L5:1883?maximumConnections=1000&wireFormat.maxFrameSize=104857600
|
||||||
|
INFO | Connector mqtt started
|
||||||
|
INFO | Starting Jetty server
|
||||||
|
INFO | Creating Jetty connector
|
||||||
|
WARN | ServletContext@o.e.j.s.ServletContextHandler@33425811{/,null,STARTING} has uncovered HTTP methods for the following paths: [/]
|
||||||
|
INFO | Listening for connections at ws://DESKTOP-66E87L5:61614?maximumConnections=1000&wireFormat.maxFrameSize=104857600
|
||||||
|
INFO | Connector ws started
|
||||||
|
INFO | Apache ActiveMQ 6.1.5 (localhost, ID:DESKTOP-66E87L5-60208-1739018831814-0:1) started
|
||||||
|
INFO | For help or more information please see: http://activemq.apache.org
|
||||||
|
INFO | ActiveMQ WebConsole available at http://127.0.0.1:8161/
|
||||||
|
INFO | ActiveMQ Jolokia REST API available at http://127.0.0.1:8161/api/jolokia/
|
||||||
|
```
|
||||||
|
|
||||||
|
**Setup**
|
||||||
|
|
||||||
|
* Please see conf/springboot.yml for LDAP/ActiveMQ Address
|
||||||
|
|
||||||
|
* For LDAP group and user setup, see misc/ldapdb.ldif
|
||||||
|
|
||||||
|
|
Loading…
Reference in new issue