Hi,
actually setValues works, but you have to setResponse first.
I created following service to set Http headers (check attached picture for service inputs):
HttpHeader respHeader = Service.getHttpResponseHeader(null);
// pipeline
IDataCursor pipelineCursor = pipeline.getCursor();
// header
IData header = IDataUtil.getIData( pipelineCursor, "header" );
if ( header != null)
{
IDataCursor headerCursor = header.getCursor();
String status = IDataUtil.getString( headerCursor, "status" );
String statusMessage = IDataUtil.getString( headerCursor, "statusMessage" );
respHeader.setResponse(Integer.parseInt(status), statusMessage);
respHeader.setValues(Values.use(header));
/* not needed as we're passing Values type
// i.lines
IData lines = IDataUtil.getIData( headerCursor, "lines" );
if ( lines != null)
{
IDataCursor linesCursor = lines.getCursor();
String Date = IDataUtil.getString( linesCursor, "Date" );
String Server = IDataUtil.getString( linesCursor, "Server" );
String Content_Type = IDataUtil.getString( linesCursor, "Content-Type" );
String Connection = IDataUtil.getString( linesCursor, "Connection" );
respHeader.addField("Date", Date);
respHeader.addField("Server", Server);
respHeader.addField("Content-Type", Content_Type);
respHeader.addField("Connection", Connection);
linesCursor.destroy();
}
*/
headerCursor.destroy();
}
pipelineCursor.destroy();
Don’t forget to put com.wm.net.HttpHeader into imports section.

#Flow-and-Java-services#webMethods#Integration-Server-and-ESB