Resolving project problems1
authorVásáry Dániel <vasary@elgekko.net>
Wed, 6 Mar 2024 15:22:20 +0000 (16:22 +0100)
committerVásáry Dániel <vasary@elgekko.net>
Wed, 6 Mar 2024 15:22:20 +0000 (16:22 +0100)
16 files changed:
KB.md
deploy/start.sh
sly-crm-app/pom.xml
sly-crm-app/src/main/resources/keystore/keystore.jks [new file with mode: 0644]
sly-crm-app/src/main/resources/keystore/lis-keystore.jks
sly-crm-app/src/test/java/hu/user/lis/CerttIT.java [new file with mode: 0644]
sly-crm-app/src/test/java/hu/user/lis/workflow/TaxOfficeInvoiceApiIT.java
sly-crm-app/src/test/resources/application-test.yaml
sly-crm-service/pom.xml
sly-crm-service/src/main/java/hu/user/lis/service/nav/RestTemplateSSLConfiguration.java
sly-crm-service/src/main/java/hu/user/lis/service/nav/TaxOfficeInvoiceService.java
sly-crm-service/src/main/resources/NAV/schemas/catalog.xml [new file with mode: 0644]
sly-crm-service/src/main/resources/NAV/schemas/common.xsd
sly-crm-service/src/main/resources/NAV/schemas/invoiceAnnulment.xsd
sly-crm-service/src/main/resources/NAV/schemas/invoiceApi.xsd
sly-crm-ui/src/main/resources/web/index.zul

diff --git a/KB.md b/KB.md
index 34041da571a76b67ed60b5bbe5dd0010a0991cfc..03b0fe70e1ae73c1ada1e867a69eb69fb2b097b2 100644 (file)
--- a/KB.md
+++ b/KB.md
@@ -123,3 +123,7 @@ https://github.com/zkoss-demo/zk-ringdisplay/tree/master/ringdisplay
 ##### org.webjars
 
 org.webjars
+
+##### DEBUG
+
+-Djavax.net.debug=ssl:handshake
\ No newline at end of file
index a78c752e6bd79df8438ef57296021014ea3b1a6e..fbb7815937ae50b8aabcd7c697718cc21de818b4 100644 (file)
@@ -1,2 +1,3 @@
 #!/bin/bash
 java -DSLY-CRM-APPLICATION -Dspring.profiles.active=prod -jar /opt/slycrm/sly-crm-app.jar
+# -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=8000
\ No newline at end of file
index 5eb6979e09661c9d0e8cb710b618bb047ce5a8a6..1bf83c9e1e7687fd321f1b1a2b750409e3af9264 100644 (file)
     <!--    <packaging>war</packaging>-->
     <build>
         <plugins>
+            <!-- -->
             <plugin>
-                <groupId>org.codehaus.mojo</groupId>
-                <artifactId>exec-maven-plugin</artifactId>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-resources-plugin</artifactId>
                 <version>3.1.0</version>
-                <configuration>
-                    <mainClass>hu.user.lis.build.Exec</mainClass>
-                    <arguments>
-                        <argument>First</argument>
-                        <argument>Second</argument>
-                    </arguments>
-                </configuration>
             </plugin>
             <plugin>
                 <groupId>org.springframework.boot</groupId>
                     </execution>
                 </executions>
             </plugin>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-war-plugin</artifactId>
-                <configuration>
-                    <archive>
-                        <manifestEntries>
-                            <mode>development</mode>
-                            <url>${project.url}</url>
-                            <key>value</key>
-                        </manifestEntries>
-                    </archive>
-                </configuration>
-            </plugin>
         </plugins>
     </build>
     <dependencies>
diff --git a/sly-crm-app/src/main/resources/keystore/keystore.jks b/sly-crm-app/src/main/resources/keystore/keystore.jks
new file mode 100644 (file)
index 0000000..b879cae
Binary files /dev/null and b/sly-crm-app/src/main/resources/keystore/keystore.jks differ
index d53b7436a4d773ffee12a87a94adcd0bd418b073..45aeaa390dcafe2b0d875bf048facc30173ccb98 100644 (file)
Binary files a/sly-crm-app/src/main/resources/keystore/lis-keystore.jks and b/sly-crm-app/src/main/resources/keystore/lis-keystore.jks differ
diff --git a/sly-crm-app/src/test/java/hu/user/lis/CerttIT.java b/sly-crm-app/src/test/java/hu/user/lis/CerttIT.java
new file mode 100644 (file)
index 0000000..6301071
--- /dev/null
@@ -0,0 +1,87 @@
+
+/*
+ * Copyright (c) $today.year-$today.month-24.
+ * By elGekko
+ */
+
+package hu.user.lis;
+
+import lombok.extern.log4j.Log4j2;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.context.annotation.ComponentScan;
+import org.springframework.core.io.Resource;
+import org.springframework.test.context.ActiveProfiles;
+import org.springframework.test.context.junit4.SpringRunner;
+
+import java.security.KeyStore;
+import java.security.KeyStoreException;
+import java.security.cert.Certificate;
+import java.security.cert.X509Certificate;
+import java.util.Enumeration;
+
+import static org.junit.Assert.assertNotNull;
+
+
+@Log4j2
+@SpringBootTest
+@RunWith(SpringRunner.class)
+@ActiveProfiles("test")
+@ComponentScan("hu.user.lis")
+public class CerttIT {
+    @Value("${service.nav.trust.store}")
+    private Resource trustStore;
+
+    @Value("${service.nav.trust.store.password}")
+    private String trustStorePassword;
+
+    @Test
+    public void testCert() throws Exception {
+        KeyStore keyStore = KeyStore.getInstance("JKS");
+        keyStore.load(trustStore.getInputStream(), trustStorePassword.toCharArray());
+        X509Certificate endEntityCertificate = (X509Certificate) keyStore.getCertificate("nav");
+        X509Certificate rootCertificate = getRootCertificate(endEntityCertificate, keyStore);
+        assertNotNull(rootCertificate);
+    }
+
+    static X509Certificate findIssuerCertificate(X509Certificate certificate, KeyStore trustStore)
+            throws KeyStoreException {
+        Enumeration<String> aliases = trustStore.aliases();
+        while (aliases.hasMoreElements()) {
+            String alias = aliases.nextElement();
+            Certificate cert = trustStore.getCertificate(alias);
+            if (cert instanceof X509Certificate) {
+                X509Certificate x509Cert = (X509Certificate) cert;
+                if (x509Cert.getSubjectX500Principal().equals(certificate.getIssuerX500Principal())) {
+                    return x509Cert;
+                }
+            }
+        }
+        return null;
+    }
+
+    public static X509Certificate getRootCertificate(X509Certificate endEntityCertificate, KeyStore trustStore)
+            throws Exception {
+        X509Certificate issuerCertificate = findIssuerCertificate(endEntityCertificate, trustStore);
+        if (issuerCertificate != null) {
+            if (isRoot(issuerCertificate)) {
+                return issuerCertificate;
+            } else {
+                return getRootCertificate(issuerCertificate, trustStore);
+            }
+        }
+        return null;
+    }
+
+    private static boolean isRoot(X509Certificate certificate) {
+        try {
+            certificate.verify(certificate.getPublicKey());
+            return certificate.getKeyUsage() != null && certificate.getKeyUsage()[5];
+        } catch (Exception e) {
+            return false;
+        }
+    }
+
+}
index 06d874206d7a2165a5c1655f53973c5eb83c665c..4e7566b8951d0b352701552cb73e6406e1b7a23c 100644 (file)
@@ -52,7 +52,7 @@ import java.util.concurrent.TimeUnit;
 @Log4j2
 @SpringBootTest
 @RunWith(SpringRunner.class)
-@ActiveProfiles("dev")
+@ActiveProfiles("test")
 @ComponentScan("hu.user.lis")
 //@TestPropertySource("classpath:application-test.yaml")
 public class TaxOfficeInvoiceApiIT {
index f395cf1e5197ef28a5235a7d850e142d002d7733..a6ebc3915ee863e828ce3ba93b141a58ec5d19b0 100644 (file)
@@ -20,12 +20,9 @@ spring:
       enabled: always
   datasource:
     type: com.zaxxer.hikari.HikariDataSource
-    #    url: jdbc:db2://localhost:50000/slycrm
-    #    username: db2admin
-    #    password: password
-    url: jdbc:db2://db2.in.useribm.hu:50000/slycrm
+    url: jdbc:db2://localhost:50000/slycrm
     username: db2admin
-    password: Passw@rd01
+    password: password
 camunda.bpm:
   generic-properties.properties:
     telemetry-reporter-activate: false
@@ -80,7 +77,6 @@ application:
       proposal-template-docx: "/Users/marcellszabo/Downloads/SALES/SABLONOK/USER_Proposal_v1.docx"
       tig-template-docx: "/Users/marcellszabo/Downloads/SALES/SABLONOK/TIG_Sablon_v1.docx"
       calculation-xlsx: "/Users/marcellszabo/Downloads/SALES/SABLONOK/USER_kalkuláció_v1.xlsx"
-
 service:
   nav:
     trust:
index 42386ab8fd08542e064206f51b54177f209cac95..6f84d533b35e2530b34d85a859ecb9025be5ec77 100644 (file)
@@ -23,6 +23,7 @@
                     </execution>
                 </executions>
                 <configuration>
+                    <catalog>src/main/resources/NAV/schemas/catalog.xml</catalog>
                     <sources>
                         <source>src/main/resources/NAV/schemas/</source>
                     </sources>
index 2a13a8eda2ff79599fc9d6cb7c193553ddba9cf6..1f3eb91c107b69820784edb1d387a335fc467a87 100644 (file)
@@ -1,16 +1,13 @@
 package hu.user.lis.service.nav;
 
-import org.apache.http.conn.ssl.NoopHostnameVerifier;
 import org.apache.http.conn.ssl.SSLConnectionSocketFactory;
 import org.apache.http.impl.client.CloseableHttpClient;
 import org.apache.http.impl.client.HttpClients;
 import org.apache.http.ssl.SSLContextBuilder;
-import org.apache.http.ssl.TrustStrategy;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
 import org.springframework.core.io.Resource;
-import org.springframework.http.client.ClientHttpRequestFactory;
 import org.springframework.http.client.HttpComponentsClientHttpRequestFactory;
 import org.springframework.web.client.RestTemplate;
 
@@ -40,20 +37,10 @@ public class RestTemplateSSLConfiguration {
         SSLConnectionSocketFactory sslConFactory = new SSLConnectionSocketFactory(sslContext);
 
         CloseableHttpClient httpClient = HttpClients.custom().setSSLSocketFactory(sslConFactory).build();
-        ClientHttpRequestFactory requestFactory = new HttpComponentsClientHttpRequestFactory(httpClient);
+        HttpComponentsClientHttpRequestFactory requestFactory = new HttpComponentsClientHttpRequestFactory(httpClient);
+        //requestFactory.setReadTimeout(15000);
 
         return new RestTemplate(requestFactory);
     }
 
-    @Bean
-    public RestTemplate restTemplate2() throws KeyManagementException, NoSuchAlgorithmException, KeyStoreException,
-            CertificateException, IOException {
-        TrustStrategy acceptingTrustStrategy = (x509Certificates, s) -> true;
-        SSLContext sslContext = org.apache.http.ssl.SSLContexts.custom().loadTrustMaterial(null, acceptingTrustStrategy).build();
-        SSLConnectionSocketFactory csf = new SSLConnectionSocketFactory(sslContext, new NoopHostnameVerifier());
-        CloseableHttpClient httpClient = HttpClients.custom().setSSLSocketFactory(csf).build();
-        HttpComponentsClientHttpRequestFactory requestFactory = new HttpComponentsClientHttpRequestFactory();
-        requestFactory.setHttpClient(httpClient);
-        return new RestTemplate(requestFactory);
-    }
 }
\ No newline at end of file
index 8023f781f5e35876c7b282a7fcf956c6daab0785..e9e5c7b80ad51ea5121e05bb396d7351273a65b2 100644 (file)
@@ -1,6 +1,12 @@
 package hu.user.lis.service.nav;
 
-import hu.gov.nav.schemas.osa._3_0.api.*;
+import hu.gov.nav.schemas.osa._3_0.api.InvoiceDataResultType;
+import hu.gov.nav.schemas.osa._3_0.api.InvoiceDirectionType;
+import hu.gov.nav.schemas.osa._3_0.api.InvoiceNumberQueryType;
+import hu.gov.nav.schemas.osa._3_0.api.QueryInvoiceDataRequest;
+import hu.gov.nav.schemas.osa._3_0.api.QueryInvoiceDataResponse;
+import hu.gov.nav.schemas.osa._3_0.api.QueryInvoiceDigestRequest;
+import hu.gov.nav.schemas.osa._3_0.api.QueryInvoiceDigestResponse;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -49,7 +55,7 @@ public class TaxOfficeInvoiceService {
 
     public String queryInboundInvoiceDataAsString(String invoiceNumber, String supplierTaxNumber) throws Exception {
         InvoiceNumberQueryType query = new InvoiceNumberQueryType();
-        //query.setInvoiceDirection(InvoiceDirectionType.INBOUND);
+        query.setInvoiceDirection(InvoiceDirectionType.INBOUND);
         query.setInvoiceNumber(invoiceNumber);
         query.setSupplierTaxNumber(supplierTaxNumber);
 
diff --git a/sly-crm-service/src/main/resources/NAV/schemas/catalog.xml b/sly-crm-service/src/main/resources/NAV/schemas/catalog.xml
new file mode 100644 (file)
index 0000000..3886fa4
--- /dev/null
@@ -0,0 +1,19 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<catalog xmlns='urn:oasis:names:tc:entity:xmlns:xml:catalog' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='urn:oasis:names:tc:entity:xmlns:xml:catalog Catalog.xsd' prefer="public">
+<!--reference as name & filepath-->
+       <uri name="http://schemas.nav.gov.hu/NTCA/1.0/common" uri="./files/NTCA/Common/common.xsd"/>
+       <uri name="http://schemas.nav.gov.hu/OSA/3.0/base" uri="./files/OSA/Invoice/invoiceBase.xsd"/>
+<!--reference as name & URI-->
+       <!--<uri name="http://schemas.nav.gov.hu/NTCA/1.0/common" uri="https://raw.githubusercontent.com/nav-gov-hu/Common/Common-1.0.RC3/src/schemas/nav/gov/hu/NTCA/common.xsd"/>-->
+</catalog>
+
+
+<!--<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog">-->
+
+<!--reference as publicId & filepath-->
+       <!--<public publicId="http://schemas.nav.gov.hu/NTCA/1.0/common" uri="./files/NTCA/Common/common.xsd"/>-->
+       <!--<public publicId="http://schemas.nav.gov.hu/OSA/3.0/base" uri="./files/OSA/Invoice/invoiceBase.xsd"/>-->
+<!--reference as publicId & URI-->
+       <!--<public publicId="http://schemas.nav.gov.hu/NTCA/1.0/common" uri="https://raw.githubusercontent.com/nav-gov-hu/Common/Common-1.0.RC3/src/schemas/nav/gov/hu/NTCA/common.xsd"/>-->
+<!--</catalog>-->
\ No newline at end of file
index bc76bf2a166de9bfde2c18fe1dfa1e80c0912479..65989689e82eb8d1731dfdff4d6ddf64309d68a5 100644 (file)
@@ -3,7 +3,7 @@
 # Project: NAV NTCA Common XML séma
 # Author: NAV Informatikai Intézet
 
-# Version: v1.0 RC4 2023/02/10
+# Version: v1.0 2020/11/23
 -->
 <xs:schema xmlns="http://schemas.nav.gov.hu/NTCA/1.0/common" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://schemas.nav.gov.hu/NTCA/1.0/common" elementFormDefault="qualified" attributeFormDefault="unqualified">
        <!--Atomi típusok / Atomic types-->
                        <xs:pattern value="\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d{1,3})?Z"/>
                </xs:restriction>
        </xs:simpleType>
-       <xs:simpleType name="GenericUnsignedIntegerType">
-               <xs:annotation>
-                       <xs:documentation xml:lang="hu">Általános egész szám típus</xs:documentation>
-                       <xs:documentation xml:lang="en">Generic unsigned integer type</xs:documentation>
-               </xs:annotation>
-               <xs:restriction base="xs:integer">
-                       <xs:minInclusive value="1"/>
-               </xs:restriction>
-       </xs:simpleType>
        <xs:simpleType name="SHA256Type">
                <xs:annotation>
                        <xs:documentation xml:lang="hu">SHA256 kód megadására szolgáló típus</xs:documentation>
                        <xs:pattern value="[A-Z0-9][A-Z0-9\s\-]{1,8}[A-Z0-9]"/>
                </xs:restriction>
        </xs:simpleType>
-       <xs:simpleType name="SwiftCodeType">
-               <xs:annotation>
-                       <xs:documentation xml:lang="hu">SWIFT kódot leíró típus</xs:documentation>
-                       <xs:documentation xml:lang="en">SWIFT code type</xs:documentation>
-               </xs:annotation>
-               <xs:restriction base="xs:string">
-                       <xs:minLength value="8"/>
-                       <xs:maxLength value="11"/>
-                       <xs:pattern value="[A-Z]{6}[A-Z2-9][A-NP-Z0-9]([A-Z0-9]{3}){0,1}"/>
-               </xs:restriction>
-       </xs:simpleType>
-       <xs:simpleType name="TaxIdentificationNumberType">
-               <xs:annotation>
-                       <xs:documentation xml:lang="hu">Adóazonosító jel típus</xs:documentation>
-                       <xs:documentation xml:lang="en">Tax identification number type</xs:documentation>
-               </xs:annotation>
-               <xs:restriction base="xs:integer">
-                       <xs:totalDigits value="10"/>
-                       <xs:pattern value="[0-9]{10}"/>
-               </xs:restriction>
-       </xs:simpleType>
        <xs:simpleType name="TaxpayerIdType">
                <xs:annotation>
                        <xs:documentation xml:lang="hu">Az adószám nyolc jegyű törzsszám része</xs:documentation>
                        </xs:enumeration>
                </xs:restriction>
        </xs:simpleType>
-       <xs:simpleType name="LocalizationType">
-               <xs:annotation>
-                       <xs:documentation xml:lang="hu">Lokalizációt jelölő típus</xs:documentation>
-                       <xs:documentation xml:lang="en">Localization type</xs:documentation>
-               </xs:annotation>
-               <xs:restriction base="xs:string">
-                       <xs:enumeration value="HU">
-                               <xs:annotation>
-                                       <xs:documentation xml:lang="hu">Magyar</xs:documentation>
-                                       <xs:documentation xml:lang="en">Hungarian</xs:documentation>
-                               </xs:annotation>
-                       </xs:enumeration>
-                       <xs:enumeration value="EN">
-                               <xs:annotation>
-                                       <xs:documentation xml:lang="hu">Angol</xs:documentation>
-                                       <xs:documentation xml:lang="en">English</xs:documentation>
-                               </xs:annotation>
-                       </xs:enumeration>
-                       <xs:enumeration value="DE">
-                               <xs:annotation>
-                                       <xs:documentation xml:lang="hu">Német</xs:documentation>
-                                       <xs:documentation xml:lang="en">German</xs:documentation>
-                               </xs:annotation>
-                       </xs:enumeration>
-               </xs:restriction>
-       </xs:simpleType>
        <xs:simpleType name="LoginType">
                <xs:annotation>
                        <xs:documentation xml:lang="hu">Felhasználónév típus</xs:documentation>
index cf60de5921d8742721a01a48815686af0bae962d..791fa1ecd550d4c55b59cdabb90f65e5c7018605 100644 (file)
 
 # Version: v3.0 2020/07/31
 -->
-<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:common="http://schemas.nav.gov.hu/NTCA/1.0/common"
-           xmlns:base="http://schemas.nav.gov.hu/OSA/3.0/base" xmlns="http://schemas.nav.gov.hu/OSA/3.0/annul"
-           targetNamespace="http://schemas.nav.gov.hu/OSA/3.0/annul" elementFormDefault="qualified"
-           attributeFormDefault="unqualified">
-    <xs:import namespace="http://schemas.nav.gov.hu/NTCA/1.0/common"/>
-    <xs:import namespace="http://schemas.nav.gov.hu/OSA/3.0/base" schemaLocation="invoiceBase.xsd"/>
-    <xs:simpleType name="AnnulmentCodeType">
-        <xs:annotation>
-            <xs:documentation xml:lang="hu">Technikai érvénytelenítés kód típusa</xs:documentation>
-            <xs:documentation xml:lang="en">Technical annulment code type</xs:documentation>
-        </xs:annotation>
-        <xs:restriction base="common:AtomicStringType32">
-            <xs:enumeration value="ERRATIC_DATA">
-                <xs:annotation>
-                    <xs:documentation xml:lang="hu">Hibás adattartalom miatti technikai érvénytelenítés
-                    </xs:documentation>
-                    <xs:documentation xml:lang="en">Technical annulment due to erratic data content</xs:documentation>
-                </xs:annotation>
-            </xs:enumeration>
-            <xs:enumeration value="ERRATIC_INVOICE_NUMBER">
-                <xs:annotation>
-                    <xs:documentation xml:lang="hu">Hibás számlaszám miatti technikai érvénytelenítés</xs:documentation>
-                    <xs:documentation xml:lang="en">Technical annulment due to erratic invoice number</xs:documentation>
-                </xs:annotation>
-            </xs:enumeration>
-            <xs:enumeration value="ERRATIC_INVOICE_ISSUE_DATE">
-                <xs:annotation>
-                    <xs:documentation xml:lang="hu">Hibás számla kiállítási dátum miatti technikai érvénytelenítés
-                    </xs:documentation>
-                    <xs:documentation xml:lang="en">Technical annulment due to erratic invoice issue date
-                    </xs:documentation>
-                </xs:annotation>
-            </xs:enumeration>
-            <xs:enumeration value="ERRATIC_ELECTRONIC_HASH_VALUE">
-                <xs:annotation>
-                    <xs:documentation xml:lang="hu">Hibás elektronikus számla hash érték miatti technikai
-                        érvénytelenítés
-                    </xs:documentation>
-                    <xs:documentation xml:lang="en">Technical annulment due to erratic electronic invoice hash value
-                    </xs:documentation>
-                </xs:annotation>
-            </xs:enumeration>
-        </xs:restriction>
-    </xs:simpleType>
-    <xs:complexType name="InvoiceAnnulmentType">
-        <xs:annotation>
-            <xs:documentation xml:lang="hu">Korábbi adatszolgáltatás technikai érvénytelenítésének adatai
-            </xs:documentation>
-            <xs:documentation xml:lang="en">Data of technical annulment concerning previous data exchange
-            </xs:documentation>
-        </xs:annotation>
-        <xs:sequence>
-            <xs:element name="annulmentReference" type="common:SimpleText50NotBlankType">
-                <xs:annotation>
-                    <xs:documentation xml:lang="hu">A technikai érvénytelenítéssel érintett számla vagy módosító okirat
-                        sorszáma
-                    </xs:documentation>
-                    <xs:documentation xml:lang="en">Sequential number of the invoice or modification document to be
-                        annuled
-                    </xs:documentation>
-                </xs:annotation>
-            </xs:element>
-            <xs:element name="annulmentTimestamp" type="base:InvoiceTimestampType">
-                <xs:annotation>
-                    <xs:documentation xml:lang="hu">A technikai érvénytelenítés időbélyege a forrásrendszerben UTC idő
-                        szerint
-                    </xs:documentation>
-                    <xs:documentation xml:lang="en">Timestamp of the technical annulment in UTC time</xs:documentation>
-                </xs:annotation>
-            </xs:element>
-            <xs:element name="annulmentCode" type="AnnulmentCodeType">
-                <xs:annotation>
-                    <xs:documentation xml:lang="hu">A technikai érvénytelenítés kódja</xs:documentation>
-                    <xs:documentation xml:lang="en">Technical annulment code</xs:documentation>
-                </xs:annotation>
-            </xs:element>
-            <xs:element name="annulmentReason" type="common:SimpleText1024NotBlankType">
-                <xs:annotation>
-                    <xs:documentation xml:lang="hu">A technikai érvénytelenítés oka</xs:documentation>
-                    <xs:documentation xml:lang="en">Technical annulment reason</xs:documentation>
-                </xs:annotation>
-            </xs:element>
-        </xs:sequence>
-    </xs:complexType>
-    <xs:element name="InvoiceAnnulment">
-        <xs:annotation>
-            <xs:documentation xml:lang="hu">XML root element, a technikai érvénytelenítés adatait leíró típus, amelyet
-                BASE64 kódoltan tartalmaz az invoiceApi sémaleíró invoiceAnnulment elementje
-            </xs:documentation>
-            <xs:documentation xml:lang="en">XML root element, technical annulment data type in BASE64 encoding,
-                equivalent with the invoiceApi schema definition's invoiceAnnulment element
-            </xs:documentation>
-        </xs:annotation>
-        <xs:complexType>
-            <xs:complexContent>
-                <xs:extension base="InvoiceAnnulmentType"/>
-            </xs:complexContent>
-        </xs:complexType>
-    </xs:element>
+<xs:schema xmlns="http://schemas.nav.gov.hu/OSA/3.0/annul" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:common="http://schemas.nav.gov.hu/NTCA/1.0/common" xmlns:base="http://schemas.nav.gov.hu/OSA/3.0/base" targetNamespace="http://schemas.nav.gov.hu/OSA/3.0/annul" elementFormDefault="qualified" attributeFormDefault="unqualified">
+       <xs:import namespace="http://schemas.nav.gov.hu/NTCA/1.0/common"/>
+       <xs:import namespace="http://schemas.nav.gov.hu/OSA/3.0/base"/>
+       <xs:simpleType name="AnnulmentCodeType">
+               <xs:annotation>
+                       <xs:documentation xml:lang="hu">Technikai érvénytelenítés kód típusa</xs:documentation>
+                       <xs:documentation xml:lang="en">Technical annulment code type</xs:documentation>
+               </xs:annotation>
+               <xs:restriction base="common:AtomicStringType32">
+                       <xs:enumeration value="ERRATIC_DATA">
+                               <xs:annotation>
+                                       <xs:documentation xml:lang="hu">Hibás adattartalom miatti technikai érvénytelenítés</xs:documentation>
+                                       <xs:documentation xml:lang="en">Technical annulment due to erratic data content</xs:documentation>
+                               </xs:annotation>
+                       </xs:enumeration>
+                       <xs:enumeration value="ERRATIC_INVOICE_NUMBER">
+                               <xs:annotation>
+                                       <xs:documentation xml:lang="hu">Hibás számlaszám miatti technikai érvénytelenítés</xs:documentation>
+                                       <xs:documentation xml:lang="en">Technical annulment due to erratic invoice number</xs:documentation>
+                               </xs:annotation>
+                       </xs:enumeration>
+                       <xs:enumeration value="ERRATIC_INVOICE_ISSUE_DATE">
+                               <xs:annotation>
+                                       <xs:documentation xml:lang="hu">Hibás számla kiállítási dátum miatti technikai érvénytelenítés</xs:documentation>
+                                       <xs:documentation xml:lang="en">Technical annulment due to erratic invoice issue date</xs:documentation>
+                               </xs:annotation>
+                       </xs:enumeration>
+                       <xs:enumeration value="ERRATIC_ELECTRONIC_HASH_VALUE">
+                               <xs:annotation>
+                                       <xs:documentation xml:lang="hu">Hibás elektronikus számla hash érték miatti technikai érvénytelenítés</xs:documentation>
+                                       <xs:documentation xml:lang="en">Technical annulment due to erratic electronic invoice hash value</xs:documentation>
+                               </xs:annotation>        
+                       </xs:enumeration>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:complexType name="InvoiceAnnulmentType">
+               <xs:annotation>
+                       <xs:documentation xml:lang="hu">Korábbi adatszolgáltatás technikai érvénytelenítésének adatai</xs:documentation>
+                       <xs:documentation xml:lang="en">Data of technical annulment concerning previous data exchange</xs:documentation>
+               </xs:annotation>
+               <xs:sequence>
+                       <xs:element name="annulmentReference" type="common:SimpleText50NotBlankType">
+                               <xs:annotation>
+                                       <xs:documentation xml:lang="hu">A technikai érvénytelenítéssel érintett számla vagy módosító okirat sorszáma</xs:documentation>
+                                       <xs:documentation xml:lang="en">Sequential number of the invoice or modification document to be annuled</xs:documentation>
+                               </xs:annotation>
+                       </xs:element>
+                       <xs:element name="annulmentTimestamp" type="base:InvoiceTimestampType">
+                               <xs:annotation>
+                                       <xs:documentation xml:lang="hu">A technikai érvénytelenítés időbélyege a forrásrendszerben UTC idő szerint</xs:documentation>
+                                       <xs:documentation xml:lang="en">Timestamp of the technical annulment in UTC time</xs:documentation>
+                               </xs:annotation>
+                       </xs:element>
+                       <xs:element name="annulmentCode" type="AnnulmentCodeType">
+                               <xs:annotation>
+                                       <xs:documentation xml:lang="hu">A technikai érvénytelenítés kódja</xs:documentation>
+                                       <xs:documentation xml:lang="en">Technical annulment code</xs:documentation>
+                               </xs:annotation>
+                       </xs:element>
+                       <xs:element name="annulmentReason" type="common:SimpleText1024NotBlankType">
+                               <xs:annotation>
+                                       <xs:documentation xml:lang="hu">A technikai érvénytelenítés oka</xs:documentation>
+                                       <xs:documentation xml:lang="en">Technical annulment reason</xs:documentation>
+                               </xs:annotation>
+                       </xs:element>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:element name="InvoiceAnnulment">
+               <xs:annotation>
+                       <xs:documentation xml:lang="hu">XML root element, a technikai érvénytelenítés adatait leíró típus, amelyet BASE64 kódoltan tartalmaz az invoiceApi sémaleíró invoiceAnnulment elementje</xs:documentation>
+                       <xs:documentation xml:lang="en">XML root element, technical annulment data type in BASE64 encoding, equivalent with the invoiceApi schema definition's invoiceAnnulment element</xs:documentation>
+               </xs:annotation>
+               <xs:complexType>
+                       <xs:complexContent>
+                               <xs:extension base="InvoiceAnnulmentType"/>
+                       </xs:complexContent>
+               </xs:complexType>
+       </xs:element>
 </xs:schema>
index 53d120911e559c78fe9166306aeefd6e946ca613..78a6b58642dbea6404e02324f975890246436719 100644 (file)
                                        <xs:element name="requestStatus" type="RequestStatusType" minOccurs="0">
                                                <xs:annotation>
                                                        <xs:documentation xml:lang="hu">A kérés feldolgozási státusza</xs:documentation>
-                                                       <xs:documentation xml:lang="en">Processing status of the request</xs:documentation>
+                            <xs:documentation xml:lang="en">Processing status of the request</xs:documentation>
                                                </xs:annotation>
                                        </xs:element>
                                </xs:sequence>
index d3f3abd6485cf70f9dea49625f54c794db6290d9..f4792060e518aa5e6fcff65a34453f437d819f36 100644 (file)
                             <menuseparator/>
                             <!--                                    <menuitem iconSclass="z-icon-share-alt" label="Camunda"-->
                             <!--                                              onClick="@command(vm.selectPage('/camunda'))"/>-->
-                            <!--                            <menuitem iconSclass="z-icon-times-circle-o" label="Folyamatok leállítása"-->
-                            <!--                                      onClick="@command('onCancelProcesses')"/>-->
                             <menuitem iconSclass="z-icon-times-circle-o" label="Import folyamat leállítása"
                                       onClick="@command('onCancelImportProcesses')"/>
+                            <menuitem iconSclass="z-icon-times-circle-o" label="Minden folyamat leállítása"
+                                      onClick="@command('onCancelProcesses')"/>
                         </menupopup>
                     </menu>
                 </menubar>