Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How do I access a password-protected WSDL using JAXWS without using default Authenticator?

wsdlLocation below is password protected, but paranoia makes me uncomfortable with having set a default Authenticator for the application. How can I set authentication without using a default Authenticator?

protected Orders getOrdersPort(String wsdlLocation, String namespaceURI) {
    Authenticator.setDefault(new Authenticator() {
        @Override
        protected PasswordAuthentication getPasswordAuthentication() {
            return new PasswordAuthentication("username", "password".toCharArray());
        }
    });
    OrdersService service = new OrdersService(createUrlThrowRuntimeException(wsdlLocation), new QName(namespaceURI,
            "OrdersService"));
    Orders ordersPort = service.getOrdersSoap12();
    setConnectionTimeout(ordersPort);
    return ordersPort;
}
like image 337
Jonas Andersson Avatar asked Nov 15 '22 08:11

Jonas Andersson


1 Answers

One workaround is of course to download the wsdl to a local file and use that file instead. Would be nice to not have to do that though.

like image 135
Jonas Andersson Avatar answered Dec 02 '22 21:12

Jonas Andersson