Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

SOAP Web servis problem

[es] :: .NET :: SOAP Web servis problem

[ Pregleda: 1940 | Odgovora: 8 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

kijara camado
Leskovac

Član broj: 290492
Poruke: 3
89.216.37.*



Profil

icon SOAP Web servis problem15.09.2011. u 07:11 - pre 153 meseci
Pravim web servis izmedju ostalog i za insert u bazu pri cemu treba da mi vrati ili SCOPE_IDENTITY() ili ex, evo koda:
Code:

    [WebMethod]
    public int InsertCustomer(string FirstName, string LastName, string Address, string City, string StateProvince, string PostalCode, string Country)
    {
        CustomersTableAdapter CustomerTA = new CustomersTableAdapter();
        if (FirstName.Length!=0)
        {
            int new_customerID = Convert.ToInt32(CustomerTA.InsertQuery(
                        FirstName,
                        LastName,
                        Address,
                        City,
                        StateProvince,
                        PostalCode,
                        Country
                        ));
            return new_customerID;

        }
        else
        {
            Exception ex = new Exception("FirstName can`t be null");
            return ex.Message;
        }
    }


I ovaj kod ne radi jer pri else bi trebao da vrati string, a ovde je public int i ne kompajlira se. Ja sam ovo resio tako sto sam umesto public int stavio public object i sad radi ok Jel moze neko da mi kaze kako se pravi metoda koja vraca po potrebi int, string, bool ili bar gde da procitam...
Pozz
 
Odgovor na temu

mmix
Miljan Mitrović
Profesorkin muz
Passau, Deutschland

SuperModerator
Član broj: 17944
Poruke: 6042



+4631 Profil

icon Re: SOAP Web servis problem15.09.2011. u 08:24 - pre 153 meseci
remoj da vracas string. SOAP protokol ima podrsku za exception passing, dakle samo baci exception (throw new Exception....) a SOAP wrapper u .NETu ce to da zapakueje u SOAP Fault
Sloba je za 12 godina promenio antropološki kod srpskog naroda. On je od jednog naroda koji je bio veseo, pomalo površan, od jednog naroda koji je bio znatiželjan, koji je voleo da vidi, da putuje, da upozna,
od naroda koji je bio kosmopolitski napravio narod koji je namršten, mrzovoljan, sumnjicav, zaplašen, narod koji se stalno nešto žali, kome je stalno neko kriv… - Z.Đinđić
 
Odgovor na temu

Boris B.
Ljubljana

Član broj: 213615
Poruke: 286
*.zaslon-telecom.si.



+14 Profil

icon Re: SOAP Web servis problem16.09.2011. u 14:53 - pre 153 meseci
@mmix: Napisao lik čak i magic workaround kako da na klijentu dobiješ pravi Exception a ne FaultMessage:
http://www.olegsych.com/2008/0...cf-using-exceptions-as-faults/
if it walks like a duck and quacks like a duck, it could be a dragon doing a duck
impersonation.
 
Odgovor na temu

mmix
Miljan Mitrović
Profesorkin muz
Passau, Deutschland

SuperModerator
Član broj: 17944
Poruke: 6042



+4631 Profil

icon Re: SOAP Web servis problem16.09.2011. u 15:11 - pre 153 meseci
ako me secanje ne izdaje :) web service wrapper bi trebao da svaki exception prepakuje u <soap:fault> a klijent (.net) bi taj fault trebalo da preda kao System.Web.Services.Protocols.SoapException

e sad wcf je druga prica, nisam probao ali valjda bi trebalo da funkcionise slicna prica, tj ti bi uvek trebao da dobijes FaultException kao rezultat soap fault-a, ne? Pritom mozes da posaljes i paket uz FaultException po zelji. Mislim da je sve preko toga izivljavanje nad protokolom, posle sve te muke da uteras custom exception u SOAP pitanje je dal bi taj paket mogao da svari neki non-wcf klijent.
Sloba je za 12 godina promenio antropološki kod srpskog naroda. On je od jednog naroda koji je bio veseo, pomalo površan, od jednog naroda koji je bio znatiželjan, koji je voleo da vidi, da putuje, da upozna,
od naroda koji je bio kosmopolitski napravio narod koji je namršten, mrzovoljan, sumnjicav, zaplašen, narod koji se stalno nešto žali, kome je stalno neko kriv… - Z.Đinđić
 
Odgovor na temu

Boris B.
Ljubljana

Član broj: 213615
Poruke: 286
*.zaslon-telecom.si.



+14 Profil

icon Re: SOAP Web servis problem19.09.2011. u 08:48 - pre 153 meseci
Faulte zapakovane na taj način definitivno neće moći da svari non-CLR klijent, jer se interno koristi NetDataContractSerializer koji serijalizuje CLR type informacije. Mada meni je sasvim dovoljan bio za moje skromne CLR2CLR potrebe...
if it walks like a duck and quacks like a duck, it could be a dragon doing a duck
impersonation.
 
Odgovor na temu

kijara camado
Leskovac

Član broj: 290492
Poruke: 3
89.216.37.*



Profil

icon Re: SOAP Web servis problem19.09.2011. u 12:28 - pre 153 meseci
Citat:
Boris B.: Faulte zapakovane na taj način definitivno neće moći da svari non-CLR klijent, jer se interno koristi NetDataContractSerializer koji serijalizuje CLR type informacije. Mada meni je sasvim dovoljan bio za moje skromne CLR2CLR potrebe...


Hmmmm, pa valjda uvek mogu da parsiraju xml ako nema custom shema, sa Odata/data servisima je to valjda i najbitnija stvar sto su atom/adam sheme pa ne morash/gledash da ne implementirash svoju/neku shemu vec koristish javnu!?! Ovo je IMHO najbitnija stvar sto se koristi standardizovana shema...

Ovo je pitanje, cisto me interesuje sta mislish, molio bih da ne shvatish kao neku vrstu napada jer mislim da prilicno vise znash od mene...
 
Odgovor na temu

Boris B.
Ljubljana

Član broj: 213615
Poruke: 286
*.zaslon-telecom.si.



+14 Profil

icon Re: SOAP Web servis problem20.09.2011. u 09:10 - pre 153 meseci
Sigh... Radi se o fault-ima, ne o generalnoj komunikaciji. Na onom linku sto sam postovao lik je osmislio sistem kako da u WCF-u napravis exception passing da radi transparentno preko machine boundary, jedino ogranicenje je da takve fault ce moci da upotrebi jedino WCF klijent. Ako neces ne moras da koristis, koristi stadardne SOAP faulte i pisi custom error handling u svakom klijentskom pozivu...
if it walks like a duck and quacks like a duck, it could be a dragon doing a duck
impersonation.
 
Odgovor na temu

spajalica
nikola markovic
blok 70

Član broj: 102522
Poruke: 36
62.108.111.*



Profil

icon Re: SOAP Web servis problem23.11.2011. u 15:44 - pre 151 meseci
Citat:
Jel moze neko da mi kaze kako se pravi metoda koja vraca po potrebi int, string, bool ili bar gde da procitam...

Ako koristis .NET Framework 4 mozes da koristis dynamic. Evo primera sa msdn:
Code:
class ExampleClass
{
    // A dynamic field.
    static dynamic field;

    // A dynamic property.
    dynamic prop { get; set; }

    // A dynamic return type and a dynamic paramater type.
    public dynamic exampleMethod(dynamic d)
    {
        // A dynamic local variable.
        dynamic local = "Local variable";
        int two = 2;

        if (d is int)
        {
            return local;
        }
        else
        {
            return two;
        }
    }
}


Vise procitaj na: http://msdn.microsoft.com/en-us/library/dd264741.aspx
 
Odgovor na temu

mmix
Miljan Mitrović
Profesorkin muz
Passau, Deutschland

SuperModerator
Član broj: 17944
Poruke: 6042



+4631 Profil

icon Re: SOAP Web servis problem23.11.2011. u 20:56 - pre 151 meseci
Zar WS stack podrzava dynamic tipove?

Kako se to deklarise u WSDLu?


Sloba je za 12 godina promenio antropološki kod srpskog naroda. On je od jednog naroda koji je bio veseo, pomalo površan, od jednog naroda koji je bio znatiželjan, koji je voleo da vidi, da putuje, da upozna,
od naroda koji je bio kosmopolitski napravio narod koji je namršten, mrzovoljan, sumnjicav, zaplašen, narod koji se stalno nešto žali, kome je stalno neko kriv… - Z.Đinđić
 
Odgovor na temu

[es] :: .NET :: SOAP Web servis problem

[ Pregleda: 1940 | Odgovora: 8 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.