Oxalis med REST Steinar Overbeck Cook Balder Programvare AS 1
Overblikk Oxalis 4.x REST-grensesnitt «vefa-srest» 2
SML Mottaker SMP Mottaker SMP register (ELMA) Avsender 1 4 Melding med dokument(er) REST 2 3 REST Melding med dokument(er) Aksesspunkt til mottaker Aksesspunkt til avsender
Oxalis og REST AS2 Ditt nett REST via http(s) 4
Motivasjon Standardisert grensesnitt mellom C1/C2 og C3/C4 Senker kostnadene for brukere og leverandører Kontroll og forutsigbarhet - Maskinell automatisering Så enkelt som mulig - men ikke enklere enn det! 5
Oxalis 4.x Lagring av S/MIME kvittering REM kvittering med «embedded» S/MIME Innebygd H2 SQL database - Du kan fremdeles bruke andre DBMS er 6
Kvitteringer REM evidence med AS2 MDN (S/MIME) AS2 MDN (S/MIME) er «embedded» 7
AS2 MDN or SOAP headers 07.11.2016 Vienna e-sens F2F 8
REM «gjør-det-selv» «Interface» TransmissionResponse Inneholder REM evidence Se Main.java i oxalis-standalone for eksempel 9
Oxalis og DBMS Kommer ferdig oppsatt for H2 SQL script sql/create-oxalis-dbms-<xxx>.sql (oxalis-persistence) Du må konfigurere oxalis-global.properties Støtte for JNDI er fjernet 10
Installasjon SQL script 11
Konfig for H2 Utdrag fra oxalis-global.properties 12
MS SQL Server Erstattes med ditt passord 13
vefa-srest REST grensesnitt - /inbox - /outbox - /messages Http BASIC authentication 14
Laste ned (motta) curl -u sr:ringo1 http://localhost:8080/vefa-srest/inbox <inbox-query-response version="1.0"> <messages> <message> <self>http://localhost:8080/vefa-srest/inbox/2</self> <xml-document>http://localhost:8080/vefa-srest/messages/2/xml-document </xml-document> <message-meta-data> <msg-no>2</msg-no> <direction>in</direction> <received>2016-11-07t06:54:20.603z</received> <uuid>17cbc87a-398b-4530-9730-b4b933fbc5f5</uuid> <peppol-header> <sender>9908:976098897</sender> <receiver>9908:983995691</receiver> <channel>as2</channel> <document-type>invoice</document-type> <document-id> urn:oasis:names:specification:ubl:schema:xsd:invoice-2::invoice##urn:www.cenbii.eu:trans action:biitrns010:ver2.0:extended:urn:www.peppol.eu:bis:peppol4a:ver2.0::2.1 </document-id> <process-name>unknown</process-name> <process-id>urn:www.cenbii.eu:profile:bii04:ver2.0</process-id> </peppol-header> </message-meta-data> </message> <message> 15
Laste opp (sende) curl -i -u sr:ringo1 \ -H Accept: application/xml \ -F file=@sample-invoice.xml \ -F SenderID=9908:976098897 \ -F RecipientID=9908:983995691 \ -F ChannelID=PEPPOL \ -F ProcessID=urn:www.cenbii.eu:profile:bii04:ver2.0 \ -F DocumentID=urn:oasis:names:specification:ubl:schema:xsd:Invoice-2::Invoice##urn:www.cenbii.eu :transaction:biitrns010:ver2.0:extended:urn:www.peppol.eu:bis:peppol4a:ver2.0:extended:urn:ww w.difi.no:ehf:faktura:ver2.0::2.1 \ http://localhost:8080/vefa-srest/outbox 16
Laste opp - kvittering HTTP/1.1 100 Continue HTTP/1.1 201 Location: http://localhost:8080/vefa-srest/outbox/7 Content-Type: application/xml;charset=utf-8 Content-Length: 1025 Date: Mon, 07 Nov 2016 10:39:10 GMT <outbox-post-response version="1.0"> <message> <self>http://localhost:8080/vefa-srest/outbox/7</self> <xml-document>http://localhost:8080/vefa-srest/messages/7/xml-document</xml-doc <message-meta-data> <msg-no>7</msg-no> <direction>out</direction> <received>2016-11-07t10:39:10.432z</received> <peppol-header> <sender>9908:976098897</sender> <receiver>9908:983995691</receiver> <channel>peppol</channel> <document-type>invoice</document-type> 17
Autentisering i Tomcat Security «realm» for BASIC authentication - Mer enn godt nok for «https:» Passord kryptert med «PBKDF2WithHmacSHA1» - Password-Based Key Derivation Function 2 «Umulig» å reversere Automatisk ved utplassering i Tomcat: $TOMCAT_HOME/conf/Catalina/localhost/vefa-srest.xml 18
19
Autentisering eksempel bin/digest.sh -a PBKDF2WithHmacSHA1 \ -h org.apache.catalina.realm.secretkeycredentialhandler \ ringo1 ringo1:c39e456aa706636f8b72c1218cd17dcd70d8c2973b8b2 72a8dcf64adfdda0373$20000$9354ee16b41363de4414d6f3ca 53b21c1103912b 20
Everything should be made as simple as possible, but no simpler» Albert Einstein 21