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/