Arşiv

Posts Tagged ‘web servis’

vb xml ve json web servis veri alma


xml_jsonMerhaba

Bugün daha önce yazdığım vb xml ve json web servis konusu ile hazırladığımız servisi kullanarak veri alama işlemini yapacağız. Bu işlem için öncelikle bir Console uygulaması hazırlayalım ve daha önce oluşturuduğumuz servisi bu proje içine referans olarak ekleyelim. Visual Studio içinde “File > New > Project > Visual Basic > Windows > Console Application” seçimi ile uygulamamızı hazırlayalım. Daha sonra ise proje üzerinde References üzerinde sağ tık ile açılan menüden Add Service Reference ile bir önceki makalede hazırladığımız servisimizi ekleyelim.Daha önce hazırladığımız servisimizi localhsot üzerinde çalıştırıp adresini aldıktan sonra servis referansa ” http://localhost:58079/JSONandXML.asmx?wsdl ” olarak ekliyoruz ve servis referans adı olarak da JSONandXMLVb değerini veriyoruz. Daha sonra yine references alanında yine sağ tık ile add reference diyoruz ve JSON web servisi parse edebilmek için gerekli olan System.Web.Extensions dll ini ekliyoruz. Artık programımızda servislerden veri alacak kodlarımızı yazalım. İlk olarak JSON parse işelminde ihtiyacımız olan Member.vb class ımızı oluşturalım.

[Member.vb]

Public Class Member

    Private m_Id As Integer
    Public Property Id() As Integer
        Get
            Return m_Id
        End Get
        Set
            m_Id = Value
        End Set
    End Property

    Private m_Name As String
    Public Property Name() As String
        Get
            Return m_Name
        End Get
        Set
            m_Name = Value
        End Set
    End Property

    Private m_Salary As Integer
    Public Property Salary() As Integer
        Get
            Return m_Salary
        End Get
        Set
            m_Salary = Value
        End Set
    End Property

    Private m_Position As String
    Public Property Position() As String
        Get
            Return m_Position
        End Get
        Set
            m_Position = Value
        End Set
    End Property

End Class

Member class ımız hazır olduğuna göre artık kodlarımız tamamlayalım.

[Program.vb]

Imports System.Web.Script.Serialization

Module Program

    Sub Main()

        Dim xmlClient As JSONandXMLVb.JSONandXMLSoapClient = New JSONandXMLVb.JSONandXMLSoapClient
        Dim teamFromXML = xmlClient.GetTeamFromXML
        Console.WriteLine("XML'den gelen sonuçlar:")
        For Each item In teamFromXML
            Console.WriteLine(item.Id & " " & item.Name & " " & item.Position & " " & item.Salary)
        Next
        Console.WriteLine()

        Dim jsonClient As JSONandXMLVb.JSONandXMLSoapClient = New JSONandXMLVb.JSONandXMLSoapClient
        Dim teamFromJSON = jsonClient.GetTeamFromJSON
        Dim jss As JavaScriptSerializer = New JavaScriptSerializer
        Dim members As List(Of Member) = New List(Of Member)
        members = jss.Deserialize(Of List(Of Member))(teamFromJSON)
        Console.WriteLine("JSON'dan gelen sonuçlar:")
        For Each item In members
            Console.WriteLine(item.Id & " " & item.Name & " " & item.Position & " " & item.Salary)
        Next
        Console.ReadKey()

    End Sub

End Module

Yukarıdaki kodlarda da görüldüğü gibi hem XML’den hemde JSON’dan gelen sonuçları çıktı olarak console üzerine yazdırık. Kodlarda özellikle farklı client oluşturdum xmlClient ve jsonClient şekilinde , bu sebeple iki servis için yazılan kodları ayrı ayrı okumak kolay ve anlaşılır olabilir. Yukarıdaki kodlar çalıştığında çıktı aşağıdaki gibi olacaktır.

XML'den gelen sonuçlar:
1 Samet Software Specialist 10000
2 Kubilay Software Specialist 10000
3 Erkan Software Specialist 10000

JSON'dan gelen sonuçlar:
1 Samet Software Specialist 10000
2 Kubilay Software Specialist 10000
3 Erkan Software Specialist 10000

Projenin kaynak kodlarına üzerinden ulaşabilirsiniz.
Kolay gelsin.

Kategoriler:Vb Etiketler:, , , ,

c# xml ve json web servis veri alma


Merhaba xml_json
Bugün daha önce yazdığım c# xml ve json web servis konusu ile hazırladığımız servisi kullanarak veri alama işlemini yapacağız. Bu işlem için öncelikle bir Console uygulaması hazırlayalım ve daha önce oluşturuduğumuz servisi bu proje içine referans olarak ekleyelim. Visual Studio içinde “File > New > Project > Visual C# > Windows > Console Application” seçimi ile uygulamamızı hazırlayalım. Daha sonra ise proje üzerinde References üzerinde sağ tık ile açılan menüden Add Service Reference ile bir önceki makalede hazırladığımız servisimizi ekleyelim. Daha önce hazırladığımız servisimizi localhsot üzerinde çalıştırıp adresini aldıktan sonra servis referansa http://localhost:57654/JSONandXML.asmx?wsdl olarak ekliyoruz ve servis referans adı olarak da “JSONandXMLCs” değerini veriyoruz. Daha sonra yine references alanında yine sağ tık ile add reference diyoruz ve JSON web servisi parse edebilmek için gerekli olan System.Web.Extensions dll ini ekliyoruz. Artık programımızda servislerden veri alacak kodlarımızı yazalım. İlk olarak JSON parse işelminde ihtiyacımız olan Member.cs class ımızı oluşturalım.

[Member.cs]

namespace CallJSONandXMLCs
{
    public class Member
    {
        public int Id { get; set; }
        public string Name { get; set; }
        public int Salary { get; set; }
        public string Position { get; set; }
    }
}

Member class ımız hazır olduğuna göre artık kodlarımız tamamlayalım.

[Program.cs]

using System;
using System.Collections.Generic;
using System.Web.Script.Serialization;

namespace CallJSONandXMLCs
{
    class Program
    {
        static void Main(string[] args)
        {
            JSONandXMLCs.JSONandXMLSoapClient xmlClient = new JSONandXMLCs.JSONandXMLSoapClient();
            var teamFromXML = xmlClient.GetTeamFromXML();
            Console.WriteLine("XML'den gelen sonuçlar:");
            foreach (var item in teamFromXML)
            {
                Console.WriteLine(item.Id + " " + item.Name + " " + item.Position + " " + item.Salary);
            }
            Console.WriteLine();

            JSONandXMLCs.JSONandXMLSoapClient jsonClient = new JSONandXMLCs.JSONandXMLSoapClient();
            var teamFromJSON = jsonClient.GetTeamFromJSON();
            JavaScriptSerializer jss = new JavaScriptSerializer();
            List<Member> members = new List<Member>();
            members = jss.Deserialize<List<Member>>(teamFromJSON);
            Console.WriteLine("JSON'dan gelen sonuçlar:");
            foreach (var item in members)
            {
                Console.WriteLine(item.Id + " " + item.Name + " " + item.Position + " " + item.Salary);
            }
            Console.ReadKey();
        }
    }
}

Yukarıdaki kodlarda da görüldüğü gibi hem XML’den hemde JSON’dan gelen sonuçları çıktı olarak console üzerine yazdırık. Kodlarda özellikle farklı client oluşturdum xmlClient ve jsonClient şekilinde , bu sebeple iki servis için yazılan kodları ayrı ayrı okumak kolay ve anlaşılır olabilir. Yukarıdaki kodlar çalıştığında çıktı aşağıdaki gibi olacaktır.

XML'den gelen sonuçlar:
1 Samet Software Specialist 10000
2 Kubilay Software Specialist 10000
3 Erkan Software Specialist 10000

JSON'dan gelen sonuçlar:
1 Samet Software Specialist 10000
2 Kubilay Software Specialist 10000
3 Erkan Software Specialist 10000

Projenin kaynak kodlarına üzerinden ulaşabilirsiniz.
Kolay gelsin.

Kategoriler:C# Etiketler:, , , ,

vb xml ve json web servis

12 Kasım 2016 1 yorum

Merhabaxml_json
Bugün Vb ile XML ve JSON web servis hazırlamaya bakacağız. Bir web servis hazırlayıp bu servis ile bir takım içindeki çalışanların id, adı, maaşı ve pozisyonu bilgilerini hem xml hem de json olarak nasıl alabilceğimize bakacağız. Bu işlem için önce bir proje açalım. Visual Studio içinde “File > New > Project > Visual Basic > Windows > Web > ASP.NET Web Application” seçiminden sonra ekrana gelen seçimlerden “Empty” seçimi ile projemizi oluşturalım. Proje oluştuktan sonra proje üzerinde sağ tık ile “Add > Web Service(ASMX)” seçimi ile servisimizi ekleyelim. Artık proje için herşey hazır olduğuna göre şimdi servis içinde kullanacağımız class larımızı hazırlayalım. İlk olarak takım üyelerinin bilgilerinin oldugu “Member” classını ve sonrasında da “Team” classını oluşturualım.

[Member.vb]

Public Class Member

    Private m_Id As Integer
    Public Property Id() As Integer
        Get
            Return m_Id
        End Get
        Set
            m_Id = Value
        End Set
    End Property

    Private m_Name As String
    Public Property Name() As String
        Get
            Return m_Name
        End Get
        Set
            m_Name = Value
        End Set
    End Property

    Private m_Salary As Integer
    Public Property Salary() As Integer
        Get
            Return m_Salary
        End Get
        Set
            m_Salary = Value
        End Set
    End Property

    Private m_Position As String
    Public Property Position() As String
        Get
            Return m_Position
        End Get
        Set
            m_Position = Value
        End Set
    End Property

End Class

[Team.vb]

Public Class Team
    Public Function GetTeamMembers() As Member()
        Dim teamMembers As Member() = New Member() {
            New Member() With {.Id = 1, .Name = "Samet", .Salary = 10000, .Position = "Software Specialist"},
            New Member() With {.Id = 2, .Name = "Kubilay", .Salary = 10000, .Position = "Software Specialist"},
            New Member() With {.Id = 3, .Name = "Erkan", .Salary = 10000, .Position = "Software Specialist"}}

        Return teamMembers
    End Function
End Class

İşlem yapacağımız classlarımız artık hazır şimdi bu classları kullanacağımız servisimizin içeriğini hazırlayalım. Servisimizin içinde iki adet metodumuz olacak, birisi XML olarak diğeride aynı veriyi JSON olarak bize verecek. Metodlarımız GetTeamFromXML ve GetTeamFromJSON olacak.

[JSONandXML.asmx.vb]

Imports System.ComponentModel
Imports System.Web.Script.Serialization
Imports System.Web.Script.Services
Imports System.Web.Services

' To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line.
' <System.Web.Script.Services.ScriptService()> _
<System.Web.Services.WebService(Namespace:="http://sametcelikbicak.com/")>
<System.Web.Services.WebServiceBinding(ConformsTo:=WsiProfiles.BasicProfile1_1)> _
<ToolboxItem(False)> _
Public Class JSONandXML
    Inherits System.Web.Services.WebService

    <WebMethod>
    Public Function GetTeamFromXML() As Member()
        Dim team As New Team()
        Return team.GetTeamMembers()
    End Function

    <WebMethod>
    <ScriptMethod(ResponseFormat:=ResponseFormat.Json)>
    Public Function GetTeamFromJSON() As String
        Dim team As New Team()
        Return New JavaScriptSerializer().Serialize(team.GetTeamMembers())
    End Function

End Class

Artık herşey kullanıma hazır şimdi projeyi çalıştırıp servisin çalışmasını ve dönen değerlere bakalım. Servis çalıştığında aşağıdaki gibi görünecektir.

jsonandxmlvb

İlk olarak alıştığımız gibi XML metodunu çağırdık ve gelen sonuç aşağıdaki gibidir.

[GetTeamFromXML]

<?xml version="1.0" encoding="UTF-8"?>
<ArrayOfMember xmlns="http://sametcelikbicak.com/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Member>
<Id>1</Id>
<Name>Samet</Name>
<Salary>10000</Salary>
<Position>Software Specialist</Position>
</Member>
<Member>
<Id>2</Id>
<Name>Kubilay</Name>
<Salary>10000</Salary>
<Position>Software Specialist</Position>
</Member>
<Member>
<Id>3</Id>
<Name>Erkan</Name>
<Salary>10000</Salary>
<Position>Software Specialist</Position>
</Member>
</ArrayOfMember>

Şimdide aynı verilere sahip sonuçları bize veren JSON metodunu çağıralım ve sonuçlarına bakalım.

[GetTeamFromJSON]


<?xml version="1.0" encoding="UTF-8"?>
<string xmlns="http://sametcelikbicak.com/">[{"Id":1,"Name":"Samet","Salary":10000,"Position":"Software Specialist"},{"Id":2,"Name":"Kubilay","Salary":10000,"Position":"Software Specialist"},{"Id":3,"Name":"Erkan","Salary":10000,"Position":"Software Specialist"}]</string>

Artık bir web servis ile hem xml hemde json olarak verileri alabiliyoruz.

Projenin kaynak kodlarına üzerinden ulaşabilirsiniz.
Kolay gelsin.

c# xml ve json web servis

06 Kasım 2016 1 yorum

Merhabaxml_json
Bugün C# ile XML ve JSON web servis hazırlamaya bakacağız. Bir web servis hazırlayıp bu servis ile bir takım içindeki çalışanların id, adı, maaşı ve pozisyonu bilgilerini hem xml hem de json olarak nasıl alabilceğimize bakacağız. Bu işlem için önce bir proje açalım. Visual Studio içinde “File > New > Project > Visual C# > Windows > Web > ASP.NET Web Application” seçiminden sonra ekrana gelen seçimlerden “Empty” seçimi ile projemizi oluşturalım. Proje oluştuktan sonra proje üzerinde sağ tık ile “Add > Web Service(ASMX)” seçimi ile servisimizi ekleyelim. Artık proje için herşey hazır olduğuna göre şimdi servis içinde kullanacağımız class larımızı hazırlayalım. İlk olarak takım üyelerinin bilgilerinin oldugu “Member” classını ve sonrasında da “Team” classını oluşturualım.

[Member.cs]

namespace JSONandXMLCs
{
    public class Member
    {
        public int Id { get; set; }
        public string Name { get; set; }
        public int Salary { get; set; }
        public string Position { get; set; }
    }
}

[Team.cs]

namespace JSONandXMLCs
{
    public class Team
    {
        public Member[] GetTeamMembers()
        {
            Member[] teamMembers = new Member[]
            {
            new Member() { Id=1,Name="Samet",Salary=10000,Position="Software Specialist"},
            new Member() { Id=2,Name="Kubilay",Salary=10000,Position="Software Specialist"},
            new Member() { Id=3,Name="Erkan",Salary=10000,Position="Software Specialist"},
            };

            return teamMembers;
        }
    }
}

İşlem yapacağımız classlarımız artık hazır şimdi bu classları kullanacağımız servisimizin içeriğini hazırlayalım. Servisimizin içinde iki adet metodumuz olacak, birisi XML olarak diğeride aynı veriyi JSON olarak bize verecek. Metodlarımız GetTeamFromXML ve GetTeamFromJSON olacak.

[JSONandXML.asmx.cs]

using System.Web.Services;
using System.Web.Script.Services;
using System.Web.Script.Serialization;

namespace JSONandXMLCs
{
    [WebService(Namespace = "http://sametcelikbicak.com/")]
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
    [System.ComponentModel.ToolboxItem(false)]
    public class JSONandXML : System.Web.Services.WebService
    {
        [WebMethod]
        public Member[] GetTeamFromXML()
        {
            Team team = new Team();
            return team.GetTeamMembers();
        }

        [WebMethod]
        [ScriptMethod(ResponseFormat = ResponseFormat.Json)]
        public string GetTeamFromJSON()
        {
            Team team = new Team();
            return new JavaScriptSerializer().Serialize(team.GetTeamMembers());
        }
    }
}

Artık herşey kullanıma hazır şimdi projeyi çalıştırıp servisin çalışmasını ve dönen değerlere bakalım. Servis çalıştığında aşağıdaki gibi görünecektir.

jsonandxmlcs

İlk olarak alıştığımız gibi XML metodunu çağırdık ve gelen sonuç aşağıdaki gibidir.

[GetTeamFromXML]

<?xml version="1.0" encoding="UTF-8"?>
<ArrayOfMember xmlns="http://sametcelikbicak.com/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Member>
<Id>1</Id>
<Name>Samet</Name>
<Salary>10000</Salary>
<Position>Software Specialist</Position>
</Member>
<Member>
<Id>2</Id>
<Name>Kubilay</Name>
<Salary>10000</Salary>
<Position>Software Specialist</Position>
</Member>
<Member>
<Id>3</Id>
<Name>Erkan</Name>
<Salary>10000</Salary>
<Position>Software Specialist</Position>
</Member>
</ArrayOfMember>

Şimdide aynı verilere sahip sonuçları bize veren JSON metodunu çağıralım ve sonuçlarına bakalım.

[GetTeamFromJSON]


<?xml version="1.0" encoding="UTF-8"?>
<string xmlns="http://sametcelikbicak.com/">[{"Id":1,"Name":"Samet","Salary":10000,"Position":"Software Specialist"},{"Id":2,"Name":"Kubilay","Salary":10000,"Position":"Software Specialist"},{"Id":3,"Name":"Erkan","Salary":10000,"Position":"Software Specialist"}]</string>

Artık bir web servis ile hem xml hemde json olarak verileri alabiliyoruz.

Projenin kaynak kodlarına üzerinden ulaşabilirsiniz.
Kolay gelsin.

%d blogcu bunu beğendi: