...
The example project consists of three parts.
- A studio Blueriq model that contains two projects where the the
AQ_SoapServiceClient
services are modeled. - The runtime properties.
- (Blue)
- A soap service with different endpoints that can be called by the projectprojects.
...
- (Grey)
- The
application.properties
and keystore. (Pink)
...
Encore
Import the attached branch (studio branch) in Blueriq studio
in Blueriq Encore. The branch contains two projects, one internal library and three external libraries. In the picture you can see an overview of the projects.Image Removed
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
.
Image Removed
Runtime
conf.zip
Web service security stub
The web service security stub application can be downloaded here (in parts):
web-service-security-stub-0.0.32.zip.001, web-service-security-stub-0.0.32.zip.002 and web-service-security-stub-0.0.32.zip.003
To start the web-service-security-stub
use start-web-service-security-stub.bat (Java 11 is needed)
Runtime
To To be able to run these projects the following configurations has have to be made:
- The path for the the
filesystemconnection
and and the path for the the keystore
has have to be set in the the application.properties
file. The example keystore can be downloaded in the downloads section. 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(NOTE: username token +is 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
no longer implemented in Blueriq 15)
# security: signature
blueriq.connection.signing11.soap.url=http://localhost:8080/soap11/signature
blueriq.connection.signing11.soap.security.implementationsinterceptors=SignatureSignatureInterceptor
blueriq.connection.signing12.soap.url=http://localhost:8080/soap12/signature
blueriq.connection.signing12.soap.security.implementationsinterceptors=SignatureSignatureInterceptor
# security: timestamp
blueriq.connection.timestamp11.soap.url=http://localhost:8080/soap11/timestamp
blueriq.connection.timestamp11.soap.security.implementationsinterceptors=TimestampTimestampInterceptor
blueriq.connection.timestamp12.soap.url=http://localhost:8080/soap12/timestamp
blueriq.connection.timestamp12.soap.security.implementationsinterceptors=TimestampTimestampInterceptor
# security: encryption
blueriq.connection.encryption11.soap.url=http://localhost:8080/soap11/encryption
blueriq.connection.encryption11.soap.security.implementationsinterceptors=EncryptionEncryptionInterceptor
blueriq.connection.encryption12.soap.url=http://localhost:8080/soap12/encryption
blueriq.connection.encryption12.soap.security.implementationsinterceptors=EncryptionEncryptionInterceptor
# security: signature + timestamp + encryption
blueriq.connection.signingTimestampEncryption11.soap.url=http://localhost:8080/soap11/x509
blueriq.connection.signingTimestampEncryption11.soap.security.implementationsinterceptors=SignatureSignatureInterceptor,TimestampTimestampInterceptor,EncryptionEncryptionInterceptor
blueriq.connection.signingTimestampEncryption12.soap.url=http://localhost:8080/soap12/x509
blueriq.connection.signingTimestampEncryption12.soap.security.implementationsinterceptors=SignatureSignatureInterceptor,TimestampTimestampInterceptor,EncryptionEncryptionInterceptor
# security implementations
blueriq.soap.security.usernametoken.UsernameTokenPlain.username=user1 interceptors (NOTE: username token is no longer implemented in Blueriq 15)
blueriq.soap.security.usernametoken.UsernameTokenPlain.password=password1
blueriq.soap.interceptors.security.usernametokenSignatureInterceptor.UsernameTokenPlain.password-type=PasswordText
blueriq.soap.security.usernametoken.UsernameTokenDigest.username=user1request.signature.enabled=true
blueriq.soap.security.usernametoken.UsernameTokenDigest.password=password1
blueriq.soapinterceptors.security.usernametokenSignatureInterceptor.UsernameTokenDigest.password-type=PasswordDigest
blueriq.soap.security.signature.Signature.keystorerequest.signature.key-alias=keypair1web-service
blueriq.soap.security.signature.Signature.keystore-password=welcome
blueriq.soap.interceptors.security.signature.Signature.identifier=IssuerSerial
blueriq.soap.security.timestamp.Timestamp.timestampPrecisionInMilliseconds=true
blueriqTimestampInterceptor.request.timestamp.enabled=true blueriq.soap.interceptors.security.EncryptionInterceptor.request.encryption.Encryption.keystore-alias=keypair1enabled=true
blueriq.soap.interceptors.security.encryptionEncryptionInterceptor.Encryption.identifier=IssuerSerial
blueriq.soap.security.encryption.Encryption.algorithm=http://www.w3.org/2001/04/xmlenc#aes128-cbc
request.encryption.key-alias=web-service
# NOTE: update the path to the keystore
blueriq.security.keystore.location=D:/path/to/keystore.jks
blueriq.security.keystore.password=welcome |
|
...
Info |
---|
|
Do not forget to updated the paths for the filesystemconnection connection and the keystore . |
Soap service
To start the soap-service use soap-service/soap-service.bat
...
Now the project can be started.
Optional Port Change
In case there is a need to change the port number the following needs to be done:
- Change the value of property
server.port
in the application.properties
file you just downloaded to the desired port number. - When this port is changed also the connections of the runtime in the
application.properties
file you just downloaded have to be changed. - Additionally as we are dealing with a WSDL the contract also has to be altered. So the soap service location has to be overruled with the correct URL and port number (search for
<soap:address location="..."/>
). This location is created when importing the WSDL into Blueriq. To change the WSDL there are two options:- Import a new WSDL with the port number changed beforehand
- Provide the actual location as a URL parameter for each AQ_SoapServiceClient call. This is a change to all occurrences of AQ_SoapServiceClient calls in your model.
...