> For the complete documentation index, see [llms.txt](https://docs.wproofreader.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.wproofreader.com/v6.11.0/troubleshooting/server-side-backend/cannot-parse-ini-file-...-appserver-appserverx.xml-.-reason-xmldomparser.-invalid-token-...md).

# Cannot parse ini file "...\AppServer\AppServerX.xml". Reason: XmlDomParser. Invalid token \[..]

### Problem & Symptoms <a href="#draft-cannotparseinifile-...-appserver-appserverx.xml-.reason-xmldomparser.invalidtoken-...-problem" id="draft-cannotparseinifile-...-appserver-appserverx.xml-.reason-xmldomparser.invalidtoken-...-problem"></a>

Sometimes you may encounter the following situation after modifying the AppServer.xml file, it fails to operate properly and you can see the following message in the logs files of the **/\<WSC\_Installation\_Path>/WSC/AppServer/Logs** directory:

```javascript
Cannot parse ini file "...\AppServer\AppServerX.xml". Reason: XmlDomParser. Invalid token in line <00> column <00> error code 17
```

The error means that you use inappropriate symbols which are reserved characters in XML such as, for example, **>** or **<** characters in the parameter value in AppServerX.xml file. This file is located in **\<WebSpellChecker\_Installation\_Path>/AppServer/AppServerX.xml** directory.

### Solution <a href="#draft-cannotparseinifile-...-appserver-appserverx.xml-.reason-xmldomparser.invalidtoken-...-solution" id="draft-cannotparseinifile-...-appserver-appserverx.xml-.reason-xmldomparser.invalidtoken-...-solution"></a>

To solve the issue, you need to replace the **reserved characters in XML** with their **corresponding entities** or update the parameter value so that it doesn't contain any of the reserved characters listed in the table below.

| Character | Entity  |
| --------- | ------- |
| **&**     | \&amp;  |
| **<**     | \&lt;   |
| **>**     | \&gt;   |
| **"**     | \&quot; |
| **'**     | \&apos; |

To do so:

1. [Stop AppServer](https://docs.wproofreader.com/v6.11.0/troubleshooting/server-side-backend/pages/IA2KNQLXDh85TwDivL4y#mainappservercommands-stopappserverwindowslinux2.stopappserver).
2. Open the AppServerX.xml file and navigate to the line mentioned in the error message.
3. Replace reserved characters that cause the crash of XML with their appropriate entities.
4. Save changes in the AppServerX.xml file and [Start AppServer](https://docs.wproofreader.com/v6.11.0/troubleshooting/server-side-backend/pages/IA2KNQLXDh85TwDivL4y#mainappservercommands-startappserverwindowslinux1.startappserver) to apply changes.

#### Examples for the SSLCertificatePassword parameter <a href="#draft-cannotparseinifile-...-appserver-appserverx.xml-.reason-xmldomparser.invalidtoken-...-examples" id="draft-cannotparseinifile-...-appserver-appserverx.xml-.reason-xmldomparser.invalidtoken-...-examples"></a>

**Incorrect syntax example (using < in the field):**

```javascript
<SSLCertificatePassword>1<rfgcyJ</SSLCertificatePassword>
```

**Correct syntax example (replacing < with its corresponding entity \&lt;) :**

```javascript
<SSLCertificatePassword>1&lt;rfgcyJ</SSLCertificatePassword>
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.wproofreader.com/v6.11.0/troubleshooting/server-side-backend/cannot-parse-ini-file-...-appserver-appserverx.xml-.-reason-xmldomparser.-invalid-token-...md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
