Einzelnen Beitrag anzeigen

peberhardt

Registriert seit: 14. Jun 2011
11 Beiträge
 
#1

idHTTP.post mag die klammern nicht....

  Alt 20. Jan 2013, 18:25
Hallo lieber Gemeinde,

ich hab ein Problem mit der idHTTP Komponente.
( version 10.1.5)

dank eueren Forum konnte ich mit hilfe einens IdHTTP und den IdSSLIOHandlerSocketOpenSSl
einen connect zu einen SSL Server herstellen.

( die beiden passenden DLL`s zu finden war übrigens nicht einfach. )

Der Server bekommt meine XML Anfrage und liefert leider eine Fehlermeldung zurück...

<?xml version="1.0" encoding="utf-8" ?>
<response>
<result>
<msg>
<code>EF00000</code>
<object>
<type>XML error</type>
<value>Start tag expected, '&lt;' not found at /usr/lib/perl5/XML/LibXML/SAX.pm line 64 at /usr/share/perl5/XML/Simple.pm line 295</value>
</object>
<text>Fehler beim Lesen des Auftrages.</text>
<type>error</type>
</msg>
<status>
<code>E00000</code>
<text>Es sind Fehler bei der Verarbeitung aufgetreten.</text>
<type>error</type>
</status>
</result>
</response>


gesendet wird folgendes:


<?xml version="1.0" encoding="utf-8"?>
<request>
<auth>
<user>xxxxx</user>
<password>xxxxxx</password>
<context>12571</context>
</auth>
<task>
<code>0105</code>
<domain>
<name>xxxxxxxx.de</name>
</domain>
<key>payable</key>
<show_contact_details>ownerc</show_contact_details>
</task>
</request>


Der Fehlermeldung entnehme ich das ich wahrscheinlich &lt sende statt den >

Hat einer eine Idee wie das Problem gelöst werden kann?

PS. die Forensuche hab ich ausreichend genutzt, und google kann meine Anfragen bald auch nicht mehr leiden...

Besten Dank für euere Mühe

Hier noch der Code aus Delphi:

Delphi-Quellcode:

  request := TStringlist.Create;
  response := TStringStream.Create('');

  request.Add('<?xml version="1.0" encoding="utf-8"?>');
  request.Add('<request>');
  request.Add('<auth>');
  request.Add('<user>xxxxx</user>');
  request.Add('<password>xxxxxxx</password>');
  request.Add('<context>12571</context>');
  request.Add('</auth>');
  request.Add('<task>');
  request.Add('<code>0105</code>');
  request.Add('<domain>');
  request.Add('<name>silverline-server.de</name>');
  request.Add('</domain>');
  request.Add('<key>payable</key>');
  request.Add('<show_contact_details>ownerc</show_contact_details>');
  request.Add('</task>');
  request.Add('</request>');

  IDHttp1.ReadTimeout := 5000;

  // wenn ich die folgende zeile weg lasse, klappt das response auch nicht....
  IdHTTP1.Request.ContentEncoding := 'utf8';

  IDHttp1.Post('https://gateway.autodns.com', request, response);

  response.Position := 0;
  Memo1.Lines.LoadFromStream(response);
  Memo2.Lines.AddStrings(request);
  Mit Zitat antworten Zitat