Forum

SOAP Gelen Verinin ...
 
Bildirimler
Hepsini Temizle

[Çözüldü] SOAP Gelen Verinin Parse Edilmesi

6 Yazılar
3 Üyeler
0 Likes
1,161 Görüntüleme
(@ibrahimayhan)
Gönderiler: 493
Prominent Member
Konu başlatıcı
 

Merhabalar ÇözümPark ve Ekibi,
Kullandığımız HES Sorgulama Servisleri SOAP Request İle Veri Alınmaktadır,
SOAPResult Üzerinden Gelen Sonuç Aşağıdaki Gibidir,

Burada Benim İstediğim Durum Result İçerisinde Gelen Veriden Aşağıdaki Nesnelerinin Karşılığını Nasıl Parse Edebileceğimdir,

Sizlerden Bu Konu Hakkında Bilgi Beklemekteyim, İyi Çalışmalar...

expiration_date
current_health_status
masked_identity_number
masked_firstname
masked_lastname

<?xml version="1.0" encoding="UTF-8"?><SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><Servis5001Response xmlns="urn:TobbHes"><Sonuc xmlns="">[{&quot;Durum&quot;:&quot;Success&quot;,&quot;Kaynak&quot;:&quot;Servis&quot;,&quot;Aciklama&quot;:&quot;Servis5001&quot;}]</Sonuc><Veri xmlns="">{&quot;expiration_date&quot;:&quot;2022-03-13T13:29:46.776Z&quot;,&quot;current_health_status&quot;:&quot;RISKLESS&quot;,&quot;masked_identity_number&quot;:&quot;*****564&quot;,&quot;masked_firstname&quot;:&quot;HA* İB*&quot;,&quot;masked_lastname&quot;:&quot;AY* &quot;}</Veri></Servis5001Response></SOAP-ENV:Body></SOAP-ENV:Envelope>

*********************************************************************

Test Amaçlı Gelen Veriyi JsonConvert Ettiğimde Aşağıdaki Gibi Olmuşmaktadır,

{"?xml":{"@version":"1.0","@encoding":"UTF-8"},"SOAP-ENV:Envelope":{"@xmlns:SOAP-ENV":"http://schemas.xmlsoap.org/soap/envelope/","@xmlns:xsd":"http://www.w3.org/2001/XMLSchema","@xmlns:xsi":"http://www.w3.org/2001/XMLSchema-instance","@xmlns:SOAP-ENC":"http://schemas.xmlsoap.org/soap/encoding/","SOAP-ENV:Body":{"Servis5001Response":{"@xmlns":"urn:TobbHes","Sonuc":{"@xmlns":"","#text":"[{\"Durum\":\"Success\",\"Kaynak\":\"Servis\",\"Aciklama\":\"Servis5001\"}]"},"Veri":{"@xmlns":"","#text":"{\"expiration_date\":\"2022-03-13T13:29:46.776Z\",\"current_health_status\":\"RISKLESS\",\"masked_identity_number\":\"**564\",\"masked_firstname\":\"HA* İB*\",\"masked_lastname\":\"AY* \"}"}}}}}
 
Gönderildi : 26/12/2020 08:45

Sait ORHAN
(@saitorhan)
Gönderiler: 46
Trusted Member
 

Merhaba,

Gelen Xml verisi içerisinden <Veri> alanının değerini bir string değere atadıktan sonra aşağıdaki yolu izleyerek istenen değerler alınabilir. Verileri strveriler değişkenine atadığımızı farzedelim.

 

1. Belirttiğiniz özellikler "," ile birbirinden ayrılmış durumda. Bundan dolayı strveriler değişkenini "," değerine göre pars edersek sonuçta elimizde istediğiniz değerleri içeren bir dizi olacaktır.

string[] degerler = strveriler.Split(',');

 

2. Dönen bu degerler dizisinin her bir elemanının içerisinde de ":" ile birbirinden ayrılmış anahtar değer verisi var. Burada da sıralar sabit olduğundan aşağıdaki şekilde değerler alınabilir.

 

expiration_date = degerler[0].Split(':')[1];
current_health_status = degerler[1].Split(':')[1];
masked_identity_number = degerler[2].Split(':')[1];
masked_firstname = degerler[3].Split(':')[1];
masked_lastname = degerler[4].Split(':')[1];

---------
Sait ORHAN
Bilgisayar Mühendisi
Web: http://saitorhan.com

 
Gönderildi : 26/12/2020 09:06

(@ibrahimayhan)
Gönderiler: 493
Prominent Member
Konu başlatıcı
 

@saitorhan Merhabalar Sait Bey, Geri Dönüşünüz İçin Teşekkür Ediyorum,
Dize Olarak Aldığımda Bazı Alanlar Karşılığı null Gelme Durumu Görülmüştür,

Dize Number İle Bu Durum Yapıldığında Proje Catch Bloguna Almaktadır,

 
Gönderildi : 26/12/2020 09:16

(@ibrahimayhan)
Gönderiler: 493
Prominent Member
Konu başlatıcı
 

Merhabalar Yaşadığım Durumu Aşağıdaki Şekilde Çözümledim,

[{"Durum":"Success","Kaynak":"Servis","Aciklama":"Servis5001"}]{"expiration_date":"2022-03-13T13:29:46.776Z","current_health_status":"RISKLESS","masked_identity_number":"*****564","masked_firstname":"HA* İB*","masked_lastname":"AY* "}

Gelen SOAP Result Yukarıdaki Gibiydi,

XmlDocument XMLDCMNT = new XmlDocument();
XMLDCMNT.LoadXml(soapResult);
var jsonText = JsonConvert.SerializeXmlNode(XMLDCMNT.ChildNodes[1].ChildNodes[0].ChildNodes[0].ChildNodes[1]);

LoadXML İle Veri Çevrildi ve Sonrasında SerializeXmlNode İle Verimiz ChildNodes İçerisine Ayrılmıştır.

XmlDocument doc = (XmlDocument)JsonConvert.DeserializeXmlNode(jsonText);

Oluşan jsonText Verimiz DeserializeXmlNode İle Convert Edilmiştir,

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

namespace TOBBHesKoduSorgulama
{
public class HESResult
{
public DateTime expiration_date { get; set; }
public string current_health_status { get; set; }
public string masked_identity_number { get; set; }
public string masked_firstname { get; set; }
public string masked_lastname { get; set; }
}
}

Yukarıdaki Gibi Class Oluşturdum ve Gelen Verimiz Artık doc.InnerText İçerisinden Ayrılmış Durumdadır.

{"expiration_date":"2022-03-13T13:29:46.776Z","current_health_status":"RISKLESS","masked_identity_number":"*****564","masked_firstname":"HA* İB*","masked_lastname":"AY* "}

Veri Json Türünde Olduğu İçin Artık Convert Sağlayabilirim 🙂

HESResult JsonVeri = JsonConvert.DeserializeObject(doc.InnerText);

ve Sonuç 🙂

image
 
Gönderildi : 26/12/2020 09:23

Hakan Uzuner
(@hakanuzuner)
Gönderiler: 32993
Illustrious Member Yönetici
 

Geri dönüş ve bilgi için teşekkürler.

Danışman - ITSTACK Bilgi Sistemleri
****************************************************************
Probleminiz Çözüldüğünde Sonucu Burada Paylaşırsanız.
Sizde Aynı Problemi Yaşayanlar İçin Yardım Etmiş Olursunuz.
Eğer sorununuz çözüldü ise lütfen "çözüldü" olarak işaretlerseniz diğer üyeler için çok büyük kolaylık sağlayacaktır.
*****************************************************************

 
Gönderildi : 26/12/2020 12:58

Sait ORHAN
(@saitorhan)
Gönderiler: 46
Trusted Member
 

@ibrahimayhan Paylaşımınız için teşekkür ederim.

---------
Sait ORHAN
Bilgisayar Mühendisi
Web: http://saitorhan.com

 
Gönderildi : 26/12/2020 13:03

Paylaş: