🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.java
Article #153711

Java WSDL - jak mogę zamienć obiekt na XML i zalogować się

#153711
From: bigMamma
Date: Sun, 16 Dec 2012 18:20
78 lines
4270 bytes
Witam,
programowaniem zajmuję się amatorsko, stąd pewnie ten problem...
mianowicie, w kontekście systemu eWUŚ z NFZ...
chcę sobie zrobić prostą apkę, która omija stronę WWW.
NFZ udostępnia informację, że interface dostępny jest pod adresem:
https://ewus.nfz.gov.pl/ws-broker-server-ewus/services/Auth?wsdl

Netbeans generuje mi automatycznie taki kod:

private void login_1() {
        nfz.pkg2.auth.Auth_Service service = new nfz.pkg2.auth.Auth_Service();
        QName portQName = new QName("http://xml.kamsoft.pl/ws/auth", "Auth");
        String req = "<login  xmlns=\"http://xml.kamsoft.pl/ws/auth\"><request>ENTER VALUE</request><response>ENTER VALUE</response><session>ENTER VALUE</session><token>ENTER VALUE</token></login>";
        try {
            // Call Web Service Operation
            Dispatch<Source> sourceDispatch = null;
            sourceDispatch = service.createDispatch(portQName, Source.class, Service.Mode.PAYLOAD);
            Source result = sourceDispatch.invoke(new StreamSource(new StringReader(req)));
        } catch (Exception ex) {
            // TODO handle custom exceptions here
        }
    }



natomiast, kiedy zdeklaruję AuthService tak:
       Auth_Service  auth = new Auth_Service();

         LoginParams lp = new LoginParams();
         //login
         LoginParam lp1 = new LoginParam();
         lp1.setName("login");
         ParamValue paramV = new ParamValue();
         paramV.setStringValue("NRID");
         lp1.setValue(paramV);
         lp.getItem().add(lp1);
         // id_ow
         lp1 = new LoginParam();
         lp1.setName("domain");
         paramV = new ParamValue();
         paramV.setStringValue("01");
         lp1.setValue(paramV);
         lp.getItem().add(lp1);
        //
         lp1 = new LoginParam();
         lp1.setName("type");
         paramV = new ParamValue();
         paramV.setStringValue("LEK");
         lp1.setValue(paramV);
         lp.getItem().add(lp1);

        LoginRequest lr = new LoginRequest();
         lr.setCredentials(lp);
         lr.setPassword("moje haslo");

         Holder<String> odp = new Holder<>();
         Holder<Session> sesja = new Holder<>();
         Holder<AuthToken>  token = new Holder<>();
         
     auth.getAuth().login(lr, odp, sesja, token);




to mam następujący problem:

wywołanie funkcji login_1 zaczyna się łączyć - tyko nie wiem, jak przekazać login, hasło, typ id_uw, ustawić pola odp, sesja, token ... z drugiej strony wywołanie    auth.getAuth().login(lr, odp, sesja, token)

wywala mi błąd:

javax.xml.ws.soap.SOAPFaultException: org.apache.axis2.databinding.ADBException: Unexpected subelement {http://xml.kamsoft.pl/ws/auth}login


innymi słowy,
jak korzystając z tego interface mogę przesłać dane logowania i odebrać sesję, token  odpowiedź serwera.
(albo inaczej: jak obiekt LoginRequest lr plus odp plus sesja plus token przekonwertować do Stringa XML i wysłać jako req w funkcji login_1... chyba)

Bardzo proszę o pomoc! 
Technical Details
Message-ID: <28ad5231-d9cf-4169-b3ec-00fc91b6c8fd@googlegroups.com>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!news.supermedia.pl!newsfeed2.atman.pl!newsfeed.atman.pl!goblin1!goblin.stu.neva.ru!fc2no1115462qab.0!news-out.google.com!k2ni7qap.0!nntp.google.com!fc2no1115456qab.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail

Show Full Headers
Complete Article Headers
Received: by 10.224.181.140 with SMTP id by12mr6574858qab.0.1355682057969;        Sun, 16 Dec 2012 10:20:57 -0800 (PST)
Received: by 10.49.1.70 with SMTP id 6mr2027997qek.27.1355682057932; Sun, 16 Dec 2012 10:20:57 -0800 (PST)
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!news.supermedia.pl!newsfeed2.atman.pl!newsfeed.atman.pl!goblin1!goblin.stu.neva.ru!fc2no1115462qab.0!news-out.google.com!k2ni7qap.0!nntp.google.com!fc2no1115456qab.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail
Newsgroups: pl.comp.lang.java
Date: Sun, 16 Dec 2012 10:20:57 -0800 (PST)
Complaints-To: groups-abuse@google.com
Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=93.175.127.205; posting-account=S68uugoAAADAKFnRPdRLP91xa88xg3LE
NNTP-Posting-Host: 93.175.127.205
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <28ad5231-d9cf-4169-b3ec-00fc91b6c8fd@googlegroups.com>
Subject: Java WSDL - jak mogę zamienć obiekt na XML i
 zalogować się
From: bigMamma <marcinchuc@gmail.com>
Injection-Date: Sun, 16 Dec 2012 18:20:57 +0000
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit