🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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

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

#153713
From: bigMamma
Date: Wed, 02 Jan 2013 21:23
194 lines
6484 bytes
W dniu niedziela, 16 grudnia 2012 19:20:57 UTC+1 użytkownik bigMamma napisał:
> 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!

Dobroczyńco!
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:log="http://xml.kamsoft.pl/ws/kaas/login_types">
   <soapenv:Header/>
   <soapenv:Body>
      <log:login>
         <log:credentials>
            <!--1 or more repetitions:-->
            <log:item>
               <log:name>login</log:name>
               <log:value>
                  <!--You have a CHOICE of the next 2 items at this level-->
                  <log:stringValue>LOGIN</log:stringValue>
               </log:value>
            </log:item>
            <!--1 or more repetitions:-->
            <log:item>
               <log:name>type</log:name>
               <log:value>
                  <!--You have a CHOICE of the next 2 items at this level-->
                  <log:stringValue>LEK</log:stringValue>
               </log:value>
            </log:item>
<!--1 or more repetitions:-->
            <log:item>
               <log:name>domain</log:name>
               <log:value>
                  <!--You have a CHOICE of the next 2 items at this level-->
                  <log:stringValue>IZBA</log:stringValue>
               </log:value>
            </log:item>
         </log:credentials>
         <log:password>HASŁO</log:password>
      </log:login>
   </soapenv:Body>
</soapenv:Envelope>

Działa w SOAPIU, będzie działało i w JAva, i hope :)
Technical Details
Message-ID: <2c848edb-e94d-48e8-a226-271f1d2e37ee@googlegroups.com>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!goblin2!goblin.stu.neva.ru!feeder1.cambriumusenet.nl!82.197.223.108.MISMATCH!feeder2.cambriumusenet.nl!feed.tweaknews.nl!209.85.216.87.MISMATCH!ee4no12108536qab.0!news-out.google.com!k2ni4226qap.0!nntp.google.com!ee4no12227320qab.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail
References: <28ad5231-d9cf-4169-b3ec-00fc91b6c8fd@googlegroups.com>

Show Full Headers
Complete Article Headers
X-Received: by 10.224.184.11 with SMTP id ci11mr26188394qab.1.1357161799624;        Wed, 02 Jan 2013 13:23:19 -0800 (PST)
Received: by 10.49.116.34 with SMTP id jt2mr7475266qeb.38.1357161799598; Wed, 02 Jan 2013 13:23:19 -0800 (PST)
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!goblin2!goblin.stu.neva.ru!feeder1.cambriumusenet.nl!82.197.223.108.MISMATCH!feeder2.cambriumusenet.nl!feed.tweaknews.nl!209.85.216.87.MISMATCH!ee4no12108536qab.0!news-out.google.com!k2ni4226qap.0!nntp.google.com!ee4no12227320qab.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail
Newsgroups: pl.comp.lang.java
Date: Wed, 2 Jan 2013 13:23:19 -0800 (PST)
In-Reply-To: <28ad5231-d9cf-4169-b3ec-00fc91b6c8fd@googlegroups.com>
Complaints-To: groups-abuse@google.com
Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=156.17.207.169; posting-account=S68uugoAAADAKFnRPdRLP91xa88xg3LE
NNTP-Posting-Host: 156.17.207.169
References: <28ad5231-d9cf-4169-b3ec-00fc91b6c8fd@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <2c848edb-e94d-48e8-a226-271f1d2e37ee@googlegroups.com>
Subject: Re: Java WSDL - jak mogę zamienć obiekt na XML
 i zalogować się
From: bigMamma <marcinchuc@gmail.com>
Injection-Date: Wed, 02 Jan 2013 21:23:19 +0000
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit