Einleitung
Dieser Microservice erhält die aufgearbeitete AS4 Nachricht des Marktpartners und extrahiert daraus die Eidfact Nachricht und sendet diese an die B2B. Im Falle, dass es sich um eine Pathswitch Nachricht handelt wird diese an den AS4 Address Service weitergeleitet.
Einfache Konfiguration der as4-inbound-market-message.properties
Da der AS4 Inbound Market Message Service die Edifact Nachricht erhält und diese an das Kundensystem sendet, wird die URL des REST Endpoint des Systems verlangt. Mit der Option useFeign lässt sich die Weiterleitung ausschalten. Der Parameter channel in der URL ermöglicht es, den Eingangskanal in der B2B anzugeben. Ist er nicht angegeben, wird als Default der Channel “INBOUND_MESSAGES” genutzt.
b2bServerUrl=http://b2b-message-service:8080/aep-b2b-message-service/inbound-messages?channel=IN_ERR
useFeign=true
Für die Kommunikation über Queues und Events müssen die Message-Broker Verbindungsparameter konfiguriert werden.
#==== RabbitMQ
rabbitmq.host=localhost
rabbitmq.port=5672
rabbitmq.password= guest
rabbitmq.username= guest
Der Empfang über die Queue as4.inbound.default enthält die AS4 Nachricht vom AS4 Message Service.
edifactMessageExchangeName=as4.inbound
Die Pathswitch Weiterleitung erfolgt über die Queue as4.inbound.pathswitch.
pathswitchExchangeName=as4.inbound.pathswitch
Routing Konfiguration der as4-inbound-market-message.properties
Für die Aktivierung des Routings müssen der headerName und die headerValues gesetzt werden. Den headerName kann man sich als Filterkategorie vorstellen, während die headerValues den zu filternden Werten entsprechen. Nachrichten mit Werten, die nicht explizit als headerValues aufgelistet sind, laufen weiterhin über die default Route.
Als headerName werden folgende Parameter angeboten:
- tenant: ILN Nummer des Senders
- partner: ILN Nummer des Empfängers.
- sector: GAS, ELECTRICITY
Es können mehrere Werte kommasepariert angegeben werden.
pathswitchExchangeName=as4.inbound.pathswitch
pathswitchHeaderName=sender
pathswitchHeaderValues=
Wird der Producer für das Routing konfiguriert muss natürlich auch die Gegenstelle dafür eingerichtet werden. Dem Consumer wird über die Gruppe der Wert (Value) aus der HeaderValues Liste zugewiesen nach welchem gefiltert werden soll. Bitte den Default Wert nur ändern, wenn Routing verwendet werden soll.
inboundMessageExchangeName=as4.inbound
inboundMessageGroup=default