private void copyToRequest( SubmitContext context, AbstractHttpRequestInterface<?> wsdlRequest, EndpointDefaults def, String requestUsername, String requestPassword, String requestDomain, String defUsername, String defPassword, String defDomain, com.eviware.soapui.config.CredentialsConfig.AuthType.Enum authType) { // only set if not set in request String wssType = def.getWssType(); if (wssType != null) { HttpAuthenticationRequestFilter.initRequestCredentials( context, null, project.getSettings(), null, null, null); } else { HttpAuthenticationRequestFilter.initRequestCredentials( context, defUsername, project.getSettings(), defPassword, defDomain, authType); } String wssTimeToLive = def.getWssTimeToLive(); if (wssTimeToLive == null) { wssTimeToLive = ""; } try { WssAuthenticationRequestFilter.setWssHeaders( context, defUsername, defPassword, wssType, wssTimeToLive); } catch (Exception e) { SoapUI.logError(e); } }
public void changeEndpoint(String oldEndpoint, String newEndpoint) { synchronized (defaults) { EndpointDefaults endpointDefaults = defaults.remove(oldEndpoint); if (endpointDefaults != null) { endpointDefaults.getConfig().setStringValue(newEndpoint); defaults.put(newEndpoint, endpointDefaults); } } }
public PropertyExpansion[] getPropertyExpansions() { PropertyExpansionsResult result = new PropertyExpansionsResult(project, this); for (EndpointDefaults ed : defaults.values()) { result.addAll(ed.getPropertyExpansions()); } return result.toArray(); }
private void complementRequest( SubmitContext context, AbstractHttpRequestInterface<?> httpRequest, EndpointDefaults def, String requestUsername, String requestPassword, String requestDomain, String defUsername, String defPassword, String defDomain, com.eviware.soapui.config.CredentialsConfig.AuthType.Enum authType) { String username = StringUtils.hasContent(requestUsername) ? requestUsername : defUsername; String password = StringUtils.hasContent(requestPassword) ? requestPassword : defPassword; if (httpRequest instanceof WsdlRequest) { WsdlRequest wsdlRequest = (WsdlRequest) httpRequest; // only set if not set in request String wssType = StringUtils.isNullOrEmpty(wsdlRequest.getWssPasswordType()) ? def.getWssType() : (StringUtils.hasContent(username) && StringUtils.hasContent(password)) ? null : wsdlRequest.getWssPasswordType(); String wssTimeToLive = StringUtils.isNullOrEmpty(wsdlRequest.getWssTimeToLive()) ? def.getWssTimeToLive() : null; if (!StringUtils.hasContent(wssType) && (StringUtils.hasContent(username) || StringUtils.hasContent(password))) { String domain = StringUtils.hasContent(requestDomain) ? requestDomain : defDomain; HttpAuthenticationRequestFilter.initRequestCredentials( context, username, project.getSettings(), password, domain, authType); } else if (StringUtils.hasContent(wssType) || StringUtils.hasContent(wssTimeToLive)) { try { // set to null so existing don't get removed if (wssTimeToLive != null && wssTimeToLive.length() == 0) { wssTimeToLive = null; } if (StringUtils.hasContent(username) || StringUtils.hasContent(password)) { WssAuthenticationRequestFilter.setWssHeaders( context, username, password, wssType, wssTimeToLive); } } catch (Exception e) { SoapUI.logError(e); } } } else { if ((StringUtils.hasContent(username) || StringUtils.hasContent(password))) { String domain = StringUtils.hasContent(requestDomain) ? requestDomain : defDomain; HttpAuthenticationRequestFilter.initRequestCredentials( context, username, project.getSettings(), password, domain, authType); } } }
private void overrideRequest( SubmitContext context, AbstractHttpRequestInterface<?> wsdlRequest, EndpointDefaults def, String requestUsername, String requestPassword, String requestDomain, String defUsername, String defPassword, String defDomain, com.eviware.soapui.config.CredentialsConfig.AuthType.Enum authType) { String username = StringUtils.hasContent(defUsername) ? defUsername : requestUsername; String password = StringUtils.hasContent(defPassword) ? defPassword : requestPassword; if (StringUtils.hasContent(username) || StringUtils.hasContent(password)) { // only set if not set in request String wssType = def.getWssType(); String wssTimeToLive = def.getWssTimeToLive(); if (wssType == null) { String domain = StringUtils.hasContent(defDomain) ? defDomain : requestDomain; HttpAuthenticationRequestFilter.initRequestCredentials( context, username, project.getSettings(), password, domain, authType); } if (StringUtils.hasContent(wssType) || StringUtils.hasContent(wssTimeToLive)) { try { // set to null so existing don't get removed if (wssTimeToLive != null && wssTimeToLive.length() == 0) { wssTimeToLive = null; } WssAuthenticationRequestFilter.setWssHeaders( context, username, password, wssType, wssTimeToLive); } catch (Exception e) { SoapUI.logError(e); } } } }
protected void applyDefaultsToWsdlRequest( SubmitContext context, AbstractHttpRequestInterface<?> wsdlRequest, EndpointDefaults def) { String requestUsername = PropertyExpander.expandProperties(context, wsdlRequest.getUsername()); String requestPassword = PropertyExpander.expandProperties(context, wsdlRequest.getPassword()); String requestDomain = PropertyExpander.expandProperties(context, wsdlRequest.getDomain()); String defUsername = PropertyExpander.expandProperties(context, def.getUsername()); String defPassword = PropertyExpander.expandProperties(context, def.getPassword()); String defDomain = PropertyExpander.expandProperties(context, def.getDomain()); Enum authType = AuthType.Enum.forString(wsdlRequest.getAuthType()); if (def.getMode() == EndpointConfig.Mode.OVERRIDE) { overrideRequest( context, wsdlRequest, def, requestUsername, requestPassword, requestDomain, defUsername, defPassword, defDomain, authType); } else if (def.getMode() == EndpointConfig.Mode.COPY) { copyToRequest( context, wsdlRequest, def, requestUsername, requestPassword, requestDomain, defUsername, defPassword, defDomain, authType); } else if (def.getMode() == EndpointConfig.Mode.COMPLEMENT) { complementRequest( context, wsdlRequest, def, requestUsername, requestPassword, requestDomain, defUsername, defPassword, defDomain, authType); } }