[Java] Credentials meesturen met WSDL

Pagina: 1
Acties:
  • 123 views sinds 30-01-2008
  • Reageer

  • eppie
  • Registratie: Maart 2000
  • Niet online
(overleden)
Hey

Ik had een vraag over het gebruik van WSDL binnen java icm met JAXRPC.

De situatie is als volgt:

In netbeans ben ik bezig met het schrijven van een client voor een wsdl .net webservice. Deze webservice vereist basic http authenticatie.

In netbeans heb ik de wsdl geimporteerd als webreference. Nou genereerd netbeans zelf de benodigde wsdl client classes. Nou kan ik deze in de project view gewoon bekijken en testen door op een methode in de wsdl te klikken en dan krijg je een venstertje waar in je de benodigde parameters invult waarna netbeans de methode invoked en uitvoerd nadat netbeans nog heeft gevraagt om de credentials (basic authentication username/password). Dit werkt dus.

Nou kan ik vanuit mijn code die door netbeans gegenereerde wsdl client classes gewoon gebruiken enz maar kan dus nergens vinden hoe ik die credentials set. Met als gevolg exceptions met access denied. :(

Na veel googlen op ao "java wsdl credentials" enz krijg ik geen antwoord op over hoe ik dit oplos.

Iemand een idee?

Alvast bedankt.

  • bigbeng
  • Registratie: Augustus 2000
  • Laatst online: 26-11-2021
Je moet in je HTTP aanroep de volgende header meesturen:

code:
1
Authorization: Basic <BASE64 string>

Hierbij is de <BASE64 string> van het volgende formaat:
code:
1
<usernaam>:<wachtwoord>

Die je vervolgens in zijn geheel door een BASE64 encoder heenhaalt.

In java wordt het dus de volgende (fictieve aanroep):
Java:
1
request.addHeader("Authorization", "Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==");

Hierbij is request het object dat je gebruikt om een HTTP request bij de webservice te doen. En mogelijk is de methode die je moet gebruiken ook iets anders, daarvoor ken ik de Java objecten net niet goed genoeg.


Meer info:
http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html
en
http://www.ietf.org/rfc/rfc2617.txt

  • Stephan Oudmaijer
  • Registratie: Oktober 2000
  • Laatst online: 16-08-2023
eppie schreef op dinsdag 02 mei 2006 @ 15:13:
Iemand een idee?

Alvast bedankt.
Je kan bij je Call object setUsername en setPassword gebruiken!?!

  • eppie
  • Registratie: Maart 2000
  • Niet online
(overleden)
Bedankt voor de reacties, bij de Call objecten heb ik die 2 methodes niet ik zie alleen wel 2 properties in et Call object (username en password) maar deze zijn final :s Gebruik java 1.4.2 btw :)

[ Voor 8% gewijzigd door eppie op 03-05-2006 09:32 ]