Tak já zde poruším sérii přitakání: dle mých zkušeností je lepší si klienta napsat ručně a nepoužívat kód vygenerovaný wsdl2java. Rozhodně pokud chcete některé speciální vymoženosti, jako např. JAXB binding a dědičnost v XSD, keep-alive pro http transport a podobně.
Na druhou stranu je velmi užitečné si kód vygenerovaný wsdl2java prohlédnout a poté použít jako částečnou dokumentaci. Kamil Podlešák PS: Týká se axis2, s CXF nemám zkušenosti. > -----Original Message----- > From: [EMAIL PROTECTED] > [mailto:[EMAIL PROTECTED] Behalf Of Robert Novotny > Sent: Tuesday, September 30, 2008 11:25 AM > To: Java > Subject: Re: SOAP klient > > > Tiez sa pripajam k nazoru, ze pokial je k dispozicii WSDL, > tak je urcite lepsie vygenerovat kod klienta cez WSDL2Java > nez sa ho snazit zbastlit rucne. > > Co presne znamena > > to, co mi vylezlo se vůbec nijak nepodobalo tomu, co se píše v > > dokumentaci dál. > > Znamena to, ze vygenerovany klient nefungoval? > > RN > > On Tue, 30 Sep 2008 11:08:22 +0200, Martin Kuba > <[EMAIL PROTECTED]> wrote: > > > Vladimír Náprstek napsal(a): > >> Zdravím, > >> generování jsem zkoušel a nějak jsem se nikam nedostal, > protože to, co > >> mi vylezlo se vůbec nijak nepodobalo tomu, co se píše v > dokumentaci dál. > > > > To se mi nezdá, vygenerovat stub z WSDL funguje podle mých > zkušeností > > nejspolehlivěji. > > Naopak skládání SOAP requestu ručně nebo generování z WSDL za běhu > > má sklon k vytvoření špatného XML. > > > >> Nicméně jsem našel jinou cestu (pro mne čitelnější) a > zadrhl jsem se na > >> kouzlu. Mám kód: > >> > >> MessageFactory messageFactory = MessageFactory.newInstance(); > >> SOAPMessage message = messageFactory.createMessage(); > >> > >> SOAPPart soapPart = message.getSOAPPart(); > >> MimeHeaders hd = message.getMimeHeaders(); > >> String authorization = new BASE64Encoder().encode((userName + ":" + > >> pass).getBytes()); > >> hd.addHeader("Authorization", "Basic " + authorization); > > > > Do manipulace HTTP hlaviček kvůli autentizaci bych se nepouštěl. > > > > U většiny webservicových frameworků se dá manipulovat část > > odpovědná za HTTP transport, u Axis2 je to Commons HttpClient > > a postup je popsán tady: > > > > http://ws.apache.org/axis2/1_4_1/http-transport.html#preemptive_auth > > > > Makub > > > > -- > Using Opera's revolutionary e-mail client: http://www.opera.com/mail/ >
