Das, was du möchtest funktioniert mit `decorations.text`. Dort gibt es die Dekoration `text along path`. Da Text und Linie gezeichnet werden sollen muss die Dekoration nach Zeichnen des Pfades angewendet werden. Dies geht mit
\draw[postaction=decorate,decoration={text along path,...}] ...
Das Kapitel »Text Decorations« in der [Anleitung](http://texdoc.net/texmf-dist/doc/generic/pgf/pgfmanual.pdf) beschreibt alle Optionen.
In deinem Beispiel sieht das jetzt natürlich sehr komisch aus, weil der Text länger als die Linie ist. Automatischen Zeilenumbruch gibt es nicht (wie auch), wenn mehrere Zeilen gewünscht sind muss man dies von Hand mit mehreren Dekorationen und dem `raise`-Parameter.
`raise`-Parameter machen.
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{decorations.text}
\begin{document}
\begin{tikzpicture}
\path (0,0) node(x) {Hello World!}
(3,1) node[circle,draw](y) {$\int_1^2 x \mathrm d x$};
\draw[->,blue] (x) -- (y);
\draw[->,red] (x) -| node[near start,below] {label} (y);
\draw[->,orange,postaction=decorate,decoration={text along path,text color=orange,text={Hier steht langer Text}}] (x) .. controls +(up:1cm) and +(left:1cm) .. (y);
\end{tikzpicture}
\begin{tikzpicture}
\path (0,0) node[circle,draw](x) {A} (3,2) node[circle,draw](y) {B};
\draw [->,orange,postaction=decorate,decoration={text along path,text color=orange,text={Hier steht langer Text}}] (x) .. controls +(up:1cm) and +(left:1cm) .. (y);
\draw [->,orange,postaction=decorate,decoration={text along path,text color=orange,text={Hier steht auch ein langer Text}}] Text},reverse path}] (y) .. controls +(down:1cm) and +(right:1cm) .. (x);
\end{tikzpicture}
\end{document}
> ![alt text][1]
[1]: http://texwelt.de/wissen/upfiles/test_103.pnghttp://texwelt.de/wissen/upfiles/test_104.png