Hirdetés

Keresés

Új hozzászólás Aktív témák

  • Jim-Y
    veterán

    Sikerült összehoznom félig-meddig.

    Ezzel az online WSDL generátorral csináltam a WSDL-t, értelemszerűen kitöltve a mezőket egy Hello World operationhöz. [WSDL].

    Aztán így implementáltam a szervert hozzá:

    var soap = require('soap');
    var http = require('http');

    var helloService = {
    helloworld: {
    helloworld_0: {
    hello: function(args) {
    return {
    message: 'Hello ' + (args.name || 'World') + '!'
    }
    }
    }
    }
    }

    var wsdl = require('fs').readFileSync('hello.wsdl', 'utf8'),
    server = http.createServer(function (req, resp) { resp.end("404 Not found: " + req.url) });

    server.listen(8001);
    soap.listen(server, '/helloService', helloService, wsdl);

    És erre SoapUI-ban rá tudtam csatlakozni, és még helyesen is működött :)

    .NET-ben viszont nincs ekkora szerencsém, ott ProtocolExceptionnel elszáll. A SoapUI mock service-ével, amit ugyanebből a WSDL-ből generáltam, simán működik viszont.

    ---

    Nekem nagyon az az érzésem, mint Android kapcsán is, hogy a SOAP egy régi idők letűnt megoldása, amit a mostani eszközökkel már nem kéne erőltetni. Akkor már egyszerűbb egy .NET/Java frontendet elérakni, ami JSON-re fordít mindent...

    Szia. Most sikerült erre visszatérnem.

    Leszedtem a példád, írtam hozzá egy klienst, de az a gond, hogy a szerverre eljut az információ
    { name: "akarmi" } , tehát az akarmi eljut a szerverig, sikerül meghívni a wsdl alapján a metódust, de kliens oldalra már nem jut vissza a válasz, ott mindig undefined-ot olvasok :/

    Most pont ezen vagyok, hogy ezt kijavítsam. Szerintem a wsdl-ben kéne mókolni.

  • Sk8erPeter
    nagyúr

    Sikerült összehoznom félig-meddig.

    Ezzel az online WSDL generátorral csináltam a WSDL-t, értelemszerűen kitöltve a mezőket egy Hello World operationhöz. [WSDL].

    Aztán így implementáltam a szervert hozzá:

    var soap = require('soap');
    var http = require('http');

    var helloService = {
    helloworld: {
    helloworld_0: {
    hello: function(args) {
    return {
    message: 'Hello ' + (args.name || 'World') + '!'
    }
    }
    }
    }
    }

    var wsdl = require('fs').readFileSync('hello.wsdl', 'utf8'),
    server = http.createServer(function (req, resp) { resp.end("404 Not found: " + req.url) });

    server.listen(8001);
    soap.listen(server, '/helloService', helloService, wsdl);

    És erre SoapUI-ban rá tudtam csatlakozni, és még helyesen is működött :)

    .NET-ben viszont nincs ekkora szerencsém, ott ProtocolExceptionnel elszáll. A SoapUI mock service-ével, amit ugyanebből a WSDL-ből generáltam, simán működik viszont.

    ---

    Nekem nagyon az az érzésem, mint Android kapcsán is, hogy a SOAP egy régi idők letűnt megoldása, amit a mostani eszközökkel már nem kéne erőltetni. Akkor már egyszerűbb egy .NET/Java frontendet elérakni, ami JSON-re fordít mindent...

    "Nekem nagyon az az érzésem, mint Android kapcsán is, hogy a SOAP egy régi idők letűnt megoldása, amit a mostani eszközökkel már nem kéne erőltetni."
    Én is egyetértek a SOAP-os résszel, és amit martonx mond, az is igaz, ahány eszköz/nyelv, annyiféle kimenet, annyiféle idióta hiba.
    Mondjuk az is hozzátartozik, hogy én különösen PHP+NuSOAP-pal való generálgatás során gyűlöltem meg (itt van szenvedéseim egy lenyomata), ezért természetesen már önmagában a PHP is hibáztatható, mint gyengén típusos nyelv (ergo nem lehet vele kattintásra generálni WSDL-t, mint Visual Studio-ban pl. C#-kódból), plusz a NuSOAP is, mint akkoriban elavult, rettentő szarul dokumentált library (nem tudom, most mi a helyzet vele, csak annyit láttam, hogy végül is 2013 júniusában még módosítottak rajta valamit). De az eredeti állításokon ez nem változtat, mert ha másféle library-t használtam, akkor meg más kimenetet kaptam. És akkor meg azt lehetett "debuggolni". Még ez a NuSOAP volt a legkezelhetőbb, amivel AKKORIBAN én találkoztam (azóta nem is SOAP-oztam szerencsére), pedig az elég szomorú (volt akkor mindenképp).

    De az Androiddal kapcsolatos részt nem értettem, hogy mire érted.

  • martonx
    veterán

    Sikerült összehoznom félig-meddig.

    Ezzel az online WSDL generátorral csináltam a WSDL-t, értelemszerűen kitöltve a mezőket egy Hello World operationhöz. [WSDL].

    Aztán így implementáltam a szervert hozzá:

    var soap = require('soap');
    var http = require('http');

    var helloService = {
    helloworld: {
    helloworld_0: {
    hello: function(args) {
    return {
    message: 'Hello ' + (args.name || 'World') + '!'
    }
    }
    }
    }
    }

    var wsdl = require('fs').readFileSync('hello.wsdl', 'utf8'),
    server = http.createServer(function (req, resp) { resp.end("404 Not found: " + req.url) });

    server.listen(8001);
    soap.listen(server, '/helloService', helloService, wsdl);

    És erre SoapUI-ban rá tudtam csatlakozni, és még helyesen is működött :)

    .NET-ben viszont nincs ekkora szerencsém, ott ProtocolExceptionnel elszáll. A SoapUI mock service-ével, amit ugyanebből a WSDL-ből generáltam, simán működik viszont.

    ---

    Nekem nagyon az az érzésem, mint Android kapcsán is, hogy a SOAP egy régi idők letűnt megoldása, amit a mostani eszközökkel már nem kéne erőltetni. Akkor már egyszerűbb egy .NET/Java frontendet elérakni, ami JSON-re fordít mindent...

    "a SOAP egy régi idők letűnt megoldása, amit a mostani eszközökkel már nem kéne erőltetni"

    Messzemenőkig egyetértek. Nekem a SOAP-pal a legnagyobb bajom, hogy nagyon nem kompatibilis, ahány nyelven, ahányféle SOAP megoldást használ az ember, annyiféle kimenetele lehet a dolognak. Plusz xml-ben kommunikál, aminél a Json már sokkal fejlettebb, tömörebb.
    Megérett az elfeledésre, azonban sajnos még mindig rengeteg régi, jól beágyazott cucc ezt használja :(

  • Jim-Y
    veterán

    Sikerült összehoznom félig-meddig.

    Ezzel az online WSDL generátorral csináltam a WSDL-t, értelemszerűen kitöltve a mezőket egy Hello World operationhöz. [WSDL].

    Aztán így implementáltam a szervert hozzá:

    var soap = require('soap');
    var http = require('http');

    var helloService = {
    helloworld: {
    helloworld_0: {
    hello: function(args) {
    return {
    message: 'Hello ' + (args.name || 'World') + '!'
    }
    }
    }
    }
    }

    var wsdl = require('fs').readFileSync('hello.wsdl', 'utf8'),
    server = http.createServer(function (req, resp) { resp.end("404 Not found: " + req.url) });

    server.listen(8001);
    soap.listen(server, '/helloService', helloService, wsdl);

    És erre SoapUI-ban rá tudtam csatlakozni, és még helyesen is működött :)

    .NET-ben viszont nincs ekkora szerencsém, ott ProtocolExceptionnel elszáll. A SoapUI mock service-ével, amit ugyanebből a WSDL-ből generáltam, simán működik viszont.

    ---

    Nekem nagyon az az érzésem, mint Android kapcsán is, hogy a SOAP egy régi idők letűnt megoldása, amit a mostani eszközökkel már nem kéne erőltetni. Akkor már egyszerűbb egy .NET/Java frontendet elérakni, ami JSON-re fordít mindent...

    Koszi. Igen ezt megtalaltam en is. Generaltattam is vele. Csak nalam nem sikerult osszeloni a javascriptes service strukturat a generalt wsdl-el:/ Este megnezem a megoldasod. Meg egyszer koszi :R megj: nekem is hasonloak az erzeseim a soap kapcsan mint neked. De az lenne a lenyeg, hogy lassak ilyet is:-) Csinaltam restes web servicet is, de azzal nem voltak problemak. Igazan egyszeru volt osszehozni.

Új hozzászólás Aktív témák

Hirdetés