Lotus Notes / Domino Sonstiges > Help-Desk Applikation !!Help!!

HELP: Re-Design der Webservices

<< < (2/7) > >>

Mark³:
der Beispielcode scheint die Implementierung in Microsoft VB oder so zu sein. In Java muss scheinbar nur dem Web Service Stub folgendes mitgeteilt werden:


--- Code: ---stub._setProperty(
          javax.xml.rpc.Stub.USERNAME_PROPERTY,
            username);
stub._setProperty(
          javax.xml.rpc.Stub.PASSWORD_PROPERTY,
            password);

--- Ende Code ---
Vielleicht kannst du auf deinem Server Basic Authentication einrichten (oder ist es bereits an?) und mir einen User mit Passwort zukommen lassen, so dass ich das mal testen kann? Bleibt nur die Frage, wie ich sehe, ob es klappt. Vielleicht baust du eine Methode ein, die irgendwo session.username o. ä. zurückliefert?

Natürlich ist dies keine Implementierung von
--- Zitat ---Sicherheit
--- Ende Zitat ---
wie ich so lax sagte sondern nur die Anmeldung am Server. Zusätzlich müsste dann noch SSL genutzt werden. Ein Hinweis, wie das auf der Client-Seite implementiert wird findet sich hier am Ende: http://www.jeckle.de/secureSOAP.html

Mark³:
hier ist ein Beispiel für die Implementierung:


--- Code: ---package mutualauthclient;

import javax.xml.rpc.Stub;

public class HelloClient {

    public static void main(String[] args) {
   
        if (args.length !=5) {
          System.out.println("HelloClient Error: Need 5
        runtime arguments!");
          System.exit(1);
        }
       
        String keyStore=args[0];
        String keyStorePassword=args[1];
        String trustStore=args[2];
        String trustStorePassword=args[3];
        String endpointAddress=args[4];


      // print to display for verification purposes
        System.out.println("keystore: " + keyStore);
        System.out.println("keystorePassword: " +
        keyStorePassword);
        System.out.println("trustStore: " + trustStore);
        System.out.println("trustStorePassword: " +
        trustStorePassword);
        System.out.println("Endpoint address: " +
        endpointAddress);

    try {
      Stub stub = createProxy();
      System.setProperty("javax.net.ssl.keyStore",
        keyStore);
      System.setProperty("javax.net.ssl.keyStorePassword",
        keyStorePassword);
      System.setProperty("javax.net.ssl.trustStore",
        trustStore);
      System.setProperty("javax.net.ssl.trustStorePassword",
        trustStorePassword);
      stub._setProperty(
          javax.xml.rpc.Stub.ENDPOINT_ADDRESS_PROPERTY,
            endpointAddress);

      HelloIF hello = (HelloIF)stub;
      System.out.println(hello.sayHello("Duke! (        secure!"));
        } catch (Exception ex) {
            ex.printStackTrace();
        }
    }   

    private static Stub createProxy() {
        // Note: MyHelloService_Impl is implementation-specific.
        return (Stub)(new
          MySecureHelloService_Impl().getHelloIFPort());
    }
}
--- Ende Code ---

Quelle: Kapitel 27 in http://www.ti5.tu-harburg.de/manual/Java/j2ee-tutorial-1.4/doc/

Mark³:
scheint zu klappen  ;D
User 'username' gibt es wohl nicht bei dir...


--- Code: ---AxisFault
 faultCode: {http://xml.apache.org/axis/}HTTP
 faultSubcode:
 faultString: (401)Unauthorized
 faultActor:
 faultNode:
 faultDetail:
{}:return code:  401
&lt;html&gt;
&lt;head&gt;
&lt;title&gt;Error&lt;/title&gt;&lt;/head&gt;
&lt;body text=&quot;#000000&quot;&gt;
&lt;h1&gt;Error 401&lt;/h1&gt;User not authenticated&lt;/body&gt;
&lt;/html&gt;

{http://xml.apache.org/axis/}HttpErrorCode:401

(401)Unauthorized
--- Ende Code ---

eknori (retired):
dann versuche es mal mit

Hein Bloed
blauerBaer

flaite:
Kannst du bitte mal in die Methode GETALLTICKETSBYUSER ein print session.getUsername eingeben. Dann könnten wir sehen ob das tatsächlich funktioniert.

Navigation

[0] Themen-Index

[#] Nächste Seite

[*] Vorherige Sete

Zur normalen Ansicht wechseln