# Class Service

- [TopLevel.Object](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.Object.md)
  - [dw.svc.Service](/docs/commerce/b2c-commerce/references/b2c-script-api/dw.svc.Service.md)

Base class of Services.

A service represents a call-specific configuration. Any configuration set here is local to the currently executing
call.

**See Also:**

- [LocalServiceRegistry](/docs/commerce/b2c-commerce/references/b2c-script-api/dw.svc.LocalServiceRegistry.md)
- [ServiceCallback](/docs/commerce/b2c-commerce/references/b2c-script-api/dw.svc.ServiceCallback.md)

## All Known Subclasses

[FTPService](/docs/commerce/b2c-commerce/references/b2c-script-api/dw.svc.FTPService.md), [HTTPFormService](/docs/commerce/b2c-commerce/references/b2c-script-api/dw.svc.HTTPFormService.md), [HTTPService](/docs/commerce/b2c-commerce/references/b2c-script-api/dw.svc.HTTPService.md), [SOAPService](/docs/commerce/b2c-commerce/references/b2c-script-api/dw.svc.SOAPService.md)

## Property Summary

| Property                                                                                                                                      | Description                                                                                 |
| --------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- |
| [URL](#url): [String](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.String.md)                                               | Returns the current URL, excluding any custom query parameters.                             |
| [configuration](#configuration): [ServiceConfig](/docs/commerce/b2c-commerce/references/b2c-script-api/dw.svc.ServiceConfig.md) `(read-only)` | Returns the Service Configuration.                                                          |
| [credentialID](#credentialid): [String](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.String.md)                             | Returns the ID of the currently associated Credential.                                      |
| [mock](#mock): [Boolean](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.Boolean.md)                                           | Returns the status of whether this service is executing in mock mode.                       |
| [requestData](#requestdata): [Object](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.Object.md) `(read-only)`                 | Returns the property that stores the object returned by createRequest.                      |
| [response](#response): [Object](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.Object.md) `(read-only)`                       | Returns the property that stores the object returned by the service.                        |
| [throwOnError](#throwonerror): [Boolean](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.Boolean.md)                           | Returns the status of whether this service will throw an error when encountering a problem. |

## Constructor Summary

This class does not have a constructor, so you cannot create it directly.

## Method Summary

| Method                                                                                                                                                                                               | Description                                                                                                  |
| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------ |
| [call](/docs/commerce/b2c-commerce/references/b2c-script-api/dw.svc.Service.md#callobject)([Object...](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.Object.md))                    | Invokes the service.                                                                                         |
| [getConfiguration](/docs/commerce/b2c-commerce/references/b2c-script-api/dw.svc.Service.md#getconfiguration)()                                                                                       | Returns the Service Configuration.                                                                           |
| [getCredentialID](/docs/commerce/b2c-commerce/references/b2c-script-api/dw.svc.Service.md#getcredentialid)()                                                                                         | Returns the ID of the currently associated Credential.                                                       |
| [getRequestData](/docs/commerce/b2c-commerce/references/b2c-script-api/dw.svc.Service.md#getrequestdata)()                                                                                           | Returns the property that stores the object returned by createRequest.                                       |
| [getResponse](/docs/commerce/b2c-commerce/references/b2c-script-api/dw.svc.Service.md#getresponse)()                                                                                                 | Returns the property that stores the object returned by the service.                                         |
| [getURL](/docs/commerce/b2c-commerce/references/b2c-script-api/dw.svc.Service.md#geturl)()                                                                                                           | Returns the current URL, excluding any custom query parameters.                                              |
| [isMock](/docs/commerce/b2c-commerce/references/b2c-script-api/dw.svc.Service.md#ismock)()                                                                                                           | Returns the status of whether this service is executing in mock mode.                                        |
| [isThrowOnError](/docs/commerce/b2c-commerce/references/b2c-script-api/dw.svc.Service.md#isthrowonerror)()                                                                                           | Returns the status of whether this service will throw an error when encountering a problem.                  |
| [setCredentialID](/docs/commerce/b2c-commerce/references/b2c-script-api/dw.svc.Service.md#setcredentialidstring)([String](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.String.md)) | Override the Credential by the credential object with the given ID.                                          |
| [setMock](/docs/commerce/b2c-commerce/references/b2c-script-api/dw.svc.Service.md#setmock)()                                                                                                         | Forces the mock mode to be enabled.                                                                          |
| [setThrowOnError](/docs/commerce/b2c-commerce/references/b2c-script-api/dw.svc.Service.md#setthrowonerror)()                                                                                         | Forces a Service to throw an error when there is a problem instead of returning a Result with non-OK status. |
| [setURL](/docs/commerce/b2c-commerce/references/b2c-script-api/dw.svc.Service.md#seturlstring)([String](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.String.md))                   | Override the URL to the given value.                                                                         |

### Methods inherited from class Object

[assign](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.Object.md#assignobject-object), [create](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.Object.md#createobject), [create](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.Object.md#createobject-object), [defineProperties](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.Object.md#definepropertiesobject-object), [defineProperty](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.Object.md#definepropertyobject-object-object), [entries](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.Object.md#entriesobject), [freeze](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.Object.md#freezeobject), [fromEntries](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.Object.md#hasownpropertystring), [is](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.Object.md#isobject-object), [isExtensible](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.Object.md#isextensibleobject), [isFrozen](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.Object.md#isfrozenobject), [isPrototypeOf](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.Object.md#isprototypeofobject), [isSealed](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.Object.md#issealedobject), [keys](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.Object.md#keysobject), [preventExtensions](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.Object.md#propertyisenumerablestring), [seal](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.Object.md#sealobject), [setPrototypeOf](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.Object.md#tolocalestring), [toString](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.Object.md#tostring), [valueOf](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.Object.md#valueof), [values](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.Object.md#valuesobject)

## Property Details

### URL

- URL: [String](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.String.md)
  - : Returns the current URL, excluding any custom query parameters.

***

### configuration

- configuration: [ServiceConfig](/docs/commerce/b2c-commerce/references/b2c-script-api/dw.svc.ServiceConfig.md) `(read-only)`
  - : Returns the Service Configuration.

***

### credentialID

- credentialID: [String](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.String.md)
  - : Returns the ID of the currently associated Credential.

***

### mock

- mock: [Boolean](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.Boolean.md)
  - : Returns the status of whether this service is executing in mock mode.

***

### requestData

- requestData: [Object](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.Object.md) `(read-only)`
  - : Returns the property that stores the object returned by createRequest.

***

### response

- response: [Object](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.Object.md) `(read-only)`
  - : Returns the property that stores the object returned by the service.

    This property is only useful after the service [call(Object...)](/docs/commerce/b2c-commerce/references/b2c-script-api/dw.svc.Service.md#callobject) completes, and is the same as the object
    inside the [Result](/docs/commerce/b2c-commerce/references/b2c-script-api/dw.svc.Result.md).

***

### throwOnError

- throwOnError: [Boolean](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.Boolean.md)
  - : Returns the status of whether this service will throw an error when encountering a problem.

***

## Method Details

### call(Object...)

- call(args: [Object...](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.Object.md)): [Result](/docs/commerce/b2c-commerce/references/b2c-script-api/dw.svc.Result.md)
  - : Invokes the service.

    **Parameters:**

    - args - Arguments to pass. If there is a single argument and that argument is an array, then each item in the             array will become a separate argument. For example, the following results in three separate arguments             to the service:

```
            svc.call( [1,2,3] )
```

```
          and is functionally equivalent to              
```

```
            svc.call( 1, 2, 3 )
```

```
          This can be avoided by explicitly forming a [List](dw.util.List.md), enclosing the array in another             array, or by sending a second argument. The following will all send the array as a List in the first             argument.              
```

```
            svc.call( ArrayList([1,2,3]) )
```

```
            svc.call( [[1,2,3]] )
```

```
            svc.call( [1,2,3], "" )
```

```
          Another option is to change the definition of the associated             [ServiceCallback.createRequest(Service, Object...)](dw.svc.ServiceCallback.md#createrequestservice-object) to accept an object instead, and pass the             array as a field of that object:              
```

```
            svc.call( { 'data': [1,2,3] } )
```

```
**Returns:**
- Result of the service.
```

***

### getConfiguration()

- getConfiguration(): [ServiceConfig](/docs/commerce/b2c-commerce/references/b2c-script-api/dw.svc.ServiceConfig.md)
  - : Returns the Service Configuration.

    **Returns:**

    - Service Configuration.

***

### getCredentialID()

- getCredentialID(): [String](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.String.md)
  - : Returns the ID of the currently associated Credential.

    **Returns:**

    - Credential Name.

***

### getRequestData()

- getRequestData(): [Object](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.Object.md)
  - : Returns the property that stores the object returned by createRequest.

    **Returns:**

    - Object returned by createRequest.

***

### getResponse()

- getResponse(): [Object](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.Object.md)
  - : Returns the property that stores the object returned by the service.

    This property is only useful after the service [call(Object...)](/docs/commerce/b2c-commerce/references/b2c-script-api/dw.svc.Service.md#callobject) completes, and is the same as the object
    inside the [Result](/docs/commerce/b2c-commerce/references/b2c-script-api/dw.svc.Result.md).

    **Returns:**

    - Object returned by the service.

***

### getURL()

- getURL(): [String](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.String.md)
  - : Returns the current URL, excluding any custom query parameters.

    **Returns:**

    - URL.

***

### isMock()

- isMock(): [Boolean](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.Boolean.md)
  - : Returns the status of whether this service is executing in mock mode.

    **Returns:**

    - true for mock mode, false otherwise.

***

### isThrowOnError()

- isThrowOnError(): [Boolean](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.Boolean.md)
  - : Returns the status of whether this service will throw an error when encountering a problem.

    **Returns:**

    - true to throw an error, false otherwise.

***

### setCredentialID(String)

- setCredentialID(id: [String](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.String.md)): [Service](/docs/commerce/b2c-commerce/references/b2c-script-api/dw.svc.Service.md)
  - : Override the Credential by the credential object with the given ID.

    If the URL is also overridden, that URL will continue to override the URL in this credential.

    **Parameters:**

    - id - Credential ID. It must exist.

    **Returns:**

    - this Service.

***

### setMock()

- setMock(): [Service](/docs/commerce/b2c-commerce/references/b2c-script-api/dw.svc.Service.md)
  - : Forces the mock mode to be enabled.

    **Returns:**

    - this Service.

***

### setThrowOnError()

- setThrowOnError(): [Service](/docs/commerce/b2c-commerce/references/b2c-script-api/dw.svc.Service.md)
  - : Forces a Service to throw an error when there is a problem instead of returning a Result with non-OK status.

    **Returns:**

    - this Service.

***

### setURL(String)

- setURL(url: [String](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.String.md)): [Service](/docs/commerce/b2c-commerce/references/b2c-script-api/dw.svc.Service.md)
  - : Override the URL to the given value. Any query parameters (if applicable) will be appended to this URL.

    **Parameters:**

    - url - Force the URL to the given value.

    **Returns:**

    - this Service.

***
