Próbował już ktoś tworzyć aplikacje do wysyłania JPK zgodnie ze specyfikacją MF? Przebrnąć przez te wszystkie kompresje, kodowanie, generowanie xml, podpis elektroniczny i podłączenie się do bramki?
Domyślam się, że jeśli od rana na produkcyjnym mam status 120, to xml jest poprawnie spakowany jako zip i nie będzie już statusu 410 ? Pytam bo przed weekendem miałem 410, poprawiłem algorytm i teraz nie wiem czy to, że ciągle jest 120 to wyklucza już 410 :D
@Gibonowski odnosnie szyfrowania wygenerowanego klucza AES. Domyślam się, że szyfrujesz tylko PrivateKey, konwertujesz go na Base64 i umieszczasz w xml InitUpload. A co z IV z klucza AES ? Też go szyfrujesz czy tylko konwertujesz do Base64 i umieszczasz w InitUpload ?
@Gibonowski też robię wszystko w pamięci a jednak coś nie pasuje. Z JPKVAT też otrzymujesz UPO ? bo ja obecnie testuję tylko JPKVAT a widzę, że podesłałeś JPK_FA.
Napisałem do JPK i ku mojemu zdziwieniu szybko odpisali :D
hipek1001: Od ponad tygodnia po wysłaniu plików JPK otrzymuję status 410 - czy jest on na pewno związany z dekompresją zip ? Lokalnie na komputerze potrafię rozpakować plik xml. Wiem, ze inni programiści mają ten sam problem.
jpk: Jakiego klucza szyfrującego używacie?
hipek1001: Rozumiem, że pod błędem 410 kryje się również odszyfrowanie ? Czy to znaczy, że plik zostałby prawidłowo rozpakowany ?
W końcu po 4h dostałem UPO :D @Gibonowski wielkie dzięki za pomoc. Faktycznie problem był z zip'em. Wcześniej używałem zewnętrznej biblioteki ZipDotNet, a jak wykorzystałem frameworkowy ZipArchive to przeszło.
@kemot13 Najpierw generujesz klucz AES 256, później go szyfrujesz .pem a dopiero na końcu konwertujesz go do Base64. Szyfrowanie miałem podobnie jak @Gibonowski
.pem i .crt zawierają w sobie te same dane tylko z innym rozszerzeniem i nie uzywa się ich do podpisywania dokumentu. Do podpisania dokumentu ściągnij sobie jakiś testowy certyfikat który ma klucz publiczny i prywatny. Tyle, że aby wysłać plik na oficjalną bramkę produkcyjną musisz mieć podpisany dokument certyfikatem kwalifikowanym (kupionym), ale za to możesz wysyłac na testową bramkę
Na windows 8 wszystko działa, w tle są pobierane dodatkowe xsd przez proxy. Z kolei na windows server 2008 nie potrafi już pobierać dodatkowych xsd przez proxy. Bez proxy potrafi - jednak u klienta cały ruch
Typ błędu: System.Xml.Schema.XmlSchemaValidationException
StackTrace: w System.Xml.Schema.XmlSchemaValidator.SendValidationEvent(XmlSchemaValidationException e, XmlSeverityType severity) w System.Xml.Schema.XmlSchemaValidator.SendValidationEvent(XmlSchemaException e) w System.Xml.Schema.XmlSchemaValidator.RecompileSchemaSet() w System.Xml.Schema.XmlSchemaValidator.Init() w System.Xml.Schema.XmlSchemaValidator..ctor(XmlNameTable nameTable, XmlSchemaSet schemas, IXmlNamespaceResolver namespaceResolver, XmlSchemaValidationFlags validationFlags) w System.Xml.XsdValidatingReader.SetupValidator(XmlReaderSettings readerSettings, XmlReader reader, XmlSchemaObject partialValidationType) w System.Xml.XsdValidatingReader..ctor(XmlReader reader, XmlResolver xmlResolver, XmlReaderSettings readerSettings, XmlSchemaObject partialValidationType) w System.Xml.XmlReaderSettings.AddValidation(XmlReader reader)
#programowanie #sap #erp #jpk
http://pastebin.com/mdSrJeu0
hipek1001:
Od ponad tygodnia po wysłaniu plików JPK otrzymuję status 410 -
czy jest on na pewno związany z dekompresją zip ? Lokalnie na
komputerze potrafię rozpakować plik xml.
Wiem, ze inni programiści mają ten sam problem.
jpk:
Jakiego klucza szyfrującego używacie?
hipek1001:
Rozumiem, że pod błędem 410 kryje się również odszyfrowanie ? Czy to znaczy, że plik zostałby prawidłowo rozpakowany ?
Na windows 8 wszystko działa, w tle są pobierane dodatkowe xsd przez proxy. Z kolei na windows server 2008 nie potrafi już pobierać dodatkowych xsd przez proxy. Bez proxy potrafi - jednak u klienta cały ruch
JPK, wersja: 1.0.18.14976. Microsoft Windows NT 6.2.9200.0. Working set: 65,016. Gdi: 76, user: 76
<>: :
Typ 'http://crd.gov.pl/xml/schematy/dziedzinowe/mf/2016/01/25/eD/DefinicjeTypy/:TNaturalny' nie został zadeklarowany lub nie jest typem prostym.
Typ błędu:
System.Xml.Schema.XmlSchemaValidationException
StackTrace:
w System.Xml.Schema.XmlSchemaValidator.SendValidationEvent(XmlSchemaValidationException e, XmlSeverityType severity)
w System.Xml.Schema.XmlSchemaValidator.SendValidationEvent(XmlSchemaException e)
w System.Xml.Schema.XmlSchemaValidator.RecompileSchemaSet()
w System.Xml.Schema.XmlSchemaValidator.Init()
w System.Xml.Schema.XmlSchemaValidator..ctor(XmlNameTable nameTable, XmlSchemaSet schemas, IXmlNamespaceResolver namespaceResolver, XmlSchemaValidationFlags validationFlags)
w System.Xml.XsdValidatingReader.SetupValidator(XmlReaderSettings readerSettings, XmlReader reader, XmlSchemaObject partialValidationType)
w System.Xml.XsdValidatingReader..ctor(XmlReader reader, XmlResolver xmlResolver, XmlReaderSettings readerSettings, XmlSchemaObject partialValidationType)
w System.Xml.XmlReaderSettings.AddValidation(XmlReader reader)