[JAVA] soap met basic http authentication

Pagina: 1
Acties:

  • Paxlie
  • Registratie: Oktober 2000
  • Laatst online: 23-11-2024

Paxlie

chaos en inslag

Topicstarter
Het probleem is als volgt. Ik heb een brok java code wat een soap call doet. Deze call moet echter met http authentication. Op dit moment probeer ik dit voor elkaar te krijgen met een aantal verschillende zaken.

code:
1
Authenticator.setDefault(new MyAuthenticator(myUserName, myPassword));

Dit roept een class aan die Authenticator extend. Dit wil helaas niet werken.

code:
1
2
3
4
            //Adding authorisation
            MimeHeaders hd = message.getMimeHeaders();
            String authorization = new sun.misc.BASE64Encoder().encode((myUserName+":"+myPassword).getBytes());
            hd.addHeader("Authorization", "Basic " + authorization);

Ook dit wil helaas niet werken. Ik krijg bij beide opties een melding terug die als volgt is:
code:
1
INFO: Already tried to authenticate with 'WebServices' authentication realm at naambedrijf, but still receiving: HTTP/1.1 401 Bad credentials


De SOAP call maak ik met behulp van de javax.xml.soap packages.

Als ik de xml van de soap call in SOAPUI stop (stukje software wat het dan afhandelt) dan gaat dit verder zonder problemen. Hier geef ik echter de username en wachtwoord voor de http authentication gewoon op. Ik ga er dus vanuit dat die header er compleet anders uit ziet, maar ik kan helaas niet terugvinden wat er allemaal verkeerd gaat. Als iemand dus tips of pointers heeft om verder te zoeken dan graag.

Wie werd waar wanneer geboren en waarom werd hij door wie hoe genoemd?
braque© zijn is een keuze


  • jAnO!
  • Registratie: Januari 2002
  • Laatst online: 28-01 13:12

jAnO!

lalalavanillevla

Dit is een weinig informatie...
Welke stack gebruik je?

When some people work at a place for ten years they get ten years of experience, other people work at a place for ten years and get one year of experience ten times.


  • Paxlie
  • Registratie: Oktober 2000
  • Laatst online: 23-11-2024

Paxlie

chaos en inslag

Topicstarter
jAnO! schreef op donderdag 26 november 2009 @ 17:03:
Dit is een weinig informatie...
Welke stack gebruik je?
Hoe bedoel je dat?

De SOAP call zelf maak ik met SOAPConnection en de message met SOAPElement iig.

En het hele brok code dan maar:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
            //First create the connection
            SOAPConnectionFactory soapConnFactory = 
                               SOAPConnectionFactory.newInstance();
            SOAPConnection connection = 
                                soapConnFactory.createConnection();

            //Next, create the actual message
            MessageFactory messageFactory = MessageFactory.newInstance();
            SOAPMessage message = messageFactory.createMessage();
            
            
            //Adding authorisation
            // MimeHeaders hd = message.getMimeHeaders();
            // String authorization = new sun.misc.BASE64Encoder().encode((myUserName+":"+myPassword).getBytes());
            // String authorization = Base64Coder.encodeString(myUserName + ":" + myPassword);
            // hd.addHeader("Authorization", "Basic " + authorization);
            
            //Create objects for the message parts            
            SOAPPart soapPart =     message.getSOAPPart();
            SOAPEnvelope envelope = soapPart.getEnvelope();
            SOAPBody body =         envelope.getBody();

            //Populate the body
            //Create the main element and namespace
            SOAPElement bodyElement = 
                body.addChildElement(envelope.createName("isAbonnee", "shop", "www.urlwaarwedeservicegaanvinden.nl"));
            
            SOAPElement messageElement = bodyElement.addChildElement("in0");
            // Hier wordt dan de message opgebouwd. Even weg vanwege security

            //Save the message
            message.saveChanges();

            //Check the input
            System.out.println("\nREQUEST:\n");
            message.writeTo(System.out);
            System.out.println();
            
            //Send the message and get a reply   
            
            //Set the destination
            String destination = myUrl;
            //Send the message
            SOAPMessage reply = 
                connection.call(message, destination);
            
            //Check the output
            System.out.println("\nRESPONSE:\n");
            //Create the transformer
            TransformerFactory transformerFactory = 
                               TransformerFactory.newInstance();
            Transformer transformer = 
                            transformerFactory.newTransformer();
            //Extract the content of the reply
            Source sourceContent = reply.getSOAPPart().getContent();
            //Set the output for the transformation
            StreamResult result = new StreamResult(System.out);
            transformer.transform(sourceContent, result);
            System.out.println();

            
            
            //Close the connection            
            connection.close();

[ Voor 102% gewijzigd door Paxlie op 26-11-2009 17:12 ]

Wie werd waar wanneer geboren en waarom werd hij door wie hoe genoemd?
braque© zijn is een keuze


  • jAnO!
  • Registratie: Januari 2002
  • Laatst online: 28-01 13:12

jAnO!

lalalavanillevla

Gebruik je:
AXIS of xfx of de ws reference implementatie of.... 10 anderen..

Webservices is een drama op Java helemaal als je bijvoorbeeld als ik aan websphere vastzit en toch de Sun JAX-WS reference moet gebruiken, die meteen ruzie zoekt met zo'n beetje alle ouwe meuk parsers die in de IBM jdk zitten en niet ondersteund wordt op was6.1 Jaja gezelligheid troef..

When some people work at a place for ten years they get ten years of experience, other people work at a place for ten years and get one year of experience ten times.


Acties:
  • 0 Henk 'm!

  • Paxlie
  • Registratie: Oktober 2000
  • Laatst online: 23-11-2024

Paxlie

chaos en inslag

Topicstarter
jAnO! schreef op donderdag 26 november 2009 @ 17:09:
Gebruik je:
AXIS of xfx of de ws reference implementatie of.... 10 anderen..

Webservices is een drama op Java helemaal als je bijvoorbeeld als ik aan websphere vastzit en toch de Sun JAX-WS reference moet gebruiken, die meteen ruzie zoekt met zo'n beetje alle ouwe meuk parsers die in de IBM jdk zitten en niet ondersteund wordt op was6.1 Jaja gezelligheid troef..
Op dit moment de AXIS, maar als je een andere methode weet met een site waar die een beetje uitgelegd staat wil ik dat best proberen.

Wie werd waar wanneer geboren en waarom werd hij door wie hoe genoemd?
braque© zijn is een keuze