Določene storitve omogočajo sprejem priloge. V tem primeru odjemalec najprej pripravi zahtevo (xml dokument), kjer definira storitev, uporabnika, ... v elementu
/Glava/VsebujePrilogo pa zapiše vrednost
true.
Nadalnji koraki so odvisni od avtorizacije odjemalca
1. Avtorizacija z uporabniškim certifikatom
Odjemalec pokliče metodo
DepositDocumentWithAttachment. Parametri:
- handle - rezultat prijave na eDavke
- signedDocXml - zahteva (xml dokument). Podrobneje.
- attachment - priloga. Podrobneje.
- attachmentFileName - ime priloge.
- attachmentMimeType - tip priloge.
- ignoreNonCriticalErrors - ali naj se pri obdelavi prezrejo nekritične napake.
- documentID - oznaka dokumenta pri odjemalcu
Primer je podan
tukaj.
2. Avtorizacija z strežniškim certifikatom
Odjemalec najprej odda zahtevo s klicom metode
InsertDocumentG2PEx. Parametri:
- documentType - Niz request
- documentId - Enolična oznaka dokumenta.
- correlationId - Prazen niz
- document - Zahteva (xml dokument)
Nato pa s klicom iste metode
InsertDocumentG2PEx odda še prilogo. Parametri:
- documentType - Niz attachment
- documentId - Enolična oznaka dokumenta.
- correlationId - Enolična oznaka zahteve (vrednost parametra documentId v prejšnjem klicu).
- document - Priloga v base64 enkodiranju
Primer:
string response;
string documentId = "Zahteva_12";
string correlationId = "";
string document = @"<Zahteva>
<Glava>
<SifraSistema>TEST_SIS</SifraSistema>
<VrstaPodatkov>Pogodbeni</VrstaPodatkov>
<SifraStoritve>10</SifraStoritve>
<VsebujePrilogo>true</VsebujePrilogo>
<Jezik>SI</Jezik>
<DatumZahtevka>2001-12-17T09:30:47</DatumZahtevka>
</Glava>
<Postavke>
<Postavka>
<ZavId>12345678</ZavId>
<Ime>JANEZ</Ime>
<Priimek>VZOREC</Priimek>
<Leto>2009</Leto>
</Postavka>
</Postavke>
<Priloge/>
</Zahteva>";
response = soapService.InsertDocumentG2PEx("request", documentId, correlationId, document);
//Je zahteva uspesno sprejeta - v odgovoru je vrednost polja /Glava/StatusOdgovora "0".
//V nasprotnem primeru sproži napako
correlationId = documentId;
documentId = "Priloga_4";
document = Convert.ToBase64String(System.IO.File.ReadAllBytes("c:\\temp\\datoteka.csv"));
response = soapService.InsertDocumentG2PEx("attachment", documentId, correlationId, document);
//Kontrola odgovora strežnika G2G