From 93f2478f8543b552111590bced86d51e2f6c3c10 Mon Sep 17 00:00:00 2001 From: rasmuswoldike Date: Mon, 20 Nov 2023 16:31:39 +0100 Subject: [PATCH 01/33] struts1 updatet too struts6 --- keystore | 1 + rsu-b2b-sample-client-gui/pom.xml | 14 +- .../skat/rsu/b2b/sample/mvc/OptionModel.java | 37 --- .../rsu/b2b/sample/mvc/ServiceTestAction.java | 94 ++++--- .../rsu/b2b/sample/mvc/ServiceTestForm.java | 232 +++++++++--------- .../src/main/resources/struts.xml | 20 ++ .../src/main/webapp/WEB-INF/app/index.jsp | 166 +++++++++++++ .../src/main/webapp/WEB-INF/struts-config.xml | 26 -- .../src/main/webapp/WEB-INF/web.xml | 57 ++--- .../src/main/webapp/index.jsp | 175 ------------- .../b2b/sample/mvc/TestFormServiceTest.java | 6 +- .../MomsangivelseKvitteringHentClient.java | 3 - .../sample/VirksomhedKalenderHentClient.java | 1 - .../src/main/resources/keystore/keystore | 1 + 14 files changed, 376 insertions(+), 457 deletions(-) create mode 120000 keystore delete mode 100644 rsu-b2b-sample-client-gui/src/main/java/dk/skat/rsu/b2b/sample/mvc/OptionModel.java create mode 100644 rsu-b2b-sample-client-gui/src/main/resources/struts.xml create mode 100644 rsu-b2b-sample-client-gui/src/main/webapp/WEB-INF/app/index.jsp delete mode 100644 rsu-b2b-sample-client-gui/src/main/webapp/WEB-INF/struts-config.xml delete mode 100644 rsu-b2b-sample-client-gui/src/main/webapp/index.jsp create mode 120000 rsu-b2b-sample-client/src/main/resources/keystore/keystore diff --git a/keystore b/keystore new file mode 120000 index 0000000..252fbd9 --- /dev/null +++ b/keystore @@ -0,0 +1 @@ +rsu-b2b-sample-client/src/main/resources/keystore \ No newline at end of file diff --git a/rsu-b2b-sample-client-gui/pom.xml b/rsu-b2b-sample-client-gui/pom.xml index c2b06b5..c81ba3c 100644 --- a/rsu-b2b-sample-client-gui/pom.xml +++ b/rsu-b2b-sample-client-gui/pom.xml @@ -69,18 +69,8 @@ org.apache.struts - struts-core - 1.3.10 - - - org.apache.struts - struts-taglib - 1.3.10 - - - org.apache.struts - struts-extras - 1.3.10 + struts2-core + 6.3.0.1 commons-io diff --git a/rsu-b2b-sample-client-gui/src/main/java/dk/skat/rsu/b2b/sample/mvc/OptionModel.java b/rsu-b2b-sample-client-gui/src/main/java/dk/skat/rsu/b2b/sample/mvc/OptionModel.java deleted file mode 100644 index bd4b569..0000000 --- a/rsu-b2b-sample-client-gui/src/main/java/dk/skat/rsu/b2b/sample/mvc/OptionModel.java +++ /dev/null @@ -1,37 +0,0 @@ -package dk.skat.rsu.b2b.sample.mvc; - -import java.io.Serializable; - -/** - * OptionModel - Just for the dropdown buttons - * - * @author SKAT - * @since 1.0 - */ -public class OptionModel implements Serializable { - - private String value; - - private String label; - - public String getValue() { - return value; - } - - public void setValue(String value) { - this.value = value; - } - - public String getLabel() { - return label; - } - - public void setLabel(String label) { - this.label = label; - } - - public OptionModel(String value, String label) { - this.value = value; - this.label = label; - } -} diff --git a/rsu-b2b-sample-client-gui/src/main/java/dk/skat/rsu/b2b/sample/mvc/ServiceTestAction.java b/rsu-b2b-sample-client-gui/src/main/java/dk/skat/rsu/b2b/sample/mvc/ServiceTestAction.java index a08e4d5..62b0c58 100644 --- a/rsu-b2b-sample-client-gui/src/main/java/dk/skat/rsu/b2b/sample/mvc/ServiceTestAction.java +++ b/rsu-b2b-sample-client-gui/src/main/java/dk/skat/rsu/b2b/sample/mvc/ServiceTestAction.java @@ -1,5 +1,6 @@ package dk.skat.rsu.b2b.sample.mvc; +import com.opensymphony.xwork2.ActionSupport; import dk.oio.rep.skat_dk.basis.kontekst.xml.schemas._2006._09._01.AdvisStrukturType; import dk.oio.rep.skat_dk.basis.kontekst.xml.schemas._2006._09._01.FejlStrukturType; import dk.skat.rsu.b2b.sample.ModtagMomsangivelseForeloebigClient; @@ -10,15 +11,10 @@ import oio.skat.nemvirksomhed.ws._1_0.MomsangivelseKvitteringHentIType; import oio.skat.nemvirksomhed.ws._1_0.MomsangivelseKvitteringHentOType; import org.apache.commons.io.IOUtils; -import org.apache.struts.action.*; import org.springframework.util.StringUtils; - -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; import javax.xml.bind.JAXBContext; import javax.xml.bind.Unmarshaller; import java.io.InputStream; -import java.math.BigInteger; import java.util.List; import java.util.logging.Logger; @@ -28,35 +24,58 @@ * @author SKAT * @since 1.0 */ -public class ServiceTestAction extends Action { +public class ServiceTestAction extends ActionSupport { private static final Logger LOGGER = Logger.getLogger(ServiceTestAction.class.getName()); + private ServiceTestForm serviceTestForm; + private String serviceResponse; + + public String getServiceResponse() { + return serviceResponse; + } + + public void setServiceResponse(String serviceResponse) { + this.serviceResponse = serviceResponse; + } + + public ServiceTestForm getServiceTestForm() { + return serviceTestForm; + } + + public void setServiceTestForm(ServiceTestForm serviceTestForm) { + this.serviceTestForm = serviceTestForm; + } @Override - public ActionForward execute(ActionMapping mapping, ActionForm form, - HttpServletRequest request, HttpServletResponse response) + public String execute() throws Exception { - ServiceTestForm serviceTestForm = (ServiceTestForm)form; - - LOGGER.info("Testing service : " + serviceTestForm.getService()); - LOGGER.info("Testing environment : " + serviceTestForm.getEnvironment()); - LOGGER.info("Testing certificate : " + serviceTestForm.getCertificateAlias()); - LOGGER.info("Testing overrideTxInfo : " + serviceTestForm.isOverrideTxInfo()); - LOGGER.info("Testing request : " + serviceTestForm.getRequest()); + if (serviceTestForm == null){ + this.serviceTestForm = new ServiceTestForm(); + } - ActionMessages messages = new ActionMessages(); - String service = serviceTestForm.getService(); - String environment = serviceTestForm.getEnvironment(); - String cert = serviceTestForm.getCertificateAlias(); - String requestAsString = serviceTestForm.getRequest(); + LOGGER.info("Testing service : " + this.serviceTestForm.getService()); + LOGGER.info("Testing environment : " + this.serviceTestForm.getEnvironment()); + LOGGER.info("Testing certificate : " + this.serviceTestForm.getCertificateAlias()); + LOGGER.info("Testing overrideTxInfo : " + this.serviceTestForm.isOverrideTxInfo()); + LOGGER.info("Testing request : " + this.serviceTestForm.getRequest()); + LOGGER.info("Testing services : " + this.serviceTestForm.getServices().toString()); + LOGGER.info("Testing environments : " + this.serviceTestForm.getEnvironments().toString()); + LOGGER.info("Testing certificates : " + this.serviceTestForm.getCertificates().toString()); + LOGGER.info("Testing policies : " + this.serviceTestForm.getPoliciesList().toString()); + + + String service = this.serviceTestForm.getService(); + String environment = this.serviceTestForm.getEnvironment(); + String cert = this.serviceTestForm.getCertificateAlias(); + String requestAsString = this.serviceTestForm.getRequest(); String configurationPrefix = "endpoints." + environment + "." + service; + String serviceResponse = ""; try { String endpoint = ConfigHelper.getConfiguration().getString(configurationPrefix); - - String policy = serviceTestForm.getPolicy(); + String policy = this.serviceTestForm.getPolicy(); if (!StringUtils.hasText(policy)) { // Go for default defined in config policy = ConfigHelper.getConfiguration().getString("policy"); @@ -64,19 +83,18 @@ public ActionForward execute(ActionMapping mapping, ActionForm form, if ("VirksomhedKalenderHent".equals(service)) { VirksomhedKalenderHentClient client = new VirksomhedKalenderHentClient(endpoint, policy); - serviceResponse = client.invoke(requestAsString, cert, serviceTestForm.isOverrideTxInfo()); + serviceResponse = client.invoke(requestAsString, cert, this.serviceTestForm.isOverrideTxInfo()); } if ("ModtagMomsangivelseForeloebig".equals(service)) { ModtagMomsangivelseForeloebigClient client = new ModtagMomsangivelseForeloebigClient(endpoint, policy); - serviceResponse = client.invoke(requestAsString, cert, serviceTestForm.isOverrideTxInfo()); + serviceResponse = client.invoke(requestAsString, cert, this.serviceTestForm.isOverrideTxInfo()); // Get receipt and store PDF in memory for later download InputStream inputStream = IOUtils.toInputStream(serviceResponse, "UTF-8"); JAXBContext jc = JAXBContext.newInstance(ModtagMomsangivelseForeloebigOType.class); Unmarshaller unmarshaller = jc.createUnmarshaller(); ModtagMomsangivelseForeloebigOType asObject = (ModtagMomsangivelseForeloebigOType) unmarshaller.unmarshal(inputStream); if (asObject.getDybtlink() != null) { - messages.add("confirmUrl", - new ActionMessage("confirmUrl", asObject.getDybtlink().getUrlIndicator())); + addActionMessage("confirmUrl" + asObject.getDybtlink().getUrlIndicator()); } } if ("MomsangivelseKvitteringHent".equals(service)) { @@ -90,7 +108,7 @@ public ActionForward execute(ActionMapping mapping, ActionForm form, MomsangivelseKvitteringHentIType requestAsObject = MomsangivelseKvitteringHentMarshalling.toObject(requestAsString); String receiptTransactionId = requestAsObject.getTransaktionIdentifier(); - serviceResponse = client.invoke(requestAsString, cert, serviceTestForm.isOverrideTxInfo()); + serviceResponse = client.invoke(requestAsString, cert, this.serviceTestForm.isOverrideTxInfo()); // Get receipt and store PDF in memory for later download InputStream inputStream = IOUtils.toInputStream(serviceResponse, "UTF-8"); @@ -107,16 +125,14 @@ public ActionForward execute(ActionMapping mapping, ActionForm form, String advisId = advisStrukturType.getAdvisIdentifikator().toString(); if ("4810".equals(advisId) || "4812".equals(advisId)) { // 4810 = VAT return has yet to be approved in self service app. - messages.add("common.test.resp.err", - new ActionMessage("error.test.response.failed", message)); + addActionMessage("error.test.response.failed" + message); failed = true; } } if (o instanceof FejlStrukturType) { FejlStrukturType fejlStrukturType = (FejlStrukturType) o; String message = fejlStrukturType.getFejlIdentifikator().toString() + fejlStrukturType.getFejlTekst(); - messages.add("common.test.resp.err", - new ActionMessage("error.test.response.failed", message)); + addActionMessage("error.test.response.failed" + message); failed = true; } } @@ -125,21 +141,19 @@ public ActionForward execute(ActionMapping mapping, ActionForm form, receipt.setTransactionId(receiptTransactionId); receipt.setReceipt(asObject.getPDFkvittering().getDokumentFilIndholdData()); ReceiptsStorage.put(receipt); - messages.add("downloadReceipt", - new ActionMessage("downloadReceipt", receipt.getTransactionId())); + addActionMessage("downloadReceipt" + receipt.getTransactionId()); } } - messages.add("lastResponse", - new ActionMessage("lastResponse", serviceResponse)); + addActionMessage("lastResponse"+serviceResponse); } catch (Exception e) { e.printStackTrace(); serviceResponse = e.getMessage(); - messages.add("common.test.resp.err", - new ActionMessage("error.test.request.failed", serviceResponse)); + addActionMessage("error.test.request.failed" + serviceResponse); } - saveErrors(request.getSession(), messages); - ActionForward forward = mapping.findForward("success"); - return forward; + + this.serviceResponse = serviceResponse; + LOGGER.info("response = " + serviceResponse); + return "success"; } diff --git a/rsu-b2b-sample-client-gui/src/main/java/dk/skat/rsu/b2b/sample/mvc/ServiceTestForm.java b/rsu-b2b-sample-client-gui/src/main/java/dk/skat/rsu/b2b/sample/mvc/ServiceTestForm.java index fa816f1..ec81076 100644 --- a/rsu-b2b-sample-client-gui/src/main/java/dk/skat/rsu/b2b/sample/mvc/ServiceTestForm.java +++ b/rsu-b2b-sample-client-gui/src/main/java/dk/skat/rsu/b2b/sample/mvc/ServiceTestForm.java @@ -1,15 +1,7 @@ package dk.skat.rsu.b2b.sample.mvc; import com.typesafe.config.Config; -import org.apache.struts.action.ActionErrors; -import org.apache.struts.action.ActionForm; -import org.apache.struts.action.ActionMapping; -import org.apache.struts.action.ActionMessage; - -import javax.servlet.http.HttpServletRequest; -import java.util.ArrayList; -import java.util.LinkedList; -import java.util.List; +import java.util.*; /** * ServiceTestForm @@ -17,7 +9,7 @@ * @author SKAT * @since 1.0 */ -public class ServiceTestForm extends ActionForm { +public class ServiceTestForm { private String environment; @@ -28,107 +20,22 @@ public class ServiceTestForm extends ActionForm { private String policy; private String request; + private String requestMMF; + private String requestMKH; + private String requestVKH; private boolean overrideTxInfo; - private List services; - - private List environments; - - private List certificates; - - private List policiesList; - - public ServiceTestForm() { - try { - services = new ArrayList(); - certificates = new ArrayList(); - environments = new ArrayList(); - policiesList = new LinkedList(); - Config config = ConfigHelper.getConfiguration(); - for (String service : config.getStringList("services")) { - services.add(new OptionModel(service, service)); - } - for (String environment : config.getStringList("environments")) { - environments.add(new OptionModel(environment, environment)); - } - List activeAliases = config.getStringList("activeCertificates"); - for (String alias : activeAliases) { - certificates.add(new OptionModel(alias, config.getString("certificateCommenNames." + alias))); - } - - policiesList.add(new OptionModel("rsu-policy-sign.xml", "Timestamp-Sign")); - policiesList.add(new OptionModel("rsu-policy.xml", "Timestamp-Sign-Encrypt")); - - String virksomhedSENummerIdentifikator = "12345678"; - - // Just a sample request to get started! - requestMMF = "\n" + - "\n" + - " \n" + - " 62c55920-e4d6-4b1f-a482-5bf201bfbd7e\n" + - " 2022-02-21T14:41:26.478+01:00\n" + - " \n" + - " \n" + - " \n" + - " " + virksomhedSENummerIdentifikator + "\n" + - " \n" + - " \n" + - " 2017-07-01+02:00\n" + - " 2017-09-30+02:00\n" + - " \n" + - " \n" + - " 1500\n" + - " 500\n" + - " 2000\n" + - " \n" + - " \n" + - ""; - - requestMKH = "\n" + - "\n" + - " \n" + - " 53919099-3b28-45d5-81f3-d7fc371e0c25\n" + - " 2022-02-21T14:18:03.431+01:00\n" + - " \n" + - " f3f772b0-dc02-4af3-bfde-16f1fa04804f\n" + - " \n" + - " " + virksomhedSENummerIdentifikator + "\n" + - " \n" + - "\n"; + private HashMap services; - requestVKH = "\n" + - "\n" + - " \n" + - " 33593B0D-E7CF-40A2-AE76-530B72DE6AE3\n" + - " 2017-04-24T12:00:00.146+02:00\n" + - " \n" + - " " + virksomhedSENummerIdentifikator + "\n" + - " qwerty\n" + - " \n" + - " 2017-01-01\n" + - " 2017-03-31\n" + - " \n" + - ""; + private HashMap environments; - request = requestVKH; - } catch (Exception e) { - e.printStackTrace(); - } - } + private HashMap certificates; + private HashMap policiesList; public String getEnvironment() { return environment; @@ -178,35 +85,35 @@ public void setOverrideTxInfo(boolean overrideTxInfo) { this.overrideTxInfo = overrideTxInfo; } - public List getServices() { + public HashMap getServices() { return services; } - public void setServices(List services) { + public void setServices(HashMap services) { this.services = services; } - public List getEnvironments() { + public HashMap getEnvironments() { return environments; } - public void setEnvironments(List environments) { + public void setEnvironments(HashMap environments) { this.environments = environments; } - public List getCertificates() { + public HashMap getCertificates() { return certificates; } - public void setCertificates(List certificates) { + public void setCertificates(HashMap certificates) { this.certificates = certificates; } - public List getPoliciesList() { + public HashMap getPoliciesList() { return policiesList; } - public void setPoliciesList(List policiesList) { + public void setPoliciesList(HashMap policiesList) { this.policiesList = policiesList; } @@ -222,18 +129,101 @@ public void setPoliciesList(List policiesList) { public void setRequestVKH(String requestVKH) { this.requestVKH = requestVKH; } - @Override - public ActionErrors validate(ActionMapping mapping, - HttpServletRequest request) { - ActionErrors errors = new ActionErrors(); + public ServiceTestForm() { + try { + services = new HashMap(); + certificates = new HashMap(); + environments = new HashMap(); + policiesList = new HashMap(); + Config config = ConfigHelper.getConfiguration(); + for (String service : config.getStringList("services")) { + HashMap map = new HashMap(); + map.put(service,service); + services.putAll(map); + } + for (String environment : config.getStringList("environments")) { + HashMap map = new HashMap(); + map.put(environment,environment); + environments.putAll(map); + } + List activeAliases = config.getStringList("activeCertificates"); + for (String alias : activeAliases) { + HashMap map = new HashMap(); + map.put(alias,config.getString("certificateCommenNames." + alias)); + certificates.putAll(map); + } + HashMap map = new HashMap(); + map.put("rsu-policy-sign.xml","Timestamp-Sign"); + + HashMap map1 = new HashMap(); + map1.put("rsu-policy.xml","Timestamp-Sign-Encrypt"); - if(getRequest() != null && "".equals(getRequest())) { - errors.add("common.test.err", - new ActionMessage("error.test.request.required")); - return errors; - } + policiesList.putAll(map); + policiesList.putAll(map1); - return errors; - } + String virksomhedSENummerIdentifikator = "12345678"; + + // Just a sample request to get started! + requestMMF = "\n" + + "\n" + + " \n" + + " 62c55920-e4d6-4b1f-a482-5bf201bfbd7e\n" + + " 2022-02-21T14:41:26.478+01:00\n" + + " \n" + + " \n" + + " \n" + + " " + virksomhedSENummerIdentifikator + "\n" + + " \n" + + " \n" + + " 2017-07-01+02:00\n" + + " 2017-09-30+02:00\n" + + " \n" + + " \n" + + " 1500\n" + + " 500\n" + + " 2000\n" + + " \n" + + " \n" + + ""; + + requestMKH = "\n" + + "\n" + + " \n" + + " 53919099-3b28-45d5-81f3-d7fc371e0c25\n" + + " 2022-02-21T14:18:03.431+01:00\n" + + " \n" + + " f3f772b0-dc02-4af3-bfde-16f1fa04804f\n" + + " \n" + + " " + virksomhedSENummerIdentifikator + "\n" + + " \n" + + "\n"; + + requestVKH = "\n" + + "\n" + + " \n" + + " 33593B0D-E7CF-40A2-AE76-530B72DE6AE3\n" + + " 2017-04-24T12:00:00.146+02:00\n" + + " \n" + + " " + virksomhedSENummerIdentifikator + "\n" + + " qwerty\n" + + " \n" + + " 2017-01-01\n" + + " 2017-03-31\n" + + " \n" + + ""; + request = requestVKH; + } catch (Exception e) { + e.printStackTrace(); + } + } } diff --git a/rsu-b2b-sample-client-gui/src/main/resources/struts.xml b/rsu-b2b-sample-client-gui/src/main/resources/struts.xml new file mode 100644 index 0000000..306ce20 --- /dev/null +++ b/rsu-b2b-sample-client-gui/src/main/resources/struts.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + /WEB-INF/app/index.jsp + + + + diff --git a/rsu-b2b-sample-client-gui/src/main/webapp/WEB-INF/app/index.jsp b/rsu-b2b-sample-client-gui/src/main/webapp/WEB-INF/app/index.jsp new file mode 100644 index 0000000..1f2f954 --- /dev/null +++ b/rsu-b2b-sample-client-gui/src/main/webapp/WEB-INF/app/index.jsp @@ -0,0 +1,166 @@ +<%@taglib uri="/struts-tags" prefix="s" %> +<%@ page language="java" contentType="text/html; charset=UTF-8" + pageEncoding="UTF-8" %> + + + + + + + + + RSU Sample GUI + + + + + + + + + + + + +
+ +
+
  +
+
+ +
+ +
+ +
+ +
+ Service Request +
+ +
+ + + + + + + +
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ + +
+ + + +
+ +
+ +
+ +
+ +
+ +
+ +
+ Service Response +
+ +
+ + + +
+ +
+ +
+ +
+ +
+ + + + + + + + + + + + diff --git a/rsu-b2b-sample-client-gui/src/main/webapp/WEB-INF/struts-config.xml b/rsu-b2b-sample-client-gui/src/main/webapp/WEB-INF/struts-config.xml deleted file mode 100644 index 356c478..0000000 --- a/rsu-b2b-sample-client-gui/src/main/webapp/WEB-INF/struts-config.xml +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/rsu-b2b-sample-client-gui/src/main/webapp/WEB-INF/web.xml b/rsu-b2b-sample-client-gui/src/main/webapp/WEB-INF/web.xml index 15c5b83..6377c08 100644 --- a/rsu-b2b-sample-client-gui/src/main/webapp/WEB-INF/web.xml +++ b/rsu-b2b-sample-client-gui/src/main/webapp/WEB-INF/web.xml @@ -2,52 +2,29 @@ FileUploadServletExample - - action - - org.apache.struts.action.ActionServlet - - - config - - /WEB-INF/struts-config.xml - - - 1 - - - - action - *.do - - - - DownloadReceipt - dk.skat.rsu.b2b.sample.mvc.DownloadReceipt - - - DownloadReceipt - /receipt - - - - log - dk.skat.rsu.b2b.sample.mvc.LocalLogServlet - - - - log - /log - + + + + + + + + struts2 + org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter + + + + struts2 + /* + index.jsp - \ No newline at end of file + diff --git a/rsu-b2b-sample-client-gui/src/main/webapp/index.jsp b/rsu-b2b-sample-client-gui/src/main/webapp/index.jsp deleted file mode 100644 index 56567a3..0000000 --- a/rsu-b2b-sample-client-gui/src/main/webapp/index.jsp +++ /dev/null @@ -1,175 +0,0 @@ -<%@taglib uri="http://struts.apache.org/tags-html" prefix="html" %> -<%@taglib uri="http://struts.apache.org/tags-bean" prefix="bean" %> -<%@ page language="java" contentType="text/html; charset=UTF-8" - pageEncoding="UTF-8" %> - - - - - - - - - RSU Sample GUI - - - - - - - - - - -
- -
-
-   -
-
- -
-
-
-
- Service Request -
-
- - - - - - - -
- - - - -
-
- - - - -
-
- - - - -
-
- - - - -
-
- - - -
-
- - - -
- -
-
-
-
-
-
-
- Service Response -
-
- - - - - - - - - -
- -
- - -
-
-
-
-
-
-
-
- - - - - - - - - - diff --git a/rsu-b2b-sample-client-gui/src/test/java/dk/skat/rsu/b2b/sample/mvc/TestFormServiceTest.java b/rsu-b2b-sample-client-gui/src/test/java/dk/skat/rsu/b2b/sample/mvc/TestFormServiceTest.java index a3ae845..b36751a 100644 --- a/rsu-b2b-sample-client-gui/src/test/java/dk/skat/rsu/b2b/sample/mvc/TestFormServiceTest.java +++ b/rsu-b2b-sample-client-gui/src/test/java/dk/skat/rsu/b2b/sample/mvc/TestFormServiceTest.java @@ -2,12 +2,14 @@ import junit.framework.TestCase; +import java.util.HashMap; + public class TestFormServiceTest extends TestCase { public void testForm() { // Just basic test form creation is OK ServiceTestForm serviceTestForm = new ServiceTestForm(); - assertEquals("TFE", ((OptionModel) serviceTestForm.getEnvironments().get(0)).getValue()); + assertEquals("TFE", ((HashMap) serviceTestForm.getEnvironments()).get("TFE")); } -} \ No newline at end of file +} diff --git a/rsu-b2b-sample-client/src/main/java/dk/skat/rsu/b2b/sample/MomsangivelseKvitteringHentClient.java b/rsu-b2b-sample-client/src/main/java/dk/skat/rsu/b2b/sample/MomsangivelseKvitteringHentClient.java index b7caba3..bbd0223 100644 --- a/rsu-b2b-sample-client/src/main/java/dk/skat/rsu/b2b/sample/MomsangivelseKvitteringHentClient.java +++ b/rsu-b2b-sample-client/src/main/java/dk/skat/rsu/b2b/sample/MomsangivelseKvitteringHentClient.java @@ -2,12 +2,9 @@ import oio.skat.nemvirksomhed.ws._1_0.MomsangivelseKvitteringHentIType; import oio.skat.nemvirksomhed.ws._1_0.MomsangivelseKvitteringHentOType; -import oio.skat.nemvirksomhed.ws._1_0.VirksomhedKalenderHentIType; -import oio.skat.nemvirksomhed.ws._1_0.VirksomhedKalenderHentOType; import oio.skat.nemvirksomhed.ws._1_0_0.MomsangivelseKvitteringHentServiceBindingQSService; import oio.skat.nemvirksomhed.ws._1_0_0.MomsangivelseKvitteringHentServicePortType; import org.apache.commons.io.IOUtils; -import org.xml.sax.SAXException; import javax.xml.bind.JAXBException; import javax.xml.datatype.DatatypeConfigurationException; diff --git a/rsu-b2b-sample-client/src/main/java/dk/skat/rsu/b2b/sample/VirksomhedKalenderHentClient.java b/rsu-b2b-sample-client/src/main/java/dk/skat/rsu/b2b/sample/VirksomhedKalenderHentClient.java index 59a7983..6633ec1 100644 --- a/rsu-b2b-sample-client/src/main/java/dk/skat/rsu/b2b/sample/VirksomhedKalenderHentClient.java +++ b/rsu-b2b-sample-client/src/main/java/dk/skat/rsu/b2b/sample/VirksomhedKalenderHentClient.java @@ -4,7 +4,6 @@ import oio.skat.nemvirksomhed.ws._1_0.VirksomhedKalenderHentOType; import oio.skat.nemvirksomhed.ws._1_0_0.VirksomhedKalenderHentServiceBindingQSService; import oio.skat.nemvirksomhed.ws._1_0_0.VirksomhedKalenderHentServicePortType; -import org.xml.sax.SAXException; import javax.xml.bind.JAXBException; import javax.xml.datatype.DatatypeConfigurationException; diff --git a/rsu-b2b-sample-client/src/main/resources/keystore/keystore b/rsu-b2b-sample-client/src/main/resources/keystore/keystore new file mode 120000 index 0000000..252fbd9 --- /dev/null +++ b/rsu-b2b-sample-client/src/main/resources/keystore/keystore @@ -0,0 +1 @@ +rsu-b2b-sample-client/src/main/resources/keystore \ No newline at end of file From 45bcfc296bb5be9787a78e615990c4d076796840 Mon Sep 17 00:00:00 2001 From: cdcurry Date: Mon, 20 Nov 2023 20:07:35 +0100 Subject: [PATCH 02/33] Set default values in dropdown select buttons --- .../rsu/b2b/sample/mvc/ServiceTestAction.java | 7 +++++ .../rsu/b2b/sample/mvc/ServiceTestForm.java | 28 ++++++++----------- .../src/main/resources/struts.xml | 7 ++++- 3 files changed, 24 insertions(+), 18 deletions(-) diff --git a/rsu-b2b-sample-client-gui/src/main/java/dk/skat/rsu/b2b/sample/mvc/ServiceTestAction.java b/rsu-b2b-sample-client-gui/src/main/java/dk/skat/rsu/b2b/sample/mvc/ServiceTestAction.java index 62b0c58..5e16263 100644 --- a/rsu-b2b-sample-client-gui/src/main/java/dk/skat/rsu/b2b/sample/mvc/ServiceTestAction.java +++ b/rsu-b2b-sample-client-gui/src/main/java/dk/skat/rsu/b2b/sample/mvc/ServiceTestAction.java @@ -46,6 +46,13 @@ public void setServiceTestForm(ServiceTestForm serviceTestForm) { this.serviceTestForm = serviceTestForm; } + public String init() + throws Exception { + this.serviceTestForm = new ServiceTestForm(); + return SUCCESS; + } + + @Override public String execute() throws Exception { diff --git a/rsu-b2b-sample-client-gui/src/main/java/dk/skat/rsu/b2b/sample/mvc/ServiceTestForm.java b/rsu-b2b-sample-client-gui/src/main/java/dk/skat/rsu/b2b/sample/mvc/ServiceTestForm.java index ec81076..93ccda2 100644 --- a/rsu-b2b-sample-client-gui/src/main/java/dk/skat/rsu/b2b/sample/mvc/ServiceTestForm.java +++ b/rsu-b2b-sample-client-gui/src/main/java/dk/skat/rsu/b2b/sample/mvc/ServiceTestForm.java @@ -137,29 +137,23 @@ public ServiceTestForm() { policiesList = new HashMap(); Config config = ConfigHelper.getConfiguration(); for (String service : config.getStringList("services")) { - HashMap map = new HashMap(); - map.put(service,service); - services.putAll(map); + services.put(service,service); } for (String environment : config.getStringList("environments")) { - HashMap map = new HashMap(); - map.put(environment,environment); - environments.putAll(map); + environments.put(environment,environment); } List activeAliases = config.getStringList("activeCertificates"); for (String alias : activeAliases) { - HashMap map = new HashMap(); - map.put(alias,config.getString("certificateCommenNames." + alias)); - certificates.putAll(map); + certificates.put(alias,config.getString("certificateCommenNames." + alias)); } - HashMap map = new HashMap(); - map.put("rsu-policy-sign.xml","Timestamp-Sign"); - - HashMap map1 = new HashMap(); - map1.put("rsu-policy.xml","Timestamp-Sign-Encrypt"); - - policiesList.putAll(map); - policiesList.putAll(map1); + policiesList.put("rsu-policy-sign.xml","Timestamp-Sign"); + policiesList.put("rsu-policy.xml","Timestamp-Sign-Encrypt"); + + // set default values + this.service = "VirksomhedKalenderHent"; + this.environment = "EMCSTEST_SIGNONLY"; + this.policy = "rsu-policy-sign.xml"; + this.certificateAlias = "LucaPacioli_ApS_System_Integrationstest_S1"; String virksomhedSENummerIdentifikator = "12345678"; diff --git a/rsu-b2b-sample-client-gui/src/main/resources/struts.xml b/rsu-b2b-sample-client-gui/src/main/resources/struts.xml index 306ce20..5e7faaa 100644 --- a/rsu-b2b-sample-client-gui/src/main/resources/struts.xml +++ b/rsu-b2b-sample-client-gui/src/main/resources/struts.xml @@ -10,7 +10,12 @@ - + + + + + /WEB-INF/app/index.jsp + /WEB-INF/app/index.jsp From e7377ad65d4aca5f2d9213b428ee9d9035148768 Mon Sep 17 00:00:00 2001 From: cdcurry Date: Mon, 20 Nov 2023 21:31:51 +0100 Subject: [PATCH 03/33] re-added log servlet and download servlet plus minor improvements --- README.md | 6 +-- p12/VOCES_gyldig.p12 | Bin 6630 -> 0 bytes .../rsu/b2b/sample/mvc/ServiceTestForm.java | 16 +++--- .../src/main/webapp/WEB-INF/web.xml | 48 +++++++++++------- 4 files changed, 40 insertions(+), 30 deletions(-) delete mode 100644 p12/VOCES_gyldig.p12 diff --git a/README.md b/README.md index 67c26ba..e5a5d0b 100644 --- a/README.md +++ b/README.md @@ -572,14 +572,14 @@ First complete the steps in section: **Installing other OCES3 Certificates in th The chosen **alias**, e.g. `myalias` from the import must be added to `app.conf` as follows: ``` -activeCertificates = [ "valid", ... , "myalias" ] +activeCertificates = [ "LucaPacioli_ApS_System_Integrationstest_S1", ... , "myalias" ] ``` Then add the passphrase: ``` certificatePassphrases { - valid = "secret" + LucaPacioli_ApS_System_Integrationstest_S1 = "secret" ... myalias = "verysecret" } @@ -589,7 +589,7 @@ Finally add the name: ``` certificateCommenNames { - valid = "CVR:30808460-UID:25351738 - NETS DANID A/S - TU VOCES gyldig" + LucaPacioli_ApS_System_Integrationstest_S1 = "LucaPacioli_ApS_System_Integrationstest_S1" ... myalias = "MyAlias Identity - This will be shown on the screen" } diff --git a/p12/VOCES_gyldig.p12 b/p12/VOCES_gyldig.p12 deleted file mode 100644 index 916356dd03bd8069628ee4d656e8ec4573c29bf5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6630 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 H0|5RD;qQs& diff --git a/rsu-b2b-sample-client-gui/src/main/java/dk/skat/rsu/b2b/sample/mvc/ServiceTestForm.java b/rsu-b2b-sample-client-gui/src/main/java/dk/skat/rsu/b2b/sample/mvc/ServiceTestForm.java index 93ccda2..21ac246 100644 --- a/rsu-b2b-sample-client-gui/src/main/java/dk/skat/rsu/b2b/sample/mvc/ServiceTestForm.java +++ b/rsu-b2b-sample-client-gui/src/main/java/dk/skat/rsu/b2b/sample/mvc/ServiceTestForm.java @@ -29,13 +29,13 @@ public class ServiceTestForm { private boolean overrideTxInfo; - private HashMap services; + private Map services; - private HashMap environments; + private Map environments; - private HashMap certificates; + private Map certificates; - private HashMap policiesList; + private Map policiesList; public String getEnvironment() { return environment; @@ -85,7 +85,7 @@ public void setOverrideTxInfo(boolean overrideTxInfo) { this.overrideTxInfo = overrideTxInfo; } - public HashMap getServices() { + public Map getServices() { return services; } @@ -93,7 +93,7 @@ public void setServices(HashMap services) { this.services = services; } - public HashMap getEnvironments() { + public Map getEnvironments() { return environments; } @@ -101,7 +101,7 @@ public void setEnvironments(HashMap environments) { this.environments = environments; } - public HashMap getCertificates() { + public Map getCertificates() { return certificates; } @@ -109,7 +109,7 @@ public void setCertificates(HashMap certificates) { this.certificates = certificates; } - public HashMap getPoliciesList() { + public Map getPoliciesList() { return policiesList; } diff --git a/rsu-b2b-sample-client-gui/src/main/webapp/WEB-INF/web.xml b/rsu-b2b-sample-client-gui/src/main/webapp/WEB-INF/web.xml index 6377c08..743e802 100644 --- a/rsu-b2b-sample-client-gui/src/main/webapp/WEB-INF/web.xml +++ b/rsu-b2b-sample-client-gui/src/main/webapp/WEB-INF/web.xml @@ -5,26 +5,36 @@ xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5"> FileUploadServletExample - - - - - - - - - - struts2 - org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter - - - - struts2 - /* - - + + struts2 + org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter + + + + struts2 + /* + + + + DownloadReceipt + dk.skat.rsu.b2b.sample.mvc.DownloadReceipt + + + DownloadReceipt + /receipt + + + + log + dk.skat.rsu.b2b.sample.mvc.LocalLogServlet + + + + log + /log + - index.jsp + init.action From 795a224638c6e61c940601612086ba930d0e4459 Mon Sep 17 00:00:00 2001 From: cdcurry Date: Mon, 20 Nov 2023 21:48:11 +0100 Subject: [PATCH 04/33] Default values in dropdown selects now configurable --- .../skat/rsu/b2b/sample/mvc/ServiceTestForm.java | 8 ++++---- .../src/main/resources/reference.conf | 15 +++++++++------ 2 files changed, 13 insertions(+), 10 deletions(-) diff --git a/rsu-b2b-sample-client-gui/src/main/java/dk/skat/rsu/b2b/sample/mvc/ServiceTestForm.java b/rsu-b2b-sample-client-gui/src/main/java/dk/skat/rsu/b2b/sample/mvc/ServiceTestForm.java index 21ac246..9c6e595 100644 --- a/rsu-b2b-sample-client-gui/src/main/java/dk/skat/rsu/b2b/sample/mvc/ServiceTestForm.java +++ b/rsu-b2b-sample-client-gui/src/main/java/dk/skat/rsu/b2b/sample/mvc/ServiceTestForm.java @@ -150,10 +150,10 @@ public ServiceTestForm() { policiesList.put("rsu-policy.xml","Timestamp-Sign-Encrypt"); // set default values - this.service = "VirksomhedKalenderHent"; - this.environment = "EMCSTEST_SIGNONLY"; - this.policy = "rsu-policy-sign.xml"; - this.certificateAlias = "LucaPacioli_ApS_System_Integrationstest_S1"; + this.service = config.getString("default.service"); + this.environment = config.getString("default.environment"); + this.policy = config.getString("default.policy"); + this.certificateAlias = config.getString("default.certificateAlias"); String virksomhedSENummerIdentifikator = "12345678"; diff --git a/rsu-b2b-sample-client-gui/src/main/resources/reference.conf b/rsu-b2b-sample-client-gui/src/main/resources/reference.conf index e1908fb..eefc5ce 100644 --- a/rsu-b2b-sample-client-gui/src/main/resources/reference.conf +++ b/rsu-b2b-sample-client-gui/src/main/resources/reference.conf @@ -14,16 +14,19 @@ endpoints { } } -activeCertificates = [ "valid", "revoked", "expired" ] +activeCertificates = [ "LucaPacioli_ApS_System_Integrationstest_S1", "expired" ] certificatePassphrases { - valid = "secret" - revoked = "secret" + LucaPacioli_ApS_System_Integrationstest_S1 = "secret" expired = "secret" } certificateCommenNames { - valid = "CVR:30808460-UID:25351738 - NETS DANID A/S - TU VOCES gyldig" - revoked = "CVR:30808460-UID:79909515 - NETS DANID A/S - TU VOCES spærret" + LucaPacioli_ApS_System_Integrationstest_S1 = "LucaPacioli_ApS_System_Integrationstest_S1" expired = "CVR:30808460-UID:76488567 - NETS DANID A/S - Udløbet" -} \ No newline at end of file +} + +default.service = "VirksomhedKalenderHent" +default.environment = "EMCSTEST_SIGNONLY" +default.policy = "rsu-policy-sign.xml" +default.certificateAlias = "LucaPacioli_ApS_System_Integrationstest_S1" \ No newline at end of file From ca1c3423cdf08e0456c732090547540225d96b11 Mon Sep 17 00:00:00 2001 From: rasmuswoldike Date: Mon, 27 Nov 2023 15:44:54 +0100 Subject: [PATCH 05/33] commit --- keystore | 1 - rsu-b2b-sample-client-gui/pom.xml | 2 + .../rsu/b2b/sample/mvc/ServiceTestAction.java | 6 + rsu-b2b-sample-client/pom.xml | 202 +++++++++++----- .../ModtagMomsangivelseForeloebigClient.java | 6 +- ...tagMomsangivelseForeloebigMarshalling.java | 8 +- .../MomsangivelseKvitteringHentClient.java | 5 +- ...omsangivelseKvitteringHentMarshalling.java | 9 +- .../sample/VirksomhedKalenderHentClient.java | 10 +- .../VirksomhedKalenderHentMarshalling.java | 10 +- .../ModtagMomsangivelseForeloebigIType.java | 226 +++++++++--------- .../ModtagMomsangivelseForeloebigOType.java | 27 +-- .../MomsangivelseKvitteringHentIType.java | 51 ++-- .../MomsangivelseKvitteringHentOType.java | 54 ++--- .../ws/_1_0/VirksomhedKalenderHentIType.java | 2 +- .../ws/_1_0/VirksomhedKalenderHentOType.java | 2 +- .../src/main/resources/keystore/keystore | 1 - .../src/main/resources/rsu-policy-sign.xml | 8 +- ...VirksomhedKalenderHentMarshallingTest.java | 60 ++++- .../src/test/resources/TestRequest.xml | 16 ++ 20 files changed, 432 insertions(+), 274 deletions(-) delete mode 120000 keystore mode change 120000 => 100644 rsu-b2b-sample-client/src/main/resources/keystore/keystore create mode 100644 rsu-b2b-sample-client/src/test/resources/TestRequest.xml diff --git a/keystore b/keystore deleted file mode 120000 index 252fbd9..0000000 --- a/keystore +++ /dev/null @@ -1 +0,0 @@ -rsu-b2b-sample-client/src/main/resources/keystore \ No newline at end of file diff --git a/rsu-b2b-sample-client-gui/pom.xml b/rsu-b2b-sample-client-gui/pom.xml index c81ba3c..aee0737 100644 --- a/rsu-b2b-sample-client-gui/pom.xml +++ b/rsu-b2b-sample-client-gui/pom.xml @@ -60,6 +60,7 @@ + junit @@ -98,6 +99,7 @@ ${project.version} + artifacts.alfresco.com diff --git a/rsu-b2b-sample-client-gui/src/main/java/dk/skat/rsu/b2b/sample/mvc/ServiceTestAction.java b/rsu-b2b-sample-client-gui/src/main/java/dk/skat/rsu/b2b/sample/mvc/ServiceTestAction.java index 62b0c58..5df0be7 100644 --- a/rsu-b2b-sample-client-gui/src/main/java/dk/skat/rsu/b2b/sample/mvc/ServiceTestAction.java +++ b/rsu-b2b-sample-client-gui/src/main/java/dk/skat/rsu/b2b/sample/mvc/ServiceTestAction.java @@ -84,6 +84,12 @@ public String execute() if ("VirksomhedKalenderHent".equals(service)) { VirksomhedKalenderHentClient client = new VirksomhedKalenderHentClient(endpoint, policy); serviceResponse = client.invoke(requestAsString, cert, this.serviceTestForm.isOverrideTxInfo()); + System.out.println("enpoint = " + endpoint); + System.out.println("policy = " + policy); + System.out.println("requestAsString = " + requestAsString); + System.out.println("cert = " + cert); + System.out.println("this.serviceTestForm.isOverrideTxInfo() = " + this.serviceTestForm.isOverrideTxInfo()); + System.out.println("serviceResponse = " + serviceResponse); } if ("ModtagMomsangivelseForeloebig".equals(service)) { ModtagMomsangivelseForeloebigClient client = new ModtagMomsangivelseForeloebigClient(endpoint, policy); diff --git a/rsu-b2b-sample-client/pom.xml b/rsu-b2b-sample-client/pom.xml index 33eeca0..7ca3324 100644 --- a/rsu-b2b-sample-client/pom.xml +++ b/rsu-b2b-sample-client/pom.xml @@ -10,71 +10,84 @@ jar rsu-b2b-sample-client - 3.1.9 - 5.3.27 + 4.0.0 + 6.0.6 - - org.apache.cxf - cxf-rt-frontend-jaxws - ${cxf.version} - - - org.apache.cxf - cxf-rt-transports-http - ${cxf.version} - - - org.apache.cxf - cxf-rt-transports-http-jetty - ${cxf.version} - - - org.apache.cxf - cxf-rt-ws-security - ${cxf.version} - - - org.apache.cxf - cxf-rt-ws-policy - ${cxf.version} - - - org.springframework - spring-core - ${cxf.spring.version} - - - org.springframework - spring-beans - ${cxf.spring.version} - - - org.springframework - spring-context - ${cxf.spring.version} - + + org.apache.cxf + cxf-rt-frontend-jaxws + ${cxf.version} + + + org.apache.cxf + cxf-codegen-plugin + ${cxf.version} + + + org.apache.cxf + cxf-rt-transports-http + ${cxf.version} + + + org.apache.cxf + cxf-rt-transports-http-jetty + ${cxf.version} + + + + org.apache.cxf + cxf-rt-ws-security + ${cxf.version} + + + org.ehcache + ehcache + + + + + org.apache.cxf + cxf-rt-ws-policy + ${cxf.version} + + + org.springframework + spring-core + ${cxf.spring.version} + + + org.springframework + spring-beans + ${cxf.spring.version} + + + org.springframework + spring-context + ${cxf.spring.version} + - - commons-io - commons-io - 2.7 - - - org.slf4j - jcl-over-slf4j - 1.7.22 - - - junit - junit - 4.13.1 - test - - - com.typesafe - config - + + commons-io + commons-io + 2.11.0 + + + org.slf4j + jcl-over-slf4j + 2.0.5 + + + junit + junit + 4.13.2 + test + + + com.typesafe + config + 1.4.2 + @@ -82,7 +95,7 @@ org.apache.cxf cxf-codegen-plugin - 3.1.9 + ${cxf.version} generate-sources @@ -156,4 +169,67 @@ + + + central + Central Repository + https://repo.maven.apache.org/maven2 + default + + false + + + + central-repo1 + Central Repository + https://repo1.maven.org/maven2 + + true + + + false + + + + Apache Nexus + https://repository.apache.org/content/repositories/snapshots/ + + false + + + true + + + + shibboleth + https://build.shibboleth.net/nexus/content/repositories/releases/ + + true + + + false + + + + + + central + Central Repository + https://repo.maven.apache.org/maven2 + default + + false + + + never + + + + central-repo1 + https://repo1.maven.org/maven2 + + true + + + diff --git a/rsu-b2b-sample-client/src/main/java/dk/skat/rsu/b2b/sample/ModtagMomsangivelseForeloebigClient.java b/rsu-b2b-sample-client/src/main/java/dk/skat/rsu/b2b/sample/ModtagMomsangivelseForeloebigClient.java index 5620bb9..92d5880 100644 --- a/rsu-b2b-sample-client/src/main/java/dk/skat/rsu/b2b/sample/ModtagMomsangivelseForeloebigClient.java +++ b/rsu-b2b-sample-client/src/main/java/dk/skat/rsu/b2b/sample/ModtagMomsangivelseForeloebigClient.java @@ -1,14 +1,16 @@ package dk.skat.rsu.b2b.sample; + +import jakarta.xml.bind.JAXBException; +import jakarta.xml.ws.BindingProvider; import oio.skat.nemvirksomhed.ws._1_0.ModtagMomsangivelseForeloebigIType; import oio.skat.nemvirksomhed.ws._1_0.ModtagMomsangivelseForeloebigOType; import oio.skat.nemvirksomhed.ws._1_0_0.ModtagMomsangivelseForeloebigServiceBindingQSService; import oio.skat.nemvirksomhed.ws._1_0_0.ModtagMomsangivelseForeloebigServicePortType; import org.apache.commons.io.IOUtils; -import javax.xml.bind.JAXBException; + import javax.xml.datatype.DatatypeConfigurationException; -import javax.xml.ws.BindingProvider; import java.io.IOException; import java.io.InputStream; import java.util.logging.Logger; diff --git a/rsu-b2b-sample-client/src/main/java/dk/skat/rsu/b2b/sample/ModtagMomsangivelseForeloebigMarshalling.java b/rsu-b2b-sample-client/src/main/java/dk/skat/rsu/b2b/sample/ModtagMomsangivelseForeloebigMarshalling.java index 1dbe434..10c5e0b 100644 --- a/rsu-b2b-sample-client/src/main/java/dk/skat/rsu/b2b/sample/ModtagMomsangivelseForeloebigMarshalling.java +++ b/rsu-b2b-sample-client/src/main/java/dk/skat/rsu/b2b/sample/ModtagMomsangivelseForeloebigMarshalling.java @@ -1,12 +1,12 @@ package dk.skat.rsu.b2b.sample; +import jakarta.xml.bind.JAXBContext; +import jakarta.xml.bind.JAXBException; +import jakarta.xml.bind.Marshaller; +import jakarta.xml.bind.Unmarshaller; import oio.skat.nemvirksomhed.ws._1_0.ModtagMomsangivelseForeloebigIType; import oio.skat.nemvirksomhed.ws._1_0.ModtagMomsangivelseForeloebigOType; -import javax.xml.bind.JAXBContext; -import javax.xml.bind.JAXBException; -import javax.xml.bind.Marshaller; -import javax.xml.bind.Unmarshaller; import java.io.InputStream; import java.io.StringWriter; diff --git a/rsu-b2b-sample-client/src/main/java/dk/skat/rsu/b2b/sample/MomsangivelseKvitteringHentClient.java b/rsu-b2b-sample-client/src/main/java/dk/skat/rsu/b2b/sample/MomsangivelseKvitteringHentClient.java index bbd0223..fe60f70 100644 --- a/rsu-b2b-sample-client/src/main/java/dk/skat/rsu/b2b/sample/MomsangivelseKvitteringHentClient.java +++ b/rsu-b2b-sample-client/src/main/java/dk/skat/rsu/b2b/sample/MomsangivelseKvitteringHentClient.java @@ -1,14 +1,15 @@ package dk.skat.rsu.b2b.sample; + +import jakarta.xml.bind.JAXBException; +import jakarta.xml.ws.BindingProvider; import oio.skat.nemvirksomhed.ws._1_0.MomsangivelseKvitteringHentIType; import oio.skat.nemvirksomhed.ws._1_0.MomsangivelseKvitteringHentOType; import oio.skat.nemvirksomhed.ws._1_0_0.MomsangivelseKvitteringHentServiceBindingQSService; import oio.skat.nemvirksomhed.ws._1_0_0.MomsangivelseKvitteringHentServicePortType; import org.apache.commons.io.IOUtils; -import javax.xml.bind.JAXBException; import javax.xml.datatype.DatatypeConfigurationException; -import javax.xml.ws.BindingProvider; import java.io.IOException; import java.io.InputStream; import java.util.logging.Logger; diff --git a/rsu-b2b-sample-client/src/main/java/dk/skat/rsu/b2b/sample/MomsangivelseKvitteringHentMarshalling.java b/rsu-b2b-sample-client/src/main/java/dk/skat/rsu/b2b/sample/MomsangivelseKvitteringHentMarshalling.java index 7db3c10..7ec6a1b 100644 --- a/rsu-b2b-sample-client/src/main/java/dk/skat/rsu/b2b/sample/MomsangivelseKvitteringHentMarshalling.java +++ b/rsu-b2b-sample-client/src/main/java/dk/skat/rsu/b2b/sample/MomsangivelseKvitteringHentMarshalling.java @@ -1,13 +1,14 @@ package dk.skat.rsu.b2b.sample; + +import jakarta.xml.bind.JAXBContext; +import jakarta.xml.bind.JAXBException; +import jakarta.xml.bind.Marshaller; +import jakarta.xml.bind.Unmarshaller; import oio.skat.nemvirksomhed.ws._1_0.MomsangivelseKvitteringHentIType; import oio.skat.nemvirksomhed.ws._1_0.MomsangivelseKvitteringHentOType; import org.apache.commons.io.IOUtils; -import javax.xml.bind.JAXBContext; -import javax.xml.bind.JAXBException; -import javax.xml.bind.Marshaller; -import javax.xml.bind.Unmarshaller; import java.io.IOException; import java.io.InputStream; import java.io.StringWriter; diff --git a/rsu-b2b-sample-client/src/main/java/dk/skat/rsu/b2b/sample/VirksomhedKalenderHentClient.java b/rsu-b2b-sample-client/src/main/java/dk/skat/rsu/b2b/sample/VirksomhedKalenderHentClient.java index 6633ec1..601ea24 100644 --- a/rsu-b2b-sample-client/src/main/java/dk/skat/rsu/b2b/sample/VirksomhedKalenderHentClient.java +++ b/rsu-b2b-sample-client/src/main/java/dk/skat/rsu/b2b/sample/VirksomhedKalenderHentClient.java @@ -1,13 +1,14 @@ package dk.skat.rsu.b2b.sample; + +import jakarta.xml.bind.JAXBException; +import jakarta.xml.ws.BindingProvider; import oio.skat.nemvirksomhed.ws._1_0.VirksomhedKalenderHentIType; import oio.skat.nemvirksomhed.ws._1_0.VirksomhedKalenderHentOType; import oio.skat.nemvirksomhed.ws._1_0_0.VirksomhedKalenderHentServiceBindingQSService; import oio.skat.nemvirksomhed.ws._1_0_0.VirksomhedKalenderHentServicePortType; -import javax.xml.bind.JAXBException; import javax.xml.datatype.DatatypeConfigurationException; -import javax.xml.ws.BindingProvider; import java.io.IOException; import java.io.InputStream; import java.util.logging.Logger; @@ -55,11 +56,11 @@ public VirksomhedKalenderHentClient(String endpointURL, String policy) { public String invoke(String document, String certicateAlias, boolean overrideHovedoplysninger) throws IOException, DatatypeConfigurationException, JAXBException { + configureBus(certicateAlias); VirksomhedKalenderHentServiceBindingQSService service = new VirksomhedKalenderHentServiceBindingQSService(); VirksomhedKalenderHentServicePortType port = service.getVirksomhedKalenderHentServiceBindingQSPort(); - // Set endpoint of service. BindingProvider bp = (BindingProvider)port; bp.getRequestContext().put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY, this.endpointURL); @@ -72,8 +73,9 @@ public String invoke(String document, String certicateAlias, boolean overrideHov virksomhedKalenderHentIType.getHovedOplysninger().setTransaktionTid(getTransactionTime()); LOGGER.info("HovedOplysninger populated with new Transaction Id and Time"); } - + System.out.println("før"); VirksomhedKalenderHentOType out = port.getVirksomhedKalenderHent(virksomhedKalenderHentIType); + System.out.println("efter"); return VirksomhedKalenderHentMarshalling.toString(out); } diff --git a/rsu-b2b-sample-client/src/main/java/dk/skat/rsu/b2b/sample/VirksomhedKalenderHentMarshalling.java b/rsu-b2b-sample-client/src/main/java/dk/skat/rsu/b2b/sample/VirksomhedKalenderHentMarshalling.java index 9801cc8..87e97c6 100644 --- a/rsu-b2b-sample-client/src/main/java/dk/skat/rsu/b2b/sample/VirksomhedKalenderHentMarshalling.java +++ b/rsu-b2b-sample-client/src/main/java/dk/skat/rsu/b2b/sample/VirksomhedKalenderHentMarshalling.java @@ -1,12 +1,13 @@ package dk.skat.rsu.b2b.sample; + +import jakarta.xml.bind.JAXBContext; +import jakarta.xml.bind.JAXBException; +import jakarta.xml.bind.Marshaller; +import jakarta.xml.bind.Unmarshaller; import oio.skat.nemvirksomhed.ws._1_0.VirksomhedKalenderHentIType; import oio.skat.nemvirksomhed.ws._1_0.VirksomhedKalenderHentOType; -import javax.xml.bind.JAXBContext; -import javax.xml.bind.JAXBException; -import javax.xml.bind.Marshaller; -import javax.xml.bind.Unmarshaller; import java.io.InputStream; import java.io.StringWriter; @@ -36,5 +37,4 @@ public static String toString(VirksomhedKalenderHentOType document) throws JAXBE throw e; } } - } diff --git a/rsu-b2b-sample-client/src/main/java/oio/skat/nemvirksomhed/ws/_1_0/ModtagMomsangivelseForeloebigIType.java b/rsu-b2b-sample-client/src/main/java/oio/skat/nemvirksomhed/ws/_1_0/ModtagMomsangivelseForeloebigIType.java index b4a5e4b..f96a018 100644 --- a/rsu-b2b-sample-client/src/main/java/oio/skat/nemvirksomhed/ws/_1_0/ModtagMomsangivelseForeloebigIType.java +++ b/rsu-b2b-sample-client/src/main/java/oio/skat/nemvirksomhed/ws/_1_0/ModtagMomsangivelseForeloebigIType.java @@ -2,16 +2,16 @@ package oio.skat.nemvirksomhed.ws._1_0; import java.math.BigInteger; -import javax.xml.bind.annotation.*; import javax.xml.datatype.XMLGregorianCalendar; import dk.oio.rep.skat_dk.basis.kontekst.xml.schemas._2006._09._01.HovedOplysningerType; +import jakarta.xml.bind.annotation.*; /** *

Java class for ModtagMomsangivelseForeloebig_IType complex type. - * + * *

The following schema fragment specifies the expected content contained within this class. - * + * *

  * <complexType name="ModtagMomsangivelseForeloebig_IType">
  *   <complexContent>
@@ -73,8 +73,8 @@
  *   </complexContent>
  * </complexType>
  * 
- * - * + * + * */ @XmlAccessorType(XmlAccessType.FIELD) @XmlRootElement(name="ModtagMomsangivelseForeloebig_I") @@ -91,11 +91,11 @@ public class ModtagMomsangivelseForeloebigIType { /** * Gets the value of the hovedOplysninger property. - * + * * @return * possible object is * {@link HovedOplysningerType } - * + * */ public HovedOplysningerType getHovedOplysninger() { return hovedOplysninger; @@ -103,11 +103,11 @@ public HovedOplysningerType getHovedOplysninger() { /** * Sets the value of the hovedOplysninger property. - * + * * @param value * allowed object is * {@link HovedOplysningerType } - * + * */ public void setHovedOplysninger(HovedOplysningerType value) { this.hovedOplysninger = value; @@ -115,11 +115,11 @@ public void setHovedOplysninger(HovedOplysningerType value) { /** * Gets the value of the angivelse property. - * + * * @return * possible object is * {@link ModtagMomsangivelseForeloebigIType.Angivelse } - * + * */ public ModtagMomsangivelseForeloebigIType.Angivelse getAngivelse() { return angivelse; @@ -127,11 +127,11 @@ public ModtagMomsangivelseForeloebigIType.Angivelse getAngivelse() { /** * Sets the value of the angivelse property. - * + * * @param value * allowed object is * {@link ModtagMomsangivelseForeloebigIType.Angivelse } - * + * */ public void setAngivelse(ModtagMomsangivelseForeloebigIType.Angivelse value) { this.angivelse = value; @@ -140,9 +140,9 @@ public void setAngivelse(ModtagMomsangivelseForeloebigIType.Angivelse value) { /** *

Java class for anonymous complex type. - * + * *

The following schema fragment specifies the expected content contained within this class. - * + * *

      * <complexType>
      *   <complexContent>
@@ -193,8 +193,8 @@ public void setAngivelse(ModtagMomsangivelseForeloebigIType.Angivelse value) {
      *   </complexContent>
      * </complexType>
      * 
- * - * + * + * */ @XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "", propOrder = { @@ -213,11 +213,11 @@ public static class Angivelse { /** * Gets the value of the angiverVirksomhedSENummer property. - * + * * @return * possible object is * {@link AngiverVirksomhedSENummerType } - * + * */ public AngiverVirksomhedSENummerType getAngiverVirksomhedSENummer() { return angiverVirksomhedSENummer; @@ -225,11 +225,11 @@ public AngiverVirksomhedSENummerType getAngiverVirksomhedSENummer() { /** * Sets the value of the angiverVirksomhedSENummer property. - * + * * @param value * allowed object is * {@link AngiverVirksomhedSENummerType } - * + * */ public void setAngiverVirksomhedSENummer(AngiverVirksomhedSENummerType value) { this.angiverVirksomhedSENummer = value; @@ -237,11 +237,11 @@ public void setAngiverVirksomhedSENummer(AngiverVirksomhedSENummerType value) { /** * Gets the value of the angivelsesoplysninger property. - * + * * @return * possible object is * {@link ModtagMomsangivelseForeloebigIType.Angivelse.Angivelsesoplysninger } - * + * */ public ModtagMomsangivelseForeloebigIType.Angivelse.Angivelsesoplysninger getAngivelsesoplysninger() { return angivelsesoplysninger; @@ -249,11 +249,11 @@ public ModtagMomsangivelseForeloebigIType.Angivelse.Angivelsesoplysninger getAng /** * Sets the value of the angivelsesoplysninger property. - * + * * @param value * allowed object is * {@link ModtagMomsangivelseForeloebigIType.Angivelse.Angivelsesoplysninger } - * + * */ public void setAngivelsesoplysninger(ModtagMomsangivelseForeloebigIType.Angivelse.Angivelsesoplysninger value) { this.angivelsesoplysninger = value; @@ -261,11 +261,11 @@ public void setAngivelsesoplysninger(ModtagMomsangivelseForeloebigIType.Angivels /** * Gets the value of the angivelsesafgifter property. - * + * * @return * possible object is * {@link ModtagMomsangivelseForeloebigIType.Angivelse.Angivelsesafgifter } - * + * */ public ModtagMomsangivelseForeloebigIType.Angivelse.Angivelsesafgifter getAngivelsesafgifter() { return angivelsesafgifter; @@ -273,11 +273,11 @@ public ModtagMomsangivelseForeloebigIType.Angivelse.Angivelsesafgifter getAngive /** * Sets the value of the angivelsesafgifter property. - * + * * @param value * allowed object is * {@link ModtagMomsangivelseForeloebigIType.Angivelse.Angivelsesafgifter } - * + * */ public void setAngivelsesafgifter(ModtagMomsangivelseForeloebigIType.Angivelse.Angivelsesafgifter value) { this.angivelsesafgifter = value; @@ -286,9 +286,9 @@ public void setAngivelsesafgifter(ModtagMomsangivelseForeloebigIType.Angivelse.A /** *

Java class for anonymous complex type. - * + * *

The following schema fragment specifies the expected content contained within this class. - * + * *

          * <complexType>
          *   <complexContent>
@@ -316,8 +316,8 @@ public void setAngivelsesafgifter(ModtagMomsangivelseForeloebigIType.Angivelse.A
          *   </complexContent>
          * </complexType>
          * 
- * - * + * + * */ @XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "", propOrder = { @@ -378,11 +378,11 @@ public static class Angivelsesafgifter { /** * Gets the value of the momsAngivelseAfgiftTilsvarBeloeb property. - * + * * @return * possible object is * {@link BigInteger } - * + * */ public BigInteger getMomsAngivelseAfgiftTilsvarBeloeb() { return momsAngivelseAfgiftTilsvarBeloeb; @@ -390,11 +390,11 @@ public BigInteger getMomsAngivelseAfgiftTilsvarBeloeb() { /** * Sets the value of the momsAngivelseAfgiftTilsvarBeloeb property. - * + * * @param value * allowed object is * {@link BigInteger } - * + * */ public void setMomsAngivelseAfgiftTilsvarBeloeb(BigInteger value) { this.momsAngivelseAfgiftTilsvarBeloeb = value; @@ -402,11 +402,11 @@ public void setMomsAngivelseAfgiftTilsvarBeloeb(BigInteger value) { /** * Gets the value of the momsAngivelseCO2AfgiftBeloeb property. - * + * * @return * possible object is * {@link BigInteger } - * + * */ public BigInteger getMomsAngivelseCO2AfgiftBeloeb() { return momsAngivelseCO2AfgiftBeloeb; @@ -414,11 +414,11 @@ public BigInteger getMomsAngivelseCO2AfgiftBeloeb() { /** * Sets the value of the momsAngivelseCO2AfgiftBeloeb property. - * + * * @param value * allowed object is * {@link BigInteger } - * + * */ public void setMomsAngivelseCO2AfgiftBeloeb(BigInteger value) { this.momsAngivelseCO2AfgiftBeloeb = value; @@ -426,11 +426,11 @@ public void setMomsAngivelseCO2AfgiftBeloeb(BigInteger value) { /** * Gets the value of the momsAngivelseEUKoebBeloeb property. - * + * * @return * possible object is * {@link BigInteger } - * + * */ public BigInteger getMomsAngivelseEUKoebBeloeb() { return momsAngivelseEUKoebBeloeb; @@ -438,11 +438,11 @@ public BigInteger getMomsAngivelseEUKoebBeloeb() { /** * Sets the value of the momsAngivelseEUKoebBeloeb property. - * + * * @param value * allowed object is * {@link BigInteger } - * + * */ public void setMomsAngivelseEUKoebBeloeb(BigInteger value) { this.momsAngivelseEUKoebBeloeb = value; @@ -450,11 +450,11 @@ public void setMomsAngivelseEUKoebBeloeb(BigInteger value) { /** * Gets the value of the momsAngivelseEUSalgBeloebVarerBeloeb property. - * + * * @return * possible object is * {@link BigInteger } - * + * */ public BigInteger getMomsAngivelseEUSalgBeloebVarerBeloeb() { return momsAngivelseEUSalgBeloebVarerBeloeb; @@ -462,11 +462,11 @@ public BigInteger getMomsAngivelseEUSalgBeloebVarerBeloeb() { /** * Sets the value of the momsAngivelseEUSalgBeloebVarerBeloeb property. - * + * * @param value * allowed object is * {@link BigInteger } - * + * */ public void setMomsAngivelseEUSalgBeloebVarerBeloeb(BigInteger value) { this.momsAngivelseEUSalgBeloebVarerBeloeb = value; @@ -474,11 +474,11 @@ public void setMomsAngivelseEUSalgBeloebVarerBeloeb(BigInteger value) { /** * Gets the value of the momsAngivelseIkkeEUSalgBeloebVarerBeloeb property. - * + * * @return * possible object is * {@link BigInteger } - * + * */ public BigInteger getMomsAngivelseIkkeEUSalgBeloebVarerBeloeb() { return momsAngivelseIkkeEUSalgBeloebVarerBeloeb; @@ -486,11 +486,11 @@ public BigInteger getMomsAngivelseIkkeEUSalgBeloebVarerBeloeb() { /** * Sets the value of the momsAngivelseIkkeEUSalgBeloebVarerBeloeb property. - * + * * @param value * allowed object is * {@link BigInteger } - * + * */ public void setMomsAngivelseIkkeEUSalgBeloebVarerBeloeb(BigInteger value) { this.momsAngivelseIkkeEUSalgBeloebVarerBeloeb = value; @@ -498,11 +498,11 @@ public void setMomsAngivelseIkkeEUSalgBeloebVarerBeloeb(BigInteger value) { /** * Gets the value of the momsAngivelseElAfgiftBeloeb property. - * + * * @return * possible object is * {@link BigInteger } - * + * */ public BigInteger getMomsAngivelseElAfgiftBeloeb() { return momsAngivelseElAfgiftBeloeb; @@ -510,11 +510,11 @@ public BigInteger getMomsAngivelseElAfgiftBeloeb() { /** * Sets the value of the momsAngivelseElAfgiftBeloeb property. - * + * * @param value * allowed object is * {@link BigInteger } - * + * */ public void setMomsAngivelseElAfgiftBeloeb(BigInteger value) { this.momsAngivelseElAfgiftBeloeb = value; @@ -522,11 +522,11 @@ public void setMomsAngivelseElAfgiftBeloeb(BigInteger value) { /** * Gets the value of the momsAngivelseEksportOmsaetningBeloeb property. - * + * * @return * possible object is * {@link BigInteger } - * + * */ public BigInteger getMomsAngivelseEksportOmsaetningBeloeb() { return momsAngivelseEksportOmsaetningBeloeb; @@ -534,11 +534,11 @@ public BigInteger getMomsAngivelseEksportOmsaetningBeloeb() { /** * Sets the value of the momsAngivelseEksportOmsaetningBeloeb property. - * + * * @param value * allowed object is * {@link BigInteger } - * + * */ public void setMomsAngivelseEksportOmsaetningBeloeb(BigInteger value) { this.momsAngivelseEksportOmsaetningBeloeb = value; @@ -546,11 +546,11 @@ public void setMomsAngivelseEksportOmsaetningBeloeb(BigInteger value) { /** * Gets the value of the momsAngivelseGasAfgiftBeloeb property. - * + * * @return * possible object is * {@link BigInteger } - * + * */ public BigInteger getMomsAngivelseGasAfgiftBeloeb() { return momsAngivelseGasAfgiftBeloeb; @@ -558,11 +558,11 @@ public BigInteger getMomsAngivelseGasAfgiftBeloeb() { /** * Sets the value of the momsAngivelseGasAfgiftBeloeb property. - * + * * @param value * allowed object is * {@link BigInteger } - * + * */ public void setMomsAngivelseGasAfgiftBeloeb(BigInteger value) { this.momsAngivelseGasAfgiftBeloeb = value; @@ -570,11 +570,11 @@ public void setMomsAngivelseGasAfgiftBeloeb(BigInteger value) { /** * Gets the value of the momsAngivelseKoebsMomsBeloeb property. - * + * * @return * possible object is * {@link BigInteger } - * + * */ public BigInteger getMomsAngivelseKoebsMomsBeloeb() { return momsAngivelseKoebsMomsBeloeb; @@ -582,11 +582,11 @@ public BigInteger getMomsAngivelseKoebsMomsBeloeb() { /** * Sets the value of the momsAngivelseKoebsMomsBeloeb property. - * + * * @param value * allowed object is * {@link BigInteger } - * + * */ public void setMomsAngivelseKoebsMomsBeloeb(BigInteger value) { this.momsAngivelseKoebsMomsBeloeb = value; @@ -594,11 +594,11 @@ public void setMomsAngivelseKoebsMomsBeloeb(BigInteger value) { /** * Gets the value of the momsAngivelseKulAfgiftBeloeb property. - * + * * @return * possible object is * {@link BigInteger } - * + * */ public BigInteger getMomsAngivelseKulAfgiftBeloeb() { return momsAngivelseKulAfgiftBeloeb; @@ -606,11 +606,11 @@ public BigInteger getMomsAngivelseKulAfgiftBeloeb() { /** * Sets the value of the momsAngivelseKulAfgiftBeloeb property. - * + * * @param value * allowed object is * {@link BigInteger } - * + * */ public void setMomsAngivelseKulAfgiftBeloeb(BigInteger value) { this.momsAngivelseKulAfgiftBeloeb = value; @@ -618,11 +618,11 @@ public void setMomsAngivelseKulAfgiftBeloeb(BigInteger value) { /** * Gets the value of the momsAngivelseMomsEUKoebBeloeb property. - * + * * @return * possible object is * {@link BigInteger } - * + * */ public BigInteger getMomsAngivelseMomsEUKoebBeloeb() { return momsAngivelseMomsEUKoebBeloeb; @@ -630,11 +630,11 @@ public BigInteger getMomsAngivelseMomsEUKoebBeloeb() { /** * Sets the value of the momsAngivelseMomsEUKoebBeloeb property. - * + * * @param value * allowed object is * {@link BigInteger } - * + * */ public void setMomsAngivelseMomsEUKoebBeloeb(BigInteger value) { this.momsAngivelseMomsEUKoebBeloeb = value; @@ -642,11 +642,11 @@ public void setMomsAngivelseMomsEUKoebBeloeb(BigInteger value) { /** * Gets the value of the momsAngivelseMomsEUYdelserBeloeb property. - * + * * @return * possible object is * {@link BigInteger } - * + * */ public BigInteger getMomsAngivelseMomsEUYdelserBeloeb() { return momsAngivelseMomsEUYdelserBeloeb; @@ -654,11 +654,11 @@ public BigInteger getMomsAngivelseMomsEUYdelserBeloeb() { /** * Sets the value of the momsAngivelseMomsEUYdelserBeloeb property. - * + * * @param value * allowed object is * {@link BigInteger } - * + * */ public void setMomsAngivelseMomsEUYdelserBeloeb(BigInteger value) { this.momsAngivelseMomsEUYdelserBeloeb = value; @@ -666,11 +666,11 @@ public void setMomsAngivelseMomsEUYdelserBeloeb(BigInteger value) { /** * Gets the value of the momsAngivelseOlieAfgiftBeloeb property. - * + * * @return * possible object is * {@link BigInteger } - * + * */ public BigInteger getMomsAngivelseOlieAfgiftBeloeb() { return momsAngivelseOlieAfgiftBeloeb; @@ -678,11 +678,11 @@ public BigInteger getMomsAngivelseOlieAfgiftBeloeb() { /** * Sets the value of the momsAngivelseOlieAfgiftBeloeb property. - * + * * @param value * allowed object is * {@link BigInteger } - * + * */ public void setMomsAngivelseOlieAfgiftBeloeb(BigInteger value) { this.momsAngivelseOlieAfgiftBeloeb = value; @@ -690,11 +690,11 @@ public void setMomsAngivelseOlieAfgiftBeloeb(BigInteger value) { /** * Gets the value of the momsAngivelseSalgsMomsBeloeb property. - * + * * @return * possible object is * {@link BigInteger } - * + * */ public BigInteger getMomsAngivelseSalgsMomsBeloeb() { return momsAngivelseSalgsMomsBeloeb; @@ -702,11 +702,11 @@ public BigInteger getMomsAngivelseSalgsMomsBeloeb() { /** * Sets the value of the momsAngivelseSalgsMomsBeloeb property. - * + * * @param value * allowed object is * {@link BigInteger } - * + * */ public void setMomsAngivelseSalgsMomsBeloeb(BigInteger value) { this.momsAngivelseSalgsMomsBeloeb = value; @@ -714,11 +714,11 @@ public void setMomsAngivelseSalgsMomsBeloeb(BigInteger value) { /** * Gets the value of the momsAngivelseVandAfgiftBeloeb property. - * + * * @return * possible object is * {@link BigInteger } - * + * */ public BigInteger getMomsAngivelseVandAfgiftBeloeb() { return momsAngivelseVandAfgiftBeloeb; @@ -726,11 +726,11 @@ public BigInteger getMomsAngivelseVandAfgiftBeloeb() { /** * Sets the value of the momsAngivelseVandAfgiftBeloeb property. - * + * * @param value * allowed object is * {@link BigInteger } - * + * */ public void setMomsAngivelseVandAfgiftBeloeb(BigInteger value) { this.momsAngivelseVandAfgiftBeloeb = value; @@ -738,11 +738,11 @@ public void setMomsAngivelseVandAfgiftBeloeb(BigInteger value) { /** * Gets the value of the momsAngivelseEUKoebYdelseBeloeb property. - * + * * @return * possible object is * {@link BigInteger } - * + * */ public BigInteger getMomsAngivelseEUKoebYdelseBeloeb() { return momsAngivelseEUKoebYdelseBeloeb; @@ -750,11 +750,11 @@ public BigInteger getMomsAngivelseEUKoebYdelseBeloeb() { /** * Sets the value of the momsAngivelseEUKoebYdelseBeloeb property. - * + * * @param value * allowed object is * {@link BigInteger } - * + * */ public void setMomsAngivelseEUKoebYdelseBeloeb(BigInteger value) { this.momsAngivelseEUKoebYdelseBeloeb = value; @@ -762,11 +762,11 @@ public void setMomsAngivelseEUKoebYdelseBeloeb(BigInteger value) { /** * Gets the value of the momsAngivelseEUSalgYdelseBeloeb property. - * + * * @return * possible object is * {@link BigInteger } - * + * */ public BigInteger getMomsAngivelseEUSalgYdelseBeloeb() { return momsAngivelseEUSalgYdelseBeloeb; @@ -774,11 +774,11 @@ public BigInteger getMomsAngivelseEUSalgYdelseBeloeb() { /** * Sets the value of the momsAngivelseEUSalgYdelseBeloeb property. - * + * * @param value * allowed object is * {@link BigInteger } - * + * */ public void setMomsAngivelseEUSalgYdelseBeloeb(BigInteger value) { this.momsAngivelseEUSalgYdelseBeloeb = value; @@ -789,9 +789,9 @@ public void setMomsAngivelseEUSalgYdelseBeloeb(BigInteger value) { /** *

Java class for anonymous complex type. - * + * *

The following schema fragment specifies the expected content contained within this class. - * + * *

          * <complexType>
          *   <complexContent>
@@ -804,8 +804,8 @@ public void setMomsAngivelseEUSalgYdelseBeloeb(BigInteger value) {
          *   </complexContent>
          * </complexType>
          * 
- * - * + * + * */ @XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "", propOrder = { @@ -823,11 +823,11 @@ public static class Angivelsesoplysninger { /** * Gets the value of the angivelsePeriodeFraDato property. - * + * * @return * possible object is * {@link XMLGregorianCalendar } - * + * */ public XMLGregorianCalendar getAngivelsePeriodeFraDato() { return angivelsePeriodeFraDato; @@ -835,11 +835,11 @@ public XMLGregorianCalendar getAngivelsePeriodeFraDato() { /** * Sets the value of the angivelsePeriodeFraDato property. - * + * * @param value * allowed object is * {@link XMLGregorianCalendar } - * + * */ public void setAngivelsePeriodeFraDato(XMLGregorianCalendar value) { this.angivelsePeriodeFraDato = value; @@ -847,11 +847,11 @@ public void setAngivelsePeriodeFraDato(XMLGregorianCalendar value) { /** * Gets the value of the angivelsePeriodeTilDato property. - * + * * @return * possible object is * {@link XMLGregorianCalendar } - * + * */ public XMLGregorianCalendar getAngivelsePeriodeTilDato() { return angivelsePeriodeTilDato; @@ -859,11 +859,11 @@ public XMLGregorianCalendar getAngivelsePeriodeTilDato() { /** * Sets the value of the angivelsePeriodeTilDato property. - * + * * @param value * allowed object is * {@link XMLGregorianCalendar } - * + * */ public void setAngivelsePeriodeTilDato(XMLGregorianCalendar value) { this.angivelsePeriodeTilDato = value; diff --git a/rsu-b2b-sample-client/src/main/java/oio/skat/nemvirksomhed/ws/_1_0/ModtagMomsangivelseForeloebigOType.java b/rsu-b2b-sample-client/src/main/java/oio/skat/nemvirksomhed/ws/_1_0/ModtagMomsangivelseForeloebigOType.java index 9059efb..8e5724a 100644 --- a/rsu-b2b-sample-client/src/main/java/oio/skat/nemvirksomhed/ws/_1_0/ModtagMomsangivelseForeloebigOType.java +++ b/rsu-b2b-sample-client/src/main/java/oio/skat/nemvirksomhed/ws/_1_0/ModtagMomsangivelseForeloebigOType.java @@ -2,15 +2,14 @@ package oio.skat.nemvirksomhed.ws._1_0; import dk.oio.rep.skat_dk.basis.kontekst.xml.schemas._2006._09._01.HovedOplysningerSvarType; - -import javax.xml.bind.annotation.*; +import jakarta.xml.bind.annotation.*; /** *

Java class for ModtagMomsangivelseForeloebig_OType complex type. - * + * *

The following schema fragment specifies the expected content contained within this class. - * + * *

  * <complexType name="ModtagMomsangivelseForeloebig_OType">
  *   <complexContent>
@@ -34,8 +33,8 @@
  *   </complexContent>
  * </complexType>
  * 
- * - * + * + * */ @XmlAccessorType(XmlAccessType.FIELD) @XmlRootElement(name="ModtagMomsangivelseForeloebig_O") @@ -128,9 +127,9 @@ public void setDybtlink(Dybtlink value) { /** *

Java class for anonymous complex type. - * + * *

The following schema fragment specifies the expected content contained within this class. - * + * *

      * <complexType>
      *   <complexContent>
@@ -142,8 +141,8 @@ public void setDybtlink(Dybtlink value) {
      *   </complexContent>
      * </complexType>
      * 
- * - * + * + * */ @XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "", propOrder = { @@ -156,11 +155,11 @@ public static class Dybtlink { /** * Gets the value of the urlIndicator property. - * + * * @return * possible object is * {@link String } - * + * */ public String getUrlIndicator() { return urlIndicator; @@ -168,11 +167,11 @@ public String getUrlIndicator() { /** * Sets the value of the urlIndicator property. - * + * * @param value * allowed object is * {@link String } - * + * */ public void setUrlIndicator(String value) { this.urlIndicator = value; diff --git a/rsu-b2b-sample-client/src/main/java/oio/skat/nemvirksomhed/ws/_1_0/MomsangivelseKvitteringHentIType.java b/rsu-b2b-sample-client/src/main/java/oio/skat/nemvirksomhed/ws/_1_0/MomsangivelseKvitteringHentIType.java index 706a62f..c44a0c2 100644 --- a/rsu-b2b-sample-client/src/main/java/oio/skat/nemvirksomhed/ws/_1_0/MomsangivelseKvitteringHentIType.java +++ b/rsu-b2b-sample-client/src/main/java/oio/skat/nemvirksomhed/ws/_1_0/MomsangivelseKvitteringHentIType.java @@ -1,16 +1,17 @@ package oio.skat.nemvirksomhed.ws._1_0; -import javax.xml.bind.annotation.*; + import dk.oio.rep.skat_dk.basis.kontekst.xml.schemas._2006._09._01.HovedOplysningerType; +import jakarta.xml.bind.annotation.*; /** *

Java class for MomsangivelseKvitteringHent_IType complex type. - * + * *

The following schema fragment specifies the expected content contained within this class. - * + * *

  * <complexType name="MomsangivelseKvitteringHent_IType">
  *   <complexContent>
@@ -34,8 +35,8 @@
  *   </complexContent>
  * </complexType>
  * 
- * - * + * + * */ @XmlAccessorType(XmlAccessType.FIELD) @XmlRootElement(name="MomsangivelseKvitteringHent_I") @@ -55,11 +56,11 @@ public class MomsangivelseKvitteringHentIType { /** * Gets the value of the hovedOplysninger property. - * + * * @return * possible object is * {@link HovedOplysningerType } - * + * */ public HovedOplysningerType getHovedOplysninger() { return hovedOplysninger; @@ -67,11 +68,11 @@ public HovedOplysningerType getHovedOplysninger() { /** * Sets the value of the hovedOplysninger property. - * + * * @param value * allowed object is * {@link HovedOplysningerType } - * + * */ public void setHovedOplysninger(HovedOplysningerType value) { this.hovedOplysninger = value; @@ -79,11 +80,11 @@ public void setHovedOplysninger(HovedOplysningerType value) { /** * Gets the value of the transaktionIdentifier property. - * + * * @return * possible object is * {@link String } - * + * */ public String getTransaktionIdentifier() { return transaktionIdentifier; @@ -91,11 +92,11 @@ public String getTransaktionIdentifier() { /** * Sets the value of the transaktionIdentifier property. - * + * * @param value * allowed object is * {@link String } - * + * */ public void setTransaktionIdentifier(String value) { this.transaktionIdentifier = value; @@ -103,11 +104,11 @@ public void setTransaktionIdentifier(String value) { /** * Gets the value of the angiver property. - * + * * @return * possible object is * {@link MomsangivelseKvitteringHentIType.Angiver } - * + * */ public MomsangivelseKvitteringHentIType.Angiver getAngiver() { return angiver; @@ -115,11 +116,11 @@ public MomsangivelseKvitteringHentIType.Angiver getAngiver() { /** * Sets the value of the angiver property. - * + * * @param value * allowed object is * {@link MomsangivelseKvitteringHentIType.Angiver } - * + * */ public void setAngiver(MomsangivelseKvitteringHentIType.Angiver value) { this.angiver = value; @@ -128,9 +129,9 @@ public void setAngiver(MomsangivelseKvitteringHentIType.Angiver value) { /** *

Java class for anonymous complex type. - * + * *

The following schema fragment specifies the expected content contained within this class. - * + * *

      * <complexType>
      *   <complexContent>
@@ -142,8 +143,8 @@ public void setAngiver(MomsangivelseKvitteringHentIType.Angiver value) {
      *   </complexContent>
      * </complexType>
      * 
- * - * + * + * */ @XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "", propOrder = { @@ -156,11 +157,11 @@ public static class Angiver { /** * Gets the value of the virksomhedSENummerIdentifikator property. - * + * * @return * possible object is * {@link String } - * + * */ public String getVirksomhedSENummerIdentifikator() { return virksomhedSENummerIdentifikator; @@ -168,11 +169,11 @@ public String getVirksomhedSENummerIdentifikator() { /** * Sets the value of the virksomhedSENummerIdentifikator property. - * + * * @param value * allowed object is * {@link String } - * + * */ public void setVirksomhedSENummerIdentifikator(String value) { this.virksomhedSENummerIdentifikator = value; diff --git a/rsu-b2b-sample-client/src/main/java/oio/skat/nemvirksomhed/ws/_1_0/MomsangivelseKvitteringHentOType.java b/rsu-b2b-sample-client/src/main/java/oio/skat/nemvirksomhed/ws/_1_0/MomsangivelseKvitteringHentOType.java index d1e3aca..7e92fb5 100644 --- a/rsu-b2b-sample-client/src/main/java/oio/skat/nemvirksomhed/ws/_1_0/MomsangivelseKvitteringHentOType.java +++ b/rsu-b2b-sample-client/src/main/java/oio/skat/nemvirksomhed/ws/_1_0/MomsangivelseKvitteringHentOType.java @@ -2,17 +2,17 @@ package oio.skat.nemvirksomhed.ws._1_0; import dk.oio.rep.skat_dk.basis.kontekst.xml.schemas._2006._09._01.HovedOplysningerSvarType; +import jakarta.xml.bind.annotation.*; -import javax.xml.bind.annotation.*; import javax.xml.datatype.XMLGregorianCalendar; import java.math.BigInteger; /** *

Java class for MomsangivelseKvitteringHent_OType complex type. - * + * *

The following schema fragment specifies the expected content contained within this class. - * + * *

  * <complexType name="MomsangivelseKvitteringHent_OType">
  *   <complexContent>
@@ -48,8 +48,8 @@
  *   </complexContent>
  * </complexType>
  * 
- * - * + * + * */ @XmlAccessorType(XmlAccessType.FIELD) @XmlRootElement(name="MomsangivelseKvitteringHent_O") @@ -142,9 +142,9 @@ public void setBetalingsoplysninger(Betalingsoplysninger value) { /** *

Java class for anonymous complex type. - * + * *

The following schema fragment specifies the expected content contained within this class. - * + * *

      * <complexType>
      *   <complexContent>
@@ -158,8 +158,8 @@ public void setBetalingsoplysninger(Betalingsoplysninger value) {
      *   </complexContent>
      * </complexType>
      * 
- * - * + * + * */ @XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "", propOrder = { @@ -179,11 +179,11 @@ public static class Betalingsoplysninger { /** * Gets the value of the ocrLinie property. - * + * * @return * possible object is * {@link OCRLinieType } - * + * */ public OCRLinieType getOCRLinie() { return ocrLinie; @@ -191,11 +191,11 @@ public OCRLinieType getOCRLinie() { /** * Sets the value of the ocrLinie property. - * + * * @param value * allowed object is * {@link OCRLinieType } - * + * */ public void setOCRLinie(OCRLinieType value) { this.ocrLinie = value; @@ -203,11 +203,11 @@ public void setOCRLinie(OCRLinieType value) { /** * Gets the value of the betalingIkkeBetaltBeloeb property. - * + * * @return * possible object is * {@link BigInteger } - * + * */ public BigInteger getBetalingIkkeBetaltBeloeb() { return betalingIkkeBetaltBeloeb; @@ -215,11 +215,11 @@ public BigInteger getBetalingIkkeBetaltBeloeb() { /** * Sets the value of the betalingIkkeBetaltBeloeb property. - * + * * @param value * allowed object is * {@link BigInteger } - * + * */ public void setBetalingIkkeBetaltBeloeb(BigInteger value) { this.betalingIkkeBetaltBeloeb = value; @@ -227,11 +227,11 @@ public void setBetalingIkkeBetaltBeloeb(BigInteger value) { /** * Gets the value of the angivelseFristKalenderBetalingDato property. - * + * * @return * possible object is * {@link XMLGregorianCalendar } - * + * */ public XMLGregorianCalendar getAngivelseFristKalenderBetalingDato() { return angivelseFristKalenderBetalingDato; @@ -239,11 +239,11 @@ public XMLGregorianCalendar getAngivelseFristKalenderBetalingDato() { /** * Sets the value of the angivelseFristKalenderBetalingDato property. - * + * * @param value * allowed object is * {@link XMLGregorianCalendar } - * + * */ public void setAngivelseFristKalenderBetalingDato(XMLGregorianCalendar value) { this.angivelseFristKalenderBetalingDato = value; @@ -254,9 +254,9 @@ public void setAngivelseFristKalenderBetalingDato(XMLGregorianCalendar value) { /** *

Java class for anonymous complex type. - * + * *

The following schema fragment specifies the expected content contained within this class. - * + * *

      * <complexType>
      *   <complexContent>
@@ -268,8 +268,8 @@ public void setAngivelseFristKalenderBetalingDato(XMLGregorianCalendar value) {
      *   </complexContent>
      * </complexType>
      * 
- * - * + * + * */ @XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "", propOrder = { @@ -282,7 +282,7 @@ public static class PDFkvittering { /** * Gets the value of the dokumentFilIndholdData property. - * + * * @return * possible object is * byte[] @@ -293,7 +293,7 @@ public byte[] getDokumentFilIndholdData() { /** * Sets the value of the dokumentFilIndholdData property. - * + * * @param value * allowed object is * byte[] diff --git a/rsu-b2b-sample-client/src/main/java/oio/skat/nemvirksomhed/ws/_1_0/VirksomhedKalenderHentIType.java b/rsu-b2b-sample-client/src/main/java/oio/skat/nemvirksomhed/ws/_1_0/VirksomhedKalenderHentIType.java index ac5da2e..91d039d 100644 --- a/rsu-b2b-sample-client/src/main/java/oio/skat/nemvirksomhed/ws/_1_0/VirksomhedKalenderHentIType.java +++ b/rsu-b2b-sample-client/src/main/java/oio/skat/nemvirksomhed/ws/_1_0/VirksomhedKalenderHentIType.java @@ -1,9 +1,9 @@ package oio.skat.nemvirksomhed.ws._1_0; -import javax.xml.bind.annotation.*; import javax.xml.datatype.XMLGregorianCalendar; import dk.oio.rep.skat_dk.basis.kontekst.xml.schemas._2006._09._01.HovedOplysningerType; +import jakarta.xml.bind.annotation.*; /** diff --git a/rsu-b2b-sample-client/src/main/java/oio/skat/nemvirksomhed/ws/_1_0/VirksomhedKalenderHentOType.java b/rsu-b2b-sample-client/src/main/java/oio/skat/nemvirksomhed/ws/_1_0/VirksomhedKalenderHentOType.java index 93f1064..706ac98 100644 --- a/rsu-b2b-sample-client/src/main/java/oio/skat/nemvirksomhed/ws/_1_0/VirksomhedKalenderHentOType.java +++ b/rsu-b2b-sample-client/src/main/java/oio/skat/nemvirksomhed/ws/_1_0/VirksomhedKalenderHentOType.java @@ -4,9 +4,9 @@ import java.math.BigInteger; import java.util.ArrayList; import java.util.List; -import javax.xml.bind.annotation.*; import javax.xml.datatype.XMLGregorianCalendar; import dk.oio.rep.skat_dk.basis.kontekst.xml.schemas._2006._09._01.HovedOplysningerSvarType; +import jakarta.xml.bind.annotation.*; /** diff --git a/rsu-b2b-sample-client/src/main/resources/keystore/keystore b/rsu-b2b-sample-client/src/main/resources/keystore/keystore deleted file mode 120000 index 252fbd9..0000000 --- a/rsu-b2b-sample-client/src/main/resources/keystore/keystore +++ /dev/null @@ -1 +0,0 @@ -rsu-b2b-sample-client/src/main/resources/keystore \ No newline at end of file diff --git a/rsu-b2b-sample-client/src/main/resources/keystore/keystore b/rsu-b2b-sample-client/src/main/resources/keystore/keystore new file mode 100644 index 0000000..e69de29 diff --git a/rsu-b2b-sample-client/src/main/resources/rsu-policy-sign.xml b/rsu-b2b-sample-client/src/main/resources/rsu-policy-sign.xml index 31af9d6..5fbe40d 100644 --- a/rsu-b2b-sample-client/src/main/resources/rsu-policy-sign.xml +++ b/rsu-b2b-sample-client/src/main/resources/rsu-policy-sign.xml @@ -7,9 +7,9 @@ to you 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 @@ -29,7 +29,7 @@ http://cxf.apache.org/schemas/configuration/http-conf.xsd http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.1.xsd"> - + diff --git a/rsu-b2b-sample-client/src/test/java/dk/skat/rsu/b2b/sample/VirksomhedKalenderHentMarshallingTest.java b/rsu-b2b-sample-client/src/test/java/dk/skat/rsu/b2b/sample/VirksomhedKalenderHentMarshallingTest.java index 87989f1..7d325d6 100644 --- a/rsu-b2b-sample-client/src/test/java/dk/skat/rsu/b2b/sample/VirksomhedKalenderHentMarshallingTest.java +++ b/rsu-b2b-sample-client/src/test/java/dk/skat/rsu/b2b/sample/VirksomhedKalenderHentMarshallingTest.java @@ -1,10 +1,12 @@ package dk.skat.rsu.b2b.sample; +import java.io.InputStream; +import jakarta.xml.bind.JAXBException; import oio.skat.nemvirksomhed.ws._1_0.VirksomhedKalenderHentIType; import org.junit.Test; -import javax.xml.bind.JAXBException; -import java.io.InputStream; +import javax.xml.datatype.DatatypeConfigurationException; +import java.io.IOException; import static org.junit.Assert.*; @@ -16,4 +18,56 @@ public void toVirksomhedKalenderHentIType() throws JAXBException { VirksomhedKalenderHentIType document = VirksomhedKalenderHentMarshalling.toObject(inputStream); assertEquals("12345678", document.getVirksomhedSENummerIdentifikator()); } -} \ No newline at end of file + + /* + @Test + public void virksomheKalenderHentTest() throws DatatypeConfigurationException, JAXBException, IOException { + VirksomhedKalenderHentClient client = new VirksomhedKalenderHentClient("https://emcstest.skat.dk/B2BVirksomhedKalenderHentWSSProxyWEB/VirksomhedKalenderHentService", "rsu-policy-sign.xml"); + System.out.println("client = " + client); + InputStream inputStream = this.getClass().getClassLoader().getResourceAsStream("TestRequest.xml"); + VirksomhedKalenderHentIType document = VirksomhedKalenderHentMarshalling.toObject(inputStream); + + //String serviceResponse = client.invoke(document.,"LucaPacioli_ApS_System_Integrationstest_S1", false); + + String serviceResponse = client.invoke("\n" + + "\n" + + " \n" + + " 33593B0D-E7CF-40A2-AE76-530B72DE6AE3\n" + + " 2017-04-24T12:00:00.146+02:00\n" + + " \n" + + " 12345678\n" + + " qwerty\n" + + " \n" + + " 2017-01-01\n" + + " 2017-03-31\n" + + " \n" + + "", "LucaPacioli_ApS_System_Integrationstest_S1", false); + + System.out.println("response = " + serviceResponse); + + assertEquals("\n" + + "\n" + + " \n" + + " 33593B0D-E7CF-40A2-AE76-530B72DE6AE3\n" + + " VirksomhedKalenderHentService\n" + + " 2017-04-24T12:00:00.146+02:00\n" + + " \n" + + " \n" + + " 4801\n" + + " RSU er ikke delegeret\n" + + " \n" + + " \n" + + " \n" + + "", serviceResponse); + + + + } +*/ + +/*this.getClass().getClassLoader().getResourceAsStream("TestRequest.xml").toString()*/ + +} diff --git a/rsu-b2b-sample-client/src/test/resources/TestRequest.xml b/rsu-b2b-sample-client/src/test/resources/TestRequest.xml new file mode 100644 index 0000000..3757241 --- /dev/null +++ b/rsu-b2b-sample-client/src/test/resources/TestRequest.xml @@ -0,0 +1,16 @@ + + + + 33593B0D-E7CF-40A2-AE76-530B72DE6AE3 + 2017-04-24T12:00:00.146+02:00 + + 12345678 + qwerty + + 2017-01-01 + 2017-03-31 + + From 950e3875f8791a6435fcf026297d084ce46a1ed9 Mon Sep 17 00:00:00 2001 From: rasmuswoldike Date: Mon, 27 Nov 2023 15:56:18 +0100 Subject: [PATCH 06/33] commit --- rsu-b2b-sample-client/keystore | 1 + 1 file changed, 1 insertion(+) create mode 120000 rsu-b2b-sample-client/keystore diff --git a/rsu-b2b-sample-client/keystore b/rsu-b2b-sample-client/keystore new file mode 120000 index 0000000..db23e09 --- /dev/null +++ b/rsu-b2b-sample-client/keystore @@ -0,0 +1 @@ +src/main/resources/keystore \ No newline at end of file From 12a725ce115109a4749ca567e296bc15bd1459ec Mon Sep 17 00:00:00 2001 From: rasmuswoldike Date: Mon, 27 Nov 2023 16:41:28 +0100 Subject: [PATCH 07/33] test class update --- ...VirksomhedKalenderHentMarshallingTest.java | 52 ------------------- 1 file changed, 52 deletions(-) diff --git a/rsu-b2b-sample-client/src/test/java/dk/skat/rsu/b2b/sample/VirksomhedKalenderHentMarshallingTest.java b/rsu-b2b-sample-client/src/test/java/dk/skat/rsu/b2b/sample/VirksomhedKalenderHentMarshallingTest.java index 7d325d6..e946935 100644 --- a/rsu-b2b-sample-client/src/test/java/dk/skat/rsu/b2b/sample/VirksomhedKalenderHentMarshallingTest.java +++ b/rsu-b2b-sample-client/src/test/java/dk/skat/rsu/b2b/sample/VirksomhedKalenderHentMarshallingTest.java @@ -18,56 +18,4 @@ public void toVirksomhedKalenderHentIType() throws JAXBException { VirksomhedKalenderHentIType document = VirksomhedKalenderHentMarshalling.toObject(inputStream); assertEquals("12345678", document.getVirksomhedSENummerIdentifikator()); } - - /* - @Test - public void virksomheKalenderHentTest() throws DatatypeConfigurationException, JAXBException, IOException { - VirksomhedKalenderHentClient client = new VirksomhedKalenderHentClient("https://emcstest.skat.dk/B2BVirksomhedKalenderHentWSSProxyWEB/VirksomhedKalenderHentService", "rsu-policy-sign.xml"); - System.out.println("client = " + client); - InputStream inputStream = this.getClass().getClassLoader().getResourceAsStream("TestRequest.xml"); - VirksomhedKalenderHentIType document = VirksomhedKalenderHentMarshalling.toObject(inputStream); - - //String serviceResponse = client.invoke(document.,"LucaPacioli_ApS_System_Integrationstest_S1", false); - - String serviceResponse = client.invoke("\n" + - "\n" + - " \n" + - " 33593B0D-E7CF-40A2-AE76-530B72DE6AE3\n" + - " 2017-04-24T12:00:00.146+02:00\n" + - " \n" + - " 12345678\n" + - " qwerty\n" + - " \n" + - " 2017-01-01\n" + - " 2017-03-31\n" + - " \n" + - "", "LucaPacioli_ApS_System_Integrationstest_S1", false); - - System.out.println("response = " + serviceResponse); - - assertEquals("\n" + - "\n" + - " \n" + - " 33593B0D-E7CF-40A2-AE76-530B72DE6AE3\n" + - " VirksomhedKalenderHentService\n" + - " 2017-04-24T12:00:00.146+02:00\n" + - " \n" + - " \n" + - " 4801\n" + - " RSU er ikke delegeret\n" + - " \n" + - " \n" + - " \n" + - "", serviceResponse); - - - - } -*/ - -/*this.getClass().getClassLoader().getResourceAsStream("TestRequest.xml").toString()*/ - } From 51b31078e0428a05c23b33a6858e219acbb2fe33 Mon Sep 17 00:00:00 2001 From: cdcurry Date: Mon, 27 Nov 2023 23:07:46 +0100 Subject: [PATCH 08/33] Cleanup --- lib/javax.annotation.jar | Bin 7713 -> 0 bytes lib/javax.ejb.jar | Bin 47581 -> 0 bytes lib/javax.jms.jar | Bin 25957 -> 0 bytes lib/javax.persistence.jar | Bin 129793 -> 0 bytes lib/javax.resource.jar | Bin 44511 -> 0 bytes lib/javax.servlet.jar | Bin 69933 -> 0 bytes lib/javax.servlet.jsp.jar | Bin 78836 -> 0 bytes lib/javax.servlet.jsp.jstl.jar | Bin 28120 -> 0 bytes lib/javax.transaction.jar | Bin 9714 -> 0 bytes .../ModtagMomsangivelseForeloebigClient.java | 1 - .../MomsangivelseKvitteringHentClient.java | 1 - ...MomsangivelseKvitteringHentMarshalling.java | 1 - .../sample/VirksomhedKalenderHentClient.java | 4 ---- .../VirksomhedKalenderHentMarshalling.java | 1 - .../_1_0/MomsangivelseKvitteringHentIType.java | 1 - .../src/test/resources/TestRequest.xml | 16 ---------------- 16 files changed, 25 deletions(-) delete mode 100644 lib/javax.annotation.jar delete mode 100644 lib/javax.ejb.jar delete mode 100644 lib/javax.jms.jar delete mode 100644 lib/javax.persistence.jar delete mode 100644 lib/javax.resource.jar delete mode 100644 lib/javax.servlet.jar delete mode 100644 lib/javax.servlet.jsp.jar delete mode 100644 lib/javax.servlet.jsp.jstl.jar delete mode 100644 lib/javax.transaction.jar delete mode 100644 rsu-b2b-sample-client/src/test/resources/TestRequest.xml diff --git a/lib/javax.annotation.jar b/lib/javax.annotation.jar deleted file mode 100644 index 52dca7f561c5d579ca764cb25b96d3f539cf242a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7713 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 ayGQqbfd2}7!o6gSEfc3Ot66$1-hTi%8LHX< diff --git a/lib/javax.ejb.jar b/lib/javax.ejb.jar deleted file mode 100644 index 4ebf5ecd4c9ab83540ef206f6c5a1906db008098..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 47581 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

x$jzCx>QKI9Dc;_z4e z0Yjof!jtYPhbWx5hKGB$%LhfCBm1`-iGRzk7{pT4|G=z*;ASA7z{7XMS%+kLwXk%W>j7B@a_J!C@WeN1+*~V>{Bl#-HQiNtX^sL^z#~Mk&VLmX>zsDS*--Z5!6_ zmyRl7s(i+;QDxn)?`n6UYg4?s_nq&1alMX7Ku2!YsIXC8I_2ltv;oQhymtI+SybF} z&5%yV8Fnis+qSDJR969o0ePgX?>;nd8ilT!8EO$W(t2lKb^a@_Kv!Z*Qr`py`u0g3 zZbg(P;3`80t34!4MxMUfAtf5-l2pfc`~4o`Nn>PHWMZ{b^}Tq!IwLnS=D7Q@nP_AJ z8sVco2#(CK5g9n>xsoML==2oKhcCtLFy{?{xX#>Z&lk>Rso+VQP2bI;*p#A39_3ua z3zya53Tr%pUuzV&vlWDW1X|$xfqs}%)d9;}8Om^7+L!id9t6GxKHtOdzTXeqV9Jx! z3tmZxybfD?S*MPdg8Yyzxeny(r4u#+Pi{N;939nD8jYt&PnrFIsp6>KC+OLmrLq&S^b}zlDjCytmd7*0xc^f^MC9@ z=&NP_ano*sGCn+17@8=dpTx`IX{m-AX2O1xKfI3v*rmYo7&K&ngiW$r9mr_rx)sM_ z#Oz=4Vv`zRZpXu&Mmb(!)N6q=g+V9i!6~U(QvqD8>wnK=8H%^MaQx|0(^ETQWB?(j z)>@rFuE&URSsM)!vFUiB*5>)ainsa+K~=f=`~V@-tbQ7awxjYeWi7nicAh733(G?(In)J1z$v! zL)gO*mdA8wN2rh$t0s*R_F)t71Fc-W$DmA4%YZ5OBX?nfnfoN)+l~Aka750IO#Bo~ zZe&XByG|qJYr-bX^f>*UgsC_FPBhVcu zE?M4|@Ruv)k2hBFW{aTLN~uCB#iXo{tcREvLbp5b!I5W6lPQIXmT&ztMU$l&mh67# zAVy>wOf`Z@GYN~<9~>2ZQ)I%iXWE?%z?cj|Q{04$##f^$+D6A`k9Np#ZT=(obE*6&ga+De#a*1}r|Tm%hJ3*HK%S{$iBTjr6E zcRAkU5^&yPn!YG)RYb1Mp?J?nfnrr6wM5#lYRlUNv%b0z1qno-+KO5py~U(0-o|J7 zZG>rh9+nU6g?vloX{oe!XiIW&JI|RXQKd3)S|&LDu#KENkxJ{^hzwD-$szetxtXs;FE fq85Hs^+j9}Vd)!)Er7{XjDPYXacZ#z&d&6IINz)K diff --git a/lib/javax.resource.jar b/lib/javax.resource.jar deleted file mode 100644 index 696a2345878907025784d2e6e49c6e6b41d1cfac..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 44511 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 Rg4PB8C6U3vu!Mnr`hR(p1f~E0 diff --git a/lib/javax.servlet.jar b/lib/javax.servlet.jar deleted file mode 100644 index 0519e4a4e16c207f18527175c6a4425b2b1bacbd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 69933 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 b^7P&R>&oaDM@qlP6 diff --git a/lib/javax.servlet.jsp.jar b/lib/javax.servlet.jsp.jar deleted file mode 100644 index 9c0631cea0fd56031db19fc3edbb4db4bfbb923a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 78836 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 diff --git a/lib/javax.transaction.jar b/lib/javax.transaction.jar deleted file mode 100644 index 729c6952389cd4769d5d840b3d1a7941b3c0f63e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9714 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 - - - 33593B0D-E7CF-40A2-AE76-530B72DE6AE3 - 2017-04-24T12:00:00.146+02:00 - - 12345678 - qwerty - - 2017-01-01 - 2017-03-31 - - From 5fbeb07ae7caf2b6db0b2f2b8edaccb48195509d Mon Sep 17 00:00:00 2001 From: cdcurry Date: Mon, 27 Nov 2023 23:10:52 +0100 Subject: [PATCH 09/33] Cleanup --- .../rsu/b2b/sample/VirksomhedKalenderHentMarshallingTest.java | 2 -- 1 file changed, 2 deletions(-) diff --git a/rsu-b2b-sample-client/src/test/java/dk/skat/rsu/b2b/sample/VirksomhedKalenderHentMarshallingTest.java b/rsu-b2b-sample-client/src/test/java/dk/skat/rsu/b2b/sample/VirksomhedKalenderHentMarshallingTest.java index e946935..8fb5c7c 100644 --- a/rsu-b2b-sample-client/src/test/java/dk/skat/rsu/b2b/sample/VirksomhedKalenderHentMarshallingTest.java +++ b/rsu-b2b-sample-client/src/test/java/dk/skat/rsu/b2b/sample/VirksomhedKalenderHentMarshallingTest.java @@ -5,8 +5,6 @@ import oio.skat.nemvirksomhed.ws._1_0.VirksomhedKalenderHentIType; import org.junit.Test; -import javax.xml.datatype.DatatypeConfigurationException; -import java.io.IOException; import static org.junit.Assert.*; From 44a059175ac22f0a107b0993f20683f78d0792fa Mon Sep 17 00:00:00 2001 From: cdcurry Date: Mon, 27 Nov 2023 23:25:38 +0100 Subject: [PATCH 10/33] Add test (manual run), cleanup code --- .../rsu/b2b/sample/mvc/ServiceTestAction.java | 6 ---- rsu-b2b-sample-client/keystore | 1 - .../sample/VirksomhedKalenderHentClient.java | 19 ++++++++++-- .../src/main/resources/keystore/keystore | 0 .../VirksomhedKalenderHentClientTest.java | 31 +++++++++++++++++++ 5 files changed, 48 insertions(+), 9 deletions(-) delete mode 120000 rsu-b2b-sample-client/keystore delete mode 100644 rsu-b2b-sample-client/src/main/resources/keystore/keystore create mode 100644 rsu-b2b-sample-client/src/test/java/dk/skat/rsu/b2b/sample/VirksomhedKalenderHentClientTest.java diff --git a/rsu-b2b-sample-client-gui/src/main/java/dk/skat/rsu/b2b/sample/mvc/ServiceTestAction.java b/rsu-b2b-sample-client-gui/src/main/java/dk/skat/rsu/b2b/sample/mvc/ServiceTestAction.java index d46a597..5e16263 100644 --- a/rsu-b2b-sample-client-gui/src/main/java/dk/skat/rsu/b2b/sample/mvc/ServiceTestAction.java +++ b/rsu-b2b-sample-client-gui/src/main/java/dk/skat/rsu/b2b/sample/mvc/ServiceTestAction.java @@ -91,12 +91,6 @@ public String execute() if ("VirksomhedKalenderHent".equals(service)) { VirksomhedKalenderHentClient client = new VirksomhedKalenderHentClient(endpoint, policy); serviceResponse = client.invoke(requestAsString, cert, this.serviceTestForm.isOverrideTxInfo()); - System.out.println("enpoint = " + endpoint); - System.out.println("policy = " + policy); - System.out.println("requestAsString = " + requestAsString); - System.out.println("cert = " + cert); - System.out.println("this.serviceTestForm.isOverrideTxInfo() = " + this.serviceTestForm.isOverrideTxInfo()); - System.out.println("serviceResponse = " + serviceResponse); } if ("ModtagMomsangivelseForeloebig".equals(service)) { ModtagMomsangivelseForeloebigClient client = new ModtagMomsangivelseForeloebigClient(endpoint, policy); diff --git a/rsu-b2b-sample-client/keystore b/rsu-b2b-sample-client/keystore deleted file mode 120000 index db23e09..0000000 --- a/rsu-b2b-sample-client/keystore +++ /dev/null @@ -1 +0,0 @@ -src/main/resources/keystore \ No newline at end of file diff --git a/rsu-b2b-sample-client/src/main/java/dk/skat/rsu/b2b/sample/VirksomhedKalenderHentClient.java b/rsu-b2b-sample-client/src/main/java/dk/skat/rsu/b2b/sample/VirksomhedKalenderHentClient.java index 40d8f04..2ba9449 100644 --- a/rsu-b2b-sample-client/src/main/java/dk/skat/rsu/b2b/sample/VirksomhedKalenderHentClient.java +++ b/rsu-b2b-sample-client/src/main/java/dk/skat/rsu/b2b/sample/VirksomhedKalenderHentClient.java @@ -54,6 +54,23 @@ public VirksomhedKalenderHentClient(String endpointURL, String policy) { */ public String invoke(String document, String certicateAlias, boolean overrideHovedoplysninger) throws IOException, DatatypeConfigurationException, JAXBException { + InputStream inputStream = IOUtils.toInputStream(document, "UTF-8"); + VirksomhedKalenderHentIType virksomhedKalenderHentIType = VirksomhedKalenderHentMarshalling.toObject(inputStream); + return invoke(virksomhedKalenderHentIType, certicateAlias, overrideHovedoplysninger); + } + + /** + * Call VirksomhedKalenderHent service + * + * @param document Request document as String + * @param certicateAlias Alias of certificate to use in call + * @param overrideHovedoplysninger If transaction Id and Time should be regenerated + * @throws IOException N/A + * @throws JAXBException N/A + * @throws DatatypeConfigurationException N/A + */ + public String invoke(VirksomhedKalenderHentIType virksomhedKalenderHentIType, String certicateAlias, boolean overrideHovedoplysninger) + throws IOException, DatatypeConfigurationException, JAXBException { configureBus(certicateAlias); @@ -63,8 +80,6 @@ public String invoke(String document, String certicateAlias, boolean overrideHov BindingProvider bp = (BindingProvider)port; bp.getRequestContext().put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY, this.endpointURL); - InputStream inputStream = IOUtils.toInputStream(document, "UTF-8"); - VirksomhedKalenderHentIType virksomhedKalenderHentIType = VirksomhedKalenderHentMarshalling.toObject(inputStream); if (overrideHovedoplysninger) { virksomhedKalenderHentIType.getHovedOplysninger().setTransaktionIdentifikator(TransactionIdGenerator.getTransactionId()); diff --git a/rsu-b2b-sample-client/src/main/resources/keystore/keystore b/rsu-b2b-sample-client/src/main/resources/keystore/keystore deleted file mode 100644 index e69de29..0000000 diff --git a/rsu-b2b-sample-client/src/test/java/dk/skat/rsu/b2b/sample/VirksomhedKalenderHentClientTest.java b/rsu-b2b-sample-client/src/test/java/dk/skat/rsu/b2b/sample/VirksomhedKalenderHentClientTest.java new file mode 100644 index 0000000..4f7940a --- /dev/null +++ b/rsu-b2b-sample-client/src/test/java/dk/skat/rsu/b2b/sample/VirksomhedKalenderHentClientTest.java @@ -0,0 +1,31 @@ +package dk.skat.rsu.b2b.sample; + +import com.typesafe.config.Config; +import com.typesafe.config.ConfigFactory; +import jakarta.xml.bind.JAXBException; +import oio.skat.nemvirksomhed.ws._1_0.VirksomhedKalenderHentIType; +import org.junit.Ignore; +import org.junit.Test; + +import javax.xml.datatype.DatatypeConfigurationException; +import java.io.File; +import java.io.IOException; +import java.io.InputStream; + +public class VirksomhedKalenderHentClientTest { + + @Ignore("Test manually in IDE") + @Test + public void testClient() throws JAXBException, DatatypeConfigurationException, IOException { + InputStream inputStream = this.getClass().getClassLoader().getResourceAsStream("VirksomhedKalenderHent_I_Document.xml"); + VirksomhedKalenderHentIType doc = VirksomhedKalenderHentMarshalling.toObject(inputStream); + String appConf = System.getProperty("user.dir") + File.separator + "app.conf"; + Config config = ConfigFactory.parseFile(new File(appConf)).withFallback(ConfigFactory.load()); + + String endpoint = config.getString("endpoints.EMCSTEST_SIGNONLY.VirksomhedKalenderHent"); + String cerAlias = "LucaPacioli_ApS_System_Integrationstest_S1"; + VirksomhedKalenderHentClient client = new VirksomhedKalenderHentClient(endpoint, "rsu-policy-sign.xml"); + client.invoke(doc, cerAlias, true); + + } +} From fe69347a10a7b0a668da1f5003c3d96480434918 Mon Sep 17 00:00:00 2001 From: cdcurry Date: Mon, 27 Nov 2023 23:31:12 +0100 Subject: [PATCH 11/33] Revert to orig. config --- rsu-b2b-sample-client/src/main/resources/rsu-policy-sign.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rsu-b2b-sample-client/src/main/resources/rsu-policy-sign.xml b/rsu-b2b-sample-client/src/main/resources/rsu-policy-sign.xml index 5fbe40d..fe7be8e 100644 --- a/rsu-b2b-sample-client/src/main/resources/rsu-policy-sign.xml +++ b/rsu-b2b-sample-client/src/main/resources/rsu-policy-sign.xml @@ -29,7 +29,7 @@ http://cxf.apache.org/schemas/configuration/http-conf.xsd http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.1.xsd"> - + + + + + + + + + + + + + + + + + + .*_EXPORT_.* + .*_EXPORT1024_.* + .*_WITH_DES_.* + .*_WITH_AES_.* + .*_WITH_NULL_.* + .*_DH_anon_.* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/rsu-b2b-sample-client/src/test/java/dk/skat/rsu/b2b/sample/VirksomhedKalenderHentClientTest.java b/rsu-b2b-sample-client/src/test/java/dk/skat/rsu/b2b/sample/VirksomhedKalenderHentClientTest.java index 4f7940a..14ab7c0 100644 --- a/rsu-b2b-sample-client/src/test/java/dk/skat/rsu/b2b/sample/VirksomhedKalenderHentClientTest.java +++ b/rsu-b2b-sample-client/src/test/java/dk/skat/rsu/b2b/sample/VirksomhedKalenderHentClientTest.java @@ -14,6 +14,7 @@ public class VirksomhedKalenderHentClientTest { + // IMPORTANT: Place 'app.conf' in root of 'rsu-b2b-sample-client' module before run @Ignore("Test manually in IDE") @Test public void testClient() throws JAXBException, DatatypeConfigurationException, IOException { @@ -24,7 +25,7 @@ public void testClient() throws JAXBException, DatatypeConfigurationException, I String endpoint = config.getString("endpoints.EMCSTEST_SIGNONLY.VirksomhedKalenderHent"); String cerAlias = "LucaPacioli_ApS_System_Integrationstest_S1"; - VirksomhedKalenderHentClient client = new VirksomhedKalenderHentClient(endpoint, "rsu-policy-sign.xml"); + VirksomhedKalenderHentClient client = new VirksomhedKalenderHentClient(endpoint, "rsu-policy-sign-classpath.xml"); client.invoke(doc, cerAlias, true); } From 449aacfdf5a1dc366555a6814cab837b98a318bf Mon Sep 17 00:00:00 2001 From: cdcurry Date: Mon, 27 Nov 2023 23:50:15 +0100 Subject: [PATCH 13/33] Added README.md --- rsu-b2b-sample-client/README.md | 6 ++++ rsu-b2b-sample-client/pom.xml | 64 --------------------------------- 2 files changed, 6 insertions(+), 64 deletions(-) create mode 100644 rsu-b2b-sample-client/README.md diff --git a/rsu-b2b-sample-client/README.md b/rsu-b2b-sample-client/README.md new file mode 100644 index 0000000..8cf4cc7 --- /dev/null +++ b/rsu-b2b-sample-client/README.md @@ -0,0 +1,6 @@ +This module compiles and runs with Java 17. + +Requirements: + +* Java 17 +* Apache Maven 3.9.5 \ No newline at end of file diff --git a/rsu-b2b-sample-client/pom.xml b/rsu-b2b-sample-client/pom.xml index 7ca3324..0564ca3 100644 --- a/rsu-b2b-sample-client/pom.xml +++ b/rsu-b2b-sample-client/pom.xml @@ -34,7 +34,6 @@ cxf-rt-transports-http-jetty ${cxf.version} - org.apache.cxf cxf-rt-ws-security @@ -169,67 +168,4 @@ - - - central - Central Repository - https://repo.maven.apache.org/maven2 - default - - false - - - - central-repo1 - Central Repository - https://repo1.maven.org/maven2 - - true - - - false - - - - Apache Nexus - https://repository.apache.org/content/repositories/snapshots/ - - false - - - true - - - - shibboleth - https://build.shibboleth.net/nexus/content/repositories/releases/ - - true - - - false - - - - - - central - Central Repository - https://repo.maven.apache.org/maven2 - default - - false - - - never - - - - central-repo1 - https://repo1.maven.org/maven2 - - true - - - From a09d8fbe1a957eeb1587d819d7194db0673eea24 Mon Sep 17 00:00:00 2001 From: cdcurry Date: Mon, 27 Nov 2023 23:56:28 +0100 Subject: [PATCH 14/33] Update README.md --- rsu-b2b-sample-client/README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/rsu-b2b-sample-client/README.md b/rsu-b2b-sample-client/README.md index 8cf4cc7..141bcab 100644 --- a/rsu-b2b-sample-client/README.md +++ b/rsu-b2b-sample-client/README.md @@ -3,4 +3,5 @@ This module compiles and runs with Java 17. Requirements: * Java 17 -* Apache Maven 3.9.5 \ No newline at end of file +* Apache Maven 3.9.5 +* Put **app.conf** inside root of the *r*su-b2b-sample-client** module \ No newline at end of file From 4d88b35a24212735e13bc39ac6358365a87b46d5 Mon Sep 17 00:00:00 2001 From: cdcurry Date: Tue, 28 Nov 2023 00:14:42 +0100 Subject: [PATCH 15/33] Cleanup --- rsu-b2b-sample-client/pom.xml | 5 ----- 1 file changed, 5 deletions(-) diff --git a/rsu-b2b-sample-client/pom.xml b/rsu-b2b-sample-client/pom.xml index 0564ca3..57b5a09 100644 --- a/rsu-b2b-sample-client/pom.xml +++ b/rsu-b2b-sample-client/pom.xml @@ -19,11 +19,6 @@ cxf-rt-frontend-jaxws ${cxf.version} - - org.apache.cxf - cxf-codegen-plugin - ${cxf.version} - org.apache.cxf cxf-rt-transports-http From 28d14d992bc3f9d499a5bed3059544aa8720479b Mon Sep 17 00:00:00 2001 From: rasmuswoldike Date: Tue, 5 Dec 2023 20:43:49 +0100 Subject: [PATCH 16/33] spring web flow added --- keystore | 1 + rsu-b2b-sample-client-gui/pom.xml | 122 ++++++++++--- ...adReceipt.java => DownloadController.java} | 27 +-- .../rsu/b2b/sample/mvc/LocalLogServlet.java | 43 ----- .../rsu/b2b/sample/mvc/ServiceTestAction.java | 53 +++--- .../rsu/b2b/sample/mvc/ServiceTestForm.java | 5 +- .../DispatcherServletInitializer.java | 34 ++++ .../mvc/configuration/WebFlowConfig.java | 58 ++++++ .../mvc/configuration/WebMvcConfig.java | 101 +++++++++++ .../src/main/resources/struts.xml | 25 --- .../src/main/webapp/WEB-INF/app/index.jsp | 166 ----------------- .../webapp/WEB-INF/flows/app/rsu-flow.xml | 19 ++ .../src/main/webapp/WEB-INF/views/index.html | 170 ++++++++++++++++++ .../src/main/webapp/WEB-INF/web.xml | 40 ----- .../src/main/resources/keystore/keystore | 1 + 15 files changed, 519 insertions(+), 346 deletions(-) create mode 120000 keystore rename rsu-b2b-sample-client-gui/src/main/java/dk/skat/rsu/b2b/sample/mvc/{DownloadReceipt.java => DownloadController.java} (55%) delete mode 100644 rsu-b2b-sample-client-gui/src/main/java/dk/skat/rsu/b2b/sample/mvc/LocalLogServlet.java create mode 100644 rsu-b2b-sample-client-gui/src/main/java/dk/skat/rsu/b2b/sample/mvc/configuration/DispatcherServletInitializer.java create mode 100644 rsu-b2b-sample-client-gui/src/main/java/dk/skat/rsu/b2b/sample/mvc/configuration/WebFlowConfig.java create mode 100644 rsu-b2b-sample-client-gui/src/main/java/dk/skat/rsu/b2b/sample/mvc/configuration/WebMvcConfig.java delete mode 100644 rsu-b2b-sample-client-gui/src/main/resources/struts.xml delete mode 100644 rsu-b2b-sample-client-gui/src/main/webapp/WEB-INF/app/index.jsp create mode 100644 rsu-b2b-sample-client-gui/src/main/webapp/WEB-INF/flows/app/rsu-flow.xml create mode 100644 rsu-b2b-sample-client-gui/src/main/webapp/WEB-INF/views/index.html delete mode 100644 rsu-b2b-sample-client-gui/src/main/webapp/WEB-INF/web.xml create mode 120000 rsu-b2b-sample-client/src/main/resources/keystore/keystore diff --git a/keystore b/keystore new file mode 120000 index 0000000..252fbd9 --- /dev/null +++ b/keystore @@ -0,0 +1 @@ +rsu-b2b-sample-client/src/main/resources/keystore \ No newline at end of file diff --git a/rsu-b2b-sample-client-gui/pom.xml b/rsu-b2b-sample-client-gui/pom.xml index aee0737..11620f5 100644 --- a/rsu-b2b-sample-client-gui/pom.xml +++ b/rsu-b2b-sample-client-gui/pom.xml @@ -14,9 +14,9 @@ org.eclipse.jetty jetty-maven-plugin - 9.4.8.v20171121 + 11.0.11 - 10 + 1 /rsu-b2b-sample-client-gui @@ -61,43 +61,117 @@ + + + org.springframework + spring-framework-bom + 6.0.10 + pom + import + + + org.springframework.security + spring-security-bom + pom + import + 6.0.2 + + + org.slf4j + slf4j-api + 2.0.6 + + + + + + + org.springframework + spring-webmvc + 6.0.6 + junit junit - 4.13.1 + 4.13.2 test - - org.apache.struts - struts2-core - 6.3.0.1 - + + org.springframework.webflow + spring-webflow + 3.0.0 + commons-io commons-io - 2.7 - - - commons-fileupload - commons-fileupload - 1.5 - - - javax.servlet - servlet-api - 2.5 - provided - - - com.typesafe - config + 2.11.0 + + + jakarta.servlet + jakarta.servlet-api + 6.0.0 + provided + + + jakarta.enterprise + jakarta.enterprise.cdi-api + provided + 4.0.0.Beta2 + + + + org.springframework.security + spring-security-web + + + org.springframework.security + spring-security-taglibs + + + org.springframework.security + spring-security-config + + + + org.hibernate.validator + hibernate-validator + 8.0.0.Final + + + jakarta.validation + jakarta.validation-api + 3.0.2 + + + + com.typesafe + config + 1.4.2 + + dk.skat.rsu.b2b.sample rsu-b2b-sample-client ${project.version} + + + org.thymeleaf + thymeleaf + 3.1.1.RELEASE + + + org.thymeleaf + thymeleaf-spring6 + 3.1.1.RELEASE + + + org.thymeleaf.extras + thymeleaf-extras-springsecurity6 + 3.1.0.RELEASE + diff --git a/rsu-b2b-sample-client-gui/src/main/java/dk/skat/rsu/b2b/sample/mvc/DownloadReceipt.java b/rsu-b2b-sample-client-gui/src/main/java/dk/skat/rsu/b2b/sample/mvc/DownloadController.java similarity index 55% rename from rsu-b2b-sample-client-gui/src/main/java/dk/skat/rsu/b2b/sample/mvc/DownloadReceipt.java rename to rsu-b2b-sample-client-gui/src/main/java/dk/skat/rsu/b2b/sample/mvc/DownloadController.java index 0e690b0..d8c7757 100644 --- a/rsu-b2b-sample-client-gui/src/main/java/dk/skat/rsu/b2b/sample/mvc/DownloadReceipt.java +++ b/rsu-b2b-sample-client-gui/src/main/java/dk/skat/rsu/b2b/sample/mvc/DownloadController.java @@ -1,28 +1,19 @@ package dk.skat.rsu.b2b.sample.mvc; import com.google.common.base.Strings; +import jakarta.servlet.http.HttpServletResponse; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; -import javax.servlet.http.HttpServlet; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.io.OutputStream; -/** - * DownloadReceipt - Simple download servlet - Minimal efforts put into this. - * However, it does name receipts by the transaction id - makes it easier to find - * the receipt in the Download folder. - * - * @author SKAT - * @since 1.0 - */ -public class DownloadReceipt extends HttpServlet { +@Controller +public class DownloadController { - /** - * Download receipt stored in memory. - */ - protected void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException { - String transactionId = request.getParameter("transactionId"); + @GetMapping("/download/{transactionId}") + public void download(@PathVariable String transactionId, HttpServletResponse response) throws IOException { if (Strings.isNullOrEmpty(transactionId)) { response.sendError(HttpServletResponse.SC_BAD_REQUEST); return; @@ -41,6 +32,6 @@ protected void doGet(HttpServletRequest request, HttpServletResponse response) t byte[] result = receipt.getReceipt(); out.write(result); out.flush(); - } + } } diff --git a/rsu-b2b-sample-client-gui/src/main/java/dk/skat/rsu/b2b/sample/mvc/LocalLogServlet.java b/rsu-b2b-sample-client-gui/src/main/java/dk/skat/rsu/b2b/sample/mvc/LocalLogServlet.java deleted file mode 100644 index 4af98f4..0000000 --- a/rsu-b2b-sample-client-gui/src/main/java/dk/skat/rsu/b2b/sample/mvc/LocalLogServlet.java +++ /dev/null @@ -1,43 +0,0 @@ -package dk.skat.rsu.b2b.sample.mvc; - -import org.apache.commons.io.IOUtils; - -import java.io.*; -import java.util.logging.Logger; -import javax.servlet.*; -import javax.servlet.http.*; -import javax.servlet.http.HttpServlet; - -/** - * LocalLogServlet - Just an endpoint to receive a SOAP POST on localhost. - * The response cannot be processed by the sample clients, but will return - * a soap fault. - * - * @author SKAT - * @since 1.0 - */ -public class LocalLogServlet extends HttpServlet { - - private static final Logger LOGGER = Logger.getLogger(LocalLogServlet.class.getName()); - - public void doPost(HttpServletRequest request, HttpServletResponse response) - throws ServletException, IOException { - - // Set response content type - response.setContentType("text/xml"); - String requestAsString = IOUtils.toString(request.getReader()); - LOGGER.info("Received request: " + requestAsString); - String responseAsString = "\n" + - "\n" + - "\n" + - "\n" + - "\n" + - "env:Server\n" + - "Request received, logged, but not processed. See logs for request submitted.\n" + - "\n" + - "\n" + - ""; - PrintWriter out = response.getWriter(); - out.println(responseAsString); - } -} diff --git a/rsu-b2b-sample-client-gui/src/main/java/dk/skat/rsu/b2b/sample/mvc/ServiceTestAction.java b/rsu-b2b-sample-client-gui/src/main/java/dk/skat/rsu/b2b/sample/mvc/ServiceTestAction.java index 5e16263..0fbfdf6 100644 --- a/rsu-b2b-sample-client-gui/src/main/java/dk/skat/rsu/b2b/sample/mvc/ServiceTestAction.java +++ b/rsu-b2b-sample-client-gui/src/main/java/dk/skat/rsu/b2b/sample/mvc/ServiceTestAction.java @@ -1,34 +1,44 @@ package dk.skat.rsu.b2b.sample.mvc; -import com.opensymphony.xwork2.ActionSupport; import dk.oio.rep.skat_dk.basis.kontekst.xml.schemas._2006._09._01.AdvisStrukturType; import dk.oio.rep.skat_dk.basis.kontekst.xml.schemas._2006._09._01.FejlStrukturType; import dk.skat.rsu.b2b.sample.ModtagMomsangivelseForeloebigClient; import dk.skat.rsu.b2b.sample.MomsangivelseKvitteringHentClient; import dk.skat.rsu.b2b.sample.MomsangivelseKvitteringHentMarshalling; import dk.skat.rsu.b2b.sample.VirksomhedKalenderHentClient; -import oio.skat.nemvirksomhed.ws._1_0.ModtagMomsangivelseForeloebigOType; +import jakarta.xml.bind.JAXBContext; +import jakarta.xml.bind.Unmarshaller; import oio.skat.nemvirksomhed.ws._1_0.MomsangivelseKvitteringHentIType; import oio.skat.nemvirksomhed.ws._1_0.MomsangivelseKvitteringHentOType; import org.apache.commons.io.IOUtils; import org.springframework.util.StringUtils; -import javax.xml.bind.JAXBContext; -import javax.xml.bind.Unmarshaller; + import java.io.InputStream; import java.util.List; -import java.util.logging.Logger; +import java.util.logging.Logger; +import java.io.Serializable; /** * ServiceTestAction * * @author SKAT * @since 1.0 */ -public class ServiceTestAction extends ActionSupport { + +public class ServiceTestAction implements Serializable{ private static final Logger LOGGER = Logger.getLogger(ServiceTestAction.class.getName()); private ServiceTestForm serviceTestForm; private String serviceResponse; + private String tID; + + public String gettID() { + return tID; + } + + public void settID(String tID) { + this.tID = tID; + } public String getServiceResponse() { return serviceResponse; @@ -49,16 +59,17 @@ public void setServiceTestForm(ServiceTestForm serviceTestForm) { public String init() throws Exception { this.serviceTestForm = new ServiceTestForm(); - return SUCCESS; + return "success"; } - @Override - public String execute() + public String execute(ServiceTestForm serviceTestForm1) throws Exception { - if (serviceTestForm == null){ - this.serviceTestForm = new ServiceTestForm(); + this.tID = ""; + + if (this.serviceTestForm == null){ + this.setServiceTestForm(serviceTestForm1); } LOGGER.info("Testing service : " + this.serviceTestForm.getService()); @@ -95,14 +106,7 @@ public String execute() if ("ModtagMomsangivelseForeloebig".equals(service)) { ModtagMomsangivelseForeloebigClient client = new ModtagMomsangivelseForeloebigClient(endpoint, policy); serviceResponse = client.invoke(requestAsString, cert, this.serviceTestForm.isOverrideTxInfo()); - // Get receipt and store PDF in memory for later download - InputStream inputStream = IOUtils.toInputStream(serviceResponse, "UTF-8"); - JAXBContext jc = JAXBContext.newInstance(ModtagMomsangivelseForeloebigOType.class); - Unmarshaller unmarshaller = jc.createUnmarshaller(); - ModtagMomsangivelseForeloebigOType asObject = (ModtagMomsangivelseForeloebigOType) unmarshaller.unmarshal(inputStream); - if (asObject.getDybtlink() != null) { - addActionMessage("confirmUrl" + asObject.getDybtlink().getUrlIndicator()); - } + } if ("MomsangivelseKvitteringHent".equals(service)) { MomsangivelseKvitteringHentClient client = new MomsangivelseKvitteringHentClient(endpoint, policy); @@ -128,18 +132,13 @@ public String execute() for (Object o : advisStrukturOrFejlStruktur) { if (o instanceof AdvisStrukturType) { AdvisStrukturType advisStrukturType = (AdvisStrukturType) o; - String message = "[" + advisStrukturType.getAdvisIdentifikator().toString() + "]" + advisStrukturType.getAdvisTekst(); String advisId = advisStrukturType.getAdvisIdentifikator().toString(); if ("4810".equals(advisId) || "4812".equals(advisId)) { // 4810 = VAT return has yet to be approved in self service app. - addActionMessage("error.test.response.failed" + message); failed = true; } } if (o instanceof FejlStrukturType) { - FejlStrukturType fejlStrukturType = (FejlStrukturType) o; - String message = fejlStrukturType.getFejlIdentifikator().toString() + fejlStrukturType.getFejlTekst(); - addActionMessage("error.test.response.failed" + message); failed = true; } } @@ -148,20 +147,16 @@ public String execute() receipt.setTransactionId(receiptTransactionId); receipt.setReceipt(asObject.getPDFkvittering().getDokumentFilIndholdData()); ReceiptsStorage.put(receipt); - addActionMessage("downloadReceipt" + receipt.getTransactionId()); + this.tID = receiptTransactionId; } } - addActionMessage("lastResponse"+serviceResponse); } catch (Exception e) { e.printStackTrace(); serviceResponse = e.getMessage(); - addActionMessage("error.test.request.failed" + serviceResponse); } this.serviceResponse = serviceResponse; LOGGER.info("response = " + serviceResponse); return "success"; } - - } diff --git a/rsu-b2b-sample-client-gui/src/main/java/dk/skat/rsu/b2b/sample/mvc/ServiceTestForm.java b/rsu-b2b-sample-client-gui/src/main/java/dk/skat/rsu/b2b/sample/mvc/ServiceTestForm.java index 9c6e595..a0ec96e 100644 --- a/rsu-b2b-sample-client-gui/src/main/java/dk/skat/rsu/b2b/sample/mvc/ServiceTestForm.java +++ b/rsu-b2b-sample-client-gui/src/main/java/dk/skat/rsu/b2b/sample/mvc/ServiceTestForm.java @@ -1,6 +1,8 @@ package dk.skat.rsu.b2b.sample.mvc; import com.typesafe.config.Config; + +import java.io.Serializable; import java.util.*; /** @@ -9,7 +11,8 @@ * @author SKAT * @since 1.0 */ -public class ServiceTestForm { + +public class ServiceTestForm implements Serializable { private String environment; diff --git a/rsu-b2b-sample-client-gui/src/main/java/dk/skat/rsu/b2b/sample/mvc/configuration/DispatcherServletInitializer.java b/rsu-b2b-sample-client-gui/src/main/java/dk/skat/rsu/b2b/sample/mvc/configuration/DispatcherServletInitializer.java new file mode 100644 index 0000000..3c42884 --- /dev/null +++ b/rsu-b2b-sample-client-gui/src/main/java/dk/skat/rsu/b2b/sample/mvc/configuration/DispatcherServletInitializer.java @@ -0,0 +1,34 @@ +package dk.skat.rsu.b2b.sample.mvc.configuration; + +import jakarta.servlet.Filter; + +import org.springframework.web.filter.HiddenHttpMethodFilter; +import org.springframework.web.servlet.support.AbstractAnnotationConfigDispatcherServletInitializer; + +public class DispatcherServletInitializer extends AbstractAnnotationConfigDispatcherServletInitializer { + + @Override + protected Class[] getRootConfigClasses() { + return new Class[] { + WebMvcConfig.class, + WebFlowConfig.class + }; + } + + @Override + protected Class[] getServletConfigClasses() { + return null; + } + + @Override + protected String[] getServletMappings() { + return new String[] { "/" }; + } + + @Override + protected Filter[] getServletFilters() { + return new Filter[] { new HiddenHttpMethodFilter() }; + } + +} + diff --git a/rsu-b2b-sample-client-gui/src/main/java/dk/skat/rsu/b2b/sample/mvc/configuration/WebFlowConfig.java b/rsu-b2b-sample-client-gui/src/main/java/dk/skat/rsu/b2b/sample/mvc/configuration/WebFlowConfig.java new file mode 100644 index 0000000..a4ac2c4 --- /dev/null +++ b/rsu-b2b-sample-client-gui/src/main/java/dk/skat/rsu/b2b/sample/mvc/configuration/WebFlowConfig.java @@ -0,0 +1,58 @@ +package dk.skat.rsu.b2b.sample.mvc.configuration; + +import java.util.Collections; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.validation.beanvalidation.LocalValidatorFactoryBean; +import org.springframework.web.servlet.ViewResolver; +import org.springframework.webflow.config.AbstractFlowConfiguration; +import org.springframework.webflow.definition.registry.FlowDefinitionRegistry; +import org.springframework.webflow.engine.builder.support.FlowBuilderServices; +import org.springframework.webflow.executor.FlowExecutor; +import org.springframework.webflow.mvc.builder.MvcViewFactoryCreator; + +@Configuration +public class WebFlowConfig extends AbstractFlowConfiguration { + + @Autowired + private WebMvcConfig webMvcConfig; + + @Bean + public FlowExecutor flowExecutor() { + return getFlowExecutorBuilder(flowRegistry()) + //.addFlowExecutionListener(new SecurityFlowExecutionListener(), "*") + .build(); + } + + @Bean + public FlowDefinitionRegistry flowRegistry() { + return getFlowDefinitionRegistryBuilder(flowBuilderServices()) + .setBasePath("/WEB-INF/flows") + .addFlowLocationPattern("/**/*-flow.xml").build(); + } + + @Bean + public FlowBuilderServices flowBuilderServices() { + return getFlowBuilderServicesBuilder() + .setViewFactoryCreator(mvcViewFactoryCreator()) + .setValidator(validator()) + .setDevelopmentMode(true) + .build(); + } + + @Bean + public MvcViewFactoryCreator mvcViewFactoryCreator() { + MvcViewFactoryCreator factoryCreator = new MvcViewFactoryCreator(); + factoryCreator.setViewResolvers(Collections.singletonList(this.webMvcConfig.thymeleafViewResolver())); + factoryCreator.setUseSpringBeanBinding(true); + return factoryCreator; + } + + @Bean + public LocalValidatorFactoryBean validator() { + return new LocalValidatorFactoryBean(); + } + +} diff --git a/rsu-b2b-sample-client-gui/src/main/java/dk/skat/rsu/b2b/sample/mvc/configuration/WebMvcConfig.java b/rsu-b2b-sample-client-gui/src/main/java/dk/skat/rsu/b2b/sample/mvc/configuration/WebMvcConfig.java new file mode 100644 index 0000000..ed6d9cc --- /dev/null +++ b/rsu-b2b-sample-client-gui/src/main/java/dk/skat/rsu/b2b/sample/mvc/configuration/WebMvcConfig.java @@ -0,0 +1,101 @@ +package dk.skat.rsu.b2b.sample.mvc.configuration; + +import java.util.LinkedHashSet; +import java.util.Set; + +import jakarta.servlet.ServletContext; +import org.springframework.context.annotation.ComponentScan; +import org.thymeleaf.dialect.IDialect; +import org.thymeleaf.extras.springsecurity6.dialect.SpringSecurityDialect; +import org.thymeleaf.spring6.SpringTemplateEngine; +import org.thymeleaf.spring6.webflow.view.AjaxThymeleafViewResolver; +import org.thymeleaf.spring6.webflow.view.FlowAjaxThymeleafView; +import org.thymeleaf.templateresolver.WebApplicationTemplateResolver; +import org.thymeleaf.web.IWebApplication; +import org.thymeleaf.web.servlet.JakartaServletWebApplication; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.web.context.ServletContextAware; +import org.springframework.web.servlet.config.annotation.DefaultServletHandlerConfigurer; +import org.springframework.web.servlet.config.annotation.EnableWebMvc; +import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry; +import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; +import org.springframework.webflow.mvc.servlet.FlowHandlerAdapter; +import org.springframework.webflow.mvc.servlet.FlowHandlerMapping; + +@EnableWebMvc +@Configuration +@ComponentScan({ + "dk.skat.rsu.b2b.sample.mvc" +}) +public class WebMvcConfig implements WebMvcConfigurer, ServletContextAware { + + @Autowired + private WebFlowConfig webFlowConfig; + + private ServletContext servletContext; + + + public void setServletContext(ServletContext servletContext) { + this.servletContext = servletContext; + } + + + public void addResourceHandlers(ResourceHandlerRegistry registry) { + registry.addResourceHandler("/resources/**").addResourceLocations("/", "classpath:/META-INF/web-resources/"); + } + + + public void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer) { + configurer.enable(); + } + + @Bean + public FlowHandlerMapping flowHandlerMapping() { + FlowHandlerMapping handlerMapping = new FlowHandlerMapping(); + handlerMapping.setOrder(-1); + handlerMapping.setFlowRegistry(this.webFlowConfig.flowRegistry()); + return handlerMapping; + } + + @Bean + public FlowHandlerAdapter flowHandlerAdapter() { + FlowHandlerAdapter handlerAdapter = new FlowHandlerAdapter(); + handlerAdapter.setFlowExecutor(this.webFlowConfig.flowExecutor()); + handlerAdapter.setSaveOutputToFlashScopeOnRedirect(true); + return handlerAdapter; + } + + @Bean + public AjaxThymeleafViewResolver thymeleafViewResolver() { + AjaxThymeleafViewResolver viewResolver = new AjaxThymeleafViewResolver(); + viewResolver.setViewClass(FlowAjaxThymeleafView.class); + viewResolver.setTemplateEngine(templateEngine()); + return viewResolver; + } + + @Bean + public SpringTemplateEngine templateEngine(){ + + Set dialects = new LinkedHashSet(); + dialects.add(new SpringSecurityDialect()); + + SpringTemplateEngine templateEngine = new SpringTemplateEngine(); + templateEngine.setTemplateResolver(templateResolver()); + templateEngine.setAdditionalDialects(dialects); + return templateEngine; + } + + @Bean + public WebApplicationTemplateResolver templateResolver() { + IWebApplication application = JakartaServletWebApplication.buildApplication(this.servletContext); + WebApplicationTemplateResolver resolver = new WebApplicationTemplateResolver(application); + resolver.setPrefix("/WEB-INF/"); + resolver.setSuffix(".html"); + resolver.setTemplateMode("HTML5"); + return resolver; + } + +} diff --git a/rsu-b2b-sample-client-gui/src/main/resources/struts.xml b/rsu-b2b-sample-client-gui/src/main/resources/struts.xml deleted file mode 100644 index 5e7faaa..0000000 --- a/rsu-b2b-sample-client-gui/src/main/resources/struts.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - - - - - - - - - - /WEB-INF/app/index.jsp - - - - /WEB-INF/app/index.jsp - - - - diff --git a/rsu-b2b-sample-client-gui/src/main/webapp/WEB-INF/app/index.jsp b/rsu-b2b-sample-client-gui/src/main/webapp/WEB-INF/app/index.jsp deleted file mode 100644 index 1f2f954..0000000 --- a/rsu-b2b-sample-client-gui/src/main/webapp/WEB-INF/app/index.jsp +++ /dev/null @@ -1,166 +0,0 @@ -<%@taglib uri="/struts-tags" prefix="s" %> -<%@ page language="java" contentType="text/html; charset=UTF-8" - pageEncoding="UTF-8" %> - - - - - - - - - RSU Sample GUI - - - - - - - - - - -

- -
- -
-
  -
-
- -
- -
- -
- -
- Service Request -
- -
- - - - - - - -
- - -
- -
- - -
- -
- - -
- -
- - -
- -
- - -
- -
- - -
- - - -
- -
- -
- -
- -
- -
- -
- Service Response -
- -
- - - -
- -
- -
- -
- -
- - - - - - - - - - - - diff --git a/rsu-b2b-sample-client-gui/src/main/webapp/WEB-INF/flows/app/rsu-flow.xml b/rsu-b2b-sample-client-gui/src/main/webapp/WEB-INF/flows/app/rsu-flow.xml new file mode 100644 index 0000000..2da885d --- /dev/null +++ b/rsu-b2b-sample-client-gui/src/main/webapp/WEB-INF/flows/app/rsu-flow.xml @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + diff --git a/rsu-b2b-sample-client-gui/src/main/webapp/WEB-INF/views/index.html b/rsu-b2b-sample-client-gui/src/main/webapp/WEB-INF/views/index.html new file mode 100644 index 0000000..af2ac1f --- /dev/null +++ b/rsu-b2b-sample-client-gui/src/main/webapp/WEB-INF/views/index.html @@ -0,0 +1,170 @@ + + + + + + + + + RSU Sample GUI + + + + + + + + + +
+ +
+
  +
+
+ +
+ +
+ +
+ +
+ Service Request +
+
+ +
+ + + + + +
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ + +
+ + + +
+ +
+ +
+ +
+ +
+ +
+ +
+ Service Response +
+ +
+ +
+ +
+
+ +
+
+
+ +
+ +
+ +
+ + + + + + + + + + + + diff --git a/rsu-b2b-sample-client-gui/src/main/webapp/WEB-INF/web.xml b/rsu-b2b-sample-client-gui/src/main/webapp/WEB-INF/web.xml deleted file mode 100644 index 743e802..0000000 --- a/rsu-b2b-sample-client-gui/src/main/webapp/WEB-INF/web.xml +++ /dev/null @@ -1,40 +0,0 @@ - - - FileUploadServletExample - - struts2 - org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter - - - - struts2 - /* - - - - DownloadReceipt - dk.skat.rsu.b2b.sample.mvc.DownloadReceipt - - - DownloadReceipt - /receipt - - - - log - dk.skat.rsu.b2b.sample.mvc.LocalLogServlet - - - - log - /log - - - - init.action - - diff --git a/rsu-b2b-sample-client/src/main/resources/keystore/keystore b/rsu-b2b-sample-client/src/main/resources/keystore/keystore new file mode 120000 index 0000000..252fbd9 --- /dev/null +++ b/rsu-b2b-sample-client/src/main/resources/keystore/keystore @@ -0,0 +1 @@ +rsu-b2b-sample-client/src/main/resources/keystore \ No newline at end of file From 0bfe47d3c2973c22a8ff0e482dc93eb4018b3a56 Mon Sep 17 00:00:00 2001 From: cdcurry Date: Tue, 5 Dec 2023 21:20:31 +0100 Subject: [PATCH 17/33] Minor additions and some cleanup --- build-tomcat-package.sh | 18 --------- pom.xml | 9 +++++ rsu-b2b-sample-client-gui/pom.xml | 37 ------------------- .../dk/skat/rsu/b2b/mvc/Messages.properties | 6 --- .../src/main/webapp/WEB-INF/weblogic.xml | 10 ----- 5 files changed, 9 insertions(+), 71 deletions(-) delete mode 100755 build-tomcat-package.sh delete mode 100644 rsu-b2b-sample-client-gui/src/main/resources/dk/skat/rsu/b2b/mvc/Messages.properties delete mode 100644 rsu-b2b-sample-client-gui/src/main/webapp/WEB-INF/weblogic.xml diff --git a/build-tomcat-package.sh b/build-tomcat-package.sh deleted file mode 100755 index b573240..0000000 --- a/build-tomcat-package.sh +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/sh - -rm -f rsu-b2b-sample-client-gui-tomcat-dist.zip -rm -rf target -PACKAGE_DIR=target/rsu-b2b-sample-client-gui -mkdir -p $PACKAGE_DIR - - -cp -r rsu-b2b-sample-client/src/main/resources/keystore $PACKAGE_DIR/ -cp rsu-b2b-sample-client-gui/target/rsu-b2b-sample-client-gui-*.war $PACKAGE_DIR/ -cp rsu-b2b-sample-client-gui/target/rsu-b2b-sample-client-gui-*-war-exec.jar $PACKAGE_DIR/ -cp rsu-b2b-sample-client-gui/src/main/resources/reference.conf $PACKAGE_DIR/app.conf -cp start-tomcat.sh $PACKAGE_DIR/ - -cd target -zip -r rsu-b2b-sample-client-gui-tomcat-dist.zip rsu-b2b-sample-client-gui -cd ../ -unzip -t target/rsu-b2b-sample-client-gui-tomcat-dist.zip diff --git a/pom.xml b/pom.xml index a7fc488..821cc50 100644 --- a/pom.xml +++ b/pom.xml @@ -17,6 +17,15 @@ + + org.apache.maven.plugins + maven-compiler-plugin + 3.10.1 + + 17 + 17 + + diff --git a/rsu-b2b-sample-client-gui/pom.xml b/rsu-b2b-sample-client-gui/pom.xml index 11620f5..b140ff8 100644 --- a/rsu-b2b-sample-client-gui/pom.xml +++ b/rsu-b2b-sample-client-gui/pom.xml @@ -22,42 +22,6 @@ - - org.apache.tomcat.maven - tomcat8-maven-plugin - 3.0-r1756463 - - - tomcat-run - - exec-war-only - - package - - - - - - - dk.skat.rsu.b2b.sample - rsu-b2b-sample-client-gui - war - 1.0 - - / - - - - true - - - - - - - @@ -89,7 +53,6 @@ org.springframework spring-webmvc - 6.0.6 junit diff --git a/rsu-b2b-sample-client-gui/src/main/resources/dk/skat/rsu/b2b/mvc/Messages.properties b/rsu-b2b-sample-client-gui/src/main/resources/dk/skat/rsu/b2b/mvc/Messages.properties deleted file mode 100644 index c8b0083..0000000 --- a/rsu-b2b-sample-client-gui/src/main/resources/dk/skat/rsu/b2b/mvc/Messages.properties +++ /dev/null @@ -1,6 +0,0 @@ -error.test.request.required = Please provide a service request -error.test.request.failed = Request failed due to: {0} -error.test.response.failed = Service responded: {0} -lastResponse = {0} -downloadReceipt = {0} -confirmUrl = {0} \ No newline at end of file diff --git a/rsu-b2b-sample-client-gui/src/main/webapp/WEB-INF/weblogic.xml b/rsu-b2b-sample-client-gui/src/main/webapp/WEB-INF/weblogic.xml deleted file mode 100644 index 0370c0f..0000000 --- a/rsu-b2b-sample-client-gui/src/main/webapp/WEB-INF/weblogic.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - rsu-b2b-sample-client-gui - - - /* - UTF-8 - - - From 529770f71197e6967bd67b0e2171248210cba7d9 Mon Sep 17 00:00:00 2001 From: cdcurry Date: Tue, 5 Dec 2023 21:24:03 +0100 Subject: [PATCH 18/33] Remove section on tomcat maven plugin --- README.md | 53 ++++------------------------------------------------- 1 file changed, 4 insertions(+), 49 deletions(-) diff --git a/README.md b/README.md index e5a5d0b..467b33a 100644 --- a/README.md +++ b/README.md @@ -41,7 +41,6 @@ This GitHub contains documentation and a sample client for the RSU B2B Web Servi * [Run clients](#run-clients) * [Prerequisites](#prerequisites) * [Build and Run](#build-and-run) - * [Run on Tomcat](#run-on-tomcat) * [Change endpoints](#change-endpoints) * [Add new environment and endpoints](#add-new-environment-and-endpoints) * [Add another OCES3 certificate](#add-another-oces3-certificate) @@ -443,18 +442,15 @@ call the test environment of RSU B2B Web Service Gateway. The parameters (provided as a file named `app.conf`) can be obtained by contacting Skattestyrelsen. -In the following sections we describe two methods for running the sample: - -* **Build and Run** - Clone repo, build repo, and run locally. -* **Run on Tomcat** - Clone repo, build repo, and run on a Tomcat server. +In the following sections we describe a simple method for running the sample. ### Prerequisites For both methods the following tools are required: -* JDK 1.8 -* Maven 3.3 (or above) - +* JDK 17 +* Maven 3.9.5 +* ### Build and Run Clone this repository. @@ -478,47 +474,6 @@ Once Jetty is running open URL: http://localhost:8080/rsu-b2b-sample-client-gui ``` -### Run on Tomcat - -Clone this repository. Then execute: - -```sh -$ mvn clean install -``` - -On your **server** create a directory named `rsu-b2b-sample-client-gui`. - -Copy these files to the directory `rsu-b2b-sample-client-gui`: - -``` -rsu-b2b-sample-client-gui/target/rsu-b2b-sample-client-gui--war-exec.jar -rsu-b2b-sample-client/src/main/resources/keystore/client-keystore.jks -rsu-b2b-sample-client/src/main/resources/keystore/server-keystore.jks -``` - -Organize the files as follows: - -``` -rsu-b2b-sample-client-gui/ - rsu-b2b-sample-client-gui--war-exec.jar - keystore/ - client-keystore.jks - server-keystore.jks - app.conf -``` - -Then inside `rsu-b2b-sample-client-gui` run: - -```sh -$ java -jar rsu-b2b-sample-client-gui--war-exec.jar -``` - -Once Tomcat is running open URL: - -``` -http://localhost:8080/rsu-b2b-sample-client-gui -``` - ### Change endpoints If you want to have the test client call the built-in Log Servlet modify `app.conf` and From a492f2674956a6c8591f6a0a8e0c410f75af8995 Mon Sep 17 00:00:00 2001 From: cdcurry Date: Tue, 5 Dec 2023 21:54:30 +0100 Subject: [PATCH 19/33] Cleanup --- prep-local-tomcat.sh | 5 ----- rsu-b2b-sample-client-gui/pom.xml | 6 ------ start-tomcat.sh | 8 -------- 3 files changed, 19 deletions(-) delete mode 100755 prep-local-tomcat.sh delete mode 100755 start-tomcat.sh diff --git a/prep-local-tomcat.sh b/prep-local-tomcat.sh deleted file mode 100755 index b948f45..0000000 --- a/prep-local-tomcat.sh +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh - -cp -r rsu-b2b-sample-client/src/main/resources/keystore rsu-b2b-sample-client-gui/target/keystore -cp app.conf rsu-b2b-sample-client-gui/target -cp start-tomcat.sh rsu-b2b-sample-client-gui/target \ No newline at end of file diff --git a/rsu-b2b-sample-client-gui/pom.xml b/rsu-b2b-sample-client-gui/pom.xml index b140ff8..7247a28 100644 --- a/rsu-b2b-sample-client-gui/pom.xml +++ b/rsu-b2b-sample-client-gui/pom.xml @@ -137,10 +137,4 @@ - - - artifacts.alfresco.com - https://artifacts.alfresco.com/nexus/content/repositories/public/ - - diff --git a/start-tomcat.sh b/start-tomcat.sh deleted file mode 100755 index ad4ea5d..0000000 --- a/start-tomcat.sh +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/sh - -echo "Starting Tomcat. Once it's running open:" -echo "---" -echo "http://localhost:8080/rsu-b2b-sample-client-gui" -echo "---" - -java -jar rsu-b2b-sample-client-gui-1.2-war-exec.jar From f6c95bc94b3ba6ec6e187e42b429489fbcc5e74d Mon Sep 17 00:00:00 2001 From: cdcurry Date: Tue, 5 Dec 2023 22:30:40 +0100 Subject: [PATCH 20/33] Updated documentation re. Java version --- README.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 467b33a..44be15f 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # RSU B2B Sample Web Service Client written in Java -[![Build Status](https://travis-ci.com/skat/rsu-b2b-sample-client-java.svg?token=pXpLRS1qCgHe3KVdbFyA&branch=master)](https://travis-ci.com/skat/rsu-b2b-sample-client-java) +[![Build Status](https://travis-ci.com/skat/rsu-b2b-sample-client-java.svg?token=pXpLRS1qCgHe3KVdbFyA&branch=master)](https://travis-ci.com/skat/rsu-b2b-sample-client-java) ![Java17](https://img.shields.io/badge/Java-17-green.svg) This GitHub contains documentation and a sample client for the RSU B2B Web Service Gateway, that provides APIs (SOAP Web Services) to submit **VAT returns**. The [sample client](#about-the-client) is developed in Java and using open source libraries demonstrating how the APIs works. @@ -350,7 +350,9 @@ Error code | Error Description (EN) | Error Description (DA) ## About the client -The following is documentation of a sample client for the RSU B2B Web Service Gateway. The sample client is implemented based on the [Apache CXF](http://cxf.apache.org/) framework, the Spring Framework, and Java 8. See `pom.xml` file in this repo for details regarding the current versions of the mentioned frameworks in use. +The following is documentation of a sample client for the RSU B2B Web Service Gateway. The sample client is implemented based on the [Apache CXF](http://cxf.apache.org/) framework, the Spring Framework, and Java 17. See `pom.xml` file in this repo for details regarding the current versions of the mentioned frameworks in use. + +For a **Java 8** based client please take a look at release [v1.3](https://github.com/skat/rsu-b2b-sample-client-java/releases/tag/v1.3) > **Looking for a .NET Core sample?** Skatteforvaltningen provides a sample Web Service Client written in .NET Core > [here](https://github.com/skat/rsu-b2b-sample-client-dotnet). From 93c1db9c95b576a2524f7f34ec839f177a24d2ab Mon Sep 17 00:00:00 2001 From: cdcurry Date: Wed, 6 Dec 2023 13:09:28 +0100 Subject: [PATCH 21/33] Try Java 17 --- .travis.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index 63034ed..7e0bf93 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,5 +1,5 @@ sudo: false -dist: precise +dist: focal group: deprecated language: java @@ -8,7 +8,7 @@ notifications: email: false jdk: - - oraclejdk8 + - oraclejdk17 script: - mvn --version From 4960059aa79a681d915cacb6972540ea261bd669 Mon Sep 17 00:00:00 2001 From: cdcurry Date: Wed, 6 Dec 2023 13:18:50 +0100 Subject: [PATCH 22/33] Use specific Maven version --- .travis.yml | 7 +++++++ apache-maven-3.9.5-bin.tar.gz.sha512 | 1 + 2 files changed, 8 insertions(+) create mode 100644 apache-maven-3.9.5-bin.tar.gz.sha512 diff --git a/.travis.yml b/.travis.yml index 7e0bf93..7364663 100644 --- a/.travis.yml +++ b/.travis.yml @@ -10,6 +10,13 @@ notifications: jdk: - oraclejdk17 +before_install: + - wget https://archive.apache.org/dist/maven/maven-3/3.9.5/binaries/apache-maven-3.9.5-bin.tar.gz + - sha512sum -c apache-maven-3.9.5-bin.tar.gz.sha512 + - tar xzvf apache-maven-3.9.5-bin.tar.gz + - export PATH=`pwd`/apache-maven-3.9.5/bin:$PATH + - mvn -v + script: - mvn --version # Skip unit test in CI diff --git a/apache-maven-3.9.5-bin.tar.gz.sha512 b/apache-maven-3.9.5-bin.tar.gz.sha512 new file mode 100644 index 0000000..88ff458 --- /dev/null +++ b/apache-maven-3.9.5-bin.tar.gz.sha512 @@ -0,0 +1 @@ +4810523ba025104106567d8a15a8aa19db35068c8c8be19e30b219a1d7e83bcab96124bf86dc424b1cd3c5edba25d69ec0b31751c136f88975d15406cab3842b apache-maven-3.9.5-bin.tar.gz From 0fd00dd162252c9866dccd81ca7f573bdb260bff Mon Sep 17 00:00:00 2001 From: rasmuswoldike Date: Thu, 7 Dec 2023 16:10:39 +0100 Subject: [PATCH 23/33] todos fixed --- pom.xml | 77 ++-- rsu-b2b-sample-client-gui/pom.xml | 213 +++++------ .../rsu/b2b/sample/mvc/ServiceTestAction.java | 32 ++ .../mvc/configuration/WebFlowConfig.java | 3 +- .../webapp/WEB-INF/flows/app/rsu-flow.xml | 2 - .../src/main/webapp/WEB-INF/views/index.html | 26 +- .../src/main/webapp/index.html | 5 + rsu-b2b-sample-client/pom.xml | 343 +++++++++--------- 8 files changed, 386 insertions(+), 315 deletions(-) create mode 100644 rsu-b2b-sample-client-gui/src/main/webapp/index.html diff --git a/pom.xml b/pom.xml index 821cc50..247caa6 100644 --- a/pom.xml +++ b/pom.xml @@ -1,40 +1,41 @@ - - 4.0.0 - dk.skat.rsu.b2b.sample - rsu-b2b-sample-client-java - pom - 1.2 - rsu-b2b-sample-client-java - http://www.skat.dk - - rsu-b2b-sample-client - rsu-b2b-sample-client-gui - - - UTF-8 - UTF-8 - - - - - org.apache.maven.plugins - maven-compiler-plugin - 3.10.1 - - 17 - 17 - - - - - - - - com.typesafe - config - 1.3.0 - - - + 4.0.0 + dk.skat.rsu.b2b.sample + rsu-b2b-sample-client-java + pom + 1.2 + rsu-b2b-sample-client-java + http://www.skat.dk + + rsu-b2b-sample-client + rsu-b2b-sample-client-gui + + + UTF-8 + UTF-8 + + + + + org.apache.maven.plugins + maven-compiler-plugin + 3.10.1 + + 17 + 17 + + + + + + + + com.typesafe + config + 1.3.0 + + + diff --git a/rsu-b2b-sample-client-gui/pom.xml b/rsu-b2b-sample-client-gui/pom.xml index 7247a28..64dd61b 100644 --- a/rsu-b2b-sample-client-gui/pom.xml +++ b/rsu-b2b-sample-client-gui/pom.xml @@ -1,29 +1,30 @@ - - 4.0.0 - - dk.skat.rsu.b2b.sample - rsu-b2b-sample-client-java - 1.2 - - rsu-b2b-sample-client-gui - war - rsu-b2b-sample-client-gui - - - - org.eclipse.jetty - jetty-maven-plugin - 11.0.11 - - 1 - - /rsu-b2b-sample-client-gui - - - - - + 4.0.0 + + dk.skat.rsu.b2b.sample + rsu-b2b-sample-client-java + 1.2 + + rsu-b2b-sample-client-gui + war + rsu-b2b-sample-client-gui + + + + org.eclipse.jetty + jetty-maven-plugin + 11.0.11 + + 1 + + /rsu-b2b-sample-client-gui + + + + + @@ -49,92 +50,92 @@ - - - org.springframework - spring-webmvc - - - junit - junit - 4.13.2 - test - - - org.springframework.webflow - spring-webflow - 3.0.0 - - - commons-io - commons-io - 2.11.0 - + + + org.springframework + spring-webmvc + + + junit + junit + 4.13.2 + test + + + org.springframework.webflow + spring-webflow + 3.0.0 + + + commons-io + commons-io + 2.11.0 + - - jakarta.servlet - jakarta.servlet-api - 6.0.0 - provided - - - jakarta.enterprise - jakarta.enterprise.cdi-api - provided - 4.0.0.Beta2 - + + jakarta.servlet + jakarta.servlet-api + 6.0.0 + provided + + + jakarta.enterprise + jakarta.enterprise.cdi-api + provided + 4.0.0.Beta2 + - - org.springframework.security - spring-security-web - - - org.springframework.security - spring-security-taglibs - - - org.springframework.security - spring-security-config - + + org.springframework.security + spring-security-web + + + org.springframework.security + spring-security-taglibs + + + org.springframework.security + spring-security-config + - - org.hibernate.validator - hibernate-validator - 8.0.0.Final - - - jakarta.validation - jakarta.validation-api - 3.0.2 - + + org.hibernate.validator + hibernate-validator + 8.0.0.Final + + + jakarta.validation + jakarta.validation-api + 3.0.2 + - - com.typesafe - config - 1.4.2 - + + com.typesafe + config + 1.4.2 + - - dk.skat.rsu.b2b.sample - rsu-b2b-sample-client - ${project.version} - + + dk.skat.rsu.b2b.sample + rsu-b2b-sample-client + ${project.version} + - - org.thymeleaf - thymeleaf - 3.1.1.RELEASE - - - org.thymeleaf - thymeleaf-spring6 - 3.1.1.RELEASE - - - org.thymeleaf.extras - thymeleaf-extras-springsecurity6 - 3.1.0.RELEASE - - + + org.thymeleaf + thymeleaf + 3.1.1.RELEASE + + + org.thymeleaf + thymeleaf-spring6 + 3.1.1.RELEASE + + + org.thymeleaf.extras + thymeleaf-extras-springsecurity6 + 3.1.0.RELEASE + + diff --git a/rsu-b2b-sample-client-gui/src/main/java/dk/skat/rsu/b2b/sample/mvc/ServiceTestAction.java b/rsu-b2b-sample-client-gui/src/main/java/dk/skat/rsu/b2b/sample/mvc/ServiceTestAction.java index 0fbfdf6..f968aa0 100644 --- a/rsu-b2b-sample-client-gui/src/main/java/dk/skat/rsu/b2b/sample/mvc/ServiceTestAction.java +++ b/rsu-b2b-sample-client-gui/src/main/java/dk/skat/rsu/b2b/sample/mvc/ServiceTestAction.java @@ -8,6 +8,7 @@ import dk.skat.rsu.b2b.sample.VirksomhedKalenderHentClient; import jakarta.xml.bind.JAXBContext; import jakarta.xml.bind.Unmarshaller; +import oio.skat.nemvirksomhed.ws._1_0.ModtagMomsangivelseForeloebigOType; import oio.skat.nemvirksomhed.ws._1_0.MomsangivelseKvitteringHentIType; import oio.skat.nemvirksomhed.ws._1_0.MomsangivelseKvitteringHentOType; import org.apache.commons.io.IOUtils; @@ -31,6 +32,24 @@ public class ServiceTestAction implements Serializable{ private ServiceTestForm serviceTestForm; private String serviceResponse; private String tID; + private String errror; + private String deepLink; + + public String getDeepLink() { + return deepLink; + } + + public void setDeepLink(String deepLink) { + this.deepLink = deepLink; + } + + public String getErrror() { + return errror; + } + + public void setErrror(String errror) { + this.errror = errror; + } public String gettID() { return tID; @@ -67,6 +86,8 @@ public String execute(ServiceTestForm serviceTestForm1) throws Exception { this.tID = ""; + this.errror = ""; + this.deepLink = ""; if (this.serviceTestForm == null){ this.setServiceTestForm(serviceTestForm1); @@ -107,6 +128,15 @@ public String execute(ServiceTestForm serviceTestForm1) ModtagMomsangivelseForeloebigClient client = new ModtagMomsangivelseForeloebigClient(endpoint, policy); serviceResponse = client.invoke(requestAsString, cert, this.serviceTestForm.isOverrideTxInfo()); + // Get receipt and store PDF in memory for later download + InputStream inputStream = IOUtils.toInputStream(serviceResponse, "UTF-8"); + JAXBContext jc = JAXBContext.newInstance(ModtagMomsangivelseForeloebigOType.class); + Unmarshaller unmarshaller = jc.createUnmarshaller(); + ModtagMomsangivelseForeloebigOType asObject = (ModtagMomsangivelseForeloebigOType) unmarshaller.unmarshal(inputStream); + if (asObject.getDybtlink() != null) { + this.deepLink = "Confirm Link: " + asObject.getDybtlink().getUrlIndicator() + ""; + } + } if ("MomsangivelseKvitteringHent".equals(service)) { MomsangivelseKvitteringHentClient client = new MomsangivelseKvitteringHentClient(endpoint, policy); @@ -139,6 +169,8 @@ public String execute(ServiceTestForm serviceTestForm1) } } if (o instanceof FejlStrukturType) { + FejlStrukturType fejlStrukturType = (FejlStrukturType) o; + this.errror = fejlStrukturType.getFejlIdentifikator().toString() + " : " + fejlStrukturType.getFejlTekst(); failed = true; } } diff --git a/rsu-b2b-sample-client-gui/src/main/java/dk/skat/rsu/b2b/sample/mvc/configuration/WebFlowConfig.java b/rsu-b2b-sample-client-gui/src/main/java/dk/skat/rsu/b2b/sample/mvc/configuration/WebFlowConfig.java index a4ac2c4..a844459 100644 --- a/rsu-b2b-sample-client-gui/src/main/java/dk/skat/rsu/b2b/sample/mvc/configuration/WebFlowConfig.java +++ b/rsu-b2b-sample-client-gui/src/main/java/dk/skat/rsu/b2b/sample/mvc/configuration/WebFlowConfig.java @@ -12,6 +12,7 @@ import org.springframework.webflow.engine.builder.support.FlowBuilderServices; import org.springframework.webflow.executor.FlowExecutor; import org.springframework.webflow.mvc.builder.MvcViewFactoryCreator; +import org.springframework.webflow.security.SecurityFlowExecutionListener; @Configuration public class WebFlowConfig extends AbstractFlowConfiguration { @@ -22,7 +23,7 @@ public class WebFlowConfig extends AbstractFlowConfiguration { @Bean public FlowExecutor flowExecutor() { return getFlowExecutorBuilder(flowRegistry()) - //.addFlowExecutionListener(new SecurityFlowExecutionListener(), "*") + .addFlowExecutionListener(new SecurityFlowExecutionListener(), "*") .build(); } diff --git a/rsu-b2b-sample-client-gui/src/main/webapp/WEB-INF/flows/app/rsu-flow.xml b/rsu-b2b-sample-client-gui/src/main/webapp/WEB-INF/flows/app/rsu-flow.xml index 2da885d..7c64b51 100644 --- a/rsu-b2b-sample-client-gui/src/main/webapp/WEB-INF/flows/app/rsu-flow.xml +++ b/rsu-b2b-sample-client-gui/src/main/webapp/WEB-INF/flows/app/rsu-flow.xml @@ -10,8 +10,6 @@ - - diff --git a/rsu-b2b-sample-client-gui/src/main/webapp/WEB-INF/views/index.html b/rsu-b2b-sample-client-gui/src/main/webapp/WEB-INF/views/index.html index af2ac1f..d289ca9 100644 --- a/rsu-b2b-sample-client-gui/src/main/webapp/WEB-INF/views/index.html +++ b/rsu-b2b-sample-client-gui/src/main/webapp/WEB-INF/views/index.html @@ -9,7 +9,7 @@ RSU Sample GUI - + @@ -114,16 +114,30 @@ Service Response -
-