Nam generovalo tiez pekny kolos. Nastastie sa da wsdl2java prinutit, aby negeneroval jeden subor, ale rozbil to pekne do viarerych podla tried (ktore inak dava vsetky dohromady).

Robert Novotny wrote:
Ano, mne sa stalo v pripade stareho Axisu, ze pre obsiahle
WSDL generoval obludne velke klientske subory (svetovy
rekord drzi 500kB class, ktory posielal eclipseovske
i netbeansovske editory do kolien).

V kazdom pripadne nerozumiem, co znamenalo, ze vygenerovany
klient sa nedal pouzit - triedy sa Vam zdali nepouzitelne?

Ak to vsak funguje manualnym sposobom (teda
vybudovanim spravy), tak je to asi akceptovatelne
v pripade, ze su spravy jednoduche.

RN

On Tue, 30 Sep 2008 15:17:16 +0200, Vladimír Náprstek <[EMAIL PROTECTED]> wrote:

Robert Novotny píše v Út 30. 09. 2008 v 11:25 +0200:
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?

Abych řekl pravdu, tak nevím. Vypadl mi jeden soubor (přes 7000 řádků),
ze kterého jsem nebyl moc moudrý. No a pak dál podle dokumentace jsem se
pokoušel toho vygenerovaného klienta použít ale nepochodil jsem. Začal
jsem z toho úplně magořit, tak jsem toho nechal. A u axus-u (jak tu už
padlo s tím autentifikátorem) jsem nepochodil protože se mi hlavní uzel
generoval s tagem arg0 a nenašel jsem způsob, jak to změnit.

Nakonec jsem si vyrobil zprávu (přes javax.xml.soap.*) a pak ji
nasprosto poslal pomocí org.apache.commons.httpclient.HttpClient-a. Není
to moc profesionální, ale funguje to a zdrojáky mají celkem asi 400
řádek (včetně komentářů a čtení dat z ORA databáze).

PS ta služba je SAPová, ten wsdl podle toho vypadá. Ale vím, jak má
vypadat výsledná xml zpráva, takže ji mohu vyrobit celkem snadno.





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







Odpovedet emailem