AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi XMl Mit UTF-8 Kodierung
Thema durchsuchen
Ansicht
Themen-Optionen

XMl Mit UTF-8 Kodierung

Ein Thema von franktron · begonnen am 10. Aug 2007
Antwort Antwort
franktron

Registriert seit: 11. Nov 2003
Ort: Oldenburg
1.446 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#1

XMl Mit UTF-8 Kodierung

  Alt 10. Aug 2007, 13:58
Also ich muss Daten von einem Server holen und vorher eine XML schicken das klappt aber nicht
weis einer was das sein könnte.

Hier die Doku.

HTTP-Methode
Die HTTP-Methode (GET/POST) gibt dem empfangenden Server (hier: EBC) vor, wie er den
eingehenden Request verarbeiten soll. Für die Übermittlung der Daten wie auch aller übrigen
eingehenden Nachrichten am EBC der Synaxon AG ist ausschließlich die HTTP POST
Methode zu verwenden, nicht die HTTP GET Methode.
MIME-Header
Für die korrekte Übermittlung der Nachricht wird eingehend eine der folgenden Content-
Type und MIME Header Deklarationen erwartet. Nähere Informationen hierzu finden Sie
unter: http://www.faqs.org/rfcs/rfc2376.html
Content-Type: text/xml; charset=“utf-8“
Dies ist der empfohlene charset-Wert für die Verwendung mit text/xml. Alternativ kann
innerhalb des MIME Headers der charset auch weggelassen werden:
Content-Type: text/xml

Hier die xsd Datei

XML-Code:
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
  <xs:element name="PriceAndAvailabilityQuery">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="TransactionHeader"/>
        <xs:element ref="PriceAndAvailability"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="TransactionHeader">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="VersionId"/>
        <xs:element ref="GenerationDateTime"/>
        <xs:element ref="ERP"/>
        <xs:element ref="Login"/>
        <xs:element ref="Password"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="VersionId" type="xs:decimal"/>
  <xs:element name="GenerationDateTime" type="xs:dateTime"/>
  <xs:element name="ERP" type="xs:string"/>
  <xs:element name="Login">
    <xs:simpleType>
      <xs:restriction base="xs:string">
        <xs:minLength value="1"/>
        <xs:maxLength value="15"/>
      </xs:restriction>
    </xs:simpleType>
  </xs:element>
  <xs:element name="Password">
    <xs:simpleType>
      <xs:restriction base="xs:string">
        <xs:minLength value="1"/>
        <xs:maxLength value="40"/>
      </xs:restriction>
    </xs:simpleType>
  </xs:element>
  <xs:element name="PriceAndAvailability">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="Query"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="Query">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="ProductReference"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="ProductReference">
    <xs:complexType>
      <xs:choice>
        <xs:element ref="ProprietaryProductIdentifier"/>
        <xs:element ref="GlobalProductIdentifier"/>
      </xs:choice>
    </xs:complexType>
  </xs:element>
  <xs:element name="ProprietaryProductIdentifier">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="ProprietaryProductNumber" maxOccurs="10" minOccurs="1"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="ProprietaryProductNumber" type="xs:string"/>
  <xs:element name="GlobalProductIdentifier">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="GlobalProductNumber" maxOccurs="10" minOccurs="1"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GlobalProductNumber" type="xs:string"/>
</xs:schema>
Hier meine XML Datei die DEMo XML sieht genau so aus.

XML-Code:
<?xml version="1.0" encoding="UTF-8"?>
<PriceAndAvailabilityQuery>
<TransactionHeader>
  <VersionId>1.00</VersionId>
  <GenerationDateTime>2007-08-10T14:42:29</GenerationDateTime>
  <ERP>W2</ERP>
  <Login>USER</Login>
  <Password>PW</Password>
</TransactionHeader>
  <PriceAndAvailability>
    <Query>
      <ProductReference>
        <ProprietaryProductIdentifier>
          <ProprietaryProductNumber>PCS340206</ProprietaryProductNumber>
        </ProprietaryProductIdentifier>
      </ProductReference>
    </Query>
  </PriceAndAvailability>
</PriceAndAvailabilityQuery>
Und hier mein Code
Delphi-Quellcode:
FIdHTTP:=TidHTTP.Create(Nil);
   FIdHTTP.AllowCookies:=True;
   FIdHTTP.ReadTimeout:=0;
   FIdHTTP.Request.CustomHeaders.Clear;
   FIdHTTP.Request.BasicAuthentication:=False;
   FIdHTTP.Request.ContentEncoding:='UTF-8';
   FIdHTTP.Request.ContentType:='text/xml';
   FIdHTTP.Request.Accept:='text/html, */*';

Stream:=TMemoryStream.Create;
   try
      FQuery.SaveToStream(Stream);
      Buffer:=FURL+'/'+FKomponente+'/'+FFunktion+'?format=xml';
      Stream.Position:=0;
      FResponse.Text:=FIdHTTP.Post(Buffer,Stream);
   finally
      Stream.Free;
   End;
Frank
Tux sein Lieblingsquellcode
While anzfische<TuxSatt do begin
Fisch:=TFisch.Create; Tux.EssenFisch(Fisch); Fisch.Free;inc(anzfische); end;
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:57 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz