ek-3 e-fatura uygulamasi yazilim standartlari ve nesne yapisi - v1.2

14
E-Fatura Uygulaması (Yazılım Standartları ve Nesne Yapısı) Ocak 2010 Versiyon : 1.0 1/14 e-FATURA UYGULAMASI (Yazılım Standartları ve Nesne Yapısı) Mart 2011 ANKARA

Upload: sahan

Post on 02-Oct-2015

81 views

Category:

Documents


0 download

DESCRIPTION

Ek-3 E-Fatura Uygulamasi Yazilim Standartlari Ve Nesne Yapisi - V1.2

TRANSCRIPT

  • E-Fatura Uygulamas (Yazlm Standartlar ve Nesne Yaps) Ocak 2010

    Versiyon : 1.0 1/14

    e-FATURA UYGULAMASI

    (Yazlm Standartlar ve Nesne Yaps)

    Mart 2011

    ANKARA

  • E-Fatura Uygulamas (Yazlm Standartlar ve Nesne Yaps) Ocak 2010

    Versiyon : 1.0 2/14

    GELR DARES BAKANLII

    Uygulama ve Veri Ynetimi Daire Bakanl

  • E-Fatura Uygulamas (Yazlm Standartlar ve Nesne Yaps) Mart 2011

    Versiyon : 1.2 3/14

    Versiyon Yaym Tarihi

    Eklenen/Silinen/Deien Blm

    Aklama

    1.0 05.03.2010 -- Klavuzun ilk yaym tarihi

    1.1 26.04.2010 3 XAdES

    3. XMLDsign blm tamamen

    kaldrlarak XAdES olarak

    deitirildi.

    1.2 14.03.2011

    3 XAdES

    4 Sktrma Format, 6 SSL Mekanizmas

    7.7 DocumentType Snf

    Metodlar

    8 Dnlen Aykr Durum Kodlar

    Aklamalar geniletildi.

  • E-Fatura Uygulamas (Yazlm Standartlar ve Nesne Yaps) Mart 2011

    Versiyon : 1.2 4/14

    1 Giri ........................................................................................................................ 5

    2 MTOM (Message Transmission Optimization Mechanism) .................................. 5

    3 XAdES ..................................................................................................................... 6

    4 Sktrma Standard ............................................................................................... 8

    5 Mesaj zeti Standard ............................................................................................ 8

    6 SSL Mekanizmas .................................................................................................... 8

    7 Kullanlan Metot ve Snf Yaplar ........................................................................... 8

    7.1 Metot zetleri ................................................................................................. 9

    7.2 Metot Detaylar ............................................................................................... 9

    7.2.1 sendDocument ......................................................................................... 9

    7.2.2 getApplicationResponse .......................................................................... 9

    7.3 Kullanlan Snf zetleri ................................................................................... 9

    7.4 DocumentRequest Snf Metotlar................................................................ 10

    7.5 DocumentResponce Snf Metotlar ............................................................. 10

    7.6 DocumentReturnType Snf Metotlar .......................................................... 11

    7.7 DocumentType Snf Metotlar ..................................................................... 11

    7.8 GetAppRespRequest Snf Metotlar ............................................................ 12

    7.9 GetAppRespRequestType Snf Metotlar .................................................... 12

    7.10 GetAppRespResponse Snf Metotlar ...................................................... 12

    7.11 GetAppRespResponseType Snf Metotlar .............................................. 13

    8 Dnlen Aykr Durum(Exception) Kodlar ........................................................... 13

  • E-Fatura Uygulamas (Yazlm Standartlar ve Nesne Yaps) Mart 2011

    Versiyon : 1.2 5/14

    1 Giri Bu klavuz, Elektronik Fatura Uygulamasna entegre olmak isteyenler ile uygulamaya

    ilikin yazlm gelitireceklerin uymak zorunda olduklar yazlm standartlar ve nesne

    yaps hakknda bilgi vermek amacyla hazrlanmtr.

    Elektronik Fatura Uygulamasnn genel zellikleri aada yer almaktadr.

    Uygulama ierisinde teknolojik iletiim altyaps olarak Web servis

    kullanlmtr.

    Web servis iletiim altyaps SOAP mesajlar ile salanmaktadr. SOAP

    metotlar iin iki tr kodlama metodu bulunmaktadr. Bunlar RPC ve DOC

    kodlamalardr. Uygulamada performans asndan DOC kodlamas

    benimsenmitir. SOAP mesajlarnn iletiminde byk dosyalar sz konusu

    olduundan MTOM (Message Transmission Optimization Mechanism)

    mekanizmas kullanlmtr.

    Web Servis belirtiminin dier web servis gerekletirimleri ile sorunsuz

    alabilmesi iin WS-I ve WS-I Basic Profile standartlar web servis

    gerekletiriminde dikkate alnmtr.

    Klavuzun ilk blmnde MTOM mekanizmas genel olarak tantlacak, sonraki

    blmlerde ise tanmlanan Web Servis metotlar ve metotlarn kulland parametre,

    dn deeri ve nesneler ile ilgili bilgilere yer verilecektir.

    2 MTOM (Message Transmission Optimization Mechanism)

    MTOM ikilik verilerin etkin bir biimde web servislerden veya web servislere

    gnderimini salayan bir metottur. kilik veriyi gndermek iin XOP(XML-binary

    Optimized Packaging) kullanr. MTOM byk miktarda ikilik veriyi SOAP mesajyla

    gnderme imkn salamakta olup aada sralanan 3 nemli yarar bulunmaktadr.

    Gvenlik: MTOM, gvenlikle oluur, verilerin gvenlii SOAP mesaj kadar iyi

    korunur. Ayrca DIME'nin desteklemedii baz gvenlik seviyeleri de MTOM

  • E-Fatura Uygulamas (Yazlm Standartlar ve Nesne Yaps) Mart 2011

    Versiyon : 1.2 6/14

    ile desteklenmektedir. (rnein: TCP analizi DIME ile yaplan transferde

    gerekletirilirse, dosyann grld grnr ancak MTOM, dosya iine

    SOAP mesajna uygulanan gvenlii uygulayabilmektedir.)

    Dosya Boyutunun Korunmas: MTOM sayesinde hat zerinde ekstra yk

    olumaz ve bylece dosya boyutu korunmu olur.

    Basit Programlama Modeli: MTOM destei etkinletirilerek servisteki btn

    byte transferleri otomatik olarak ifrelenir.

    MTOMin web servis ile uygulamalar eitli web servis gerekletirim rnleriyle

    salanmtr. Bunlara rnek axis2 ve Microsoft web servisleri rnek verilebilir.

    3 XAdES XAdES, Elektronik Fatura Uygulamas kapsamnda gnderilecek olan belgelerin

    (Fatura veya Uygulama Yant) imzalanmas veya onaylanmasnda kullanlmaktadr.

    XAdES imzalamada minimum olarak XAdES-BES kullanlmaktadr. XML imzalama iin

    Enveloped teknii kullanlmaldr. Enveloping ve Detached teknikleri kabul

    edilmeyecektir.

    e-Fatura onaylama ileminde bir faturann XML imza olarak minimum aadaki XML

    etiketlerini kullanmas gerekmektedir.

  • E-Fatura Uygulamas (Yazlm Standartlar ve Nesne Yaps) Mart 2011

    Versiyon : 1.2 7/14

    Mesaj zetlerinin gvenlik asndan SHA256 olmas nerilmektedir. Yukarda verilen

    XAdES xml imza iskeletinde bulunan alanlar mutlaka kullanlmaldr. skelette verilen

    nitelik(attribute) deerleri rnek tekil etmesi amacyla verilmitir.

    XML imzann (mali mhr) dorulanmas iin kullanlabilecek web siteleri ile eitli

    yazlmlar mevcut olup, entegrasyon almas yapan mkellefler bu kaynaklar

    yardm ile XML imza (Mali Mhr) kontroln yapabilirler.

  • E-Fatura Uygulamas (Yazlm Standartlar ve Nesne Yaps) Mart 2011

    Versiyon : 1.2 8/14

    4 Sktrma Standard Hazrlanan zarflar zip format ile sktrlmaldr. Zip dosyas sktrma algoritmas

    standart zip format olmaldr. Gzip, rar gibi formatlar kullanlmamaldr.

    5 Mesaj zeti Standard Elektronik Fatura Uygulamas aracl ile gnderilecek olan belgelerin Zarf XMLi

    ierisine konulmas gerekmektedir. Bu XML, zip formatnda sktrldktan sonra Web

    servis aracl ile gnderilecektir. Web servis ile bu zip belgesine ait mesaj zeti de

    (hash) gnderilmesi uygulama ierisinde beklenen bir durumdur.

    Mesaj zeti standard olarak MD5 standardna uyulacaktr. Alnan ve gnderilen

    belgelere ait zet deerleri hesaplanacak ve gelen deerler ile karlatrlacaktr.

    zet deerleri 32 karakter uzunluunda olacaktr.

    6 SSL Mekanizmas Web servis iletiimi HTTPS protokol zerinden SSL mekanizmas ile salanacaktr.

    Buna gre istemci uygulamas SSL sunucu uygulamasnn kimliini dorular. Bu

    durumda Elektronik Fatura Uygulamasnda bulunan birimlerin gvenilir sunucu

    sertifikas temin etmeleri ihtiyatr. Mkelleflerin SSL sunucu sertifikalarn Verisign,

    GlobalSign gibi gvenilir sertifika salayclarndan almalar gerekmektedir.

    e-Fatura Uygulamasna entegre olacak kurumlarn uygulamalar SSL sunucu sertifikas

    ile almaldr. Temin edilen sertifikalar ile web servis yazlmnn uyumu ve

    alabilirlii salanmaldr.

    7 Kullanlan Metot ve Snf Yaplar Bu blmde anlatlan metot ve snf yaplar Java programlama dili ve axis2

    gerekletirimi ile olumu rnek yaplardr. Oluacak metot ve snf yaplar deiik

    programlama dilleri ve web servis gerekletirimleri ile deiebilir.

  • E-Fatura Uygulamas (Yazlm Standartlar ve Nesne Yaps) Mart 2011

    Versiyon : 1.2 9/14

    7.1 Metot zetleri

    DocumentResponse sendDocument(DocumentRequest request)

    Kullancnn zarflarn gnderecei metottur.

    GetAppRespResponse getApplicationResponse(GetAppRespRequest request)

    Kullancnn zarflarn durumunu sorgulad metottur.

    7.2 Metot Detaylar

    7.2.1 sendDocument

    public DocumentResponse sendDocument(DocumentRequest request) throws EFaturaFaultMessage

    Kullancnn zarflarn gnderilecei metottur. kilik veriyi(Binary Data), dosya adn ve

    ikilik verinin zetini ieren DocumentRequest nesnesi alr ve kendi hesaplad zet

    deeri ile mesaj ieren DocumentResponse nesnesini dner.

    Throws: EFaturaFaultMessage

    7.2.2 getApplicationResponse

    public GetAppRespResponse getApplicationResponse(GetAppRespRequest request) throws EFaturaFaultMessage

    Kullancnn zarflarn durumunu sorgulad metottur. Zarf IDyi ieren

    GetAppRespRequest nesnesini alr ve sistem yantn ieren GetAppRespResponse

    nesnesini dner.

    Throws: EFaturaFaultMessage

    7.3 Kullanlan Snf zetleri

    DocumentRequest sendDocument metoduna parametre olarak

  • E-Fatura Uygulamas (Yazlm Standartlar ve Nesne Yaps) Mart 2011

    Versiyon : 1.2 10/14

    verilen snftr.

    DocumentResponse sendDocument metodundan dnlen snftr.

    DocumentReturnType Mesaj ve zet niteliklerini ieren snftr.

    DocumentType kili veri, dosya ad ve zet niteliklerini ieren

    snftr.

    GetAppRespRequest getApplicationResponse metoduna parametre

    olarak verilen snftr.

    GetAppRespRequestType getApplicationResponse metodundan dnlen

    snftr.

    GetAppRespResponse Zarf id niteliini ieren snftr.

    GetAppRespResponseType Sistem Uygulama Yantn ieren snftr.

    7.4 DocumentRequest Snf Metotlar

    DocumentType getDocumentRequest()

    DocumentType nesnesini dner.

    void setDocumentRequest(DocumentType param)

    DocumentType nesnesine parametre ile verilen nesneyi atar.

    7.5 DocumentResponce Snf Metotlar

    DocumentReturnType getDocumentResponse()

    DocumentReturnType nesnesini dner.

  • E-Fatura Uygulamas (Yazlm Standartlar ve Nesne Yaps) Mart 2011

    Versiyon : 1.2 11/14

    Void setDocumentResponse(DocumentReturnType param)

    DocumentReturnType nesnesine parametre ile verilen

    nesneyi atar.

    7.6 DocumentReturnType Snf Metotlar

    String getHash()

    kili verinin zet deerini dner.

    String getMsg()

    Mesaj dner.

    void setHash(String param)

    param ile verilen deeri Hashe atar.

    void setMsg(String param)

    param ile verilen deeri Msga atar.

    7.7 DocumentType Snf Metotlar

    Base64Binary getBinaryData()

    kili (binary) veriyi dner.

    String getFileName()

    Gnderilen zarfa ait dosya adn dner.

    String getHash()

    kili verinin zet deerini dner.

    void setBinaryData(Base64Binary param)

    Bu ksma XML formatnda oluturmu zarfn, ZIP format ile

    sktrlm halinin Base64 ile encode edilmi hali yazlacaktr.

  • E-Fatura Uygulamas (Yazlm Standartlar ve Nesne Yaps) Mart 2011

    Versiyon : 1.2 12/14

    void setFileName(String param)

    Bu ksma XML formatnda oluturulmu ve daha sonra ZIP

    formatnda sktrlm zarfn ad yazlacaktr. Zarf adnn

    uzantsnn zip olmas gerekmektedir. Zarf adnn ise e-Fatura

    Uygulamas Teknik Klavuzlar Ek-1 e-Fatura Uygulamas Zarf

    ema Yaps dokmannda belirtilen InstanceIdentifier deeri

    ile ayn olmaldr.

    void setHash(String param)

    Bu ksma XML formatnda oluturulmu ve daha sonra ZIP format

    ile sktrlm zarfn MD5 zeti yazlacaktr.

    7.8 GetAppRespRequest Snf Metotlar

    GetAppRespRequestType getGetAppRespRequest()

    GetAppRespRequestType nesnesini dner

    Void setGetAppRespRequest(GetAppRespRequestType param) GetAppRespRequestType nesnesine parametre ile

    verilen nesneyi atar.

    7.9 GetAppRespRequestType Snf Metotlar

    String getInstanceIdentifier()

    Zarf idyi dner.

    void setInstanceIdentifier(String param)

    Zarf idye parametre ile verilen deeri atar.

    7.10 GetAppRespResponse Snf Metotlar

    GetAppRespResponseType getGetAppRespResponse()

  • E-Fatura Uygulamas (Yazlm Standartlar ve Nesne Yaps) Mart 2011

    Versiyon : 1.2 13/14

    GetAppRespResponseType nesnesini dner.

    Void setGetAppRespResponse(GetAppRespResponseType param)

    GetAppRespResponseType nesnesine paramere ile

    verilen nesneyi atar.

    7.11 GetAppRespResponseType Snf Metotlar

    String getApplicationResponse()

    Uygulama Yantn dner.

    void setApplicationResponse(String param)

    Uygulama Yantna parametre ile verilen deeri atar.

    8 Dnlen Aykr Durum(Exception) Kodlar Aykr durum kodlar iin WSDLde belirtilen EFaturaFaultMessage yaps

    kullanlmaldr. EFaturaFaultMessage yapsnn alabilecei aykr durum kodlar ve

    aklamalar aadaki tabloda belirtilmitir.

    Hata Kodu Hata Aklamas

    2000 OZET DEGERLER ESIT DEGIL

    2001 ZARF ID SISTEMDE_MEVCUT

    2002 ZARF ARSIVE EKLENEMEDI

    2003 ZARF KUYRUGA EKLENEMEDI

    2004 ZARF ID BULUNAMADI

    2005 SISTEM HATASI

    2006 GECERSIZ ZARF ADI

  • E-Fatura Uygulamas (Yazlm Standartlar ve Nesne Yaps) Mart 2011

    Versiyon : 1.2 14/14

    rnek:

    EFaturaFaultType faultType=new EFaturaFaultType(); EFaturaFault fault=new EFaturaFault(); EFaturaFaultMessage faultMessage=new EFaturaFaultMessage();

    faultType.setCode(code)); faultType.setMsg(msg); fault.setEFaturaFault(faultType); faultMessage.setFaultMessage(fault);

    throw faultMessage;

    Not:

    WSDL hata yapsn(WSDL:fault) direk desteklemeyen programlama dilleri/aralar

    iin de standartlama asndan EFaturaFaultMessage retilmelidir.

    Dndrlen SOAP mesaj yaplandrlarak EFaturaFaultMessage retmek

    mmkndr. rnein .Net iin WSDL:fault aralar ile retilemiyorsa

    SOAPExceptionn metotlar kullanlarak retilebilmektedir. SoapFault detay(detail)

    ksm aadaki mesaja benzemelidir.

    2000 OZET DEGERLER ESIT DEGIL