Delphi > Obecné

ARES s pomocí WSDL

(1/1)

leonell:
Zdravím,
docela rád bych komunikoval s ARES a tak jsem si vygeneroval přes WSDL Importer (D XE2) příslušnou podporu.
Následující kód mi oproti mým předpokladům  :) vrací chybu "chyba overeni validity dokumentu".
Já to sice umím obejít přes GET HTTP a pak rozparsování vráceného XML ale radši bych rozchodil tohle.

Za rady děkuji předem.
L.


--- Kód: Delphi ---procedure TForm1.Button1Click(Sender: TObject);var komunikace: HttpSoapStandard; vstup: Ares_dotazy; vystup: Ares_odpovedi; pole_dotazu : Array_Of_dotaz;begin komunikace := GetHttpSoapStandard(); vstup := Ares_dotazy.Create(); vstup.dotaz_datum_cas := TXSDateTime.Create(); vstup.dotaz_datum_cas.AsDateTime := now; vstup.dotaz_pocet := 1; vstup.dotaz_typ := ares_dotaz_typ.Standard; vstup.vystup_format := vystup_format.XML; vstup.validation_XSLT := 'http://wwwinfo.mfcr.cz/ares/xml_doc/schemas/ares/ares_request/v_1.0.0/ares_request.xsl'; vstup.user_mail := 'ja@firma.cz'; vstup.answerNamespaceRequired := 'http://wwwinfo.mfcr.cz/ares/xml_doc/schemas/ares/ares_answer/v_1.0.1'; vstup.Id := 'ARES dotaz'; SetLength( pole_dotazu, vstup.dotaz_pocet ); vstup.Dotaz := pole_dotazu; vstup.Dotaz[0] := Dotaz.Create(); vstup.Dotaz[0].Pomocne_ID := 1; vstup.Dotaz[0].Max_pocet := 10; vstup.Dotaz[0].Typ_vyhledani := ares_vyber_typ.FREE; vstup.Dotaz[0].Klicove_polozky := klicove_polozky.Create(); vstup.Dotaz[0].Klicove_polozky.ICO := '45317054'; vystup := komunikace.GetXmlFile( vstup);end; 

zdenek:
Taky kolega bojoval. Nakonec jsme museli vzít za vděk HTTP Get a pak XML parser. WSDL aresu používá některé typy, které Delphi nemají (testováno na 2007 a částečně na XE2).

bohdan:
Taky jsme to zkoušeli přes WDSL v DelphiXE2 a taky bez úspěchu. Nakonec get http a synapse.

pepak:
To je docela zvláštní, já jsem prostě v Delphi 2009 naimportoval WSDL, vytvořil obdobu Button1Click výše, spustil a hned to jelo. Je fakt, že používám jen úplně základní funkčnost (vyhledání podle IČO, jen jedna položka), ale fungovalo mi to skoro doslova out-of-the-box.

leonell:
Tak jsem na to poštval Fiddler a zdá se, že problém je v používání Namespaces, jak je generuje ten wrapper v Delphi, respektive spíš neakceptuje druhá strana, která striktně vyžaduje "svůj" způsob.
Přes WSDL mám už VIES (ověření DPH), tak jsem to chtěl mít stejnou koncepcí. Nedá se holt nic dělat.

PEPÁK: nenašel bys kousek? On bude zakopaný pes spíše na té vygenerované straně, ale co kdyby přeci jenom...

Navigace

[0] Seznam témat

Přejít na plnou verzi