Hirdetés

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

  • Sk8erPeter
    nagyúr

    Heló!

    Van egy weblapom, ami megkap egy válasz xlm-t:

    <S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
    <S:Body>
    <ns2:loginResponse xmlns:ns2="http://webservice...">
    <return>
    <sessionid>40e5bcfc</sessionid>
    <userid>0bc01f9a</userid>
    <versioning>
    <modulrev>1a</modulrev>
    </versioning>
    </return>
    </ns2:loginResponse>
    </S:Body>
    </S:Envelope>

    hogy tudom kiszedni a válaszból a sessionid-t ? pl akármi.token formában

    ezzel hívom (utána callback fv) meg:
    <script>
    ...
    function callLogin(){
    var pl = new SOAPClientParameters();
    var ver = new Versioning("1a");
    pl.add("email", "test@test.hu");
    pl.add("password", "1");
    pl.add("versioning", ver);
    SOAPClient.invoke(url, "login", pl, true, callLogin_callBack);
    }
    function callLogin_callBack(r, soapResponse){
    de kellene valami, ami a választ feldolgozza
    }
    ...
    </script>

    a sopaclient.js-em ez

    jQuery-vel pl. így:

    http://jsfiddle.net/Sk8erPeter/JVpGv/

    $(document).ready(function() {

    var soapResponse =
    '<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">'+
    ' <S:Body>'+
    ' <ns2:loginResponse xmlns:ns2="http://webservice...">'+
    ' <return>'+
    ' <sessionid>40e5bcfc</sessionid>'+
    ' <userid>0bc01f9a</userid>'+
    ' <versioning>'+
    ' <modulrev>1a</modulrev>'+
    ' </versioning>'+
    ' </return>'+
    ' </ns2:loginResponse>'+
    ' </S:Body>'+
    '</S:Envelope>'+
    '';

    var $loginResponseData =
    $(soapResponse)
    .find("S\\:Body")
    .find("ns2\\:loginResponse");

    var sessionid =
    $loginResponseData
    .find("sessionid")
    .text();

    var userid =
    $loginResponseData
    .find("userid")
    .text();

    $('#userid').text(userid);
    $('#sessionid').text(sessionid);

    alert('User id: "'+userid+'"\n'+'Session id: "'+sessionid+'"\n');

    });

    Persze ez csak egy példa, lehet, hogy szebben is megkapható azzal, amit használsz.

    Szerk.: itt átírtam soapResponse-ra az xml változónevet, hogy egyértelműbb legyen.

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