I also want to do the same stuff
I am creating a base64 encoded string in Groovy Script and i want to insert this as a header element in next SOAP request's header
My code is as follows:
import java.util.*;
import org.apache.commons.codec.binary.Base64
def dialog = com.eviware.soapui.support.UISupport.createConfigurationDialog( "CIM User Login Credentials" );
dialog.addTextField( "UserName", "Username of CIM User" );
dialog.addTextField( "Password", "Password of CIM User" );
def map = new java.util.HashMap();
map.put( "UserName", "" );
map.put( "Password", "" );
if ( dialog.show( map ) )
{
byte[] username = map.get ( "UserName" ).toString().getBytes();
byte[] password = map.get ( "Password" ).toString().getBytes();
byte[] authString = new byte[username.length + password.length + 1];
System.arraycopy(username, 0, authString, 0, username.length);
authString[username.length] = (byte) ':';
System.arraycopy(password, 0, authString, username.length+1, password.length);
eString = authString.encodeBase64()
finalHeader = "Basic " + eString
log.info "Base64 Encoded String: " + eString
def groovyUtils = new com.eviware.soapui.support.GroovyUtils( context )
def httpReqHeaders = context.testCase.testSteps["CIM Login Request"].testRequest.requestHeaders
//def httpResponseHeaders = context.testCase.testSteps["Google Search request"].testRequest.response.responseHeaders
def authHeader = httpReqHeaders["Authorization"]
log.info "Present Authorization Header: " + authHeader
log.info "Setting Authorization Header to " + finalHeader
log.info "Authorization Header after modification: " + httpReqHeaders["Authorization"]
However after running the script, i am not getting the updated header information
Any help?