Aklımda Kalası Kelimeler

* давайте работать вместе
* Zarf ve Mazruf, Zerafet(xHoyratlık) ile aynı kökten(za-ra-fe) gelir
* Bedesten
* Suç subuta ermiştir - Suç sabit olmuştur
call etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
call etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

17 Mart 2015 Salı

Fiddler ile web servisine çağrı yapmak

Bu yazdığımız servis:

POST http://10.130.214.205:8082/HTUS/HastaTahlilUyariServisi.asmx HTTP/1.1
HOST: 10.130.214.205:80828
Content-Type: text/xml; charset=utf-8
SoapAction: "http://tempuri.org/f_HastaninLabTestleri"
Content-Length: 863

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Header>
    <Ticket xmlns="http://tempuri.org/">
      <TicketNumber>string</TicketNumber>
    </Ticket>
  </soap:Header>
  <soap:Body>
    <f_HastaninLabTestleri xmlns="http://tempuri.org/">
      <_enumKanTahlilikontrolTarih>KAYITTARIHI</_enumKanTahlilikontrolTarih>
      <_enumHastaKontrolKodu>KLINIK_KODU</_enumHastaKontrolKodu>
      <_sCliniclist>18043</_sCliniclist>
      <_dtBaslamaTarihi>2015-01-07</_dtBaslamaTarihi>
      <_dtBitisTarihi>2015-01-07</_dtBitisTarihi>
      <_sTCKimlikNO>32963180024</_sTCKimlikNO>
      <_bGonderilmis>true</_bGonderilmis>
    </f_HastaninLabTestleri>
  </soap:Body>
</soap:Envelope>

XML içerikli bir request yaptık. Fiddler görüntüsü:

Sonucu:

POSTMAN ile yaptığımızda ilk olarak şu hatayı alabiliriz:
Request format is unrecognized for URL unexpectedly ending in '/f_HastaninLabTestleri'.
Metot adının POST ve GET metotlarıyla çağrılabilmesine dair web.config içinde ayar yapmamız gerekecek:
<configuration>
    <system.web>
    <webServices>
        <protocols>
            <add name="HttpGet"/>
            <add name="HttpPost"/>
        </protocols>
    </webServices>
    </system.web>
</configuration>
Kaynak: Stackoverflow sorusu.

Şimdi sonucu çekelim:

Şimdi bu talebin nasıl yapıldığına bakalım:
POST /HTUS/HastaTahlilUyariServisi.asmx/f_HastaninLabTestleri HTTP/1.1
Host: 10.130.214.205:8082
Cache-Control: no-cache
Content-Type: application/x-www-form-urlencoded

_enumKanTahlilikontrolTarih=KAYITTARIHI&_enumHastaKontrolKodu=KLINIK_KODU&_sCliniclist=18043&_dtBaslamaTarihi=2015%2F01%2F07&_dtBitisTarihi=2015%2F01%2F07&_sTCKimlikNO=32963180024&_bGonderilmis=true

25 Nisan 2013 Perşembe

jQuery üzerinden observer pattern oluşturulması

$ içinde tanımlı olan ve jQuery nesnelerine sarılan on, off, trigger metotları vardır. trigger Metodu bir tetikleyicidir ve hangi olayın tetiklenmesini istiyorsak, ilgili değişkenleri ikinci parametrede vererek çalıştırırız.


on Metodu bir olayın tetiklenmesi halinde çalışır. Birinci parametre hangi event durumunda çalışacağını, ikinci parametre ise hangi fonksiyonun çalışacağını gösterir.


off Metodu ise daha önce bir olaya eklenmiş bir metodun kaldırılması esasına dayanır.


Yukarıdaki bu metotların çalışabilmesi için önce hangi nesneye kilitlediğinizi seçmelisiniz ve bu nesne tabii ki jQuery örneği olmalı. Mesela her div'e tıklandığında zapa zupa olsun: $('div').on('click',zapaZupaFonksiyonunuCagir());
Eğer bir tıklama olmadan programatik olarak çağırmak isterseniz $('div').trigger('click',['extra parametreler']); ile çağırabilirsiniz olayları.

Şimdi biliyoruzki jQuery nesneleri on,off,trigger metotlarına sahiplerken $ buna sahip değil. Bunu sağlamak için bir jQuery nesnesi yaratalım:
var o = $({});
Bu nesneden o.trigger() diyerek metot çağırmakla o['trigger']() diyerek metot çağırmak arasında bir fark yoktur. Neticede javascript nesnesinin bir özelliğini çağırıyoruz ve fonksiyonlarda bu nesnelerin bir propertysi gibidirler.


Peki 'on' metodunun içeriği zaten jQuery içinde tanımlanmış ve sadece nesnelere bağlanabiliyorsa biz jQuery örneğimiz için on fonksiyonunun adını değiştirebilir miyiz?
o['hebeleOlsun'] = function(){ o.on.apply(o, arguments); }; burası azıcık karışık gelebilir. Baş taraf çok basit. hebeleOlsun diye bir özellik ekliyoruz "o" nesnemize. Bu nesneye anonymous bir function atıyoruz. Bu durumda o['hebeleOlsun']() ya da o.hebeleOlsun() çağrıları bu anonymous fonksiyona çağrı yapacak ve tüm parametrelerde bu metot içinde arguments dendiğinde elde edilebilecek. Şimdi sırada apply var. apply da bir metot çağrısı ama kime yapılıyor? Bir başka metotan yapılabiliyor ki burada bizim "on" metodumuzun üstünden yapıldığını farketmişsinizdir. Peki parametrelerin anlamı ne? Birinci parametre bu fonksiyon içinde this diyerek elde edebileceğimiz değişken olacak. Ki; biz burada o nesnesini gönderdik. Böylece apply ile çağırdığımız on fonksiyonu içinde artık this = o olmuştur. ON fonksiyonunun içine diğer diğer parametreleride arguments ile gönderiyoruz.

Peki biz jQuery içinden özelleştirilmiş bir olay oluşturma, bu olaya abone olma ve aboneliği silmek konusununu nasıl yazabiliriz:
<script>
        var o = $({});

        jQuery['yayinYap'] = function () {
            o.trigger.apply(o, arguments);
        };

        jQuery['uyeOl'] = function () {
            o['on'].apply(o, arguments);
        };

        jQuery['uyeOlma'] = function () {
            o['off'].apply(o, arguments);
        };

        $.yayinYap('onBasimKasindi',['bu bir event parametresi','bu da digeri',2,3,{oz:'el',li:'ck'}]);

        $.uyeOl('onBasimKasindi',function(e){ console.log('Başı kaşınan birisi var'); console.log(e); $.uyeOlma('onBasimKasindi','**'); });

Bunun pratik halleride var ama bu şeklini anladığınızda diğerleri daha anlamlı gelecektir.

Geç oldu, ben gider...