我已经在Netbeans上创建了一个SOAP Web服务客户端。该Web服务在具有NTML身份验证的Navision上公开。在类生成期间,登录弹出窗口会选择所需的凭据并将其用于身份验证。 问题是一旦生成了类并且我尝试调用任何方法;
driver = webdriver.Remote(command_executor='chrome', desired_capabilities=cap)
我例外。
ServicePort webservice_port = new WService().getServicePort();
webservice_port.retrieveData();
这是NTLM身份验证问题吗,还是还有另一种方式来传递凭据?
答案 0 :(得分:0)
找到了可行的解决方案。使用Web服务端口向客户端注入身份验证机制。
Port webservice_port = new Wservice().getServicePort();
Client client = ClientProxy.getClient(webservice_port);
HTTPConduit conduit = (HTTPConduit) client.getConduit();
AuthorizationPolicy authorization = conduit.getAuthorization();
authorization.setUserName(username);
authorization.setPassword(password);
conduit.getClient().setAllowChunking(false);
conduit.getClient().setAutoRedirect(true);
webservice_port.callWebMethod();