Özgür Özvarış

Bir yazılımcının kırık dökük dünyası

Soap Webservis Test

clock Ocak 10, 2013 16:07 by author OzgurOzvaris

Değerli Arkadaşlar,

Eğer bir web servisi soap data ile test etmek ister ve request responsları açık açık görmek isterseniz bu örnek işinize yaracakatır diye tahmin ediyorum.

Önce linkleri verelim.

How to send/receive SOAP request and response using C#

How automatically remove all white spaces start or end in a string

Removing XmlDocument white space c#

Format XML String to Print Friendly XML String

Kendi Çalışmam : RequestSoap.zip (47,77 kb)

Not : Soap Action'a dikkat web servisin wsdl'lindeki gözüken pathi olduğu gibi muhakkak yazmanız gerekmektedir.

- Logladığınız yada göndermek istediğiniz soap datasını Request Soqp Data Bölümüne yazıyorsunuz. Eğer log datada aralarda boşluk var ise Temizle buttonu otomatik olarak bu boşlukları temizleyecek ve görsel olarak xml formatlayacaktır.

- Test Buttonuna bastıktan sonra sonu. Response Soap data bölümüne gelir. Görsel olarak Formatlamak için tekrar Temizle buttonuna basabilirsiniz.

Bu kadar basit.

İyi çalışmalar.



Asp.net Development Server Başka PC den erişme

clock Ocak 2, 2013 13:12 by author OzgurOzvaris

Değerli arkadaşlar,

Bazen localinizde sorunsuz olarak çalışan bir web uygulamanızı başka bir pc den de çalıştırmak isteyebilirsiniz. Ancak nomalde web development server buna imkan sağlamaz. Bunu sağlayabilmek için küçük bir ip forwarding yada ip redirection yapacak küçük bir programa ihtiyacımız var.

Ör: http://localhost:2661/Test.aspx sayfasında local ip niz ile http://local_ip/test.aspx şeklinde erişmek isteyebilirsiniz. Bu işlemi yapmak için aşağıdaki ip uçlarından faydalanabilirsiniz.

Hemen linkleri verelim.

Accessing ASP.NET Development Server from another pc on the network

Remote Access To ASP.NET Development Server

http://www.boutell.com/rinetd/

örnek exe : rinetd.zip (115,33 kb)

rinetd.exe bu iş için biçilmiş kaftandır. 

Not : Bu işlemi 64 bit windows 7 üzerinde yaptım sorunsuz olarak çalıştırdım.

Yönlendirme işlemini yapmak için rinetd.exe bulunduğu klasöre yeni bir rinetd.conf dosyası oluşturalım içine

0.0.0.0 8080 127.0.0.1 2661
0.0.0.0 9080 127.0.0.1 2661

Bu oluşturduğumuz configirasyon dosyasını bir yukle.bat dosyası ile rinetd.exe dosyasına yükleyelim.

@echo off 
echo ================================================ 
echo Running rinetd with the following configuration: 
echo ================================================ 
type rinetd.conf 
rinetd.exe -c rinetd.conf

Şimdi admin hakkına (Run as administrator) sahip bir cmd penceresi açalım. Geçerli klasörü rinetd.exe olduğu klasöre yönlendirelim. 

 

Artık sayfanız  http://local_ip/test.aspx adresinden çalışır duruma geldi.

Selamlar.

 



Json Serializer

clock Ocak 2, 2013 08:56 by author OzgurOzvaris

Değerli arkadaşlar,

Yeni web dünyasında artık olmazsa olmaz konulardan biri jquery diğeride json data paketleri gibi gözüküyor. Bu günki örneğimizde client tarafına yüklenmiş bir dropdown listin nasıl tekrar server'a postback olmadan başka bir doropdown list tarafından master detail ilişki ile yönetildiğini göreceğiz.

Hemen bir kaç kaynak linki verelim.

JSON Serialization and Deserialization in ASP.NET

Adding options to a select using Jquery/javascript

What's the best way to query an array in javascript to get just the items from it I want?

Using core jQuery, how do you remove all the options of a select box, then add one option and select it?

Gördüğünüz gibi basit uygulamalarda bile ne kadar çok yardıma ihtiyaç duyuyoruz. Varın siz bir de bir projenin kaç kırıntı ve köklü bilgi parçasından meydan geldiğini hesap edin. Her neyse.

JsonSerializer.zip (175,35 kb)

 



Soap Serialize ve Deserialize

clock Aralık 25, 2012 09:43 by author OzgurOzvaris

Değerli Arkadaşlar,

Geçen çok ilginç bir şeyle karşılatım bir müşterimizde web servis extensionla (Bir önceki blogumuz) logladığımız bir web servis test metodunu kendimin de test etmesi ihtiyacı oldu. Test.asmx isimli bir yeni web servise aynı metodun aynı class input ve output değerleri ile bir test metodunu oluşturdum. Ancak client tarafa web servisimi referans gösterince input ve output (io) classların bir örneğini test.asmx e ait otomatik proxy class içine kopyalandı (Bu kopyalama ile ilgili sorun bir başka wcf uygulamamda çözmüştüm. Belki ilerleyen zamanda bununla ilgili de bir örnek yaparız.). Böyle olunca server tarafında aynı io classlarını kullanmama rağmet client tarafta farklı io classlar şeklinde gözüktü.

Client taraftaki fonksyonu giriş çıkış değerlerini test'e göre ayarlamak yerine, burada bir ali cengiz oyunu yapmaya karar verdim. Aslında soap haberleşmesinde kullanılan io claslar birer soap döküman öyle ise bu classların içinde ki class isimlerini değiştirerek client tarafta minimum değişiklikle sunucu tarafı ile haberleşebilirim diye düşündüm.

Önce kaynakların linklerini vermekle başlıyayım

C# serializing/deserializing with memory stream

Using DataContractSerializer to serialize, but can't deserialize back

Kendi Çalışmam (18,71 kb)

Bu değiştiştirme işlemi bir kaç aşamadan oluşuyor.

1 - Proje içinde kullanınan gerçek classın Serialize edilmesi ve stringe dönüştürülmesi

2 - Oluşturulan class içindeki source class typenin target class tipi ile deşitirilmesi

3 - Oluşan yeni string değerin deSerialize edilerek return değerin target class tipi üzerinden alınması.

Tabi burda yine bazı sitelerden faydalandım.

Burada dikkat edilmesi gereken bir husus var. Klasik yöntemden Serialize ve deSerialize yöntemleri (kysvdy) ile bu işlemi yapamıyor olmamız çünkü kysvdy de memory stream deSerialize bit değeri artıyor. Bunun izahını verdiğim linklerde bulabilirsiniz.



Webservice trace extension

clock Aralık 19, 2012 13:35 by author OzgurOzvaris

Değerli Arkadaşlar,

Belki sizde benim gibi web service trace etmeye ihtiyaç duyabilirsiniz.

Biraz kaynak bulmakta zorlandım önce kaynakların linklerini vermekle başlıyayım.

MSDN : How to: Implement a SOAP Extension

Efficient Tracing Using SOAP Extensions in .NET

TraceExtension codeplex Sample Project

Kendi Çalışmam (292,60 kb)

 

Bildiğiniz üzere bizler gerek wcf de gerek, webservice (.asmx) uygulamalarında kullandığımız metodlarda xml tabanlı soap mesajları ile haberleşme yapıyoruz. Kullandığımız web metodların, bu mesajları kullanabilmesi için typelara çeviriyorlar. Ancak üst seviyedeki soap mesajları kullanmak için bir kaç yöntemden biride SoapExtension classından yada customize edilmesinden faydalanmak.

Bir yöntemde networku dinlemek. Araştırmam esnasında http://www.wireshark.org/ ürününü gördüm. Belki ufuk olur diye bunuda not edeyim...

 

Kendi çalışmamada web.config'e 2 adet parametre ekleniyor WsLogModuleList, SimpleLogPath isimli.

WsLogModuleList :

[TraceExtension(Filename = "C:\\wslogtest\\log.txt", ModuleName = "HelloWorld")]

ModuleName = "HelloWorld" değeri WsLogModuleList parametresinde ayrılmış şekilde bulunuyorsa bu web metod loglanıyor.

SimpleLogPath : Eğer TraceExtension bölümünde File Name ile ayrı bir path belirtilmemişse logu SimpleLogPath te belirtilen yere alır.

 İyi çalışmalar.

 

Not 1: wcf trace etmek için bu yöntemi kullanmayın. wcf için bu link belki iş görebilir. Writing a WCF Message Inspector

Not 2: web servisi test etmek için localde browserda gelen web servis test etmek için kullanılan invoke komutunu kullanmayın.

 



jquery iframe data yönetimi - 2

clock Aralık 18, 2012 09:32 by author OzgurOzvaris

Bir önceki yazımızda iframe içine bir div koyarak içeriğine erişip değiştirmiştik. Şimdi ise daha farklı bir yaklaşım dan bahsedeceğim.

Kaynağına buradan erişebilirsiniz.

<html>
  <head>
    <script type="text/javascript" src="jquery.js"></script>
    <script>
      $(document).ready(function(){
        var locations = ["http://webPage1.com", "http://webPage2.com"];
        var len = locations.length;
        var iframe = $('#frame');
        var i = 0;
        setInterval(function () {
            $(iframe).attr('src', locations[++i % len]);
        }, 30000);
      });
    </script>
  </head>
  <body>
    <iframe id="frame"></iframe>
  </body>
</html>



Örnekte görüldüldüğü üzere

$(iframe).attr('src', '...');.

Komutu ile iframe'in src tagını değiştirebiliyoruz. Örnekte birde setinterval kullanılmış. Sebebi asenkron olarak iframe yüklendikten sonra srcyi değiştirebilmek. Bazen direk olarak bu değişikliği yapmaya çalışırsanız daha iframe derlenmediği için sonuç alınamayabilir.

İyi çalışmalar



Windows 8 port 80 problemi

clock Aralık 13, 2012 12:01 by author OzgurOzvaris

Windows8 bazen 80 numaralı portu meşgul edebilir. Bu sorunun çözümü için bir kaç makaleden faydalandım.

http://superuser.com/questions/352017/pid4-using-port-80

http://lordamit.blogspot.de/2012/06/windows-7-windows-8-apache-errorport-80.html

Öncelikle netstat -nao | find "80" komutu ile 80 numaralı portu kimin dinlediğine bir bakın 

 

PID değerine bakarak taskmanagerdan hangi uygulamanın kullanıdığına bakalım.

 

 

 

Eğer kullanan System ne NT Kernel ise

• RegEdit'i açın
• HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HTTP Açın
• Start to değerini 4 (disable) yapın
• Kapatıp açın

İyi çalışmalar.



jquery iframe data yönetimi

clock Aralık 11, 2012 10:15 by author OzgurOzvaris

iframe içindeki datanın yönetilebilmesi için güzel bir örnek buldum.

http://simple.procoding.net/2008/03/21/how-to-access-iframe-in-jquery/

<iframe id="iframeID" ...></iframe>

iframe içine bir div yerleştirilir.

<div id="someID">Hello world!</div>

sonra dive erişilerek data yönetilir.

$('#iframeID').contents().find('#someID').html();


Ext JS Dünyası

clock Aralık 7, 2012 11:03 by author OzgurOzvaris

Gerçekten çok güzel bir Javascript kütüphanesi. http://docs.sencha.com/ adresinden en güncel versiyonu takip edebilirsiniz.

Multi windows yada tabs diyebileceğimiz uygulama mantığı çok güzel.

"Web Desktop" örnek uygulamalarına hayranım.

http://docs.sencha.com/ext-js/4-0/#!/example/desktop/desktop.html (Web Desktop uygulamasının lnki versiyonla değişiyor)

Tavsiye Ederim.

Herkese Selamlar.



C# Başlangıç

clock Aralık 5, 2012 18:03 by author OzgurOzvaris

 (Bu yazı test amaçlıdır. Siteyi test edip görselliğini ayarlıyorum.)

Değerli Arkadaşlar Merhaba,

Yeni bir blog çalışması ile karşınızdayız. İlim paylaştıkça çoğalık kaidesince dilim döndüğünce buradan bilgi ve tecrübelerimi paylaşmaya gayret edeceğim.

Umarım herkese faydalı olur. Bismillah deyip başlayalım.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            HelloWord();
        }

        public static void HelloWord()
        {
            int i = 5;
            string s = "Merhaba Dünya";

            for (int j = 0; j < i; j++)
            {
                Console.WriteLine(s);
                
            }

            Console.Read();

        }
    }
}

Yukarıda gördüğünüz uygulama basip bir console uygulamasıdır. Çalıştırdığımızda aşağıdaki ekran görüntüsünü alıyoruz.

vs2010 .net 4.0 Kaynak Kod : ConsoleApplication1.zip (30,94 kb)



Başlangıç noktamız burası olsun.

Test yazısını şimdilik ara veriyorum.



Hakkımızda  AboneOl 

Blog Yayınımıza Hoşgeldiniz.

Month List

RecentPosts

Sign In