aboutsummaryrefslogtreecommitdiff
path: root/src/main/resources
diff options
context:
space:
mode:
authorChristof Rabensteiner <christof.rabensteiner@iaik.tugraz.at>2019-07-18 09:23:00 +0200
committerChristof Rabensteiner <christof.rabensteiner@iaik.tugraz.at>2019-07-18 09:23:00 +0200
commit6d30f261c618a3b69a8f1be092056383e6dea424 (patch)
tree86a5674d17a2d11c6ec327d4e36e8f589e2bbf7b /src/main/resources
parentf2e1263702901581512131ea587fad7a2ba45baa (diff)
downloadmoa-zs-6d30f261c618a3b69a8f1be092056383e6dea424.tar.gz
moa-zs-6d30f261c618a3b69a8f1be092056383e6dea424.tar.bz2
moa-zs-6d30f261c618a3b69a8f1be092056383e6dea424.zip
Integrate Mzs Service Timeout and Handle Async Responses
- Service Timeout : Add service timeout to mzs schema (DeliveryRequest / Config), application.yaml, convert service timeout from spring environment to Config, and merge service timeouts in Configs. - Handling of Asynchronous DeliveryRequestStatus: Move "Applying Response Sinks" from backend into dedicated component "MsgResponseSinkHub" and integrate SinkHub into MzsService (apply sinks to asynchronous responses). - Remove line breaks in SignatureVerifier's log statements. - Revise documentation of parameters in application.yaml.
Diffstat (limited to 'src/main/resources')
-rw-r--r--src/main/resources/application.yaml129
-rw-r--r--src/main/resources/mzs/app2mzs.xsd1
2 files changed, 109 insertions, 21 deletions
diff --git a/src/main/resources/application.yaml b/src/main/resources/application.yaml
index 53d1951..7e2797f 100644
--- a/src/main/resources/application.yaml
+++ b/src/main/resources/application.yaml
@@ -1,4 +1,4 @@
-### Logging
+# Optional
logging:
level:
root: WARN
@@ -9,49 +9,118 @@ logging:
SignatureVerifier: DEBUG
LogResponseSink: INFO
-# Default type for java's ssl key/trust store
+# Mandatory
+# Default type for java's ssl key/trust store. When in doubt, set to
+# jks.
javax.net.ssl:
keyStoreType: jks
trustStoreType: jks
-# Configure parameters here or in DeliveryRequest/Config.
-# Choose a profile in DeliveryRequest/Config/ProfileId.
-# If a parameter is missing, moa zs falls back to "default"
-# Order: DeliveryRequest/Config > [chosen-profile] > default
+# Mandatory
+# Defines configuration profiles. Each profile contains all parameters
+# that are interpreted by moa-zs to determine how a delivery request
+# should be processed. Configure parameters here and/or in
+# DeliveryRequest/Config. You can select a profile per delivery
+# request by referring to the profile id in
+# DeliveryRequest/Config/ProfileId. If a parameter is missing, moa-zs
+# falls back to "default" You can override parameters in profiles.
+# Parameter have the following (descending) priority:
+# DeliveryRequest/Config > [chosen-profile] > default
delivery-request-configuration-profiles:
+
+ # Mandatory
+ # The "default" profile. Will be chosen if
+ # DeliveryRequest/Config/ProfileId is missing.
default:
+
+ # Optional
+ # Specifies in seconds, how long the mzs service maximally waits
+ # for a delivery request to complete. If the timeout is reached,
+ # the service will reply with "PartialSuccess" and handle
+ # responses asynchronously. A missing service-timeout means that the
+ # service waits indefinitely. See also: msg-response-sinks, which
+ # allows you to configure, how moa-zs handles asynchronous
+ # responses.
+ service-timeout: 60
+
+ # Mandatory
+ # If true, moa-zs asks the tnvz service if the receiver is
+ # addressable. Requires setting up the tvnz-client.
perform-query-person-request: false
+
+ # Optional (Mandatory if perform-query-person-request is true)
+ # Parameters for the connection to tvnz. Specify url,
+ # connection-timeout, receive-timeout and ssl here. See msg-client
+ # for an exhaustive description of all parameters.
+ tvnz-client:
+
+ # Mandatory
+ url: http://localhost:8082/tnvz/
+
+ # Optional
+ # ssl: ...
+ # connection-timeout: ...
+ # receive-timeout: ...
+
+ # Mandatory
+ # Parameters for the connection to msg.
msg-client:
+
+ # Mandatory
url: http://localhost:8081/services/DeliveryRequest
- # Time in ms after which a connection will be closed.
- # 0 means indefinitely.
+
+ # Mandatory
+ # Time in ms after which a connection will be closed. 0 means
+ # indefinitely.
connection-timeout: 0
- # Time in ms that the client waits after having sent the request.
- # 0 means indefinitely.
+
+ # Mandatory
+ # Time in ms that the client waits after having sent the
+ # request. 0 means indefinitely.
receive-timeout: 0
- # Specifies how MoaZS should a synchronous responses from msg.
+ # Mandatory
+ # Specifies how moa-zs should process asynchronous responses from msg.
msg-response-sinks:
+
+ # Mandatory
+ # Save response on the file system under the folder "path".
save-response-to-file:
+ # Mandatory
active: false
+ # Mandatory if activated
path: /msg-responses/
+
+ # Mandatory
+ # Log response to the at.gv.egiz.moazs.backend.LogResponseSink Logger.
log-response: true
+
+ # Mandatory
+ # Forward the response to mzs service.
forward-response-to-service:
+ # Mandatory
active: false
+ # Mandatory if activated
mzs-client:
- # TODO: ensure that only one url is needed to
- # sent DeliveryRequestStatus / DeliveryNotifications
+ # TODO: ensure that only one url is needed to sent DeliveryRequestStatus / DeliveryNotifications
url: http://service.which.implements.mzs2app.wsdl/services/
# connection-timeout
# receive-timeout
# ssl...
+ # Optional
+ # Add your own profiles (at wish) here. Follow the same structure as the "default" profile.
+ # Override parameters at wish.
+
+ # Example
+ # "ssl-profile" is an example for a profile that overrides msg client parameters
+ # to protect the msg connection with ssl client authentication.
ssl-profile:
msg-client:
url: https://localhost/zusemsg/services/DeliveryRequest
ssl:
## Boolean; if true, app will trust all server certificates;
- ## if false, server certificate needs to be in truststore.
+ ## if false, server certificate needs to be in the truststore.
trust-all: false
## Boolean; if true, app ignores mismatches between server's host name and
## Certificate's common name / alternative subject name.
@@ -65,32 +134,50 @@ delivery-request-configuration-profiles:
## JKS or PKCS12
type: PKCS12
+# Optional
# If set to false, moa zs ignores an incomplete default DeliveryRequest-configuration
# profile and continues startup. See 'delivery-request-configuration-profiles'.
# Default value: true
verify-completeness-of-default-delivery-request-configuration: true
-### moa spss config
+# Mandatory
+# Moa Spss Configuration
moa.spss:
+
+ # Mandatory
is-active: true
- # if active, moa spss will validate manifests in xml signatures
+
+ # Mandatory
+ # If active, moa spss validates manifests in xml signatures.
is-manifest-check-active: false
+
+ # Mandatory
server:
- # path that points to MoaSPSSConfiguration file; can be:
+
+ # Mandatory
+ # Path that points to MoaSPSSConfiguration file; can be:
# - absolute path (unix: starts with /), or
# - relative path (otherwise, relative to application's class path)
configuration: moa-spss/MOASPSSConfiguration.xml
+
+ # Mandatory
+ # Select, which trust-profile moa spss uses to verify a signature.
default-trustprofile: test-trustprofile
+# Optional
+# Redis Setup (Cluster Mode)
spring:
redis:
host: 172.17.0.2
port: 6379
+# Mandatory
repository:
- # duration in minutes before repository records are evicted.
+
+ # Mandatory
+ # Duration in minutes before repository records are evicted.
expiresAfterWrite: 30
-## activate cluster mode
-# profiles:
-# active: cluster
+# Optional
+# activate cluster mode
+# profiles.active: cluster
diff --git a/src/main/resources/mzs/app2mzs.xsd b/src/main/resources/mzs/app2mzs.xsd
index da49631..7e70092 100644
--- a/src/main/resources/mzs/app2mzs.xsd
+++ b/src/main/resources/mzs/app2mzs.xsd
@@ -95,6 +95,7 @@
<xs:complexType name="ConfigType">
<xs:sequence>
<xs:element name="ProfileID" type="xs:token" minOccurs="0"></xs:element>
+ <xs:element name="ServiceTimeout" type="xs:nonNegativeInteger" minOccurs="0"/>
<xs:element name="PerformQueryPersonRequest" type="xs:boolean" minOccurs="0" />
<xs:element ref="MSGClient" minOccurs="0" />
<xs:element ref="TNVZClient" minOccurs="0" />