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)
![](/download/attachments/5492712/image2017-6-12%2017%3A2%3A17.png?version=1&modificationDate=1497279738200&api=v2)
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.
![](/download/thumbnails/5492712/image2017-6-12%2017%3A17%3A50.png?version=1&modificationDate=1497280670840&api=v2)
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
.
![](/download/attachments/5492712/image2017-6-12%2017%3A21%3A1.png?version=1&modificationDate=1497280862177&api=v2)
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.