XML DOSYASI İLE İLGİLİ TEKNİK DETAYLAR SORULAR VE
Transkript
XML DOSYASI İLE İLGİLİ TEKNİK DETAYLAR SORULAR VE
XML DOSYASI İLE İLGİLİ TEKNİK DETAYLAR SORULAR VE CEVAPLAR TEKNİK AYRINTILAR Genel Bilgiler XML yapısı veri aktarımında bir standarttır. XML konusunda oldukça gelişmiş teknolojiler mevcuttur. Ancak mümkün olduğunca kolay oluşturulabilmesi ve basitliği göz önüne alındığında XML Document Object Model (XMLDOM) tercih edilmiştir. Sistemin bu dokümanı okuyabilmesi için bir takım NODE ve ATTRIBUTE tanımları kullanılmaktadır. Bu NODE ve ATTRIBUTE dışındaki değerler dikkate alınmamaktadır. XML dokümanının dil ayarı iso-8859-9 olacak şekilde oluşturulmalıdır. Bu şekilde Türkçe karakterler sorunsuz algılanabilmektedir. XMLDOM JAVA, DELPHI, VB ve .NET ortamındaki herhangi bir uygulama geliştirme aracı ile uyumludur. Bu dillerden herhangi biri ile böyle bir dokümanı alıp okumak veya yeniden oluşturmak mümkündür. VB ve Delphi için parser olarak Microsoft XML v4.0 kullanılmıştır. .NET için System.XML namespace’i içindeki DOMDocument bu işlem için yeterli olmuştur. Java’da ise “org.apache.xerces.parsers.DOMParser” objesi ve “org.w3c.dom” içinde yeralan Interface’ler kullanılmıştır. Bu parser objesi ile doküman işlemden geçirilmekte ve obje modeli ile de doküman üzerinden veriler okunmaktadır. AKBS Programı çalışmıyor, ne yapabilirim? AKBS programının doğru versiyonunun ve Java Runtime programının bilgisayarınızda doğru bir şekilde kurulu olup olmadığını kontrol ediniz. Programların doğru kurulumunu yaptığınız halde AKBS çalışmıyorsa, internet bağlantınızın aktif olduğundan emin olunuz. İnternet bağlantınızı kontrol etmek için herhangi bir web sitesini açmanız yeterlidir. İnternete proxy veya firewall arkasından bağlanıyorsanız lütfen ayarlarınızı kontrol ediniz. İşletim sisteminize ait bir sorun nedeniyle programın çalışmaması durumunda teknik servisinizle irtibat kurmalısınız. Büyüktür küçüktür işaretlerine ne gerek var? XML bir standarttır ve bu standarda göre verinin oluşturma şekli bu formattadır. Normalde bu işlem bir text döküman halinde istenseydi, bunun okunması, yazılması, ileride olası ek istekler için genişletilmesi çok fazla sorun olabilirdi. Ayrıca XML hem tablo şeklinde hem de hiyerarşik düzende veri tutabildiği için oldukça kullanışlıdır. Standart olması nedeniyle karakter eşleştirme, okutma, yazma, yanlış gelen verinin tespiti oldukça kolaydır. Virgülle ayrılmış veya eşit genişlikte kolonlara ayrılmış bir tablo halinde tutulduğunda bu verilerin yanlış okuma olasılığı çok yüksektir. Ayrıca bu ortamda veriyi bir ortamdan diğer ortama taşımak da büyük bir sorun olurdu. Her ortamda ISO-8859-9 formatındaki XML dosyası aynı görünür ve doğrudan okutulup işlenebilir. Neden MD-5? Çok kullanılan, standart bir HASH algoritması ve standart olması nedeniyle farklı sonuç üretmesi beklenmez. Farklı uygulamalar olabilir. Projede istenen: sonucun 16 byte'lık bir veri olması ve bunun hex karakterlere çevrilerek 32 harflik bir seri şeklinde yazılmasıdır. MD-5 algoritmasını nereden bulabilirim? İnternet üzerinde bir çok sitede açık kodu bulunabilir. Google üzerinden taratıldığında VB için en az 3, delphi için 2 ve javascript için 1 örnek kod bulundu. Bu araştırma yaklaşık yarım saat sürdü ve kaynak kodlar oldukça açık anlaşılır kodlardı. Java ve .NET (VB.NET, C#, J#, Delphi 8 ) için herhangi bir program araştırmaya gerek yok. MD-5 hazır olarak bu dillerin kütüphanelerinde var. Nereyi hesaba katacağım? Konaklama ile başlayan ve Konaklama ile biten aralık Konaklama tag'ları da dahil olmak üzere hesaplanmalıdır. Tersten söylersek döküman içinde yeralan <? ?> işaretlerinin olduğu satırları sildiğinizde geriye ne kalıyorsa hash algoritmasına dahil edilmelidir. Yan taraftaki tabloda, örnek bir XML dosya ve bu tabloya uygulanacak hash algoritmasının alanları gösterilmektedir. Yan taraftaki ve aşağıdaki tablolarda koyu renkle seçili olarak görünen alanlar hash algoritmasında hesaba katılmalıdır. Bunu nasıl deneyeceğim? AKBS uçbirim 1.1.0 sürümünde, kurulumla beraber iki adet örnek XML dosyasıda c:\akbs\ dizini altına konmaktadır. Bunlar incelenebilir. Ayrıca internet üzerinde http://pajhome.org.uk/crypt/md5/index.html adresinde bulunan sayfadaki test alanı bu iş için kullanılabilir. Burada dikkat edilmesi gereken bir husus, türkçe karakterler normalde iki karakterle ifade edilir. Bu nedenle türkçe karakterlerin MD-5 hash değeri yanlış çıkabilir. Test yapmadan evvel, Internet explorer'da view --> Encoding --> Turkish (ISO) seçilmelidir. Bu şekilde doğru bir sonuç elde edebilirsiniz. Bir diğer nokta buradaki örnek uygulama tek satır alıyor. Tüm metni tek satır haline getirip ancak öyle deneyebilirsiniz. Örnek XML dosyaları, dosyanın hash değerini hesaplayan bir programla denedim hash değerleri tutmuyor. Neden? Bu örnek XML dosyalarının içinde <? ile başlayıp ?> ile biten ilk iki satırı silmezseniz hash değerleri tutmaz. Hesaba <?xml ve <?hash ile başlayan satırları sokmamanız gerekiyor. Ben hesaplayıp yazıyorum ama AKBS uçbirim kabul etmiyor. Neden? Büyük harf /küçük harf farklılığı : Döküman içine yazılan hash değeri büyük harflerle yazılmalıdır. Küçük harflerle yazıldığında program kabul etmez. Konaklama taglarının sonuna yerleşen satır sonu işareti : Kullandığınız programlama diline ve kullandığınız komutlara bağlı olarak, bir metni dosyaya yazdırdığınız zaman bunu tek satır gibi kabul edip satır sonuna fazladan CR/LF (0x0A 0x0D) karakterleri gelebilir. Eğer bunu dikkate almazsanız dosya ile ilgili işlem bittiğinde dosyanın sonuna eklenen bu iki karakter hash değerinin yanlış çıkmasına neden olur. Satır satır yazılan bir dosyada satırların sonuna yerleşen satır sonu karakterlerinin hesaba dahil edilmemesi : Bir dosya yazma işlemi esnasında her satırın sonuna programlama dilinin kendisi fazladan karakterler ekler bu nedenle hash hesaplama fonksiyonuna bu satırlar gönderilirken, programlama dili hangi karakterleri ekliyorsa sizinde ekleyerek hash hesabına katmanız gerekir. Yukarıda çerçeveye alınan yerler satır sonu işaretidir. İşletim sistemine göre satır sonu işaretleri değişebilir. Windows için satır sonu 0D 0A karakterleridir. Aslında XML açısından satır sonu, boşluk gibi karakterlerin önemi yoktur. XML veriyi işlerken bu karakterleri görmez. Önemli olan tag'lar içinde yeralan veridir. Ancak eğer isterseniz Tag'lar arasında yeralan metni bir komutla alabilirsiniz. Hash hatasından kurtuldum. Ama başka hata veriyor. Neden? Programın 1.1.0 sürümünde hash kontrolünün yanısıra XML formatında bahsedilen bir takım kontroller de ilave edildi. Önceki sürümlerde bu kontroller olmadığı için sunucularda işlenemeyen kayıt sayısı oldukça arttı. Yazılım firmaları bu kontrolleri koymadıkları için veya oluşturdukları verilerde hatalar olduğu için yeni sürümde bu kontrolleri uçbirim programına yerleştirmek zorunda kaldık. TCKimlik Numarası hata veriyor. Neden? TC Kimlik numarası eğer doğru girilmezse hata alırsınız. Bu alan uyruğu TC olanlar için zorunludur. TC Kimlik numarasında kredi kartı gibi bir kontrol mekanizması mevcuttur. Yani rastgele rakam atarak TC Kimlik numarası yazamazsınız. TC Kimlik numarasındaki bu kontrol yapısı program içinde işletilerek rakamların doğruluğu tespit ediliyor. XML DOSYASININ OLUŞTURULMASI İLE İLGİLİ SIK SORULAN SORULAR 1- Kod Veya Şifre Yanlış a. Kod ve şifre yazılırken büyük küçük harfe dikkat edilmemesi b. Tesis kodunun şifre kısmına yazılması 2- Connect Tıme Out a- İnternet kablosu takılı değildir. b- İnternet bağlantısında problem vardır. c- Kurumsal internet hatlarını kullanan tesislerin fairwal (Güvenlik ayarları) ayarlarından kaynaklanan hatalar (99-88) nolu portların açılması gerekmektedir. 3- Böyle Bir Tesis Sistemde Tanımlı Değil a- POLNET ortamına kaydı yapılan tesisin internet ortamına transferinin yapılmadığı anlamına gelir. b- Sezonluk çalışan veya sezon başında kod ve şifresini aktif hale getirtmediği anlamına gelir. 4- Konaklama Listesindeki Xml Dosyasındaki Tesis Kodu İle Akbs İçindeki Tesis Kodu Farklı Otomasyon programı kurulumu yapan tesisin firmaya programını aktif hale getirmemesi 5- Xlm Dosyası İçerisinde Hash Değeri Bulunamadı Otomasyon programının oluşturduğu konaklama listesinin şifreleme işlemlerinde hata var. Otel otomasyon programcısı gerekli işlemleri yapmalı. Ayrıntılı bilgi www.asayis.pol.tr adresinde mevcut. 6- Mscrv 71 Dosyası Bulunamadı Bilgisayarda kurulu olan java programında eksik olan dosya nedeni ile hata verilmektedir. 7- Uç Birim Programında Gönderilen Paketler Listesinde Satır Atlıyor a- Güncelleme yapıldı mı? b- Tarih aralıkları doğru seçildi mi? c- XML dosyasının içindeki tarih bilgileri uygun değil. Otomasyon programcınızla görüşmeniz gerekmektedir. 8- Kişi Geliş Tarihi Xml Oluşma Tarihinden İleri Olamaz Hatası Gönderilmeye çalışan XML dosyasının içindeki bi kişinin otele giriş tarihi xml dosyasının oluştuğu tarihten ileri. Bunun düzelmesi gerekmekte. Ayın 1 inde oluşturulan bir XML dosyasının içinde ayın 2sinde otele gelmiş biri olamaz. 9- Sunucu Bilgisayara Erişim Yok a- İnternet bağlantısını kontrol ettin mi? b- 9988 portu açık mı? c- EGM sunucuları en son kontrol edilmeli... Sunucu durumları kısmından 10- Tesis Kodu Ve Pin Numarası Doğru Değil vs. Hatalar a- Programı daha önceden kullanan tesisler giriş sekmesinden ilk defa giriş yapacaktır. b- Programı ilk defa kullananlar ise kayıt onay sekmesinden bir defaya mahsus pin numaraları ile kayıt onay işlemi yapacaktır.
Benzer belgeler
kimlik bildirim sistemi lokal uygulama yazılımı (java)
b- Sezonluk çalışan veya sezon başında kod ve şifresini aktif hale getirtmediği anlamına
gelir.
4- Konaklama Listesindeki Xml Dosyasındaki Tesis Kodu İle Akbs İçindeki Tesis Kodu
Farklı
Otomasyon p...