Natrag   Forum.hr > Informatička tehnologija > Za napredne korisnike > Programiranje

Programiranje Za programere i one koji to žele postati ...

Odgovor
 
Tematski alati Opcije prikaza
Old 11.07.2019., 11:02   #61
Radi - ne radi

Da li i vi ostali imate sličan problem ?
Riječ je o FINA web servisu.
Kad šaljem račune državnoj instituciji koja je registrirana u FINA eRacun, sve je super i sve radi OK, no kad šaljem račun nekoj državnoj instituciji koja je registrirana u eRacun sustav kod nekog drugog providera, dobivam poruke nešto kao: "Ne postoji pretinac za ovog kupca".
Zar provideri međusobno ne komuniciraju ?????
NoBruBx is offline  
Odgovori s citatom
Old 11.07.2019., 11:28   #62
Upit: primjer XML-a računa

Ima li netko primjer XML-a računa koji prolazi?
Stalno modificiram Moj-eRačun XML, ali i dalje mi ne prolazi.

Uspio sam smanjiti poruku greške na:
errorMessage : Svaka raspodjela PDV-a (BG-23) mora biti definirana preko šifre kategorije PDV-a (BT-118); Svaka raspodjela PDV-a (BG-23) mora imati stopu kategorije PDV-a (BT-119), osim ako račun nije predmet PDV-a ; Iznos kategorije PDV-a (BT-117) = iznos osnovice kategorije PDV-a (BT-116) x stopa kategorije PDV-a (BT-119)/100), zaokruženo na dvije decimale

Jedini primjer FINA xml-a koji imam izvadio sam iz Fina_eRacun_WebServis_Middleware.pdf, kopiranjem u text editor i dekodiranjem iz base64.
pekica rovik is offline  
Odgovori s citatom
Old 11.07.2019., 12:10   #63
Zaboravite, trebalo mi je još u <cac:TaxScheme><cbc:ID>VAT</cbc:ID>...
Imao sam samo <cbc:Name>VAT</cbc:Name>, to radi za MojEracun, ali ne za FINA.
Sad sam na standardnom "Ne postoji pretinac za naručitelja"
pekica rovik is offline  
Odgovori s citatom
Old 11.07.2019., 12:16   #64
Quote:
pekica rovik kaže: Pogledaj post
Sad sam na standardnom "Ne postoji pretinac za naručitelja"
Mislim da je ovo vezano za moj post gore. Pretpostavljam da FINA i ostala ekipa providera nisu povezani.
NoBruBx is offline  
Odgovori s citatom
Old 11.07.2019., 12:49   #65
Pitanje je da li oni ažuriraju demo bazu.
Danas nisam mogao testirati račun za jednog korinsnika koje je 100% u produkcijskoj bazi.
lekma is offline  
Odgovori s citatom
Old 11.07.2019., 13:08   #66
Čini mi se da ne ažuriraju. Ni meni nije prolazilo pa sam sve testove napravio na jednoj firmi.
trnac is offline  
Odgovori s citatom
Old 11.07.2019., 13:49   #67
Quote:
pekica rovik kaže: Pogledaj post
Zaboravite, trebalo mi je još u <cac:TaxScheme><cbc:ID>VAT</cbc:ID>...
Imao sam samo <cbc:Name>VAT</cbc:Name>, to radi za MojEracun, ali ne za FINA.
Sad sam na standardnom "Ne postoji pretinac za naručitelja"
Kreirajte xml prema Fini, isti prolazi na Moj eRačun, bar u demo okruženju.

Čekam da obrade prijavu pa da provjerim i u produkciji.
cvrcak7 is offline  
Odgovori s citatom
Old 11.07.2019., 15:18   #68
Ok, hvala, dobro je znati. Trebat će mi se ne uspijem iskobeljati iz FINinih EDI, PKI i OTH metoda i onda budem morao vratiti na Moj-eračun.
pekica rovik is offline  
Odgovori s citatom
Old 11.07.2019., 15:25   #69
XML mi sada štima.

PKI Echo test i dalje ne radi:
"Neuspješan pristup WS-u. Molimo provjerite Općenite postavke željenog servisa i u slučaju izmjena ponovo pokrenuti servis."
Java greška izgleda kao da certifikat ne valja, isti demo aplikacijski certifikat "MojaAplikacija" koji sam stavio i u JKS:
"Original Exception was org.apache.wss4j.common.ext.WSSecurityException: No certificates for user "MojaAplikacija" were found for signature"

Ako mi netko može objasniti, koristim FINA "middleware", demo, imam demo aplikacijski certifikat FINe za moju aplikaciju (MS Access 2013, tamo sastavljam XML i odande šaljem REST poruke):

1) Ne razumijem razliku između EDI, PKI i OTH metoda. Svodi se na slanje iste poruke na različite lokalne URL-ove i atribut poruke "atributIntegracijeEDI_001"?
Kako god, slanje na http://localhost:8888/ediRestCall recimo da nešto napravi, ovo je rezultat ako šaljem račun za MORH (za njih valjda imaju pretinac):
-------------------------------------------------------------
Odgovor eRacunB2G EDI WS-a:
status code : 10
status text : Nemoguće napraviti samoregistraciju - ne postoji informacijski posrednik s DN-om iz SSL certifikata
message ack id : 26d7fd5a-cfc4-410b-b038-58a942714ed1
status : ACCEPTED
message type : 9002
-------------------------------------------------------------
-------------------------------------------------------------
Poruka neuspješno poslana!
errorCode : 976
errorMessage : Nemoguće napraviti samoregistraciju - ne postoji informacijski posrednik s DN-om iz SSL certifikata
-------------------------------------------------------------


Ako šaljem za nekog drugog, za koga nemaju pretinac, poruka je:
-------------------------------------------------------------
Odgovor eRacunB2G EDI WS-a:
status code : 10
status text : Ne postoji pretinac za naručitelja
message ack id : 0c6e1635-d4be-4caa-acf6-9d123def4054
status : ACCEPTED
message type : 9002
-------------------------------------------------------------
-------------------------------------------------------------
Poruka neuspješno poslana!
errorCode : 951
errorMessage : Ne postoji pretinac za naručitelja
-------------------------------------------------------------

Pokušaj slanja iste poruke na http://localhost:8888/pkiRestCall završi neslavno s nekoliko stranica java grešaka (at...).

Pokušaj slanja iste poruke na http://localhost:8888/othRestCall završi prerano na:
Konfiguracijska datoteka uspješno pronađena!
srp 11, 2019 3:00:30 PM org.apache.cxf.wsdl.service.factory.ReflectionServ iceFactoryBean buildServiceFromWSDL
INFO: Creating Service {http://fina.hr/eracun/b2g/ws/oth/v0.1}SendB2GOutgoingInvoiceOTHWebService from WSDL: https://prez.fina.hr/SendB2GOutgoing...ebService?wsdl
srp 11, 2019 3:00:30 PM org.apache.cxf.wsdl.service.factory.ReflectionServ iceFactoryBean initializeWSDLOperations
WARNING: No method was found for the WSDL operation {http://fina.hr/eracun/b2g/ws/oth/v0.1}getReceiverList.
sendB2GOutgoingInvoice.result=hr.fina.eracun.b2g.o th.sendb2goutgoinginvoice.oth.SendB2GOutgoingInvoi ceAckMsg@6b081d32

Usput, ne znam koji bi "atribut integracije" trebao biti za OTH i PKI; što god stavim, isto.


2) Recimo da neka od metoda proradi, najbliže tomu je EDI u mom slučaju. Što mi onda treba za produkciju?
Prema FINA hodogramima za integraciju, aplikacijski cerfikat treba samo za PKI metodu, a za sve metode treba još i "SSL certifikat za poslužitelj". Koji poslužitelj?
Imam samo svoju aplikaciju i FINA middleware.

Ispričavam se ako su mi pitanja glupa, samo se nadam da će vaši odgovori kojima se nadam još nekome tko ovo čita pomoći.
pekica rovik is offline  
Odgovori s citatom
Old 12.07.2019., 08:43   #70
B2GSendInvoicePKIClient

Pokušavam se snaći u 'B2GSendInvoicePKIClient' ali mi teško ide.
Dali ima netko to rješenje kao HttpWebRequest za Finu ili Moj e-racun
Gdje mogu naći .xml strukturu upita za dostavu i preuzimanje eRačuna od posrednika
smil48 is offline  
Odgovori s citatom
Old 12.07.2019., 10:52   #71
Quote:
smil48 kaže: Pogledaj post
Pokušavam se snaći u 'B2GSendInvoicePKIClient' ali mi teško ide.
Dali ima netko to rješenje kao HttpWebRequest za Finu ili Moj e-racun
Gdje mogu naći .xml strukturu upita za dostavu i preuzimanje eRačuna od posrednika
Imaš ovo https://servisi.fina.hr/eRacunMiddleware_novi.zip ?

Primjeri XML-a: http://www.trn-zg.hr/download/FINAxmlPRIMJERI.ZIP
trnac is offline  
Odgovori s citatom
Old 12.07.2019., 10:55   #72
[QUOTE=pekica rovik;75650477]XML mi sada štima.

Za EDI i OTH metodu treba SSL certifikat za poslužitelj. S njim se napravi JKS.
Za PKI metodu treba i aplikacijski certifikat.
Atribut integracije je nebitan, bitno je koji RestCall se poziva.
KiKi18 is offline  
Odgovori s citatom
Old 12.07.2019., 11:04   #73
Pazite kod EDI metode. Primjena podrazumijeva postojanje ugovora između strana koje razmjenjuju račun u elektroničkom obliku

Ovdje možete naći smjernice:
https://www.mingo.hr/page/kategorija/e-racun
cvrcak7 is offline  
Odgovori s citatom
Old 12.07.2019., 11:42   #74
KiKi18, cvrčak7 hvala vam na pojašnjenju.

Moram li zatražiti novi SSL certifikat za poslužitelj od FINe ili mogu koristiti postojeći našeg web servera (LetsEncrypt)?

Ako se radi o istom certifikatu: U FINA pristupnici za internetski servis e-Račun za polje gdje se unosi Naziv poslužitelja piše da certifikat za "web servise sa sinkronom obradom nije potreban".
pekica rovik is offline  
Odgovori s citatom
Old 12.07.2019., 12:24   #75
Integracija ERP sa Fina servisom

Ne to,
Trebao bi strukturu .xml upita kojim WebRequest dostavlja, odnosno preuzima .xml račune od Fine
smil48 is offline  
Odgovori s citatom
Old 12.07.2019., 13:26   #76
Quote:
smil48 kaže: Pogledaj post
Ne to,
Trebao bi strukturu .xml upita kojim WebRequest dostavlja, odnosno preuzima .xml račune od Fine
Preuzeli tehničku dokumentaciju sa stranica Fine? Tamo je navedeno što se može/treba poslati prilikom slanja poruke web servisu.
Sama struktura je određena wsdl definicijom (link za preuzimanje je unutar tehn.dokumentacije)

Ovako ja kreiram poruku za slanje računa:

Kod:
FinaSendServiceReferenceB2G.SendB2GOutgoingInvoiceMsg msg = new FinaSendServiceReferenceB2G.SendB2GOutgoingInvoiceMsg
                    {
                        HeaderSupplier = new FinaSendServiceReferenceB2G.HeaderSupplierType
                        {
                            MessageID = Guid.NewGuid().ToString(),
                            SupplierID = "9934:" + oib,
                            MessageType = "9001"
                        },
                        Data = new FinaSendServiceReferenceB2G.SendB2GOutgoingInvoiceMsgData
                        {
                            B2GOutgoingInvoiceEnvelope = new FinaSendServiceReferenceB2G.SendB2GOutgoingInvoiceMsgDataB2GOutgoingInvoiceEnvelope
                            {
                                BuyerID = "9934:" + buyerID,
                                XMLStandard = FinaSendServiceReferenceB2G.SendB2GOutgoingInvoiceMsgDataB2GOutgoingInvoiceEnvelopeXMLStandard.UBL,
                                SpecificationIdentifier = FinaSendServiceReferenceB2G.SendB2GOutgoingInvoiceMsgDataB2GOutgoingInvoiceEnvelopeSpecificationIdentifier.urnceneuen169312017,
                                SupplierInvoiceID =brojDokumenta,
                                ItemElementName = FinaSendServiceReferenceB2G.ItemChoiceType.InvoiceEnvelope,
                                Item = signedInvoiceXML
                            }
                        }
                    };
cvrcak7 is offline  
Odgovori s citatom
Old 12.07.2019., 13:52   #77
Quote:
smil48 kaže: Pogledaj post
Ne to,
Trebao bi strukturu .xml upita kojim WebRequest dostavlja, odnosno preuzima .xml račune od Fine
Upiti prema middlewareu su u JSON formatu.

Primjer:

Kod:
        Dim JsonData As String = "{""okolina"":""prez"",""idPoruke"":""1-1-1"",""idDobavljaca"":""9934:49988016419"",""atributPoruke"":""123456"",""idDokumentaDobavljaca"":""dok91"",""idKupca"":""9934:22413472900"",""xmlStandard"":""UBL"",""idSpecifikacije"":""urn:cen.eu:en16931:2017"",""xmlDokumentaRacuna"":""" + pdfBase64 + """}"

        Dim myRequest As HttpWebRequest = PostJSON(JsonData)

        PF.MojMsgBox(GetResponse(myRequest))
trnac is offline  
Odgovori s citatom
Old 12.07.2019., 15:39   #78
Odgovaram na vlastito pitanje:
Za FINA midlleware pkiRestCall dovoljan je certifikat za aplikaciju, kako mi je trnac ranije sugerirao. Pazite na naziv certifikata u JKS, isti treba upisati u [Općenite postavke].
U [Postavke] od SendB2GOutgoingInvoicePKI treba staviti isti taj aplikacijski certifikat, ovaj put u p12 (pfx) datoteci.
Tada bi trebao raditi i PKI echo test i slanje računa, ako primatelj ima pretinac.

Hvala svima, nadam se da imam dovoljno za predavanje zahtjeva za produkciju.

Quote:
pekica rovik kaže: Pogledaj post
KiKi18, cvrčak7 hvala vam na pojašnjenju.

Moram li zatražiti novi SSL certifikat za poslužitelj od FINe ili mogu koristiti postojeći našeg web servera (LetsEncrypt)?

Ako se radi o istom certifikatu: U FINA pristupnici za internetski servis e-Račun za polje gdje se unosi Naziv poslužitelja piše da certifikat za "web servise sa sinkronom obradom nije potreban".
pekica rovik is offline  
Odgovori s citatom
Old 13.07.2019., 10:34   #79
Pozdrav,

imam problema sa slanjem Echo poruke prema fini.

1)Imam demo i produkcijski certifikat, oba su instalirana u certificate store na računalu.

2)U projekt sam dodao referencu na SendB2GOutgoingInvoicePKIWebService.wsdl,

normalno, da nebi sve išlo normalnim putem, u wsdl adresa za spajanje je definirana http://ADDRESS/SendB2GOutgoingInvoicePKIWebService

naravno, pravih adresa za spajanje nama u nikakvoj dokumentaciji, neko sam ih našo u nekom obrazcu:

Demo: https://prez.fina.hr/SendB2GOutgoing...ePKIWebService
Produkcija: https://webservisi.fina.hr/SendB2GOu...ePKIWebService

(i taj obrazac sam predao i dobio obavjest od fine da je aplikativni certifikat registriran i da se može početi s razmjenom e-računa)

Nadaje u .wsdl se očekuje povezivanje putem http-a, iako su im obje adrese na https protokolu, pa se treba napraviti i novi binding

3) Kad napravim basicHttpBinding, koji je definiran u .wsdl dobijem grešku

Quote:
The header 'Security' from the namespace 'http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd' was not understood by the recipient of this message, causing the message to not be processed. This error typically indicates that the sender of this message has enabled a communication protocol that the receiver cannot process. Please ensure that the configuration of the client's binding is consistent with the service's binding.
Kod:
BasicHttpBinding binding = new BasicHttpBinding();
binding.Security.Mode = BasicHttpSecurityMode.Transport;
binding.Security.Transport.ClientCredentialType = HttpClientCredentialType.Certificate;
kad napravim WS binding, dobijem grešku:
Quote:
The server did not provide a meaningful reply; this might be caused by a contract mismatch, a premature session shutdown or an internal server error.
Kod:
WSHttpBinding binding = new WSHttpBinding();
binding.Security.Mode = SecurityMode.Transport;
binding.Security.Transport.ClientCredentialType = HttpClientCredentialType.Certificate;

Ostatak kod koji bi se trebao povezat na servis
Kod:
eRacunB2GPortTypeClient client = new eRacunB2GPortTypeClient(binding, endpoint);
                
client.ClientCredentials.ClientCertificate.Certificate = Globals.GetCertifikat();
EchoMsg msg = new EchoMsg();
msg.HeaderSupplier = new HeaderSupplierType();
msg.HeaderSupplier.MessageID = Guid.NewGuid().ToString();
msg.HeaderSupplier.SupplierID = "9934:"+oib;

msg.HeaderSupplier.MessageType = "9999";

msg.Data = new EchoMsgData();
msg.Data.EchoData = new EchoMsgDataEchoData();
msg.Data.EchoData.Echo = "Test echo poruka";

EchoAckMsg response = client.echo(msg);
hori is offline  
Odgovori s citatom
Old 13.07.2019., 10:47   #80
Quote:
hori kaže: Pogledaj post
imam problema sa slanjem Echo poruke prema fini.
Na prethodnoj stranici ima link na pki client za slanje na b2g servise pa usporedite.

Koja je procedura dobivanja produkcijskog certifikata nakon testiranja? da li treba čekati 'odobrenje' Fine da je aplikacija prošla testiranja ili se samo može krenuti u produkciju?
Da li proizvođač mora na neki način registirati aplikaciju na Fini?
Još uvijek mi ne odgovaraju na mailove
cvrcak7 is offline  
Odgovori s citatom
Odgovor



Kreni na podforum




Sva vremena su GMT +2. Trenutno vrijeme je: 10:07.