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?
Hej. Czy jak liczycie HashValue z sekcji Document dla pliku JPK-VAT-TEST-0000.xml udostępnionego przez ministerstwo to dostajecie taką samą wartość jak w pliku InitUpload.xml przygotowanym przez MF, tj. (ZZEMD0SHu8b3AeRIOU30OcT9+nrxFTWHaXNdqnif9FQ=)?
@Przemek78 Dzięki za odpowiedź, bardzo mi pomogłeś. Ja użyłem SHA1CryptoServiceProvider a to przecież jest SHA1. Zaćmienie. My Fault. @angelson Jak tylko przez to przebrnę to się podzielę kodem. Wszyscy jedziemy na tym samym wózku :)
hej. Poniżej przedstawiam kod z c# z poszczególnymi krokami pozwalającymi na przygotowanie zaszyfrowanych plików. Kod jest wyjątkowo prymitywny, ale chodzi mi tylko o to aby ktoś, kto przebrnął już przez ten proces,spojrzał na poszczególne kroki i zwrócił uwagę, w których momentach moje podejście jest złe. Bardzo proszę o rewizję kodu.
@Gibonowski proszę podziel się swoim kodem do wysyłania. Ja używam poniższej metody do wysłania przykładowego pliku i ciągle dostaję 400. Proszę o jakieś wskazówki bo już nie mam pomysłu.
public string postXMLData(string destinationUrl) { try
hmm. A teraz mam info: {"Message":"Przesłany plik jest niezgody ze schematem xsd","Code":140,"RequestId":"uSz9yD1UmjI=","Errors":["Could not find schema information for the element 'Signatures'.","Could not find schema information for the attribute 'Id'."]} Czy ktoś może podpowiedzieć o co może chodzić?
@Liferov Dzięki za udostępnienie kodu do podpisu. Podpis rzeczywiście wyglada dobrze ale... Wysyłając InitUpload dostaję komunikat: {"Message":"Podpis jest w innym formacie niż XAdES-BES","Code":111,"RequestId":"gUlu1p5t1IQ="}
Porównałem ten podpis z podpisem wygenerowanym w programie Szafir (z którego podpisane pliki InitUpload) przechodzą) i jest różnica w podpisie od węzła QualifyingProperties. W podpisie udostępnionym przez Ciebie nie ma przedrostków xades: a w podpisie z Szafira są. Czy w tym celu modyfikowałeś Microsoft.Xades? Czy to można
@kemot13, @aksapon2 ja mam dokładnie to samo. Od 7:39 wisi 120.
{"Code":120,"Description":"Sesja została poprawnie zakończona. Dane zostały poprawnie zapisane. Trwa weryfikacja dokumentu","Details":"","Timestamp":"2016-08-08T07:39:51.5721251+00:00","Upo":""}
@Gibonowski Mógłbyś zamieścić przykładowy plik JPK.xml. Ten z ministerstwa ma tylko nagłówek :( Nagłówek mam tak samo jak w pliku z ministerstwa więc coś nie tak w węzłach sprzedaży ... :(
@Gibonowski Wielka prośba o spojrzenie na plik JPK_VAT - http://speedy.sh/t3Vcr/JPK-VAT-TEST-0000.xml Dzisiaj server wali cały czas kodem 401 Plik niezgodny ze schematem xsd. Cholera wydaje mi się że plik jest zgodny ze schematem xsd. Nagłówek pliku skopiowałem z twojego przykładowego xml'a.
#programowanie #sap #erp #jpk
@angelson Jak tylko przez to przebrnę to się podzielę kodem. Wszyscy jedziemy na tym samym wózku :)
Poniżej przedstawiam kod z c# z poszczególnymi krokami pozwalającymi na przygotowanie zaszyfrowanych plików.
Kod jest wyjątkowo prymitywny, ale chodzi mi tylko o to aby ktoś, kto przebrnął już przez ten proces,spojrzał na poszczególne kroki i zwrócił uwagę, w których momentach moje podejście jest złe.
Bardzo proszę o rewizję kodu.
static public bool CreateJPK()
public string postXMLData(string destinationUrl)
{
try
string readText = File.ReadAllText(@"C:\Xml\initupload-enveloping.xades.xml");
byte[] bytes = System.Text.Encoding.UTF8.GetBytes(readText);
ale dalej mam 400, proszę jeszcze o jakieś sugestie ...
response = (HttpWebResponse)request.GetResponse();
I idzie do obsługi błędu. W którym miejscu powinna być ta dodatkowa informacja?
Kolejny dzień walki czas zacząć.
Próbuję wysłać plik InitUpload z podpisem i dostaję info od serwera:
{"Message":"Podpis jest w innym formacie niż XAdES-BES","Code":111,"RequestId":"zwOClt/+PpQ="}
Do
{"Code":401,"Description":"Weryfikacja negatywna – dokument niezgodny ze schematem xsd","Details":"ERROR_VALIDATE","Upo":"","Timestamp":"2016-07-28T10:57:20+00:00"}
Jak sobie z tym poradziłeś?
Dodam że podpisałem plik InitUpload.xml ze strony ministerstwa
{"Message":"Przesłany plik jest niezgody ze schematem xsd","Code":140,"RequestId":"uSz9yD1UmjI=","Errors":["Could not find schema information for the element 'Signatures'.","Could not find schema information for the attribute 'Id'."]}
Czy ktoś może podpowiedzieć o co może chodzić?
X509Certificate2 x509 = new X509Certificate2();
x509.Import(@"c:\Xml\test-e-dokumenty.mf.gov.plssl.crt");
I przy próbie podpisu dostaję
{"Message":"Podpis jest w innym formacie niż XAdES-BES","Code":111,"RequestId":"gUlu1p5t1IQ="}
Porównałem ten podpis z podpisem wygenerowanym w programie Szafir (z którego podpisane pliki InitUpload) przechodzą) i jest różnica w podpisie od węzła QualifyingProperties. W podpisie udostępnionym przez Ciebie nie ma przedrostków xades: a w podpisie z Szafira są.
Czy w tym celu modyfikowałeś Microsoft.Xades? Czy to można
{"Code":120,"Description":"Sesja została poprawnie zakończona. Dane zostały poprawnie zapisane. Trwa weryfikacja dokumentu","Details":"","Timestamp":"2016-08-08T07:39:51.5721251+00:00","Upo":""}
Pozdrawiam wszystkich. ;)
{"Code":401,"Description":"Weryfikacja negatywna – dokument niezgodny ze schematem xsd","Details":"ERRORVALIDATE","Timestamp":"2016-08-09T10:18:05+00:00","Upo":""}_
To oznacza że plik udało się odszyfrować i rozpakować czy wcale tak nie musi być?
Nagłówek mam tak samo jak w pliku z ministerstwa więc coś nie tak w węzłach sprzedaży ... :(
Poniżej fragment kodu
using (var client2 = new HttpClient())
{
Dzisiaj server wali cały czas kodem 401 Plik niezgodny ze schematem xsd. Cholera wydaje mi się że plik jest zgodny ze schematem xsd. Nagłówek pliku skopiowałem z twojego przykładowego xml'a.