Setup
The example project consists of three parts.
- A studio model that contains two projects where the
AQ_SoapServiceClient
services are modeled. (Blue) - A soap service with different endpoints that can be called by the projects. (Grey)
- The
application.properties
and keystore. (Pink)
Studio
Import the attached branch (studio branch) in Blueriq studio
. The branch contains two projects, one internal library and three external libraries. In the picture you can see an overview of the projects.
The two studio projects have the same module structure with different WSDL's. One project contains a WSDL for SOAP 1.1
and the other project contains a WSDL for SOAP 1.2
.
Soap service
The soap service application can be downloaded here:
UI Button |
---|
size | small |
---|
icon | download |
---|
title | soap-service |
---|
url | https://my.blueriq.com/plugins/servlet/download/confluence-users/soap-service.zip |
---|
|
To start the soap-service
use soap-service/start-soap-service.bat
Info |
---|
|
You can set the port the service is running on in the included application.properties . When this port is changed also the connections in the application.properties of the runtime have to be changed. |
Runtime
To be able to run these projects the following configurations have to be made:
- The path for the
filesystemconnection
and the path for the keystore
have to be set in the application.properties
file. - The various connections used by the example project have to be configured (see example below)
The application.properties
and the keystore
can be downloaded here.
UI Expand |
---|
title | application.properties |
---|
|
Code Block |
---|
blueriq.connection.filesystemconnection.filesystem.path=D:/path/to/uploads
# timeout
blueriq.connection.GetPerson11.soap.timeout=2000
blueriq.connection.GetPerson12.soap.timeout=2000
# dynamic urls
blueriq.connection.TenantA11.soap.url=http://localhost:8080/soap11/a
blueriq.connection.TenantB11.soap.url=http://localhost:8080/soap11/b
blueriq.connection.TenantA12.soap.url=http://localhost:8080/soap12/a
blueriq.connection.TenantB12.soap.url=http://localhost:8080/soap12/b
# security: basic authentication
blueriq.connection.basic11.soap.url=http://localhost:8080/soap11/basicAuthentication
blueriq.connection.basic11.soap.username=user
blueriq.connection.basic11.soap.password=password
blueriq.connection.basic12.soap.url=http://localhost:8080/soap12/basicAuthentication
blueriq.connection.basic12.soap.username=user
blueriq.connection.basic12.soap.password=password
# security: username token + plain password
blueriq.connection.usernameTokenPlain11.soap.url=http://localhost:8080/soap11/userNameToken
blueriq.connection.usernameTokenPlain11.soap.security.implementations=UsernameTokenPlain
blueriq.connection.usernameTokenPlain12.soap.url=http://localhost:8080/soap12/userNameToken
blueriq.connection.usernameTokenPlain12.soap.security.implementations=UsernameTokenPlain
# security: username token + password digest
blueriq.connection.usernameTokenDigest11.soap.url=http://localhost:8080/soap11/userNameToken
blueriq.connection.usernameTokenDigest11.soap.security.implementations=UsernameTokenDigest
blueriq.connection.usernameTokenDigest12.soap.url=http://localhost:8080/soap12/userNameToken
blueriq.connection.usernameTokenDigest12.soap.security.implementations=UsernameTokenDigest
# security: signature
blueriq.connection.signing11.soap.url=http://localhost:8080/soap11/signature
blueriq.connection.signing11.soap.security.implementations=Signature
blueriq.connection.signing12.soap.url=http://localhost:8080/soap12/signature
blueriq.connection.signing12.soap.security.implementations=Signature
# security: timestamp
blueriq.connection.timestamp11.soap.url=http://localhost:8080/soap11/timestamp
blueriq.connection.timestamp11.soap.security.implementations=Timestamp
blueriq.connection.timestamp12.soap.url=http://localhost:8080/soap12/timestamp
blueriq.connection.timestamp12.soap.security.implementations=Timestamp
# security: encryption
blueriq.connection.encryption11.soap.url=http://localhost:8080/soap11/encryption
blueriq.connection.encryption11.soap.security.implementations=Encryption
blueriq.connection.encryption12.soap.url=http://localhost:8080/soap12/encryption
blueriq.connection.encryption12.soap.security.implementations=Encryption
# security: signature + timestamp + encryption
blueriq.connection.signingTimestampEncryption11.soap.url=http://localhost:8080/soap11/x509
blueriq.connection.signingTimestampEncryption11.soap.security.implementations=Signature,Timestamp,Encryption
blueriq.connection.signingTimestampEncryption12.soap.url=http://localhost:8080/soap12/x509
blueriq.connection.signingTimestampEncryption12.soap.security.implementations=Signature,Timestamp,Encryption
# security implementations
blueriq.soap.security.usernametoken.UsernameTokenPlain.username=user1
blueriq.soap.security.usernametoken.UsernameTokenPlain.password=password1
blueriq.soap.security.usernametoken.UsernameTokenPlain.password-type=PasswordText
blueriq.soap.security.usernametoken.UsernameTokenDigest.username=user1
blueriq.soap.security.usernametoken.UsernameTokenDigest.password=password1
blueriq.soap.security.usernametoken.UsernameTokenDigest.password-type=PasswordDigest
blueriq.soap.security.signature.Signature.keystore-alias=keypair1
blueriq.soap.security.signature.Signature.keystore-password=welcome
blueriq.soap.security.signature.Signature.identifier=IssuerSerial
blueriq.soap.security.timestamp.Timestamp.timestampPrecisionInMilliseconds=true
blueriq.soap.security.encryption.Encryption.keystore-alias=keypair1
blueriq.soap.security.encryption.Encryption.identifier=IssuerSerial
blueriq.soap.security.encryption.Encryption.algorithm=http://www.w3.org/2001/04/xmlenc#aes128-cbc
# NOTE: update the path to the keystore
blueriq.security.keystore.location=D:/path/to/keystore.jks
blueriq.security.keystore.password=welcome |
|
Warning |
---|
|
In production, the passwords should be encrypted. |
Info |
---|
|
Do not forget to updated the paths for the filesystemconnection connection and the keystore . |
Now the project can be started.