Einzelnen Beitrag anzeigen

Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#1

Jabber Nachricht mit X-Tag senden

  Alt 22. Feb 2006, 12:50
Ich versuche gerade die ganze Zeit eine modifizierte Jabber Nachricht zu verschicken. Und zwar füge ich dem XML Stream einen X-Tag hinzu:
Delphi-Quellcode:
var
  Msg : IJabberMsg;
  XMLTag : IXMLTag;
  xt : IXMLTag;
begin
  Msg := JS.CreateMsg;

  Msg.ToJID := 'mp-test@datawerk.de/XMLStream-Demo';
  Msg.FromJID := JS.Username;
  Msg.MsgType := jmtNormal;
  Msg.Body := 'Testnachricht';

  XMLTag := JS.CreateXMLTag;
  XMLTag := Msg.MsgTag.AddTag('font');
  XMLTag.PutAttrib('type', 'mp-extra-tag');
  XMLTag.AddBasicTag('color', 'clNavy');
  XMLTag.AddTag('size').AddCData('8');

  xt := Msg.AddXTag;
  xt.Name := 'x';
  xt.PutAttrib('xmlns', 'jabber:x');
  xt.AddBasicTag('Xtra Tag', 'Xtra Data');

  JS.SendMessage(Msg);
Nur wenn ich das mache, kommt die Nachricht nicht an. Lasse ich die Zeilen 19 bis 22 weg, kommt die Nachricht an. Der XML-Stream wird auch richtig generiert:
XML-Code:
<message id="JCOM_2" to="mp-test@datawerk.de/XMLStream-Demo">
<font type="mp-extra-tag">
<color>
clNavy
</color>
<size>
8
</size>
</font>
<x xmlns="jabber:x">
<Xtra Tag>
Xtra Data
</Xtra Tag>
</x>
<body>
Testnachricht
</body>
</message>
In den Server-Logs taucht leider auch nichts auf, dass da ein kaputter Stream angekommen wäre oder so. Ich verstehe es einfach nicht, denn In Beispielen, die ich gefunden habe, wird es genauso gemacht. Zum Beispiel hier: http://www.koders.com/delphi/fid7F55...C0242507E.aspx ab Zeile 1401.

Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat