java + xml + wsse

0

Potrzebuje wygenerować z poziomu programu w javie wsse security header i dodać go do pliku request.xml.

Plik xml generowany jest tak:

Cześć body:

File registerSubscriberRequestFile = new File(registerSubscriberRequestFileName);
    writeToFile(ClassLoader.getSystemResourceAsStream("request.xml"), registerSubscriberRequestFile);
    SAXBuilder builder = new SAXBuilder();
    Document registerRequest = builder.build(registerSubscriberRequestFile);

    Element body = (Element) registerRequest.getRootElement().getChildren().get(1);

    Element registerRequestElement = new Element("registerRequest", NS_SUBSCRIBER_REGISTER_WS_SCHEMA);

(bla bla bla nieistotne)

body.addContent(registerRequestElement);
    saveRequestFile(registerSubscriberRequestFile, registerRequest);

Natomiast zapytanie do servera wysyłane jest poprzez metody PostMethod i HttpClient

W soapUI ustawiam username/password i passwordType na PasswordDigest i request wysyła się prawidłowo (na PasswordText nie działa), w związku z tym wiem ze w wysyłanym requeście potrzebuje pełną formę, tj coś w stylu:

<wsse:UsernameToken>
    <wsse:Username>scott</wsse:Username>
    <wsse:Password Type="wsse:PasswordDigest">
        KE6QugOpkPyT3Eo0SEgT30W4Keg=</wsse:Password>
    <wsse:Nonce>5uW4ABku/m6/S5rnE+L7vg==</wsse:Nonce>
    <wsu:Created xmlns:wsu=
        "http://schemas.xmlsoap.org/ws/2002/07/utility">
            2002-08-19T00:44:02Z
    </wsu:Created>
</wsse:UsernameToken>

Jak to uzyskać z poziomu javy? Czy są już istniejące metody, czy będę się musiała pobawić w napisanie własnych metod na szyfrowanie itp?

0

jest coś takiego jak ws-security. Specyfikacja określająca jak wygląda sprawa bezpieczeństwa web services w javowym świecie. Obsługują to zarówno JAX-WS jak AXIS2.

0

będę wdzięczna za więcej szczegółów - trochę błądzę po omacku w całym tym xml/soap + java...

0

http://download.oracle.com/docs/cd/E17802_01/webservices/webservices/docs/1.6/tutorial/doc/index.html to jest taki kobylasty tutorial o tym jak pisać w webservices w Javie. Części 4,5,6 są dla ciebie. Niestety trzeba poczytać by zrozumieć.

0

zejuekurnabiscie ;P jak ja kocham, wręcz uwielbiam dokumentacje czytać ;-( no nic... jak mus to mus....

0

Polecam pobrać i wydrukować sobie PDFa. Zdecydowanie łatwiej się to czyta, a i bardziej poręczne przy szukaniu różnych dupereli. Niestety takie życie. Swoją droga to nie jest dokumentacja, a tutorial. Dokumentacja ma gdzieś z 2k stron.

0

Ten tutorial jest długi... Jak masz zamiar napisać tego klienta? Jako aplikację serwerową czy w SE? Bo ja bym raczej poszukał tutka na konkretny serwer (jeżeli klient będzie na serwerze), albo na jakąś konkretną implementację. Tam będzie to krócej i samo gęste.

1 użytkowników online, w tym zalogowanych: 0, gości: 1