Veritabanı Mssql
-
Arkadaşlar İlk önce .net ile SQL serverden veri çekip almak için bi servis oluşturdum (web servis) Veri tabanı işlemlerini Entitiy ile yapıyorum.. Daha sonra bu Servisi Android ( JAVA ) projemde çağırmaya çalıştım
Soap ile Çağırdım Ama bu hatayı aldım..
Visual studioda Localhost da çalıştırınca veri ekleyip silebiliyorum herhangi bir hata yok IIS de IP üzerinden çağırıyorum gene hata yok ... Fakat Telefondan WİFİ açıp bağlanınca veri ekleyince bu hatayı alıyorum
Internetten 2-3 saattir bakıyorum fakat doğru cevabı bulamadım .. Genelde bu hata Entitiynin kuralları aştığında veritabanını patlatıyor.. Try Catch bloğuna aldım .Net Kısmında (Visual studio) Hata olarak da string bir değer döndürdüm fakat hata vermiyor... Veritabanındaki Stunları nvarchar(MAX) yaptım sınır kuralını aşıyorumdur diye gene olmadı yardımcı olabilecek var mı ? Yada şunu yap belki olur diyebilecek bi mürit ?
MhmdAlmz tarafından 14/Ara/15 01:27 tarihinde düzenlenmiştir
-
Şu Koddan Web servise null değer dönüyor neden ?
try{
OPERATION_NAME="UserAdd";
SoapObject Soap=new SoapObject(WSDL_TARGET_NAMESPACE,OPERATION_NAME);
//Degerleri Gönder
PropertyInfo pi=new PropertyInfo();
pi.setName("UserId");
pi.setValue("Ahmet");
pi.setType(String.class);
Soap.addProperty(pi);
pi=new PropertyInfo();
pi.setName("UserAge");
pi.setValue("2");
pi.setType(String.class);
Soap.addProperty(pi);
pi=new PropertyInfo();
pi.setName("State");
pi.setValue("2");
pi.setType(String.class);
Soap.addProperty(pi);
//Servise Gönder
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
envelope.dotNet = true;
envelope.setOutputSoapObject(Soap);
HttpTransportSE httpTransport=new HttpTransportSE(SOAP_ADDRESS);
httpTransport.debug=true;
//httpTransport.setXmlVersionTag("<?xml version="+"1.0"+" encoding="+"UTF-8"+" ?>");
httpTransport.call(SOAP_ACTION , envelope);
Object Response;
Response=httpTransport.responseDump;
return Response.toString() ;
}
catch(Exception e)
{
return "- HATA - "+e.getMessage();
}
-
hocam böyle çözülmez bu..
önce wcf de hata ayıklamayı öğrenmelisin..
http://www.codeproject.com/Articles/420538/Simple-Steps-to-Enable-Tracing-in-WCF
burada anlatıldığı gibidiagnostics kısmını aktif yap böylece hata oluştuğunda detaylı loglamayı Service Trace Viewer (svctraceviewer.exe) da görebilirsin.. Trace viewerı açtığında hatanın rengi sol tarafta kırmızı olarak gösterilir, ona basarsan sağ tarafta tüm detayları görürsün..
İkinci kullanacağın araç ise WcfTestClient dır. Bununla da direk servisi ekleyip, servis fonksiyonlarını invoke edebilirsin..
Hatadan çok anlaşılmıyor ama problemin büyük ihtimal tür uyuşmazlığı ile ilgili.. Bir arkadaş java da servis yazmıştı, ben de .net tarafında bağlanırken sorun yaşamıştım. Keza şimdi yaptığım wcf servisine ios tarafından bağlanınca bazı türlerde sıkıntı olabiliyor..
mesela enum lar varsa cast ediyorsan integer a, Flag attribute ile işaretlemen lazım gibi.. Genelde datetime format, double tipinde hata verir.. Datetime'ı belirli bir formatta yolla hocam, keza double da sistemine göre değişebilir. Mesela ingilizcede nokta iken, türkçede virgül olabiliyor (ya da tam tersi hatırlamıyorum) ama bu şekilde sıkıntı çıkartıyor.. Bunlara dikkat etmen lazım..
Zamanım olsa bağlanıp bakarım ama yetiştirmem gereken şeyler var
-
unbalanced bunu yazdı
hocam böyle çözülmez bu..
önce wcf de hata ayıklamayı öğrenmelisin..
http://www.codeproject.com/Articles/420538/Simple-Steps-to-Enable-Tracing-in-WCF
burada anlatıldığı gibidiagnostics kısmını aktif yap böylece hata oluştuğunda detaylı loglamayı Service Trace Viewer (svctraceviewer.exe) da görebilirsin.. Trace viewerı açtığında hatanın rengi sol tarafta kırmızı olarak gösterilir, ona basarsan sağ tarafta tüm detayları görürsün..
İkinci kullanacağın araç ise WcfTestClient dır. Bununla da direk servisi ekleyip, servis fonksiyonlarını invoke edebilirsin..
Hatadan çok anlaşılmıyor ama problemin büyük ihtimal tür uyuşmazlığı ile ilgili.. Bir arkadaş java da servis yazmıştı, ben de .net tarafında bağlanırken sorun yaşamıştım. Keza şimdi yaptığım wcf servisine ios tarafından bağlanınca bazı türlerde sıkıntı olabiliyor..
mesela enum lar varsa cast ediyorsan integer a, Flag attribute ile işaretlemen lazım gibi.. Genelde datetime format, double tipinde hata verir.. Datetime'ı belirli bir formatta yolla hocam, keza double da sistemine göre değişebilir. Mesela ingilizcede nokta iken, türkçede virgül olabiliyor (ya da tam tersi hatırlamıyorum) ama bu şekilde sıkıntı çıkartıyor.. Bunlara dikkat etmen lazım..
Zamanım olsa bağlanıp bakarım ama yetiştirmem gereken şeyler var
Abi sorun zaten propertylerin null göndermesi hiçbir veriyi göndermiyor servise o yüzden hata alıyorum göndermemesinin sebebi soap kütüphanesi diye yeniden indirdim. Tür uyuşmazlığı olması imkansız onu tektek 3 defa kontrol ettim web servis benim olduğu için veri türleri. Aynı 2 3 defa çağırdım bu web servisi hiç sıkıntı olmadı bu gün karşılaştım bununla :/ bu dediğin şeye baktım da hiçbirşey anlamdım ileri seviye programcı için bunlar inine inmek için :/ ben daha begginerim ama Buna daha sonra bakacağım öğrenene kadar iyi birşeye benziyor ama işte anlasam
-
neden harici bir kütüphane kullanıyorsun ki hocam, burda dinamik servis oluşturma varmış zaten
http://www.codeproject.com/Articles/777036/Consuming-WCF-Service-in-Java-Client
arkaplanda servisin proxysisini oluşturuyor ve o şekilde bağlanıyor. Bu şekilde yöntemi kullanmak daha doğru ve kolaydır . Çünkü diğer türlü manual olarak fonksiyon adından tut da, değişken türü,ismi v.s. hep senin vermen lazım.. Ama bahsettiğm şey proxy sayesinde servisin metodlarını oluşturuyor.
-
unbalanced bunu yazdı
neden harici bir kütüphane kullanıyorsun ki hocam, burda dinamik servis oluşturma varmış zaten
http://www.codeproject.com/Articles/777036/Consuming-WCF-Service-in-Java-Client
arkaplanda servisin proxysisini oluşturuyor ve o şekilde bağlanıyor. Bu şekilde yöntemi kullanmak daha doğru ve kolaydır . Çünkü diğer türlü manual olarak fonksiyon adından tut da, değişken türü,ismi v.s. hep senin vermen lazım.. Ama bahsettiğm şey proxy sayesinde servisin metodlarını oluşturuyor.
Benimde öyle abim bende clientimi kendim yazıyorum Hazır kütüphane kullanma taraftarı değilim zaten sanıırm benim telefonda sorun var null değer gönderiyor .s
-
hocam telefondan neden deniyorsunki önce? normal olarak simulatorde denediğinde ne oluyor? en kötü ihtimal bir tane java test uygulaması yap onunla dene.. Orada sorunları çöz daha sonra mobil platforma taşı. sonuçta kullandığın dil android..
Bu arada eskiden android üzerine çalışırken, çalıştığım firmadaki webservisi (.net ile yazılmıştı) kullanamamıştım, daha sonra yazan eleman demişti ki bazı şeylerin değişmesi lazım java ile uyumu yoktu.. ama neydi ne değildi hatırlamıyorum.. Basit şeylerle başlamak en iyisi, adım adım gidip sorunu bulman gerek..
Önce parametresiz bir şey çalıştırmayı dene, sonra tek parametre ama primitive tipte bir parametre alacak, sonra belki bir custom class (ama parse etmede sıkıntı olabilir ya da dictironary tarzı şeyleri göndermek)..
ayrıca neden soap yaptın ki? restful da işini görebilirdi hem daha az sorun çıkarırdı, soap olayı baya karıştırır, hele tecrüben yoksa işin içinden çıkmak zor olabiliyor.
Endpoint hatası vermemiş ama oluşturduğun client da, uygun endpointler oluşturdun mu? (wshttpbinding, basichttpbinding in karşılığını ne yaptın?)
bir de önerim var, java ile daha uyumlu olan cometD yi kullanabilirsin. Hem c# hem java için uyumludur. c# tarafında cometd.net diye geçer,
http://cometd.org/documentation/cometd-java
https://github.com/Oyatel/CometD.NET
benim çok hoşuma gitti bu kütüphane ve gayet de stabil çalışıyor. multi-channel destekliyor, bir çok avantajı var..
-
unbalanced bunu yazdı
hocam telefondan neden deniyorsunki önce? normal olarak simulatorde denediğinde ne oluyor? en kötü ihtimal bir tane java test uygulaması yap onunla dene.. Orada sorunları çöz daha sonra mobil platforma taşı. sonuçta kullandığın dil android..
Bu arada eskiden android üzerine çalışırken, çalıştığım firmadaki webservisi (.net ile yazılmıştı) kullanamamıştım, daha sonra yazan eleman demişti ki bazı şeylerin değişmesi lazım java ile uyumu yoktu.. ama neydi ne değildi hatırlamıyorum.. Basit şeylerle başlamak en iyisi, adım adım gidip sorunu bulman gerek..
Önce parametresiz bir şey çalıştırmayı dene, sonra tek parametre ama primitive tipte bir parametre alacak, sonra belki bir custom class (ama parse etmede sıkıntı olabilir ya da dictironary tarzı şeyleri göndermek)..
ayrıca neden soap yaptın ki? restful da işini görebilirdi hem daha az sorun çıkarırdı, soap olayı baya karıştırır, hele tecrüben yoksa işin içinden çıkmak zor olabiliyor.
Endpoint hatası vermemiş ama oluşturduğun client da, uygun endpointler oluşturdun mu? (wshttpbinding, basichttpbinding in karşılığını ne yaptın?)
bir de önerim var, java ile daha uyumlu olan cometD yi kullanabilirsin. Hem c# hem java için uyumludur. c# tarafında cometd.net diye geçer,
http://cometd.org/documentation/cometd-java
https://github.com/Oyatel/CometD.NET
benim çok hoşuma gitti bu kütüphane ve gayet de stabil çalışıyor. multi-channel destekliyor, bir çok avantajı var..
Parçadan bütüne gittim zaten ilk önce webde çalıştırdım sonra emülator de local de sonra farklı bi ip de telefonumda açtım yetkiler falan tam ama null değer gönderiyor sorunum benim bu
Senin bu dediklerini yapmam için baya iyi olmam lazım ... Bi String ahmet demek var bide kendi yazdığın string clasını cağırıp string ahmet demek var senin dediğin kendi classını kendin adapterini kendin socketini kendin yaz diyosun ama işte senin kadar bilgili değilim :/ ilk önce yüzeysel birkaç kütüphane kullanıp daha sonra ne işe yaradığını öğrendikten sonra kendi kütüphanemi kendim yazacağım zaten ama ilk önce hazırları kullanmam lazım ki mantığını anlayabileyim :( Sen bana çok ağır kaynaklar veriyorsun bakıyorum bakıyorum anlamıyorum vallaha :/
-
unbalanced bunu yazdı
hocam telefondan neden deniyorsunki önce? normal olarak simulatorde denediğinde ne oluyor? en kötü ihtimal bir tane java test uygulaması yap onunla dene.. Orada sorunları çöz daha sonra mobil platforma taşı. sonuçta kullandığın dil android..
Bu arada eskiden android üzerine çalışırken, çalıştığım firmadaki webservisi (.net ile yazılmıştı) kullanamamıştım, daha sonra yazan eleman demişti ki bazı şeylerin değişmesi lazım java ile uyumu yoktu.. ama neydi ne değildi hatırlamıyorum.. Basit şeylerle başlamak en iyisi, adım adım gidip sorunu bulman gerek..
Önce parametresiz bir şey çalıştırmayı dene, sonra tek parametre ama primitive tipte bir parametre alacak, sonra belki bir custom class (ama parse etmede sıkıntı olabilir ya da dictironary tarzı şeyleri göndermek)..
ayrıca neden soap yaptın ki? restful da işini görebilirdi hem daha az sorun çıkarırdı, soap olayı baya karıştırır, hele tecrüben yoksa işin içinden çıkmak zor olabiliyor.
Endpoint hatası vermemiş ama oluşturduğun client da, uygun endpointler oluşturdun mu? (wshttpbinding, basichttpbinding in karşılığını ne yaptın?)
bir de önerim var, java ile daha uyumlu olan cometD yi kullanabilirsin. Hem c# hem java için uyumludur. c# tarafında cometd.net diye geçer,
http://cometd.org/documentation/cometd-java
https://github.com/Oyatel/CometD.NET
benim çok hoşuma gitti bu kütüphane ve gayet de stabil çalışıyor. multi-channel destekliyor, bir çok avantajı var..
Parçadan bütüne gittim zaten ilk önce webde çalıştırdım sonra emülator de local de sonra farklı bi ip de telefonumda açtım yetkiler falan tam ama null değer gönderiyor sorunum benim bu
Senin bu dediklerini yapmam için baya iyi olmam lazım ... Bi String ahmet demek var bide kendi yazdığın string clasını cağırıp string ahmet demek var senin dediğin kendi classını kendin adapterini kendin socketini kendin yaz diyosun ama işte senin kadar bilgili değilim :/ ilk önce yüzeysel birkaç kütüphane kullanıp daha sonra ne işe yaradığını öğrendikten sonra kendi kütüphanemi kendim yazacağım zaten ama ilk önce hazırları kullanmam lazım ki mantığını anlayabileyim :( Sen bana çok ağır kaynaklar veriyorsun bakıyorum bakıyorum anlamıyorum vallaha :/
-
unbalanced bunu yazdı
hocam telefondan neden deniyorsunki önce? normal olarak simulatorde denediğinde ne oluyor? en kötü ihtimal bir tane java test uygulaması yap onunla dene.. Orada sorunları çöz daha sonra mobil platforma taşı. sonuçta kullandığın dil android..
Bu arada eskiden android üzerine çalışırken, çalıştığım firmadaki webservisi (.net ile yazılmıştı) kullanamamıştım, daha sonra yazan eleman demişti ki bazı şeylerin değişmesi lazım java ile uyumu yoktu.. ama neydi ne değildi hatırlamıyorum.. Basit şeylerle başlamak en iyisi, adım adım gidip sorunu bulman gerek..
Önce parametresiz bir şey çalıştırmayı dene, sonra tek parametre ama primitive tipte bir parametre alacak, sonra belki bir custom class (ama parse etmede sıkıntı olabilir ya da dictironary tarzı şeyleri göndermek)..
ayrıca neden soap yaptın ki? restful da işini görebilirdi hem daha az sorun çıkarırdı, soap olayı baya karıştırır, hele tecrüben yoksa işin içinden çıkmak zor olabiliyor.
Endpoint hatası vermemiş ama oluşturduğun client da, uygun endpointler oluşturdun mu? (wshttpbinding, basichttpbinding in karşılığını ne yaptın?)
bir de önerim var, java ile daha uyumlu olan cometD yi kullanabilirsin. Hem c# hem java için uyumludur. c# tarafında cometd.net diye geçer,
http://cometd.org/documentation/cometd-java
https://github.com/Oyatel/CometD.NET
benim çok hoşuma gitti bu kütüphane ve gayet de stabil çalışıyor. multi-channel destekliyor, bir çok avantajı var..
Parçadan bütüne gittim zaten ilk önce webde çalıştırdım sonra emülator de local de sonra farklı bi ip de telefonumda açtım yetkiler falan tam ama null değer gönderiyor sorunum benim bu
Senin bu dediklerini yapmam için baya iyi olmam lazım ... Bi String ahmet demek var bide kendi yazdığın string clasını cağırıp string ahmet demek var senin dediğin kendi classını kendin adapterini kendin socketini kendin yaz diyosun ama işte senin kadar bilgili değilim :/ ilk önce yüzeysel birkaç kütüphane kullanıp daha sonra ne işe yaradığını öğrendikten sonra kendi kütüphanemi kendim yazacağım zaten ama ilk önce hazırları kullanmam lazım ki mantığını anlayabileyim :( Sen bana çok ağır kaynaklar veriyorsun bakıyorum bakıyorum anlamıyorum vallaha :/
-
Üste :( Sorun Çözülmedi
EDİT : Sorun Propertylerimin Webservisime Null olarak gönderilmesi fakat bunu nasıl çözeceğimi bilmiyorum...
