First, let's be careful with our notation. It's totally possible to define $x_1, x_2, x_3$ as independent random variables with the given density function. But if you do that, you can't enforce the condition that $x_1 < x_2 < x_3$, because this contradicts independence. Instead, the right idea is to define the order statistics, which are three other variables:
\begin{align*}
x_{(1)} & := \min\{x_1, x_2, x_3\} \\
x_{(3)} & := \max\{x_1, x_2, x_3\} \\
x_{(2)} & := \text{(the other one)}
\end{align*}
(It's possible to write down a definition for $x_{(2)}$, of course, but it's not really worth the effort as long as the meaning is clear.) Keeping the notation straight is important; the $x_i$ variables have the given density function and are independent of one another. The $x_{(i)}$ variables, though, are very much dependent on each other, and they do not have the original density function anymore. Intuitively, it should be clear that $x_{(1)}$ is much more likely to be found in, say, the interval $[0, 0.1]$ than $x_{(3)}$ is. These new variables are called the order statistics, and there is a long body of literature on how to deal with these.
The line in your solution that I don't understand is the line where you say
Then $f(x_2) = \int_{x_2} ^1 \int_{0}^{x_2} f(x_1, x_2, x_3) dx_1 dx_3 = 2X^3(1-X^2)$
and as far as I can tell, you may be making an error in conflating the difference between $x_2$ and $x_{(2)}$. You may have noticed that your answer was off by a factor of $6$; this is not an accident, and the factor of $3!$ comes from the ways to rearrange the three variables.
Hopefully I've said enough at this point to identify your mistake and point you on the right track; please let me know if not.