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, '<' 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 < 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);