Lotus Notes / Domino Sonstiges > Help-Desk Applikation !!Help!!
HELP: Re-Design der Webservices
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
<html>
<head>
<title>Error</title></head>
<body text="#000000">
<h1>Error 401</h1>User not authenticated</body>
</html>
{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