}
MimeMessage message = new MimeMessage( AttachmentUtils.JAVAMAIL_SESSION );
message.setContent( formMp );
message.saveChanges();
RestRequestMimeMessageRequestEntity mimeMessageRequestEntity = new RestRequestMimeMessageRequestEntity(
message, request );
( ( EntityEnclosingMethod )httpMethod ).setRequestEntity( mimeMessageRequestEntity );
httpMethod.setRequestHeader( "Content-Type", mimeMessageRequestEntity.getContentType() );
httpMethod.setRequestHeader( "MIME-Version", "1.0" );
}
catch( Throwable e )
{
SoapUI.logError( e );
}
}
else if( request.hasRequestBody() && httpMethod instanceof EntityEnclosingMethod )
{
if( StringUtils.hasContent( request.getMediaType() ) )
httpMethod.setRequestHeader( "Content-Type", getContentTypeHeader( request.getMediaType(), encoding ) );
if( request.isPostQueryString() )
{
( ( EntityEnclosingMethod )httpMethod ).setRequestEntity( new StringRequestEntity( query.toString() ) );
}
else
{
String requestContent = PropertyExpander.expandProperties( context, request.getRequestContent(),
request.isEntitizeProperties() );
List<Attachment> attachments = new ArrayList<Attachment>();
for( Attachment attachment : request.getAttachments() )
{
if( attachment.getContentType().equals( request.getMediaType() ) )
{
attachments.add( attachment );
}
}
if( StringUtils.hasContent( requestContent ) && attachments.isEmpty() )
{
try
{
byte[] content = encoding == null ? requestContent.getBytes() : requestContent.getBytes( encoding );
( ( EntityEnclosingMethod )httpMethod ).setRequestEntity( new ByteArrayRequestEntity( content ) );
}
catch( UnsupportedEncodingException e )
{
( ( EntityEnclosingMethod )httpMethod ).setRequestEntity( new ByteArrayRequestEntity( requestContent
.getBytes() ) );
}
}
else if( attachments.size() > 0 )
{
try
{
MimeMultipart mp = null;
if( StringUtils.hasContent( requestContent ) )
{
mp = new MimeMultipart();
initRootPart( request, requestContent, mp );
}
else if( attachments.size() == 1 )
{
( ( EntityEnclosingMethod )httpMethod ).setRequestEntity( new InputStreamRequestEntity(
attachments.get( 0 ).getInputStream() ) );
httpMethod.setRequestHeader( "Content-Type",
getContentTypeHeader( request.getMediaType(), encoding ) );
}
if( ( ( EntityEnclosingMethod )httpMethod ).getRequestEntity() == null )
{
if( mp == null )
mp = new MimeMultipart();
// init mimeparts
AttachmentUtils.addMimeParts( request, attachments, mp, new StringToStringMap() );
// create request message
MimeMessage message = new MimeMessage( AttachmentUtils.JAVAMAIL_SESSION );
message.setContent( mp );
message.saveChanges();
RestRequestMimeMessageRequestEntity mimeMessageRequestEntity = new RestRequestMimeMessageRequestEntity(
message, request );
( ( EntityEnclosingMethod )httpMethod ).setRequestEntity( mimeMessageRequestEntity );
httpMethod.setRequestHeader( "Content-Type",
getContentTypeHeader( mimeMessageRequestEntity.getContentType(), encoding ) );
httpMethod.setRequestHeader( "MIME-Version", "1.0" );
}
}
catch( Exception e )
{