From 0021285abee59c27336f7fb2d0a42e787855b391 Mon Sep 17 00:00:00 2001
From: "Matteo Franci a.k.a. Fugerit"
Date: Tue, 1 Jul 2025 17:55:37 +0200
Subject: [PATCH 1/9] =?UTF-8?q?feat:=20l'ambiente=20di=20riferimento=20?=
=?UTF-8?q?=C3=A8=20ora=20test=20comuni?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
free test dismesso
https://github.com/italia/anpr/issues/3403
Aggiunto CHANGELOG.md
---
CHANGELOG.md | 27 ++++
README.md | 8 +-
keystore/{FREE => TEST}/.directory | 0
keystore/{FREE => TEST}/.gitignore | 0
keystore/cacerts | Bin 102982 -> 104307 bytes
...2_888002_FREE.req => 3002_888002_TEST.req} | 40 +++---
...1_888013_FREE.req => 6001_888013_TEST.req} | 2 +-
.../{testConn_FREE.req => testConn_TEST.req} | 34 ++---
.../anpr/config/EnvironmentHandler.java | 5 +-
...rties => Example_TEST_Keystore.properties} | 8 +-
...st.java => ConnessioneTestComuniTest.java} | 123 +++++++++---------
11 files changed, 136 insertions(+), 111 deletions(-)
create mode 100644 CHANGELOG.md
rename keystore/{FREE => TEST}/.directory (100%)
rename keystore/{FREE => TEST}/.gitignore (100%)
rename request/3002/{3002_888002_FREE.req => 3002_888002_TEST.req} (93%)
rename request/6001/{6001_888013_FREE.req => 6001_888013_TEST.req} (97%)
rename request/TestConn/{testConn_FREE.req => testConn_TEST.req} (94%)
rename src/main/resources/config/{Example_FREE_Keystore.properties => Example_TEST_Keystore.properties} (68%)
rename src/test/java/it/sogei/ws/client/{ConnessioneFreeTest.java => ConnessioneTestComuniTest.java} (69%)
diff --git a/CHANGELOG.md b/CHANGELOG.md
new file mode 100644
index 0000000..dba5226
--- /dev/null
+++ b/CHANGELOG.md
@@ -0,0 +1,27 @@
+# Changelog
+
+Tutte le modifiche significative a questo progetto verranno documentate in questo file.
+
+Il formato è basato su [Tenere un changelog](https://keepachangelog.com/en/1.0.0/),
+e il progetto si conforma al [Versionamento semantico](https://semver.org/spec/v2.0.0.html).
+
+## [Non rilasciato]
+
+### Aggiunto
+
+- CHANGELOG.md (questo file)
+- trust con certificato wstest.anpr.interno.it aggiornato
+
+### Modificato
+
+- l'ambiente di riferimento è ora test comuni
+
+### Rimosso
+
+- supporto ambiente free test [italia/anpr #3403](https://github.com/italia/anpr/issues/3403).
+
+## [1.3.0] - XXXX-XX-XX
+
+### Aggiunto
+
+- fork da
diff --git a/README.md b/README.md
index 2ad00d8..ea91f13 100644
--- a/README.md
+++ b/README.md
@@ -8,12 +8,12 @@
## Impostare le credenziali
Per rendere il client utilizzabile, è importante impostare, al primo utilizzo, i certificati con le credenziali di test.
-Per ottenere delle credenziali di test, si prega di compilare il modulo all'indirizzo https://anpr-test.bobuild.com/request.
+Per ottenere delle credenziali di test, è necessario richiederle al comune per conto del quale è in corso l'integrazione software.
Per personalizzare il certificato bisogna:
-- Creare il file `src/main/resources/config/FREE_Keystore.properties` partendo dall'esempio `src/main/resources/config/Example_FREE_Keystore.properties` inserendo i riferimenti al proprio ceritficato, al codice della postazione e al PIN del certificato.
-- Aggiungere il certificato ottenuto nella cartella `keystore/FREE`
+- Creare il file `src/main/resources/config/TEST_Keystore.properties` partendo dall'esempio `src/main/resources/config/Example_TEST_Keystore.properties` inserendo i riferimenti al proprio ceritficato, al codice della postazione e al PIN del certificato.
+- Aggiungere il certificato ottenuto nella cartella `keystore/TEST`
## Installazione
@@ -46,7 +46,7 @@ docker run -it --rm --name anpr-client-running-app anpr-client-app
Una volta ricevute le credenziali, si potrà accedere all'applicazione web di test per visualizzare e svolgere operazioni con i dati caricati.
-Per fare ciò è necessario importare il certificato ricevuto (sbloccandolo con il rispettivo PIN) nel proprio sistema operativo o nel proprio browser. Dopodiché sarà possibile accedere a https://dpfree.anpr.interno.it/combas con nome utente e password ricevute via mail.
+Per fare ciò è necessario importare il certificato ricevuto (sbloccandolo con il rispettivo PIN) nel proprio sistema operativo o nel proprio browser. Dopodiché sarà possibile accedere a https://dptest.anpr.interno.it/combas con nome utente e password ricevute via mail.
# Link utili
* [Pagina di ANPR su Developers Italia](https://developers.italia.it/it/anpr)
diff --git a/keystore/FREE/.directory b/keystore/TEST/.directory
similarity index 100%
rename from keystore/FREE/.directory
rename to keystore/TEST/.directory
diff --git a/keystore/FREE/.gitignore b/keystore/TEST/.gitignore
similarity index 100%
rename from keystore/FREE/.gitignore
rename to keystore/TEST/.gitignore
diff --git a/keystore/cacerts b/keystore/cacerts
index 9b1032cc3104f5c6c631eef95f3364a855f1d982..216935f80bcaec62c122db2956710d0028eb8d8b 100644
GIT binary patch
delta 1408
zcmZvaYc!Mz9LDFp%*$wI#9&-^(2mWe@eVWLB%2TkHEJaZSz_3R+&4!v6v?I1WFl%6
z>X1aQ^%5exE*W8HmD)l@7rASRXj9+z?1%q{-#O27&U2ps(^`bgmLueq@s)7`fdGCv
zze=(v1>@0XiC6$-oQT))SbsLGiRf0E4GE1l{wdoPBG(tLCdem
z@j?@m#IL&i84OhCn^WyuBGy4ccm#_thzg7lgt7SI#AEux2C<+?ZB9w;@Xx?kok;Kc)|4{hWATplPT_IWlGEJN0P8
z1~C#z6@*HKveOH`_>|_M-yE(iX32~aiaQtEdl;dlj^g)cGz;QEhM
zX=;LD#Gjri8;j0Q-(;ZeQ#$$HI45hZ;EzS+qwzxA4uk*#P?(sDCQ4B9m%emp0Pq_w@oCdJhlFa#0{{<8@v
z2?PkoIeT0`bARylZp@5&6D~PF-#skQS~uiD`mTJl^MUE**cOl3xcLd1g+Y-|Ma>@E
zOY>1;LE7HN_VFh#=#`YKGxzH%#`=SWVJ(-o+>MV(kXZEU&d85_A~(7SCj8)J2cz+Q
zTXdQlb4>Xr(^?HWB+bxdQik{P2M4DF(>p4JFZyeb
zsInsS>0qdcq!|OAle0UlvfE@_$SnX*c(vwjo9)>rCBw%^BGj`IccLmZIl}9s8Ou
zdSDq3N@`SYR?}13#t|38YlW8mN46fMNDFhSehEGyKS?{e6dgX)R+ryncd<;D)7*3O
ziiTd+qHwND3yq`A3Hq~>+`LT`GPc;$3{N!juU@0vGb`|+a1M+}X^
zoSg+(+7raxj%Un9yk@GVI|2qPLzOH>hvN*%eVt=iW<@}K>#*FLMh}~)|+TG
z>f|UEkOG^{-k8Z*J7?FKt2UE6R9(BcAC9Jee+cbV=v~&&=?Q+kVspwmmX@OHYE)~>
zS}vYKrA7wiIc_z%71=1%XOdFiAE&%-ku1qLeiAP8Wmu8vemzzP%gx?6N>=OqfQpqD
z#%g1yj^&(;&9zX_mK)442
zP!ar=BJdQ%lhpxd2tTC^ED`ZJ24Du_-C6(>#trlVFBs270VNpUVFI|pxX1vI67dFW
sAP~l*EdeJOFXaGI2-mj-*78)QLvN&w{=Q}>pDDEqYP0inb#Fob1tpPF!vFvP
delta 285
zcmV+&0pkAit_H@W1`Ph~{_Ow&00IC20AH~TSPipR6YT}FWDWBLvqTy94zu(urv$S*
zD7gf)n=zCJvvfUb1hX$WM+CFrLG}-`+gHW~v(`}s2D71EWel@#Y+MAh25No+v*2*T
z8IuNT4zr1lTLQD9irE9RU)Lav_=)3q*10
diff --git a/request/3002/3002_888002_FREE.req b/request/3002/3002_888002_TEST.req
similarity index 93%
rename from request/3002/3002_888002_FREE.req
rename to request/3002/3002_888002_TEST.req
index 130d74e..e818e76 100644
--- a/request/3002/3002_888002_FREE.req
+++ b/request/3002/3002_888002_TEST.req
@@ -1,20 +1,20 @@
-
-
- 999997
- 888002
- ANPR00
- 3002
- 2017-03-27T19:20:11.543+02:00
- C
- FREE
-
-
- ROSSI
- MARIO
-
-
- 1
- 2017-03-27+02:00
- 2
-
-
+
+
+ 999997
+ 888002
+ ANPR00
+ 3002
+ 2017-03-27T19:20:11.543+02:00
+ C
+ TEST
+
+
+ ROSSI
+ MARIO
+
+
+ 1
+ 2017-03-27+02:00
+ 2
+
+
diff --git a/request/6001/6001_888013_FREE.req b/request/6001/6001_888013_TEST.req
similarity index 97%
rename from request/6001/6001_888013_FREE.req
rename to request/6001/6001_888013_TEST.req
index 4fa8fa9..20a82a5 100644
--- a/request/6001/6001_888013_FREE.req
+++ b/request/6001/6001_888013_TEST.req
@@ -13,7 +13,7 @@
C
- FREE
+ TEST
2018-05-29
diff --git a/request/TestConn/testConn_FREE.req b/request/TestConn/testConn_TEST.req
similarity index 94%
rename from request/TestConn/testConn_FREE.req
rename to request/TestConn/testConn_TEST.req
index 56320fe..c54d161 100644
--- a/request/TestConn/testConn_FREE.req
+++ b/request/TestConn/testConn_TEST.req
@@ -1,18 +1,18 @@
-
-
- 1
- aaaaaa
- giusep
- OP01
- 2017-03-23T17:22:44.868+01:00
- C
- 111
- 2017-03-23+01:00
- FREE
- 2017-03-23+01:00
- 2017-03-23+01:00
- ANPRAPP
- 1
- Sogei
-
+
+
+ 1
+ aaaaaa
+ giusep
+ OP01
+ 2017-03-23T17:22:44.868+01:00
+ C
+ 111
+ 2017-03-23+01:00
+ TEST
+ 2017-03-23+01:00
+ 2017-03-23+01:00
+ ANPRAPP
+ 1
+ Sogei
+
\ No newline at end of file
diff --git a/src/main/java/it/interno/anpr/config/EnvironmentHandler.java b/src/main/java/it/interno/anpr/config/EnvironmentHandler.java
index 7717543..c3af5e0 100644
--- a/src/main/java/it/interno/anpr/config/EnvironmentHandler.java
+++ b/src/main/java/it/interno/anpr/config/EnvironmentHandler.java
@@ -7,12 +7,11 @@
public class EnvironmentHandler {
public static final String VAL = "VAL";
- public static final String TEST = "TEST";
public static final String PRE = "PRE";
- public static final String FREE = "FREE";
+ public static final String TEST = "TEST";
public static final String PROD = "PROD";
- private static List envList = new ArrayList( Arrays.asList(VAL, TEST, PRE, FREE, PROD));
+ private static List envList = new ArrayList( Arrays.asList(VAL, TEST, PRE, TEST, PROD));
private static String env;
public static String getEnv() {
diff --git a/src/main/resources/config/Example_FREE_Keystore.properties b/src/main/resources/config/Example_TEST_Keystore.properties
similarity index 68%
rename from src/main/resources/config/Example_FREE_Keystore.properties
rename to src/main/resources/config/Example_TEST_Keystore.properties
index c2be9d8..630cf9b 100644
--- a/src/main/resources/config/Example_FREE_Keystore.properties
+++ b/src/main/resources/config/Example_TEST_Keystore.properties
@@ -1,16 +1,16 @@
# Properties WSS4J - Keystore del Comune
-org.apache.ws.security.crypto.merlin.keystore.file=keystore/FREE/.p12
+org.apache.ws.security.crypto.merlin.keystore.file=keystore/TEST/.p12
org.apache.ws.security.crypto.merlin.keystore.password=
org.apache.ws.security.crypto.merlin.keystore.type=pkcs12
org.apache.ws.security.crypto.merlin.keystore.alias=
# Properties internal
-ID_OPERATORE=
+ID_OPERATORE=
ID_SEDE=
ID_POSTAZIONE=
ID_APPLICAZIONE=12345
ID_TRANSAZIONE=99999
-PATH_KEYSTORE_POSTAZIONE=keystore/FREE/.p12
+PATH_KEYSTORE_POSTAZIONE=keystore/TEST/.p12
PASS_KEYSTORE_POSTAZIONE=
ALIAS_KEYSTORE_POSTAZIONE=
-URL_WS=https://wsfree.anpr.interno.it
\ No newline at end of file
+URL_WS=https://wstest.anpr.interno.it
\ No newline at end of file
diff --git a/src/test/java/it/sogei/ws/client/ConnessioneFreeTest.java b/src/test/java/it/sogei/ws/client/ConnessioneTestComuniTest.java
similarity index 69%
rename from src/test/java/it/sogei/ws/client/ConnessioneFreeTest.java
rename to src/test/java/it/sogei/ws/client/ConnessioneTestComuniTest.java
index b1cb432..da37e9d 100644
--- a/src/test/java/it/sogei/ws/client/ConnessioneFreeTest.java
+++ b/src/test/java/it/sogei/ws/client/ConnessioneTestComuniTest.java
@@ -1,62 +1,61 @@
-package it.sogei.ws.client;
-
-import org.junit.Before;
-import org.junit.BeforeClass;
-import org.junit.Test;
-
-import it.interno.anpr.activator.DispatchHandler;
-import it.interno.anpr.config.ConfigHandler;
-import it.interno.anpr.config.EnvironmentHandler;
-import it.interno.anpr.config.ParamHandler;
-import it.interno.anpr.config.WSTypeHandler;
-import it.interno.anpr.security.ssl.ConfigSSL;
-
-public class ConnessioneFreeTest {
- @BeforeClass
- public static void setTrustStore () throws Exception {
- System.setProperty("javax.net.ssl.trustStore", "keystore/cacerts");
- System.setProperty("javax.net.ssl.trustStorePassword", "changeit");
- }
-
- @Before
- public void resetConfig () {
- ConfigHandler.reload();
- }
-
- @Test
- public void test1_ConnessioneOnFree() throws Exception {
- ParamHandler param = new ParamHandler();
- param.setEnvironment(EnvironmentHandler.FREE);
- WSTypeHandler wsHandler = new WSTypeHandler();
- wsHandler.setWSFamily(WSTypeHandler.TESTCONN);
- param.setWsType(wsHandler);
- param.setFileRequest("request/TestConn/testConn_FREE.req");
- DispatchHandler dispatch = new DispatchHandler(param);
- assert(dispatch.execute());
- }
-
- @Test
- public void test4_3002OnFree() throws Exception {
- ParamHandler param = new ParamHandler();
- param.setEnvironment(EnvironmentHandler.FREE);
- WSTypeHandler wsHandler = new WSTypeHandler();
- wsHandler.setWSFamily(WSTypeHandler.WS3002);
- param.setWsType(wsHandler);
- param.setFileRequest("request/3002/3002_888002_FREE.req");
- DispatchHandler dispatch = new DispatchHandler(param);
- assert(dispatch.execute());
- }
-
- @Test
- public void test_6001OnFree() throws Exception {
- ParamHandler param = new ParamHandler();
- param.setEnvironment(EnvironmentHandler.FREE);
- WSTypeHandler wsHandler = new WSTypeHandler();
- wsHandler.setWSFamily(WSTypeHandler.WS6001);
- param.setWsType(wsHandler);
- param.setFileRequest("request/6001/6001_888013_FREE.req");
- DispatchHandler dispatch = new DispatchHandler(param);
- assert(dispatch.execute());
- }
-
-}
+package it.sogei.ws.client;
+
+import org.junit.Before;
+import org.junit.BeforeClass;
+import org.junit.Test;
+
+import it.interno.anpr.activator.DispatchHandler;
+import it.interno.anpr.config.ConfigHandler;
+import it.interno.anpr.config.EnvironmentHandler;
+import it.interno.anpr.config.ParamHandler;
+import it.interno.anpr.config.WSTypeHandler;
+
+public class ConnessioneTestComuniTest {
+ @BeforeClass
+ public static void setTrustStore () throws Exception {
+ System.setProperty("javax.net.ssl.trustStore", "keystore/cacerts");
+ System.setProperty("javax.net.ssl.trustStorePassword", "changeit");
+ }
+
+ @Before
+ public void resetConfig () {
+ ConfigHandler.reload();
+ }
+
+ @Test
+ public void test1_ConnessioneOnTest() throws Exception {
+ ParamHandler param = new ParamHandler();
+ param.setEnvironment(EnvironmentHandler.TEST);
+ WSTypeHandler wsHandler = new WSTypeHandler();
+ wsHandler.setWSFamily(WSTypeHandler.TESTCONN);
+ param.setWsType(wsHandler);
+ param.setFileRequest("request/TestConn/testConn_TEST.req");
+ DispatchHandler dispatch = new DispatchHandler(param);
+ assert(dispatch.execute());
+ }
+
+ @Test
+ public void test4_3002OnTest() throws Exception {
+ ParamHandler param = new ParamHandler();
+ param.setEnvironment(EnvironmentHandler.TEST);
+ WSTypeHandler wsHandler = new WSTypeHandler();
+ wsHandler.setWSFamily(WSTypeHandler.WS3002);
+ param.setWsType(wsHandler);
+ param.setFileRequest("request/3002/3002_888002_TEST.req");
+ DispatchHandler dispatch = new DispatchHandler(param);
+ assert(dispatch.execute());
+ }
+
+ @Test
+ public void test_6001OnTest() throws Exception {
+ ParamHandler param = new ParamHandler();
+ param.setEnvironment(EnvironmentHandler.TEST);
+ WSTypeHandler wsHandler = new WSTypeHandler();
+ wsHandler.setWSFamily(WSTypeHandler.WS6001);
+ param.setWsType(wsHandler);
+ param.setFileRequest("request/6001/6001_888013_TEST.req");
+ DispatchHandler dispatch = new DispatchHandler(param);
+ assert(dispatch.execute());
+ }
+
+}
From 8f2d28b0ca495b86c0ab27328af21c47777d5496 Mon Sep 17 00:00:00 2001
From: "Matteo Franci a.k.a. Fugerit"
Date: Tue, 1 Jul 2025 20:17:55 +0200
Subject: [PATCH 2/9] chore: aggiornate versioni plugin maven
---
CHANGELOG.md | 1 +
pom.xml | 109 +++++----------------------------------------------
2 files changed, 10 insertions(+), 100 deletions(-)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index dba5226..0a126ee 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -14,6 +14,7 @@ e il progetto si conforma al [Versionamento semantico](https://semver.org/spec/v
### Modificato
+- aggiornate versioni plugin maven
- l'ambiente di riferimento è ora test comuni
### Rimosso
diff --git a/pom.xml b/pom.xml
index dd18db5..fa96d11 100644
--- a/pom.xml
+++ b/pom.xml
@@ -29,6 +29,9 @@
3.1.8
3.1.1
1.56
+ 3.14.0
+ 3.5.3
+ 3.4.2
@@ -84,14 +87,13 @@
cxf-rt-transports-http
${apache.cxf.version}
-
+
org.apache.cxf
cxf-rt-transports-http-jetty
${apache.cxf.version}
-
org.apache.cxf
cxf-rt-frontend-simple
@@ -141,12 +143,12 @@
org.apache.maven.plugins
maven-surefire-plugin
- 2.19
+ ${maven-surefire-plugin.version}
org.apache.maven.plugins
maven-compiler-plugin
- 3.6.1
+ ${maven-compiler-plugin.version}
256m
512m
@@ -155,6 +157,7 @@
org.apache.maven.plugins
maven-jar-plugin
+ ${maven-jar-plugin.version}
@@ -185,8 +188,6 @@
jaxb-xjc
2.2
-
-
@@ -308,101 +309,9 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
From 919fff701f162ad6589aa483812ead69fc19e537 Mon Sep 17 00:00:00 2001
From: "Matteo Franci a.k.a. Fugerit"
Date: Wed, 2 Jul 2025 15:52:30 +0200
Subject: [PATCH 3/9] feat: supporto operazione P001
---
CHANGELOG.md | 1 +
pom.xml | 9 +
request/P001/P001_XXXXXX_TEST.req | 18 +
.../anpr/activator/DispatchHandler.java | 33 +-
.../it/interno/anpr/config/WSTypeHandler.java | 7 +-
.../anpr/security/message/OpP001Handler.java | 54 +
src/main/resources/binding_P000.xml | 11 +
src/main/resources/binding_P000_xsd.xml | 26 +
src/main/resources/cxf.xml | 24 +-
.../resources/wsdl/P000ServiziCittadino.wsdl | 89 +
src/main/resources/wsdl/P000sc.xsd | 174 +
src/main/resources/wsdl/tipoDato.xsd | 5249 +++++++++++------
src/main/resources/wsdl/vocabolarioP000sc.xsd | 674 +++
.../ws/client/ConnessioneTestComuniTest.java | 14 +-
14 files changed, 4554 insertions(+), 1829 deletions(-)
create mode 100644 request/P001/P001_XXXXXX_TEST.req
create mode 100644 src/main/java/it/interno/anpr/security/message/OpP001Handler.java
create mode 100644 src/main/resources/binding_P000.xml
create mode 100644 src/main/resources/binding_P000_xsd.xml
create mode 100644 src/main/resources/wsdl/P000ServiziCittadino.wsdl
create mode 100644 src/main/resources/wsdl/P000sc.xsd
create mode 100644 src/main/resources/wsdl/vocabolarioP000sc.xsd
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 0a126ee..9168fc0 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -9,6 +9,7 @@ e il progetto si conforma al [Versionamento semantico](https://semver.org/spec/v
### Aggiunto
+- supporto operazione P001
- CHANGELOG.md (questo file)
- trust con certificato wstest.anpr.interno.it aggiornato
diff --git a/pom.xml b/pom.xml
index fa96d11..6d6100d 100644
--- a/pom.xml
+++ b/pom.xml
@@ -286,6 +286,15 @@
${basedir}/src/main/resources/binding_A000.xml
+
+ ${basedir}/src/main/resources/wsdl/P000ServiziCittadino.wsdl
+ AnprServiceP000
+ classpath:wsdl/P000ServiziCittadino.wsdl
+
+ ${basedir}/src/main/resources/binding_P000_xsd.xml
+ ${basedir}/src/main/resources/binding_P000.xml
+
+
${basedir}/src/main/resources/wsdl/S001subentro.wsdl
AnprServiceS001
diff --git a/request/P001/P001_XXXXXX_TEST.req b/request/P001/P001_XXXXXX_TEST.req
new file mode 100644
index 0000000..b0a9a29
--- /dev/null
+++ b/request/P001/P001_XXXXXX_TEST.req
@@ -0,0 +1,18 @@
+
+
+ 0
+ 999999
+ ANPR05
+ P001
+ 2022-07-14T16:43:51.061+02:00
+ C
+ TEST
+ 2022-07-14+02:00
+
+
+ 2024-09-01
+ 2024-09-11
+ 2
+
+
+
\ No newline at end of file
diff --git a/src/main/java/it/interno/anpr/activator/DispatchHandler.java b/src/main/java/it/interno/anpr/activator/DispatchHandler.java
index b418e77..fca6a77 100644
--- a/src/main/java/it/interno/anpr/activator/DispatchHandler.java
+++ b/src/main/java/it/interno/anpr/activator/DispatchHandler.java
@@ -2,35 +2,7 @@
import it.interno.anpr.config.ParamHandler;
import it.interno.anpr.config.WSTypeHandler;
-import it.interno.anpr.security.message.Op1001Handler;
-import it.interno.anpr.security.message.Op1002Handler;
-import it.interno.anpr.security.message.Op1010Handler;
-import it.interno.anpr.security.message.Op1013Handler;
-import it.interno.anpr.security.message.Op1014Handler;
-import it.interno.anpr.security.message.Op2001Handler;
-import it.interno.anpr.security.message.Op2003Handler;
-import it.interno.anpr.security.message.Op2009Handler;
-import it.interno.anpr.security.message.Op2011Handler;
-import it.interno.anpr.security.message.Op3001Handler;
-import it.interno.anpr.security.message.Op3002Handler;
-import it.interno.anpr.security.message.Op3003Handler;
-import it.interno.anpr.security.message.Op3005Handler;
-import it.interno.anpr.security.message.Op3007Handler;
-import it.interno.anpr.security.message.Op4001Handler;
-import it.interno.anpr.security.message.Op4002Handler;
-import it.interno.anpr.security.message.Op4003Handler;
-import it.interno.anpr.security.message.Op5001Handler;
-import it.interno.anpr.security.message.Op5005Handler;
-import it.interno.anpr.security.message.Op5008Handler;
-import it.interno.anpr.security.message.Op5012Handler;
-import it.interno.anpr.security.message.Op6001Handler;
-import it.interno.anpr.security.message.Op7001Handler;
-import it.interno.anpr.security.message.OpA001Handler;
-import it.interno.anpr.security.message.OpA002Handler;
-import it.interno.anpr.security.message.OpA006Handler;
-import it.interno.anpr.security.message.OpCIE2Handler;
-import it.interno.anpr.security.message.OpS001Handler;
-import it.interno.anpr.security.message.TestConnHandler;
+import it.interno.anpr.security.message.*;
public class DispatchHandler {
@@ -129,6 +101,9 @@ public boolean execute() {
case WSTypeHandler.WSCIE2:
OpCIE2Handler servizioCIE2 = new OpCIE2Handler(param);
return servizioCIE2.isResponseValid(servizioCIE2.sendRequest());
+ case WSTypeHandler.WSP001:
+ OpP001Handler servizioP001 = new OpP001Handler(param);
+ return servizioP001.isResponseValid(servizioP001.sendRequest());
default:
System.out.println("Operation <"+param.getWsType().getWSFamily()+"> non gestita");
return false;
diff --git a/src/main/java/it/interno/anpr/config/WSTypeHandler.java b/src/main/java/it/interno/anpr/config/WSTypeHandler.java
index 0533b53..7ff7522 100644
--- a/src/main/java/it/interno/anpr/config/WSTypeHandler.java
+++ b/src/main/java/it/interno/anpr/config/WSTypeHandler.java
@@ -44,6 +44,8 @@ public class WSTypeHandler {
public static final String WSA002 = "WSA002";
public static final String WSA006 = "WSA006";
+ public static final String WSP001 = "WSP001";
+
public static final String WSS001 = "WSS001";
public static final String WSCIE2 = "WSCIE2";
@@ -59,10 +61,11 @@ public class WSTypeHandler {
public static final String URI_WSA000 = "/ANPRA000ServiziAire/AnprServiceA000";
public static final String URI_WSS001 = "/ANPRS001ServizioSubentro/AnprServiceS001";
public static final String URI_WSCIE0 = "/ANPRCIE/AnprServiziCIE";
+ public static final String URI_WSP000 = "/anpr-wsP000/AnprServiceP000";
private List WSType = new ArrayList(Arrays.asList(TESTCONN, WS1001, WS1002, WS1010, WS1013, WS1014,
WS2001, WS2003, WS2009, WS2011, WS3001, WS3002, WS3003, WS3005, WS3007, WS4001, WS4002, WS4003, WS5001,
- WS5005, WS5007, WS5008, WS5009, WS5012, WS6001, WS7001, WSA001, WSA002, WSA006, WSS001, WSCIE2));
+ WS5005, WS5007, WS5008, WS5009, WS5012, WS6001, WS7001, WSA001, WSA002, WSA006, WSS001, WSCIE2, WSP001));
private String WSFamily;
public String getWSFamily() {
@@ -140,6 +143,8 @@ public String getUri() {
return URI_WSS001;
case WSCIE2:
return URI_WSCIE0;
+ case WSP001:
+ return URI_WSP000;
default:
return "";
}
diff --git a/src/main/java/it/interno/anpr/security/message/OpP001Handler.java b/src/main/java/it/interno/anpr/security/message/OpP001Handler.java
new file mode 100644
index 0000000..328d75c
--- /dev/null
+++ b/src/main/java/it/interno/anpr/security/message/OpP001Handler.java
@@ -0,0 +1,54 @@
+package it.interno.anpr.security.message;
+
+import it.interno.anpr.config.ParamHandler;
+import it.interno.anpr.ws._3000anprservice.AnprPortType3000;
+import it.interno.anpr.ws._3000anprservice.AnprService3000;
+import it.interno.anpr.ws._3000consultazione.Richiesta3002;
+import it.interno.anpr.ws._3000consultazione.Risposta3002;
+import it.interno.anpr.ws._P000anprservice.AnprPortTypeP000;
+import it.interno.anpr.ws._P000anprservice.AnprServiceP000;
+import it.interno.anpr.ws._P000sc.RichiestaP001;
+import it.interno.anpr.ws._P000sc.RispostaP001;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
+import java.io.InputStream;
+
+/** Gestore per l'invocazione del servizio Test Connessione
+ * @author gferraro
+ *
+ */
+public class OpP001Handler extends RequestHandler implements IMessageHandler {
+ private static Log LOGGER = LogFactory.getLog(OpP001Handler.class);
+
+ public OpP001Handler(ParamHandler param) {
+ super(param);
+ }
+
+ /* (non-Javadoc)
+ * @see it.sogei.security.message.IMessageHandler#sendRequest()
+ */
+ public RispostaP001 sendRequest(){
+ AnprServiceP000 port = new AnprServiceP000();
+
+ try {
+ AnprPortTypeP000 wsAnprPort = port.getAnprServicePortP000();
+
+ setClient(wsAnprPort);
+
+ InputStream xmlSource = this.getInputPayload();
+ RichiestaP001 request = (RichiestaP001) jaxbXMLToObject(xmlSource, RichiestaP001.class);
+
+ LOGGER.info("WSP001 invoke...");
+ return wsAnprPort.elenco(request);
+
+ } catch (Exception e) {
+ LOGGER.error("Exception nell'invio richiesta", e);
+ throw new RuntimeException(e);
+ }
+ }
+
+ public boolean isResponseValid(RispostaP001 resp) {
+ return ((resp.getRispostaOKP001() != null) || (resp.getRispostaKO() != null));
+ }
+}
diff --git a/src/main/resources/binding_P000.xml b/src/main/resources/binding_P000.xml
new file mode 100644
index 0000000..389c216
--- /dev/null
+++ b/src/main/resources/binding_P000.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/main/resources/binding_P000_xsd.xml b/src/main/resources/binding_P000_xsd.xml
new file mode 100644
index 0000000..f85bc60
--- /dev/null
+++ b/src/main/resources/binding_P000_xsd.xml
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/main/resources/cxf.xml b/src/main/resources/cxf.xml
index 7dd649a..a5a6757 100644
--- a/src/main/resources/cxf.xml
+++ b/src/main/resources/cxf.xml
@@ -247,7 +247,29 @@
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/main/resources/wsdl/P000ServiziCittadino.wsdl b/src/main/resources/wsdl/P000ServiziCittadino.wsdl
new file mode 100644
index 0000000..5528f14
--- /dev/null
+++ b/src/main/resources/wsdl/P000ServiziCittadino.wsdl
@@ -0,0 +1,89 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/main/resources/wsdl/P000sc.xsd b/src/main/resources/wsdl/P000sc.xsd
new file mode 100644
index 0000000..d44b1df
--- /dev/null
+++ b/src/main/resources/wsdl/P000sc.xsd
@@ -0,0 +1,174 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ rispostaKO
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Richiesta elenco
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Risposta elenco
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Risposta OK elenco
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Richiesta dettaglio
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Risposta dettaglio
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Risposta OK dettaglio
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Richiesta aggiorna
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Risposta aggiorna
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Risposta OK aggiorna
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/main/resources/wsdl/tipoDato.xsd b/src/main/resources/wsdl/tipoDato.xsd
index 870bf3e..204340a 100644
--- a/src/main/resources/wsdl/tipoDato.xsd
+++ b/src/main/resources/wsdl/tipoDato.xsd
@@ -1,2030 +1,3056 @@
-
-
-
-
-
+
+
+
+
+
-
-
+
-
-
-
-
-
+
+
+
-
-
-
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
+
+
+
-
-
-
+
-
-
-
+
+
-
-
-
+
-
-
-
-
+
+
+
-
-
-
-
-
-
-
-
-
-
+
-
-
-
+
+
+
-
-
-
+
-
+
+
+
-
-
-
-
- 1=separato
-
-
-
+
+
+
+
+
-
-
-
+
-
-
+
+
+
-
-
-
-
- importo del bollo in centesimi di euro (per esempio per mettere 1 euro occorre scrivere 100)
-
-
+
+
+
+
+
-
-
-
-
- Se 0 non presente; se i diritti di segreteria vengono riscossi dal comune, indicare l'importo in centesimi di euro (per esempio per mettere 1 euro occorre scrivere 100)
-
-
-
+
+
+
+
+
-
-
-
-
- 0=Non esente|1=Esente
-
-
-
+
+
+
+
+
-
-
-
-
- 0=non esente|da 1 a 10 esente(si rimanda a tab. 39 Esenzione bollo)|99=Altro motivo esenzione
-
-
+
+
+
+
+
-
-
-
-
- 1=Bollo Assolto In Modo Virtuale|2=Bollo assolto tramite contrassegno |9=Altra modalita' di assolvimento del bollo
-
-
+
+
+
+
+
-
-
-
-
- 1=Certificato emesso allo Sportello|2=certificato emesso via Internet|3=Richiesta di Anteprima certificato
-
-
+
+
+
+
+
-
-
-
-
- 1=Emissione Certificato|2=Richiesta Dati
-
-
+
+
+
+
+
-
-
-
-
+
+
+
+
+
-
-
-
-
+
+
+
+
+
-
-
-
-
+
+
+
+
+
-
-
-
-
+
+
+
+
+
-
-
-
-
+
+
+
+
+
-
-
-
-
+
+
+
+
+
-
-
-
-
+
+
+
+
+
-
-
-
-
+
+
+
+
+
-
-
-
-
+
+
+
+
+
-
-
-
-
+
+
+
+
+
-
-
-
-
+
+
+
+
+
-
-
-
-
+
+
+
+
+
-
-
-
-
+
+
+
+
+
-
-
-
-
+
+
+
+
+
-
-
-
-
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
-
-
-
-
-
+
+
+
+
+
-
-
-
-
-
-
-
-
+
-
+
+
+
-
-
-
+
-
-
+
+
+
-
-
-
+
-
-
+
+
+
-
-
-
-
-
-
-
-
-
-
+
+
+
+
-
-
-
+
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
-
+
+
+
+
-
-
-
-
+
+
+
+
+
-
-
-
-
+
+
+
+
+
-
-
-
-
+
+
+
+
+
-
-
-
-
+
+
+
+
+
-
-
-
-
-
-
+
+
+
+
-
-
-
-
+
+
+
+
-
-
-
-
+
+
+
+
-
-
-
-
+
+
+
+
-
-
-
-
+
+
+
+
-
-
-
-
+
+
+
+
-
-
-
-
+
+
+
+
-
-
-
-
+
+
+
+
-
-
-
-
+
+
+
+
-
-
-
-
-
+
+
+
+
+
-
-
-
-
+
+
+
+
-
-
-
-
+
+
+
+
-
-
-
-
+
+
+
+
+
-
-
-
-
+
+
+
+
+
-
-
-
-
+
+
+
+
+
-
-
-
-
+
+
+
+
+
-
-
-
-
+
+
+
+
+
-
-
-
-
+
+
+
+
+
-
-
-
-
+
+
+
+
+
-
-
-
-
+
+
+
+
+
-
-
-
-
+
+
+
+
+
-
-
-
-
+
+
+
+
+
-
-
-
-
+
+
+
+
+
-
-
-
-
+
+
+
+
+
-
-
-
-
+
+
+
+
+
-
-
-
-
+
+
+
+
+
-
-
-
-
+
+
+
+
+
-
-
-
-
+
+
+
+
+
-
-
-
-
+
+
+
+
+
-
-
-
-
+
+
+
+
+
-
-
-
-
+
+
+
+
+
-
-
-
-
+
+
+
+
+
-
-
-
-
-
-
+
+
+
+
+
-
-
-
-
+
+
+
+
+
-
-
-
-
+
+
+
+
+
-
-
-
-
+
+
+
+
+
-
-
-
-
+
+
+
+
+
-
-
-
-
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
-
-
-
-
+
+
+
+
+
-
-
-
-
+
+
+
+
+
-
-
-
+
-
+
+
+
-
-
-
-
+
+
+
+
+
-
-
-
-
- 0=No paEstera|1=paEstera|2= destinazione d'uso CERTIFICATO RILASCIATO PER PROCEDIMENTI DISCIPLINATI DALLE NORME SULL'IMMIGRAZIONE|3=destinazione d'uso CERTIFICATO RILASCIATO PER PROCEDIMENTI
-DISCIPLINATI DALLE NORME SULL'IMMIGRAZIONE
-
-
+
+
+
+
+
-
-
-
-
+
+
+
+
+
-
-
-
-
- Richiedente=1 chi richiede il certificato è diverso dall'Intestatario|Richiedente=2 il richiedente coincide con l'intestatario del certificato|Richiedente=3 soggetto di una PA
-
-
+
+
+
+
-
-
-
-
+
+
+
+
-
-
-
-
+
+
+
+
+
+
-
-
-
-
+
+
+
+
+
-
-
-
-
+
+
+
+
+
-
-
-
-
- Codice del servizio così come riportati nella tabella servizi (es. 1001, 5005)
-
-
-
+
+
+
+
+
-
-
-
+
+
-
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
-
-
-
+
+
-
-
-
-
-
-
-
+
+
+
+
-
-
-
-
-
-
-
+
+
+
+
+
+
-
-
-
-
-
+
+
+
-
-
-
+
+
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
+
+
+
+
+
+
+
+ 1=separato
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
+
+
+
+
+
+ importo del bollo in centesimi di euro (per esempio
+ per mettere 1 euro occorre scrivere 100)
+
+
+
+
+
+
+
+
+ Se 0 non presente; se i diritti di segreteria
+ vengono riscossi dal comune, indicare l'importo in centesimi di euro
+ (per esempio per mettere 1 euro occorre scrivere 100)
+
+
+
+
+
+
+
+
+
+
+ 0=Non esente|1=Esente
+
+
+
+
+
+
+
+
+
+ 0=non esente|da 1 a 10 esente(si rimanda a tab. 39
+ Esenzione bollo)|99=Altro motivo esenzione
+
+
+
+
+
+
+
+
+ 1=Bollo Assolto In Modo Virtuale|2=Bollo assolto
+ tramite contrassegno |9=Altra modalita' di assolvimento del bollo
+
+
+
+
+
+
+
+
+
+ 1=Certificato emesso allo Sportello|2=certificato
+ emesso via Internet|3=Richiesta di Anteprima certificato
+
+
+
+
+
+
+
+
+
+ 1=Emissione Certificato|2=Richiesta Dati
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
+
-
-
-
+
+
+
-
-
-
+
+
-
-
-
+
+
+
-
-
-
+
+
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0=No paEstera|1=paEstera|2= destinazione d'uso
+ CERTIFICATO RILASCIATO PER PROCEDIMENTI DISCIPLINATI DALLE NORME
+ SULL'IMMIGRAZIONE|3=destinazione d'uso CERTIFICATO RILASCIATO PER
+ PROCEDIMENTI
+ DISCIPLINATI DALLE NORME SULL'IMMIGRAZIONE|4=CERTIFICATO RILASCIATO PER L'ESTERO
+
+
+
+
+
+
+
+
+
-
-
-
+
+
+
+
+ Richiedente=1 chi richiede il certificato è diverso
+ dall'Intestatario|Richiedente=2 il richiedente coincide con
+ l'intestatario del certificato|Richiedente=3 soggetto di una PA
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Codice del servizio così come riportati nella
+ tabella servizi (es. 1001, 5005)
+
-
-
-
+
-
-
-
+
+
+
-
-
-
+
-
-
+
+
+
-
-
-
+
+
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
+
+
+
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
-
-
+
+
+
-
-
+
+
-
+
-
-
+
+
-
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
+
-
-
+
+
-
+
-
-
+
+
-
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
+
-
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
+
-
-
+
+
-
-
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
+
+
+
+
+
-
+
-
+
-
+
-
+
-
-
-
+
-
+
-
-
+
+
+
+
-
+
- Identificativo univoco attribuito all'operazione dal comune.
-Deve essere numerico e crescente.
-Se esiste in ANPR, il comune riceve come esito la risposta in precedenza fornita da ANPR con lo stesso ID; se non esiste ed e' inferiore all'ultimo inviato, l'elaborazione termina con errore.
-
-
-
+ Identificativo univoco attribuito all'operazione
+ dal comune.
+ Deve essere numerico e crescente.
+ Se esiste in ANPR, il comune riceve come esito la risposta in
+ precedenza fornita da ANPR con lo stesso ID; se non esiste ed e'
+ inferiore all'ultimo inviato, l'elaborazione termina con errore.
+
+
+
+
- Il codice ISTAT del comune che effettua la richiesta.
-
-
+ Il codice ISTAT del comune che effettua la
+ richiesta.
+
+
+
il codice dell'ANPR (999999)
-
-
+
+
+
- Codice dell'operazione richiesta (es. 1001,5005)
-
+ Codice dell'operazione richiesta (es. 1001,5005)
+
+
+
+
- La data e l‟ora in cui si invia la comunicazione anagrafica ad ANPR.
-
-
+ La data e l‟ora in cui si invia la comunicazione
+ anagrafica ad ANPR.
+
+
+
C=richiesta del cittadino
-V= variazione per correzioni di errori o anomalie dei dati
+ V= variazione per correzioni di errori o anomalie dei dati
-R =rettifica di una precedente operazione
+ R =rettifica di una precedente operazione
-
-
-
+
+
+
+
- Il protocollo assegnato dall‟anagrafe comunale alla pratica
-
+ Il protocollo assegnato dall‟anagrafe comunale
+ alla pratica
+
+
+
- Data di protocollazione della pratica da parte dell'ufficio Anagrafe.
-
-
+ Data di protocollazione della pratica da parte
+ dell'ufficio Anagrafe.
+
+
+
Può assumere i valori:
-TEST
-PRE_SUB
-PROD
-Se il parametro non è compatibile con l'ambiente di riferimento il servizio termina con errore
-
-
+ TEST
+ PRE_SUB
+ PROD
+ Se il parametro non è compatibile con l'ambiente di riferimento il
+ servizio termina con errore
+
+
+
+
- Data di inizio validità dell’operazione di registrazione.
-
-
+ Data di inizio validità dell’operazione di
+ registrazione.
+
+
+
- La data di definizione della pratica del comune associata alla registrazione anagrafica
-
-
+ La data di definizione della pratica del comune
+ associata alla registrazione anagrafica
+
+
+
- Nome dell'applicativo utilizzato per l'invio
-
-
+ Nome dell'applicativo utilizzato per l'invio
+
+
+
+
- Versione dell'applicativo utilizzato per l'invio
-
-
+ Versione dell'applicativo utilizzato per l'invio
+
+
+
+
Fornitore del software
-
+
+
-
+
-
-
+
+
-
+
- Identificativo univoco attribuito all'operazione. Normalmente è attribuito dal comune; per il WEB è attribuito da ANPR.
-
-
-
+ Identificativo univoco attribuito all'operazione.
+ Normalmente è attribuito dal comune; per il WEB è attribuito da
+ ANPR.
+
+
+
+
codice dell'ANPR
-
-
-
- Il codice ISTAT del comune a cui inviare la risposta.
-
-
-
- Codice dell'operazione richiesta (es. 1001,5005)
-
-
-
- La data e l‟ora in cui si invia la comunicazione anagrafica ad ANPR.
-
-
-
-
- La data e l‟ora in cui si invia la comunicazione anagrafica ad ANPR.
-
-
-
- Data di protocollazione della pratica da parte dell'ufficio Anagrafe.
-
-
-
- Data di inizio validità dell’operazione di registrazione.Obbligatorio solo per i servizi di registrazione.
-
-
-
- Identificativo univoco attribuito all'operazione da ANPR.
-
-
-
- Codice che indica se l’operazione è terminata con successo oppure con segnalazioni o errori.
-2 = richiesta completata con esito positivo
-3 = richiesta completata con esito negativo
-4 = richiesta annullata
-6 = richiesta completata con esito positivo ma con warnings
-
-
-
-
-
-
-
-
+
+
+
+
+ Il codice ISTAT del comune a cui inviare la
+ risposta.
+
+
+
+
+ Codice dell'operazione richiesta (es. 1001,5005)
+
+
+
+
+
+ La data e l‟ora in cui si invia la comunicazione
+ anagrafica ad ANPR.
+
+
+
+
+
+ La data e l‟ora in cui si invia la comunicazione
+ anagrafica ad ANPR.
+
+
+
+
+ Data di protocollazione della pratica da parte
+ dell'ufficio Anagrafe.
+
+
+
+
+ Data di inizio validità dell’operazione di
+ registrazione.Obbligatorio solo per i servizi di registrazione.
+
+
+
+
+
+ Identificativo univoco attribuito all'operazione
+ da ANPR.
+
+
+
+
+ Codice che indica se l’operazione è terminata con
+ successo oppure con segnalazioni o errori.
+ 2 = richiesta completata con esito positivo
+ 3 = richiesta completata con esito negativo
+ 4 = richiesta annullata
+ 6 = richiesta completata con esito positivo ma con warnings
+
+
+
+
+
+
+
+
+
-
- Deve essere presente obbligatoriamente uno dei tre campi.
-
-
-
+
+ Deve essere presente obbligatoriamente uno dei tre
+ campi.
+
+
+
+
+ un luogo eccezionale, non identificabile solo con
+ un comune o una località (es: su una nave, in aereo, ecc.)
+
+
+
+
- un luogo eccezionale, non identificabile solo con un comune o una località (es: su una nave, in aereo, ecc.)
-
-
-
- Dati del comune italiano in cui si è verificato l'evento.
-
-
+ Dati del comune italiano in cui si è verificato
+ l'evento.
+
+
+
- Dati della località estera in cui si è verificato l'evento.
-
+ Dati della località estera in cui si è verificato
+ l'evento.
+
+
-
+
-
+
-
+
-
-
+
+
-
-
-
-
+
+
+
+
+
+
+
+ Descrizione della località estera
+
+
+
+
+
+ La denominazione dello stato cui la località
+ appartiene
+
+
+
+
+ Il codice istat dello stato cui la località
+ appartiene
+
+
+
+
+ la provincia/contea
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
- Descrizione della località estera
-
-
- La denominazione dello stato cui la località appartiene
-
-
-
- Il codice istat dello stato cui la località appartiene
-
-
-
- la provincia/contea
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
-
-
+
+
-
-
-
-
-
-
-
-
-
+
-
+
-
-
-
-
-
+
+
+
+
+
-
+
-
+
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
+
-
+
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
-
+
-
+
-
+
-
-
+
+
-
+
-
+
-
-
-
+
+
+
-
+
-
+
-
-
-
-
+
+
+
+
-
+
-
-
+
+
-
+
- Il codice della posizone nella professione: Vedi Tabella 9 Posizione nella professione
-
-
+ Il codice della posizone nella professione: Vedi
+ Tabella 9 Posizione nella professione
+
+
+
- Codice della condizione non professionale: Vedi Tabella 10 Condizione non professionale.
-
-
+ Codice della condizione non professionale: Vedi
+ Tabella 10 Condizione non professionale.
+
+
+
- Codice del titolo di studio: Vedi Tabella 11 Titolo di studio
-
+ Codice del titolo di studio: Vedi Tabella 11
+ Titolo di studio
+
+
-
+
-
+
-
-
-
+
+
+
+
-
-
+
+
-
+
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
+
+
+
+
+
+
+
+
+
+
+
-
+
-
-
+
+
-
-
+
+
-
+
-
+
- Indica il possesso di autoveicoli, valori: S/N
-
-
+ Indica il possesso di autoveicoli, valori: S/N
+
+
+
+
- Indica il possesso di patente, valori: S/N
-
+ Indica il possesso di patente, valori: S/N
+
+
+
-
+
-
+
-
-
-
-
+
+
+
+
-
-
+
+
-
+
+
-
+
-
+
-
-
-
+
+
+
-
+
-
+
-
-
-
-
-
+
+
+
+
+
-
+
-
+
-
-
-
-
+
+
+
+
-
+
-
+
-
+
Il codice fiscale
-
-
+
+
+
- Indica l'esito della validazione dei dati anagrafici con il servizio di AE.
-Vedi tabella stato validazione CF.
-
-
+ Indica l'esito della validazione dei dati
+ anagrafici con il servizio di AE.
+ Vedi tabella stato validazione CF.
+
+
+
+
- Data in cui è stato validato il codice fiscale
-
+ Data in cui è stato validato il codice fiscale
+
+
+
-
+
-
+
-
+
La denominazione del comune
-
-
+
+
+
Il codice istat del comune
-
-
+
+
+
- La sigla istat della provincia di appartenenza del comune
-
-
+ La sigla istat della provincia di appartenenza
+ del comune
+
+
+
- Descrizione della località italiana.
-Non deve essere indicata se coincide con nomeComune.
-
+ Descrizione della località italiana.
+ Non deve essere indicata se coincide con nomeComune.
+
+
+
-
+
-
+
-
+
+
+ La data dell'evento (nascita, matrimonio, morte,
+ ecc.)
+
+
+
+
+ Indica se data dell'evento è composta dal solo
+ mese e anno
+ se impostato deve valere 1
+
+
+
+
- La data dell'evento (nascita, matrimonio, morte, ecc.)
-
-
+ Indica se data dell'evento è composta dal solo
+ anno
+ se impostato deve valere 1
+
+
+
+
- Indica se data dell'evento è composta dal solo mese e anno
-se impostato deve valere 1
-
-
-
- Indica se data dell'evento è composta dal solo anno
-se impostato deve valere 1
-
-
+ Il luogo dove si è verificato l'evento
+
+
+
+
- Il luogo dove si è verificato l'evento
-
-
+ l'atto con cui è stato registrato l'evento
+
+
+
+
- l'atto con cui è stato registrato l'evento
-
+ l'atto con cui è stato registrato l'evento
+
+
+
-
+
-
+
-
-
-
-
-
+
+
+
+
+
-
+
-
+
-
-
-
-
-
-
-
+
+
+
+
+
+
+
-
+
-
+
-
-
+
+
-
-
-
+
+
+
-
-
-
-
-
-
-
+
+
+
+
+
+
+
-
+
-
+
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
-
+
-
-
-
-
+
+
+
+
- Il numero assegnato da ANPR alla pratica comunale
-
-
+ Il numero assegnato da ANPR alla pratica comunale
+
+
+
+
- Il numero assegnato alla pratica dal comune
-
-
+ Il numero assegnato alla pratica dal comune
+
+
+
+
- la data di definizione della pratica
-
-
+ la data di definizione della pratica
+
+
+
+
-
+
-
+
-
-
-
+
+
+
+
+
+
-
+
-
+
-
+
- Codice che identifica l'errore o l'anomalia
-
-
+ Codice che identifica l'errore o l'anomalia
+
+
+
+
E= errore bloccante; W = anomalia non bloccante
-
-
+
+
+
+
- Testo descrittivo dell'errore o dell'anomalia.
-
-
+ Testo descrittivo dell'errore o dell'anomalia.
+
+
+
+
- Oggetto nel quale è stato rilevato l'errore o l'anomalia.
-
-
+ Oggetto nel quale è stato rilevato l'errore o
+ l'anomalia.
+
+
+
- Descrizione del campo presente nell'oggetto nel quale è stato rilevato l'errore o l'anomalia.
-
-
+ Descrizione del campo presente nell'oggetto nel
+ quale è stato rilevato l'errore o l'anomalia.
+
+
+
- Valore del campo nel quale è stato rilevato l'errore o l'anomalia.
-
+ Valore del campo nel quale è stato rilevato
+ l'errore o l'anomalia.
+
+
-
+
-
-
+
+
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
-
+
-
+
-
- Contiene le generalità di un soggetto
-
-
-
-
- Dati relativi al codice fiscale
-
+
+ Contiene le generalità di un soggetto
+
+
+
+
+
+ Dati relativi al codice fiscale
+
+
+
Il cognome del soggetto
-
+
+
- Indica se il soggetto è senza cognome.
-Se presente deve assumere il valore 1
-
+ Indica se il soggetto è senza cognome.
+ Se presente deve assumere il valore 1
+
+
+
Il nome del soggetto
-
+
+
- Indica se il soggetto è senza nome.
-Se presente deve assumere il valore 1
-
+ Indica se il soggetto è senza nome.
+ Se presente deve assumere il valore 1
+
+
+
-
+
- Può assumere i seguenti valori: F, M, N (non conosciuto)
-
+ Può assumere i seguenti valori: F, M, N (non
+ conosciuto)
+
+
+
La data di nascita del soggetto.
-Se è senza giorno indicare AAAAMM01, se è senza mese e giorno, indicare AAAA0101
-
-
-
- Indica se data nascita è composta dal solo mese e anno
-se impostato deve valere 1
-
-
-
- Indica se data nascita è composta dal solo anno
-se impostato deve valere 1
-
-
-
- Il luogo di nascita del soggetto
-
-
-
- Per i soggetti AIRE deve essere pari a "S"
-
-
+ Se è senza giorno indicare AAAAMM01, se è senza mese e giorno,
+ indicare AAAA0101
+
+
+
+
+
+ Indica se data nascita è composta dal solo mese e
+ anno
+ se impostato deve valere 1
+
+
+
+
+
+ Indica se data nascita è composta dal solo anno
+ se impostato deve valere 1
+
+
+
+
+
+ Il luogo di nascita del soggetto
+
+
+
+
+
+ Per i soggetti AIRE deve essere pari a "S"
+
+
+
+
L'anno in cui il soggetto è espatriato.
-Si può indicare solo se soggettoAIRE = S
-
-
+ Si può indicare solo se soggettoAIRE = S
+
+
+
+
- dati identificativi del soggetto attribuiti dal comune
-
-
+ dati identificativi del soggetto attribuiti dal
+ comune
+
+
+
- identificativo della scheda soggetto attribuito da ANPR
-
-
-
+ identificativo della scheda soggetto attribuito
+ da ANPR
+
+
+
+
-
+
-
+
-
-
-
-
-
-
+
+
+
+
+
+
+
-
+
-
+
-
-
-
-
+
+
+
+
-
+
-
+
-
-
+
+
-
+
-
-
-
-
-
- codice istat del comune presso cui è registrato il soggetto.
-
-
-
- identificativo della scheda soggetto attribuitdo dal comune
-
-
-
-
+
+
+
+
+
+ codice istat del comune presso cui è registrato
+ il soggetto.
+
+
+
+
+ identificativo della scheda soggetto attribuitdo
+ dal comune
+
+
+
+
+
-
+
-
-
-
-
-
-
+
+
+
+
+
+
-
+
-
+
-
+
- Il tipo di legame che lega i componenti della famiglia (tipo scheda):
-3=famiglia
-4=convivemza
-5=famigliaAIRE
-Se non impostato viene considerato 3
-
-
+ Il tipo di legame che lega i componenti della
+ famiglia (tipo scheda):
+ 3=famiglia
+ 4=convivemza
+ 5=famigliaAIRE
+ Se non impostato viene considerato 3
+
+
+
+
- La data a partire dalla quale il soggetto appartiene alla famiglia/convivenza
-
+ La data a partire dalla quale il soggetto
+ appartiene alla famiglia/convivenza
+
+
+
- Il codice il legame del soggetto con la famiglia o con la convivenza.
-Vedi:
-Tabella 5 RELAZIONE DI PARENTELA – SCHEDA FAMIGLIA o
-Tabella 6 LEGAME – SCHEDA CONVIVENZA
-
-
-
+ Il codice il legame del soggetto con la famiglia
+ o con la convivenza.
+ Vedi:
+ Tabella 5 RELAZIONE DI PARENTELA – SCHEDA FAMIGLIA o
+ Tabella 6 LEGAME – SCHEDA CONVIVENZA
+
+
+
+
- Indica il progressivo del soggetto tra i componenti della famiglia.
-
+ Indica il progressivo del soggetto tra i
+ componenti della famiglia.
+
+
-
+
-
+
-
+
@@ -2032,613 +3058,936 @@ Tabella 6 LEGAME – SCHEDA CONVIVENZA
-
+
-
-
+
+
-
+
-
+
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+ La data in cui è stata emessa la sentenza
+
+
+
+
+
+ Il numero della sentenza
+
+
+
+
+ Il tipo Autorità Giurisdizionale/amministrativa
+ che ha emesso la sentenza.
+ 1=Tribunale civile Italiano
+
+ 2=Sacra Rota
+
+ 3=Tribunale Estero
+
+ 9=Non conosciuto
+
+
+
+
+
+ Il tribunale che ha emesso la sentenza
+
+
+
+
+
+ La data a partire dalla quale la sentenza è
+ valida.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
-
-
+
+
-
-
- La data in cui è stata emessa la sentenza
-
-
-
-
- Il numero della sentenza
-
-
-
- Il tipo Autorità Giurisdizionale/amministrativa che ha emesso la sentenza.
-1=Tribunale civile Italiano
-
-2=Sacra Rota
-
-3=Tribunale Estero
-
-9=Non conosciuto
-
-
-
-
- Il tribunale che ha emesso la sentenza
-
-
-
- La data a partire dalla quale la sentenza è valida.
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
-
-
+
+
-
-
-
+
+
+
+
+
+
+
+
+
-
+
-
-
+
+
-
-
-
-
-
-
-
-
+
+
+
-
+
-
-
+
+
-
-
-
-
+
+
+
+
+
-
+
-
-
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
-
+
-
-
-
-
+
+
+
+
-
+
-
+
-
-
+
+
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
+
+
+
+
-
+
-
+
-
-
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
+
-
+
-
-
-
- Dati relativi al componente della famiglia
-
-
-
- Dati relativi al legame che intercorre tra il componente (soggettoFamiglia) e l'intestatario della famiglia
-
-
-
-
-
-
+
+
+
+ Dati relativi al componente della famiglia
+
+
+
+
+
+ Dati relativi al legame che intercorre tra il
+ componente (soggettoFamiglia) e l'intestatario della famiglia
+
+
+
+
+
+
+
+
-
-
-
- le generalità del componente della famiglia/convivenza
-
-
+
+
+
+ le generalità del componente della
+ famiglia/convivenza
+
+
+
- Il legame che il soggetto ha all'interno della famiglia
-
-
+ Il legame che il soggetto ha all'interno della
+ famiglia
+
+
+
- Dati relativi al possesso di autoveicoli/patente.
-
-
+ Dati relativi al possesso di autoveicoli/patente.
+
+
+
+
-
+
-
+
-
-
-
+
+
+
-
+
-
+
-
-
-
+
+
+
-
-
+
+
-
-
-
+
+
+
-
+
-
+
-
-
+
+
-
+
-
+
-
+
-
+
-
+
-
+
- il codice del dato di controllo
-
-
+ il codice del dato di controllo
+
+
+
+
- il valore del dato di controllo
-
+ il valore del dato di controllo
+
+
+
-
-
-
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
+
+
+
+
+
-
+
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -2655,7 +4004,7 @@ Tabella 6 LEGAME – SCHEDA CONVIVENZA
-
+
@@ -2666,7 +4015,8 @@ Tabella 6 LEGAME – SCHEDA CONVIVENZA
-
+
Codice fiscale del soggetto
@@ -2708,7 +4058,8 @@ Tabella 6 LEGAME – SCHEDA CONVIVENZA
-
+
La data di nascita del soggetto. Se è senza
giorno indicare AAAAMM01, se è senza mese e giorno, indicare
@@ -2716,36 +4067,340 @@ Tabella 6 LEGAME – SCHEDA CONVIVENZA
-
+
Indica se data nascita è composta dal solo mese e
anno se impostato deve valere 1
-
+
Indica se data nascita è composta dal solo anno
se impostato deve valere 1
-
+
Il luogo di nascita del soggetto
-
+
identificativo della scheda soggetto attribuito
da ANPR
-
+
+
+
+
+
+
+ File con meta informazioni aggiunte
+
+ formato (obbligatorio) : , contiene la tipologia
+ del file restituito (es. xml, csv)
+ compressione (facoltativo): se l'element risulta
+ presente contiene il formato di compressione usato (gz, zip, 7z)
+
+ nome (facoltativo) : il nome del file
+
+ note (facoltativo) : note del file
+
+ contenuto (obbligatorio) : il contenuto binario del
+ file
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Circoscrizione per l’elezione dei membri del
+ Parlamento Europeo spettanti all’Italia
+
+
+
+
+ Collegio plurinominale e collegio uninominale per
+ la Camera dei deputati
+
+
+
+
+ Circoscrizione delle elezioni regionali
+
+
+
+
+
+ Circoscrizione delle elezioni circoscrizionali
+
+
+
+
+
+ Collegio plurinominale e collegio uninominale per
+ il Senato della Repubblica
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Referendum nazionali
+
+
+
+
+ Elezione dei membri del Parlamento Europeo
+ spettanti all’Italia
+
+
+
+
+ Senato della Repubblica
+
+
+
+
+ Circoscrizione del territorio
+ nazionale/Ripartizione della circoscrizione Estero per il Senato
+ della Repubblica
+
+
+
+
+ Camera dei deputati
+
+
+
+
+ Circoscrizione del territorio
+ nazionale/Ripartizione della circoscrizione Estero per la Camera
+ dei deputati
+
+
+
+
+ Regionali
+
+
+
+
+ Comunali
+
+
+
+
+ Circoscrizionali
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Da usare solo in caso di doppia lista.
+ tipoConsultazione rappresenta il tipo di consultazione elettorale
+ in caso di doppia ista.
+ Es. il cittadino è cancellato dalle liste elettorali del comune ma
+ sarà presente nel corpo elttorale per il tipo di consultazione
+ indicata.
+
+
+
+
+
+
+ Da usare solo in caso di doppia lista (non rapprresenta la data di
+ cancellazione dalle liste elettorali del comune).
+ dataCancellazioneLista rappresenta la data della consultazione in
+ caso di doppia ista.
+ Es. il cittadino è cancellato dalle liste elettorali del comune ma
+ sarà presente nel corpo elttorale per la consultazione indicata.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/main/resources/wsdl/vocabolarioP000sc.xsd b/src/main/resources/wsdl/vocabolarioP000sc.xsd
new file mode 100644
index 0000000..df8c1d6
--- /dev/null
+++ b/src/main/resources/wsdl/vocabolarioP000sc.xsd
@@ -0,0 +1,674 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Specifica il tipo di ricerca che puo' essere effettuata, recuperando le richieste
+ prorogate oppure le richieste in scadenza.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Contiene l'informazione sul file di riepilogo della richiesta, scaricabile con relativo formato file.
+ Rappresenta un documento di sintesi della richiesta del cittadino.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Contiene lo stato in cui la richiesta si trova oppure e precedentemente transitata.
+ Riporta l'identificativo dell'operatore e la data in cui e' entrata in quello stato. (vedi tabella stato richiesta per le Rettifiche Dati, vedi
+ tabella 58 per Dichiarazione Cambio Residenza o Iscrizione Online.)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Contiene l'informazione sul recapito indicato dal cittadino.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Contiene l'informazione sull'eventuale file allegato che integra la richiesta del cittadino.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Contiene un intero che rappresenta il numero di proroghe.
+
+
+
+
+ Contiene lo stato attuale della richiesta del cittadino.
+
+
+
+
+ Contiene i recapiti indicati dal cittadino.
+
+
+
+
+ Contiene gli identificativi: ad oggi abbiamo solo Identificativo Unico Nazionale (IDANPR).
+
+
+
+
+ Contiene le generalita del soggetto che ha inserito la richiesta.
+
+
+
+
+ Contiene le generalita del soggetto interessato dalla variazione richiesta
+ rettifica dei dati oppure dichiarazione cambio residenza.
+
+
+
+
+ Contiene l'informazione sulla famiglia, convivenza, residenza del soggetto interessato.
+
+
+
+
+ Dati del comune italiano in cui si e' verificato l'evento.
+
+
+
+
+
+
+
+ Sulla base della tipologia richiesta puo' contenere i dati della rettifica richiesta (primo element)
+ che contiene l'elenco delle variazioni dei dati (datiRettifica), i dati della dichiarazione di cambio residenza (datiDichiarazioneResidenza)
+ oppure i dati della richiesta di iscrizione online (datiIscrizioneOnline).
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Il valore attuale del campo che il cittadino vuole modificare.
+
+
+
+
+ La modifica richiesta dal cittadino.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Indica la relazione di parentela indicata nella dichiarazione cambio residenza rispetto ai soggetti coinvolti e rispetto l'intestatario scheda famiglia.
+
+
+
+
+
+
+ Se il soggetto coinvolto e' maggiorenne indica con valore 3 se ha convalidato la dichiarazione o con valore 1 se deve ancora convalidare.
+
+
+
+
+ Indica la data di avvenuta convalida del soggetto maggiorenne.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Indica la relazione di parentela indicata nella richiesta di iscrizione online rispetto ai soggetti coinvolti e rispetto l'intestatario scheda famiglia.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Indica la tipologia di dichiarazione cambio residenza. Il valore 1 indica una residenza in FAMIGLIA ESISTENTE, il valore 2 una residenza in NUOVA FAMIGLIA.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Indica la tipologia di dichiarazione cambio residenza. Il valore 1 indica una residenza in FAMIGLIA ESISTENTE, il valore 2 una residenza in NUOVA FAMIGLIA.
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Indica il dettaglio dei dati di un richiesta di iscrizione elettorale (tipo pratica 5)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Se valorizzato con true si vuole richiedere la proroga della data di scadenza della richiesta.
+
+
+
+
+ Se valorizzato con opportuno id stato si vuole impostare un nuovo stato per la richiesta.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 - operazione eseguita
+ 1 - operazione eseguita con warning
+
+
+
+
+
+
+
+
+
+
+
+ Rappresenta il tipo dato anagrafico.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Contiene un intero a 2-digit che rappresenta la tipologia di richiesta: 1 = RETTIFICA, 2 = DICHIARAZIONE CAMBIO RESIDENZA
+
+
+
+
+
+
+
+ Contiene un intero a 2-digit che rappresenta lo stato del ciclo di vita di una richiesta.
+ Puo' assumere i seguenti valori: 1 = BOZZA, 2 = APERTA, 3 ... (vedi tabella stato richiesta per le Rettifiche Dati, vedi
+ tabella 58 per le Dichiarazione Cambio Residenza)
+
+
+
+
+
+
+
+ Contiene un intero a 2-digit che rappresenta la sezione del dato.
+ Puo' assumere i seguenti valori: 1 = GENERALITA, 2 = STATO CIVILE, 3 = RESIDENZA, ...(vedi tabella sezione dati rettifica)
+
+
+
+
+
+
+
+ Contiene un intero a 2-digit che rappresenta la tipologia di recapito.
+ Puo' assumere i seguenti valori: 1 = EMAIL, 2 = PEC, 3 = TEL CELLULARE, 4 = TELEFONO FISSO, ...(vedi tabella tipo recapito)
+
+
+
+
+
+
+
+ Contiene un intero a 2-digit che rappresenta il formato file.
+ Puo' assumere i seguenti valori: 1 = PDF, 99 = ALTRO, ...(vedi tabella formato file)
+
+
+
+
+
+
+
+ Contiene un intero a 2-digit che rappresenta il motivo di irricevibilita.
+ Puo' assumere i valori in tabella di decodifica. (vedi tabella 60 per i motivi di irricevibilita)
+
+
+
+
+
+
+
+ Contiene un intero che rappresenta l'esito dell'elaborazione della richiesta P003.
+
+
+
+
+
+
+
+
+ Contiene la stringa SI oppure NO per indicare presenza affermativa o negativa.
+
+
+
+
+
+
+
+
+ Identificativo del titolo di studio (vedi tabella titolo di studio)
+
+
+
+
+
+
+
+ Identificativo della condizione non professionale (vedi tabella condizione non professionale)
+
+
+
+
+
+
+
+ Identificativo della posizione professionale (vedi tabella posizione professionale)
+
+
+
+
+
+
+
+ Identificativo del diritto di occupazione dell'immobile (vedi tabella tipo occupazione)
+ Puo' assumere i seguenti valori: 1 = PROPRIETARIO, 2 = INTESTATARIO DI CONTRATTO...
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0=Non presente|1=Presente
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/test/java/it/sogei/ws/client/ConnessioneTestComuniTest.java b/src/test/java/it/sogei/ws/client/ConnessioneTestComuniTest.java
index da37e9d..ecdc223 100644
--- a/src/test/java/it/sogei/ws/client/ConnessioneTestComuniTest.java
+++ b/src/test/java/it/sogei/ws/client/ConnessioneTestComuniTest.java
@@ -39,7 +39,7 @@ public void test4_3002OnTest() throws Exception {
ParamHandler param = new ParamHandler();
param.setEnvironment(EnvironmentHandler.TEST);
WSTypeHandler wsHandler = new WSTypeHandler();
- wsHandler.setWSFamily(WSTypeHandler.WS3002);
+ wsHandler.setWSFamily(WSTypeHandler.WS3002);
param.setWsType(wsHandler);
param.setFileRequest("request/3002/3002_888002_TEST.req");
DispatchHandler dispatch = new DispatchHandler(param);
@@ -58,4 +58,16 @@ public void test_6001OnTest() throws Exception {
assert(dispatch.execute());
}
+ @Test
+ public void testP001OnTest() throws Exception {
+ ParamHandler param = new ParamHandler();
+ param.setEnvironment(EnvironmentHandler.TEST);
+ WSTypeHandler wsHandler = new WSTypeHandler();
+ wsHandler.setWSFamily(WSTypeHandler.WSP001);
+ param.setWsType(wsHandler);
+ param.setFileRequest("request/P001/P001_XXXXXX_TEST.req");
+ DispatchHandler dispatch = new DispatchHandler(param);
+ assert(dispatch.execute());
+ }
+
}
From d22b7bcab2f51c54b885a28e3246e93aa201c7d9 Mon Sep 17 00:00:00 2001
From: "Matteo Franci a.k.a. Fugerit"
Date: Wed, 2 Jul 2025 16:58:26 +0200
Subject: [PATCH 4/9] docs: link changelog nel readme
---
README.md | 1 +
1 file changed, 1 insertion(+)
diff --git a/README.md b/README.md
index ea91f13..e4fa5eb 100644
--- a/README.md
+++ b/README.md
@@ -1,5 +1,6 @@
[](https://developersitalia.slack.com/messages/C7A8NS7RQ)
[](https://slack.developers.italia.it/)
+[](CHANGELOG.md)
# Client Java di esempio per il test di connessione ad ANPR
From 10544859d223c2567565bbc5aa96652ac9f5cca6 Mon Sep 17 00:00:00 2001
From: "Matteo Franci a.k.a. Fugerit"
Date: Wed, 2 Jul 2025 17:26:33 +0200
Subject: [PATCH 5/9] chore(deps): aggiornate versioni dipendenze
min java version 1.8
junit
fj-core
spring
bouncycastle
---
CHANGELOG.md | 1 +
pom.xml | 24 +++++++++++++-----------
2 files changed, 14 insertions(+), 11 deletions(-)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 9168fc0..d429d67 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -15,6 +15,7 @@ e il progetto si conforma al [Versionamento semantico](https://semver.org/spec/v
### Modificato
+- aggiornate versioni dipendenze
- aggiornate versioni plugin maven
- l'ambiente di riferimento è ora test comuni
diff --git a/pom.xml b/pom.xml
index 6d6100d..e6fb635 100644
--- a/pom.xml
+++ b/pom.xml
@@ -22,16 +22,18 @@
- 1.7
- 1.7
+ 1.8
+ 1.8
UTF-8
- 4.1.7.RELEASE
+ 5.3.39
3.1.8
3.1.1
- 1.56
+ 1.70
3.14.0
3.5.3
3.4.2
+ 4.13.2
+ 8.6.9
@@ -111,29 +113,29 @@
${bouncycastle.version}
-
org.slf4j
slf4j-api
- 1.7.5
+ 2.0.17
- org.slf4j
- slf4j-log4j12
- 1.7.5
+ org.apache.logging.log4j
+ log4j-slf4j2-impl
+ 2.25.0
+
junit
junit
- 4.10
+ ${junit.version}
test
org.fugerit.java
fj-core
- 0.1.4
+ ${fj-core.version}
From c7504ee95a52ca618d289172db6b88f9cc3c1617 Mon Sep 17 00:00:00 2001
From: "Matteo Franci a.k.a. Fugerit"
Date: Thu, 3 Jul 2025 11:15:45 +0200
Subject: [PATCH 6/9] chore(config): configurazione log4j 2
---
src/main/resources/log4j.xml | 19 -------------------
src/main/resources/log4j2.xml | 18 ++++++++++++++++++
2 files changed, 18 insertions(+), 19 deletions(-)
delete mode 100644 src/main/resources/log4j.xml
create mode 100644 src/main/resources/log4j2.xml
diff --git a/src/main/resources/log4j.xml b/src/main/resources/log4j.xml
deleted file mode 100644
index 2b8e3c9..0000000
--- a/src/main/resources/log4j.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/main/resources/log4j2.xml b/src/main/resources/log4j2.xml
new file mode 100644
index 0000000..33215ac
--- /dev/null
+++ b/src/main/resources/log4j2.xml
@@ -0,0 +1,18 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
From be145819f43c0d97bb6b1ae8e572982562fbb5b2 Mon Sep 17 00:00:00 2001
From: "Matteo Franci a.k.a. Fugerit"
Date: Thu, 3 Jul 2025 11:16:04 +0200
Subject: [PATCH 7/9] chore(config): aggiornamento wsdl/xsd servizio 3000
---
src/main/resources/wsdl/3000consultazione.xsd | 100 +++++++++++++
.../wsdl/3000serviziConsultazione.wsdl | 49 ++++++-
.../wsdl/vocabolario3000consultazione.xsd | 138 +++++++++++++++++-
3 files changed, 280 insertions(+), 7 deletions(-)
diff --git a/src/main/resources/wsdl/3000consultazione.xsd b/src/main/resources/wsdl/3000consultazione.xsd
index ce0a94f..69df372 100644
--- a/src/main/resources/wsdl/3000consultazione.xsd
+++ b/src/main/resources/wsdl/3000consultazione.xsd
@@ -117,6 +117,8 @@
+
+
@@ -177,6 +179,54 @@
+
+
+
+
+
+
+ Richiesta per la gestione delle operazioni di richiesta effettuate dai comuni
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Risposta per la gestione delle operazioni di richiesta effettuate dai comuni
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Risposta per la gestione delle operazioni di richiesta effettuate dai comuni 3004Response
+
+
+
+
+
+
+
+
+
+
+
@@ -286,4 +336,54 @@
+
+
+
+
+
+
+
+
+ Richiesta per la gestione delle operazioni di richiesta effettuate dai comuni
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Risposta per la gestione delle operazioni di richiesta effettuate dai comuni
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Risposta per la gestione delle operazioni di richiesta effettuate dai comuni 3008Response
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/main/resources/wsdl/3000serviziConsultazione.wsdl b/src/main/resources/wsdl/3000serviziConsultazione.wsdl
index 854b696..e72ad85 100644
--- a/src/main/resources/wsdl/3000serviziConsultazione.wsdl
+++ b/src/main/resources/wsdl/3000serviziConsultazione.wsdl
@@ -24,6 +24,12 @@
+
+
+
+
+
+
@@ -38,6 +44,13 @@
+
+
+
+
+
+
+
@@ -48,6 +61,10 @@
+
+
+
+
@@ -56,12 +73,14 @@
-
-
+
+
+
+
@@ -95,7 +114,17 @@
-
+
+
+
+
+
+
+
+
+
+
+
@@ -116,8 +145,18 @@
-
-
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/main/resources/wsdl/vocabolario3000consultazione.xsd b/src/main/resources/wsdl/vocabolario3000consultazione.xsd
index 70cbbf5..a66d03c 100644
--- a/src/main/resources/wsdl/vocabolario3000consultazione.xsd
+++ b/src/main/resources/wsdl/vocabolario3000consultazione.xsd
@@ -118,12 +118,13 @@
-
+
+
@@ -144,6 +145,30 @@
+
+
+
+
+ Vale 1, se la richiesta è su tutti i comuni, 0 se solo sul comune di residenza specificao
+
+
+
+
+
+
+ Il Comune nel quale risiede il soggetto o nel quale è iscritto all'AIRE
+
+
+
+
@@ -155,6 +180,18 @@
+
+
+
+
+
+
+
+
+
+
+
+
@@ -234,10 +271,20 @@
+
+
+
+
+
+
+
+
+
-
+
+
@@ -249,6 +296,7 @@
+
@@ -275,6 +323,70 @@
+
+
+
+
+
+
+
+
+
+
+ Il numero assegnato da ANPR alla pratica comunale
+
+
+
+
+ L'identificativo operazione assegnato da ANPR all'evento anagrafico collegato
+
+
+
+
+ L'identificativo operazione assegnato da ANPR all'evento anagrafico collegato
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Codice dell'operazione richiesta (es. 1001,5005)
+
+
+
+
+
+
+
+
+
@@ -332,5 +444,27 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
From b4c8d2106e07ae29e9d5ef85531d8942aed1ddc6 Mon Sep 17 00:00:00 2001
From: "Matteo Franci a.k.a. Fugerit"
Date: Thu, 3 Jul 2025 11:16:28 +0200
Subject: [PATCH 8/9] chore(config): aggiornamento caso di test servizio 3000
---
.gitignore | 1 +
.../{3002_888002_TEST.req => 3002_A1_TEST.req} | 15 ++++++++-------
.../ws/client/ConnessioneTestComuniTest.java | 2 +-
3 files changed, 10 insertions(+), 8 deletions(-)
rename request/3002/{3002_888002_TEST.req => 3002_A1_TEST.req} (55%)
diff --git a/.gitignore b/.gitignore
index c5d0c3b..c443b25 100644
--- a/.gitignore
+++ b/.gitignore
@@ -16,3 +16,4 @@
message_out.xml
tags
.*.sw[op]
+/message_in.xml
diff --git a/request/3002/3002_888002_TEST.req b/request/3002/3002_A1_TEST.req
similarity index 55%
rename from request/3002/3002_888002_TEST.req
rename to request/3002/3002_A1_TEST.req
index e818e76..f43ced3 100644
--- a/request/3002/3002_888002_TEST.req
+++ b/request/3002/3002_A1_TEST.req
@@ -1,20 +1,21 @@
999997
- 888002
- ANPR00
+ 036030
+ ANPR06
3002
- 2017-03-27T19:20:11.543+02:00
+ 2025-07-02T19:20:11.543+02:00
C
TEST
- ROSSI
- MARIO
+ TURING
+ ALAN
1
- 2017-03-27+02:00
- 2
+ 2025-07-03+02:00
+ 1
+ 1
diff --git a/src/test/java/it/sogei/ws/client/ConnessioneTestComuniTest.java b/src/test/java/it/sogei/ws/client/ConnessioneTestComuniTest.java
index ecdc223..1a1dc26 100644
--- a/src/test/java/it/sogei/ws/client/ConnessioneTestComuniTest.java
+++ b/src/test/java/it/sogei/ws/client/ConnessioneTestComuniTest.java
@@ -41,7 +41,7 @@ public void test4_3002OnTest() throws Exception {
WSTypeHandler wsHandler = new WSTypeHandler();
wsHandler.setWSFamily(WSTypeHandler.WS3002);
param.setWsType(wsHandler);
- param.setFileRequest("request/3002/3002_888002_TEST.req");
+ param.setFileRequest("request/3002/3002_A1_TEST.req");
DispatchHandler dispatch = new DispatchHandler(param);
assert(dispatch.execute());
}
From 5f90d5de37678604dc1bfb7e683555be57941137 Mon Sep 17 00:00:00 2001
From: "Matteo Franci a.k.a. Fugerit"
Date: Mon, 20 Oct 2025 17:44:12 +0200
Subject: [PATCH 9/9] chore(config): certificato e keystore per nuovo ssl
wstest.anpr.interno.it
---
keystore/cacerts | Bin 104307 -> 105636 bytes
keystore/wstest.crt | 29 +++++++++++++++++++++++++++++
2 files changed, 29 insertions(+)
create mode 100644 keystore/wstest.crt
diff --git a/keystore/cacerts b/keystore/cacerts
index 216935f80bcaec62c122db2956710d0028eb8d8b..64108e0f96133a0bb08da12136ddfae5a8425007 100644
GIT binary patch
delta 1000
zcmVg!
zRy+M5UW`IJwBvI;l{&Pv?VkGsq{{KG^d#upPE*lP&KmcFLq!z5~KWBV~
z{iiGf@%fzVKvi{%qIV#fn-Js3_g?g^0Q`DzWc@1&kzyue%c@fd|9F0nBIz57g51??L~v9>g4-sidiHuS%-l-+;@=6
zq)^X<)tX;EsB4S
z5{x5KvM*-+<>crEHE{36x3D654d;n)Vc|=eQ-$_I*k2x;S5#eB1Z}ay3Q6mzT@jD3
zGGaa{LQEtHoNo%ri6+5$uTV(euv#1MQE1Etbk52*0|2WPGb$*|d
z)LwV)8pSCXztkH#^pN|nb&<$O=f3w8P`^6#1gWsA0X9(w$W{SXpWv9=Pr3yAw3P
zh?FIlw+u7^%LTW-F9A*jx2-Dy5d^n{LIKMIlh(Bkw@N+%Is~`ZIRRw^w@*d^5K$EN
WBpf^jBZ}r0yYeSBv8>8GmKC(8S=Iso
delta 96
zcmV-m0H6P)xd!vD1`Ph~{_Ow&00IC20AR5Uft0hpnIM<9_c{R)1h=U+0Zs(B-Y@~n
z1-BbV0c8Z26;A;Wx8p(qI0Ux{KLN`Fw}49l5K$EIYpaUpwF^&aCCfu+$3s|6QpE-U
C=p-Qk
diff --git a/keystore/wstest.crt b/keystore/wstest.crt
new file mode 100644
index 0000000..acfd19d
--- /dev/null
+++ b/keystore/wstest.crt
@@ -0,0 +1,29 @@
+-----BEGIN CERTIFICATE-----
+MIIFCjCCAvKgAwIBAgIUHot+7N+TttaexPY/oroHWLk0LLAwDQYJKoZIhvcNAQEL
+BQAwXzEgMB4GA1UEAwwXQ0EgQU5QUiBQb3N0YXppb25pIFN2aWwxDTALBgNVBAsM
+BEFOUFIxHzAdBgNVBAoMFk1pbmlzdGVybyBkZWxsJ0ludGVybm8xCzAJBgNVBAYT
+AklUMB4XDTI1MTAyMDE0MjU0NVoXDTI3MTAyMDE0MjU0NFowgYIxCzAJBgNVBAYT
+AklUMR8wHQYDVQQKDBZNaW5pc3Rlcm8gZGVsbCdJbnRlcm5vMTEwLwYDVQQLDChB
+bmFncmFmZSBOYXppb25hbGUgUG9wb2xhemlvbmUgUmVzaWRlbnRlMR8wHQYDVQQD
+DBZ3c3Rlc3QuYW5wci5pbnRlcm5vLml0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A
+MIIBCgKCAQEAzuEh570LkZbce3USPDQVL1oLhFsvVpDnb1Y7/SBejEI7tOU19m/C
+5ODyv1Vu/5jZHw3Fy2+Q/Fol2qH7Hz9LfCl7soyDeTcQyLabbCefK2p7FzyVksyA
+/LOVBwIPOg+rrX0Sxye19zZ+nqecloSNMluVfZz3LwSFTDiWUefoAsBKeqFUHqk8
+lwwQrvZSOSj363MWuf5zSeViJPW3/v8/EHus0MouGw6VQABfyqQWrOw/Z3yG/acs
+AvH5nOtAVXWLoncgmZsQ48j3XvStAPx6cGT9KwqRYiZjy6pTCP94fo8i6TIpxOuO
+9eUJULNvMjYnJO9fo97EyOGa5xfDh6cTJwIDAQABo4GZMIGWMAwGA1UdEwEB/wQC
+MAAwHwYDVR0jBBgwFoAUdPQ8D7ZnXnXdKLdY7vAJUbQbhuswIQYDVR0RBBowGIIW
+d3N0ZXN0LmFucHIuaW50ZXJuby5pdDATBgNVHSUEDDAKBggrBgEFBQcDATAdBgNV
+HQ4EFgQUGr2brof8wJsDGffdt0Q7NhpmT9swDgYDVR0PAQH/BAQDAgWgMA0GCSqG
+SIb3DQEBCwUAA4ICAQB7alkEi03d88AKqlEWE+FGPwCwWhYrQDAwPUJan8zxg2Dj
+51JPEbPydGHdewNS6B+55t7vgbTgatOIRTVVjzJmQxTeLDYJSeJkC/UnMhdRwXft
+RYOn6uT7aopZJDBZh4E63HeQy6RQz4TWQqLC4Sp9iZjeseovYs/EYWns5EngovAV
+1IjlW1vzUAIBywigIOkH/vPId7LP91BTh921tX+ry8nyl3Z+KYCGW1mbWXJZSZm3
+hrZK6mQ8J7eXlc5v0NYGNgczydooORDW/qa7lcMimUr6m/4i/CGmVG7HbfARj+cN
+13KObI+qx7sK4LXTmBit0t7kWn31iY7IPggtio8SjCNSsi9m/eXk6AU1cO/Ft7Ai
+eg3niXBh4UuZU4X2QthfHpxXVF1XBG2xwwpJ66hdEY+vMmI+KUJMJAmcbwrJiSbB
+ea9QSN+wW0cpkLj8M3WUyICn+VN7Tw+eyDY7KQ/N1IS+tir14krmolmUz3lycV8K
+fl017oYbiR5zDDg1JNHLC8zFiYeUPiT2qv15xlocGFobTk7fUtfHsLfOtakyZ7wr
+MYOQ/NkkTHyAJF+okHKguFmfFuL/J9YH66lfzyuaPiGPTwHK/zjOCXV+n5PUXnfu
+GsUpGL/UGzr0kPuvdZHISOe+9xRQvzr0BKmwqwE2UQfIVgFWn+CY20+6+7cqgw==
+-----END CERTIFICATE-----