From 8ec05af9c65f1d608d4ecd10dca9247b9ada112c Mon Sep 17 00:00:00 2001 From: Philip Helger Date: Wed, 29 Jan 2025 16:50:29 +0100 Subject: [PATCH] Updated --- .../MainPhase4PeppolSenderKontextE.java | 98 +++++++++++++++++++ .../receivers/MainPhase4PeppolSenderLDI.java | 2 +- .../MainPhase4PeppolSenderLDIXR23.java | 2 +- .../examples/xrechnung-2.3.1-ubl-inv.xml | 2 +- 4 files changed, 101 insertions(+), 3 deletions(-) create mode 100644 phase4-peppol-client/src/test/java/com/helger/phase4/peppol/receivers/MainPhase4PeppolSenderKontextE.java diff --git a/phase4-peppol-client/src/test/java/com/helger/phase4/peppol/receivers/MainPhase4PeppolSenderKontextE.java b/phase4-peppol-client/src/test/java/com/helger/phase4/peppol/receivers/MainPhase4PeppolSenderKontextE.java new file mode 100644 index 000000000..7ed478203 --- /dev/null +++ b/phase4-peppol-client/src/test/java/com/helger/phase4/peppol/receivers/MainPhase4PeppolSenderKontextE.java @@ -0,0 +1,98 @@ +/* + * Copyright (C) 2015-2024 Philip Helger (www.helger.com) + * philip[at]helger[dot]com + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package com.helger.phase4.peppol.receivers; + +import java.io.File; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.w3c.dom.Element; + +import com.helger.peppol.sml.ESML; +import com.helger.peppolid.IParticipantIdentifier; +import com.helger.phase4.dump.AS4DumpManager; +import com.helger.phase4.dump.AS4IncomingDumperFileBased; +import com.helger.phase4.dump.AS4OutgoingDumperFileBased; +import com.helger.phase4.dump.AS4RawResponseConsumerWriteToFile; +import com.helger.phase4.peppol.Phase4PeppolSender; +import com.helger.phase4.sender.EAS4UserMessageSendResult; +import com.helger.servlet.mock.MockServletContext; +import com.helger.smpclient.peppol.SMPClientReadOnly; +import com.helger.web.scope.mgr.WebScopeManager; +import com.helger.xml.serialize.read.DOMReader; + +/** + * Example for sending something to the acube.io [IT] Test endpoint. + * + * @author Philip Helger + */ +public final class MainPhase4PeppolSenderKontextE +{ + private static final Logger LOGGER = LoggerFactory.getLogger (MainPhase4PeppolSenderKontextE.class); + + public static void send () + { + try + { + final Element aPayloadElement = DOMReader.readXMLDOM (new File ("src/test/resources/external/examples/base-example.xml")) + .getDocumentElement (); + if (aPayloadElement == null) + throw new IllegalStateException ("Failed to read XML file to be send"); + + // Start configuring here + // 0106:32070687 + final IParticipantIdentifier aReceiverID = Phase4PeppolSender.IF.createParticipantIdentifierWithDefaultScheme ("9930:pnl000734"); + final EAS4UserMessageSendResult eResult; + eResult = Phase4PeppolSender.builder () + .documentTypeID (Phase4PeppolSender.IF.createDocumentTypeIdentifierWithDefaultScheme ("urn:oasis:names:specification:ubl:schema:xsd:Invoice-2::Invoice##urn:cen.eu:en16931:2017#compliant#urn:fdc:peppol.eu:2017:poacc:billing:3.0::2.1")) + .processID (Phase4PeppolSender.IF.createProcessIdentifierWithDefaultScheme ("urn:fdc:peppol.eu:2017:poacc:billing:01:1.0")) + .senderParticipantID (Phase4PeppolSender.IF.createParticipantIdentifierWithDefaultScheme ("9915:phase4-test-sender")) + .receiverParticipantID (aReceiverID) + .senderPartyID ("POP000306") + .countryC1 ("AT") + .payload (aPayloadElement) + .smpClient (new SMPClientReadOnly (Phase4PeppolSender.URL_PROVIDER, + aReceiverID, + ESML.DIGIT_TEST)) + .rawResponseConsumer (new AS4RawResponseConsumerWriteToFile ()) + .sendMessageAndCheckForReceipt (); + LOGGER.info ("Peppol send result: " + eResult); + } + catch (final Exception ex) + { + LOGGER.error ("Error sending Peppol message via AS4", ex); + } + } + + public static void main (final String [] args) + { + WebScopeManager.onGlobalBegin (MockServletContext.create ()); + + // Dump (for debugging purpose only) + AS4DumpManager.setIncomingDumper (new AS4IncomingDumperFileBased ()); + AS4DumpManager.setOutgoingDumper (new AS4OutgoingDumperFileBased ()); + + try + { + send (); + } + finally + { + WebScopeManager.onGlobalEnd (); + } + } +} diff --git a/phase4-peppol-client/src/test/java/com/helger/phase4/peppol/receivers/MainPhase4PeppolSenderLDI.java b/phase4-peppol-client/src/test/java/com/helger/phase4/peppol/receivers/MainPhase4PeppolSenderLDI.java index 973684c0e..8c3ba8df8 100644 --- a/phase4-peppol-client/src/test/java/com/helger/phase4/peppol/receivers/MainPhase4PeppolSenderLDI.java +++ b/phase4-peppol-client/src/test/java/com/helger/phase4/peppol/receivers/MainPhase4PeppolSenderLDI.java @@ -62,7 +62,7 @@ public static void main (final String [] args) throw new IllegalStateException ("Failed to read XML file to be send"); // Start configuring here - final IParticipantIdentifier aReceiverID = Phase4PeppolSender.IF.createParticipantIdentifierWithDefaultScheme ("0204:07-49849849499-27"); + final IParticipantIdentifier aReceiverID = Phase4PeppolSender.IF.createParticipantIdentifierWithDefaultScheme ("0204:07-testbehoerdekober-96"); final IAS4ClientBuildMessageCallback aBuildMessageCallback = new IAS4ClientBuildMessageCallback () { public void onAS4Message (final AbstractAS4Message aMsg) diff --git a/phase4-peppol-client/src/test/java/com/helger/phase4/peppol/receivers/MainPhase4PeppolSenderLDIXR23.java b/phase4-peppol-client/src/test/java/com/helger/phase4/peppol/receivers/MainPhase4PeppolSenderLDIXR23.java index 94d5aca8c..90098a8c4 100644 --- a/phase4-peppol-client/src/test/java/com/helger/phase4/peppol/receivers/MainPhase4PeppolSenderLDIXR23.java +++ b/phase4-peppol-client/src/test/java/com/helger/phase4/peppol/receivers/MainPhase4PeppolSenderLDIXR23.java @@ -65,7 +65,7 @@ public static void main (final String [] args) if (aPayloadElement == null) throw new IllegalStateException ("Failed to read XML file to be send"); - final String sReceiverID = "0204:07-49849849499-27"; + final String sReceiverID = "0204:07-testbehoerdekober-96"; final StopWatch aSW = StopWatch.createdStarted (); final ICommonsMap aRcvToMsgIDMap = new CommonsLinkedHashMap <> (); try diff --git a/phase4-peppol-client/src/test/resources/external/examples/xrechnung-2.3.1-ubl-inv.xml b/phase4-peppol-client/src/test/resources/external/examples/xrechnung-2.3.1-ubl-inv.xml index 7542b4659..0117bf058 100644 --- a/phase4-peppol-client/src/test/resources/external/examples/xrechnung-2.3.1-ubl-inv.xml +++ b/phase4-peppol-client/src/test/resources/external/examples/xrechnung-2.3.1-ubl-inv.xml @@ -26,7 +26,7 @@ 380 #ADU#Es gelten unsere Allgem. Geschäftsbedingungen, die Sie unter […] finden. EUR - 04011000-12345-03 + 10000000-TestbehoerdeKober-45