This project delivers a SOAP interface for the delivery of case lists from Libra. It will transform those feeds and place them on to a messaging infrastructure for consumption by other services. In the first place, this will be court-case-matcher.
https://github.com/ministryofjustice/court-case-matcher
For more informations, check our Runbook
Run the application as a Spring Boot app.
./gradlew bootRun
Syntax | Description | Example |
---|---|---|
soap-default-uri | The WS endpoint to call | http://localhost:8080/crime-portal-gateway/ws |
keystore-password | Password used for the JKS | changeit |
trusted-cert-alias-name | Alias for the trusted certicate in the JKS | client-public |
private-key-alias-name | Password used for the JKS | server |
The application is configured with a Spring health endpoint at the following location. It is customised to provide a status of the SQS queue.
http://localhost:8080/health/
There is also a "ping" endpoint available at
http://localhost:8080/health/ping
The generated WSDL will be available at the following location
http://localhost:8080/crime-portal-gateway/ws/ExternalDocumentRequest.wsdl
The application requires an Amazon SQS queue and S3 bucket to be configured. It is possible to run the application with the Spring "local" profile. This can be achieved by
- Launch localstack with configured services.
docker-compose up localstack
- Start the application
SPRING_PROFILES_ACTIVE=local SQS_QUEUE_NAME=crime-portal-gateway-queue AWS_SECRET_ACCESS_KEY=none AWS_ACCESS_KEY=none ./gradlew bootRun
- It is possible to execute the following command from the project root to call the SOAP endpoint.
curl --header "content-type: application/soap+xml" -d @src/test/resources/soap/sample-request.xml http://localhost:8080/crime-portal-gateway/ws
This command should submit the message to the local queue and will report back the message ID. The message can be retrieved from the queue with the AWS CLI with a command with this form. Note that the queue URL may well be the same but will have been reported back from the create-queue command in part 3.
aws --endpoint-url http://localhost:4566 sqs receive-message --queue-url http://localhost:4566/000000000000/crime-portal-gateway-queue
There is a SOAP-UI project in src/test/resources/soap-ui/single-case-simple.xml. Import this project to SOAP-UI and run it in the normal way.