Article View: pl.comp.lang.java
Article #153711Java WSDL - jak mogę zamienć obiekt na XML i zalogować się
From: bigMamma
Date: Sun, 16 Dec 2012 18:20
Date: Sun, 16 Dec 2012 18:20
78 lines
4270 bytes
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-mailShow 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