# Class SoapSampler

java.lang.Object
org.apache.jmeter.testelement.AbstractTestElement
org.apache.jmeter.samplers.AbstractSampler
org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase
org.apache.jmeter.protocol.http.sampler.HTTPSampler2
org.apache.jmeter.protocol.http.sampler.SoapSampler

All Implemented Interfaces:
  `Serializable, Cloneable, ConfigMergabilityIndicator, Searchable, HTTPConstantsInterface, Interruptible, Sampler, TestElement, TestIterationListener, TestStateListener, ThreadListener`

public class SoapSampler extends HTTPSampler2 implements Interruptible
Commons HTTPClient based soap sampler

See Also:
  - Serialized Form

## Nested Class Summary

### Nested classes/interfaces inherited from class HTTPSamplerBase

`HTTPSamplerBase.SourceType`

## Field Summary

Fields
Modifier and Type
Field
Description
`static final String`
`SEND_SOAP_ACTION`
`static final String`
`SOAP_ACTION`
`static final String`
`URL_DATA`
`static final String`
`XML_DATA`
`static final String`
`XML_DATA_FILE`

### Fields inherited from class HTTPSamplerBase

`ARGUMENTS, AUTH_MANAGER, AUTO_REDIRECTS, BROWSER_COMPATIBLE_MULTIPART, BROWSER_COMPATIBLE_MULTIPART_MODE_DEFAULT, CACHE_MANAGER, CONCURRENT_DWN, CONCURRENT_POOL, CONCURRENT_POOL_SIZE, CONNECT_TIMEOUT, CONTENT_ENCODING, CONTENT_TYPE, COOKIE_MANAGER, DEFAULT_METHOD, DNS_CACHE_MANAGER, DO_MULTIPART_POST, DOMAIN, EMBEDDED_URL_RE, FOLLOW_REDIRECTS, HEADER_MANAGER, IMAGE_PARSER, IMPLEMENTATION, IP_SOURCE, IP_SOURCE_TYPE, MAX_FRAME_DEPTH, MAX_REDIRECTS, METHOD, MONITOR, NON_HTTP_RESPONSE_CODE, NON_HTTP_RESPONSE_MESSAGE, PATH, PORT, POST_BODY_RAW, POST_BODY_RAW_DEFAULT, PROTOCOL, PROXYHOST, PROXYPASS, PROXYPORT, PROXYUSER, RESPONSE_TIMEOUT, UNSPECIFIED_PORT, UNSPECIFIED_PORT_AS_STRING, URL, URL_UNSPECIFIED_PORT, URL_UNSPECIFIED_PORT_AS_STRING, USE_KEEPALIVE`

### Fields inherited from interface HTTPConstantsInterface

`APPLICATION_X_WWW_FORM_URLENCODED, CACHE_CONTROL, CONNECT, CONNECTION_CLOSE, COPY, DATE, DEFAULT_HTTP_PORT, DEFAULT_HTTP_PORT_STRING, DEFAULT_HTTPS_PORT, DEFAULT_HTTPS_PORT_STRING, DELETE, ENCODING_GZIP, ETAG, EXPIRES, GET, HEAD, HEADER_AUTHORIZATION, HEADER_CONNECTION, HEADER_CONTENT_DISPOSITION, HEADER_CONTENT_ENCODING, HEADER_CONTENT_LENGTH, HEADER_CONTENT_TYPE, HEADER_COOKIE, HEADER_HOST, HEADER_LOCAL_ADDRESS, HEADER_LOCATION, HEADER_SET_COOKIE, HTTP_1_1, IF_MODIFIED_SINCE, IF_NONE_MATCH, KEEP_ALIVE, LAST_MODIFIED, LOCK, MKCALENDAR, MKCOL, MOVE, MULTIPART_FORM_DATA, OPTIONS, PATCH, POST, PROPFIND, PROPPATCH, PROTOCOL_HTTP, PROTOCOL_HTTPS, PUT, REPORT, TRACE, TRANSFER_ENCODING, UNLOCK`

### Fields inherited from interface TestElement

`COMMENTS, ENABLED, GUI_CLASS, NAME, TEST_CLASS`

## Constructor Summary

Constructors
Constructor
Description
`SoapSampler()`

## Method Summary

Modifier and Type
Method
Description
`boolean`
`getSendSOAPAction()`
`String`
`getSOAPAction()`
`String`
`getSOAPActionQuoted()`
`URL`
`getUrl()`
Get the URL, built from its component parts.
`String`
`getURLData()`
`String`
`getXmlData()`
`String`
`getXmlFile()`
Get the file location of the xml file.
`protected HTTPSampleResult`
`sample(URL url, String method, boolean areFollowingRedirect, int frameDepth)`
Samples the URL passed in and stores the result in `HTTPSampleResult`, following redirects and downloading page resources as appropriate.
`protected int`
`setPostHeaders(PostMethod post)`
`void`
`setSendSOAPAction(boolean action)`
`void`
`setSOAPAction(String action)`
`void`
`setURLData(String url)`
`void`
`setXmlData(String data)`
`void`
`setXmlFile(String filename)`
it's kinda obvious, but we state it anyways.

### Methods inherited from class HTTPSampler2

`getConnectionHeaders, getResponseHeaders, interrupt, saveConnectionCookies, setSavedClient, setupConnection, testIterationStart`

### Methods inherited from class HTTPSamplerBase

`addArgument, addArgument, addEncodedArgument, addEncodedArgument, addEncodedArgument, addNonEncodedArgument, addTestElement, applies, clearTestElementChildren, clone, downloadPageResources, encodeBackSlashes, encodeSpaces, errorResult, followRedirects, getArguments, getAuthManager, getAutoRedirects, getCacheManager, getConcurrentPool, getConnectTimeout, getContentEncoding, getCookieManager, getDefaultPort, getDNSResolver, getDoBrowserCompatibleMultipart, getDomain, getDoMultipartPost, getEmbeddedUrlRE, getFollowRedirects, getHeaderManager, getHTTPFileCount, getHTTPFiles, getImplementation, getIpSource, getIpSourceType, getMethod, getMonitor, getPath, getPort, getPortIfSpecified, getPostBodyRaw, getProtocol, getProxyHost, getProxyPass, getProxyPortInt, getProxyUser, getQueryString, getQueryString, getResponseTimeout, getSendFileAsPostBody, getSendParameterValuesAsPostBody, getSourceTypeList, getUseKeepAlive, getUseMultipartForPost, getValidMethodsAsArray, hasArguments, isConcurrentDwn, isImageParser, isMonitor, isProtocolDefaultPort, isSecure, isSecure, isSuccessCode, parseArguments, parseArguments, readResponse, resultProcessing, sample, sample, setArguments, setAuthManager, setAutoRedirects, setCacheManager, setConcurrentDwn, setConcurrentPool, setConnectTimeout, setContentEncoding, setCookieManager, setDNSResolver, setDoBrowserCompatibleMultipart, setDomain, setDoMultipartPost, setEmbeddedUrlRE, setFollowRedirects, setHeaderManager, setHTTPFiles, setImageParser, setImplementation, setIpSource, setIpSourceType, setMD5, setMethod, setMonitor, setMonitor, setPath, setPath, setPort, setPostBodyRaw, setProtocol, setResponseTimeout, setUseKeepAlive, testEnded, testEnded, testStarted, testStarted, threadFinished, threadStarted, toString, useMD5`

### Methods inherited from class AbstractTestElement

`addPropertiesValues, addProperty, addProperty, canRemove, clear, clearTemporary, emptyTemporary, equals, getComment, getName, getProperty, getPropertyAsBoolean, getPropertyAsBoolean, getPropertyAsDouble, getPropertyAsFloat, getPropertyAsInt, getPropertyAsInt, getPropertyAsLong, getPropertyAsLong, getPropertyAsString, getPropertyAsString, getSearchableTokens, getThreadContext, getThreadName, hashCode, isEnabled, isRunningVersion, isTemporary, logProperties, mergeIn, propertyIterator, recoverRunningVersion, removeProperty, setComment, setEnabled, setName, setProperty, setProperty, setProperty, setProperty, setProperty, setProperty, setProperty, setProperty, setProperty, setRunningVersion, setTemporary, setThreadContext, setThreadName, traverse, traverseCollection, traverseMap, traverseProperty`

### Methods inherited from class Object

`finalize, getClass, notify, notifyAll, wait, wait, wait`

### Methods inherited from interface Interruptible

`interrupt`

### Methods inherited from interface TestElement

`canRemove, clear, getComment, getName, getProperty, getPropertyAsBoolean, getPropertyAsBoolean, getPropertyAsDouble, getPropertyAsFloat, getPropertyAsInt, getPropertyAsInt, getPropertyAsLong, getPropertyAsLong, getPropertyAsString, getPropertyAsString, getThreadContext, getThreadName, isEnabled, isRunningVersion, isTemporary, propertyIterator, recoverRunningVersion, removeProperty, setComment, setEnabled, setName, setProperty, setProperty, setProperty, setProperty, setProperty, setProperty, setProperty, setProperty, setProperty, setRunningVersion, setTemporary, setThreadContext, setThreadName, traverse`

## Field Details

### XML_DATA

public static final String XML_DATA

See Also:
  - Constant Field Values

### URL_DATA

public static final String URL_DATA

See Also:
  - Constant Field Values

### SOAP_ACTION

public static final String SOAP_ACTION

See Also:
  - Constant Field Values

### SEND_SOAP_ACTION

public static final String SEND_SOAP_ACTION

See Also:
  - Constant Field Values

### XML_DATA_FILE

public static final String XML_DATA_FILE

See Also:
  - Constant Field Values

## Constructor Details

### SoapSampler

public SoapSampler()

## Method Details

### setXmlData

public void setXmlData(String data)

### getXmlData

public String getXmlData()

### setXmlFile

public void setXmlFile(String filename)
it's kinda obvious, but we state it anyways. Set the xml file with a string path.

Parameters:
  `filename` - path to the xml file

### getXmlFile

public String getXmlFile()
Get the file location of the xml file.

Returns:
  String file path.

### getURLData

public String getURLData()

### setURLData

public void setURLData(String url)

### getSOAPAction

public String getSOAPAction()

### getSOAPActionQuoted

public String getSOAPActionQuoted()

### setSOAPAction

public void setSOAPAction(String action)

### getSendSOAPAction

public boolean getSendSOAPAction()

### setSendSOAPAction

public void setSendSOAPAction(boolean action)

### setPostHeaders

protected int setPostHeaders(PostMethod post)

### sample

protected HTTPSampleResult sample(URL url, String method, boolean areFollowingRedirect, int frameDepth)
Description copied from class: `HTTPSamplerBase`
Samples the URL passed in and stores the result in `HTTPSampleResult`, following redirects and downloading page resources as appropriate.

When getting a redirect target, redirects are not followed and resources are not downloaded. The caller will take care of this.

Overrides:
  `sample` in class `HTTPSampler2`
Parameters:
  `url` - URL to sample
  `method` - HTTP method: GET, POST,...
  `areFollowingRedirect` - whether we're getting a redirect target
  `frameDepth` - Depth of this target in the frame structure. Used only to prevent infinite recursion.
Returns:
  results of the sampling, can be null if u is in CacheManager

### getUrl

public URL getUrl() throws MalformedURLException
Description copied from class: `HTTPSamplerBase`
Get the URL, built from its component parts.

As a special case, if the path starts with "http[s]://", then the path is assumed to be the entire URL.

Overrides:
  `getUrl` in class `HTTPSamplerBase`
Returns:
  The URL to be requested by this sampler.
Throws:
  `MalformedURLException` - if url is malformed