Jax-WS不能使用表单身份验证

时间:2014-09-16 11:33:18

标签: java tomcat jax-ws

我有一个带Tomcat和Servlets的Jave EE Web应用程序。 我用Jax-WS开发了一个Web服务。

如果我使用Basic Authentificion部署我的Java EE,它可以正常工作。 但是,如果我使用Form Authentification部署我的Java EE项目,我将成为错误消息(无法访问WSDL)

所以我不知道如何使用Form Authentification进行身份验证。

我的WebService代码是这样的:

public static void main(String[] args) throws Exception {

    final String PASSWORD = "password";

    Authenticator.setDefault(new Authenticator() {
        @Override
        protected PasswordAuthentication getPasswordAuthentication() {
            return new PasswordAuthentication(
                "username",
                PASSWORD.toCharArray());
        }
    });


    URL wsdlUrl = new URL("https://.../.../sayhello?wsdl");

    QName qname = new QName("http://webservice.src/", "WebServiceImplService");

    Service service = Service.create(wsdlUrl, qname);
    WebServiceInterface helloWorldInterface = service.getPort(WebServiceInterface.class);

    System.out.println(helloWorldInterface.authentification());

}

错误讯息:

Exception in thread "main" javax.xml.ws.WebServiceException: Failed to access the WSDL at: https://.../.../sayhello?wsdl.

此错误的存在是因为验证未成功。 使用Basic Authenticntfication,它可以正常工作。

我不知道区别在哪里。

0 个答案:

没有答案