![]() |
WSDL importieren (Webreferenz) in D2005 PE ?
Hi,
nur mal ne doofe Frage: Ich hab hier gerade nur die PE, und ich versuche verzweifelt, den Babelcode-Client hinzubekommen. Leider finde ich nirgends in der PE die Möglichkeit, den Webservice (also die WSDL - Datei) zu importieren. Gibt es das Feature hier nicht oder ist es nur verdammt gut versteckt? Edit: Alternativ.. wenn es wirklich nicht geht.. wäre jemand so nett, und importiert den Webservice hier: ![]() |
Re: WSDL importieren (Webreferenz) in D2005 PE ?
Zitat:
![]() |
Re: WSDL importieren (Webreferenz) in D2005 PE ?
Zitat:
|
Re: WSDL importieren (Webreferenz) in D2005 PE ?
Hallo Phoenix,
du kannst dir die Webreferenz auch selbst erstellen. Das SDK stellt dir dazu die Funktion wsdl zur Verfügung. Aber nicht erschrecken, das ist ein Kommandozeilentool. Die Parameter hab ich leider nicht greifbar. Mach einfach mal ne DOS-Box auf, gehe ins bin-Verzeichnis deiner SDK (oder leg dir'n Pfad dahin) und gebe mal wsdl ein. Dann kriegst du schön brav alle Parameter aufgelistet. Wenn du alles richtig machst spukt dir wsdl eine Proxy-DLL aus die du einfach als Referenz hinzufügst und fertig ist die Laube. |
Re: WSDL importieren (Webreferenz) in D2005 PE ?
Zitat:
Interessanterweise ist es nicht im .NET SDK versteckt sondern unter dem Installationspfad meines Visual Studios 2003. *wunder* Naja, egal. Jetzt weiss ich wo ich heute Abend den Webservice importiert bekomme. Danke! |
Re: WSDL importieren (Webreferenz) in D2005 PE ?
Liste der Anhänge anzeigen (Anzahl: 1)
Eigentlich sollte die PAS Datei ja reichen ;-) Teste mal.
...:cat:... |
Re: WSDL importieren (Webreferenz) in D2005 PE ?
Die sollte tun. Danke ;-)
Zum WSDL.exe : Ist zwar ne nette Sache, gibts aber nicht im normalen .NET SDK, sondern die kommt wohl ausschliesslich beim Visual Studio 2003 mit. Habe hier einen Rechner mit .NET SDK und ohe VS 2003 und hier ist die wsdl.exe leider nicht drauf. Schade drum. Aber ich glaube ich würde auch so an die .pas kommen: Mit VS 2003 und WSDL.exe den Webservice importieren -> C# datei. Die benutzen um den eigenen Quellcode nach Delphi zu schaufeln -> Webservice proxy in .pas. Wenn das nicht mal bootstrapping ist ;-) |
Re: WSDL importieren (Webreferenz) in D2005 PE ?
Hallo Phoenix,
Zitat:
Hat der besagte Rechner vielleicht einfach nur das Frameworking drauf, ganz ohne SDK? Zitat:
|
Re: WSDL importieren (Webreferenz) in D2005 PE ?
same problem here.
ich würde gerne die datei GoogleSearch.wsdl einbinden. klappt aber aufgrund fehlender wsdl import funktion nicht (d2005pe). die von sakura gepostete datei wollte ich ausprobieren, bekomme beim kompilieren aber die meldung: Zitat:
|
Re: WSDL importieren (Webreferenz) in D2005 PE ?
Hallo CodeX,
woran es bei D2005 klemmt kann ich dir leider nicht sagen da ich .NET-mäßig VS verwende, aber ich würde mir mit wsdl.exe eine entsprechenden Proxy-DLL erstellen. Ich bin mir jetzt nicht ganz sicher ob du direkt eine DLL erstellen kannst, aber du kannst dir ja erst mal ne CS-datei erstellen und dir daraus ne DLL basteln. Das würde dann ungefähr so aussehen :
Code:
um dir die CS-Proxy-datei zu holen und anschließend kann man noch
wsdl GoogleSearch.wsdl /o:GoogleSearch.cs
Code:
ausführen um dir die C#-Datei in ein Assembly zu compilieren ohne die Entwicklungsumgebung konsultieren zu müssen.
csc /target:library GoogleSearch.cs
|
Re: WSDL importieren (Webreferenz) in D2005 PE ?
hallo uwe,
den ersten teil habe ich hinbekommen. den zweiten kann ich nicht nachvollziehen. zu was gehört denn dieses "csc"?` ich habe weder im .NET SDK noch im delphi verzeichnis eine csc.* datei gefunden. im endeffekt geht es ja nur darum, eine dll datei zu erhalten, die ich damm in dem projekt nutzen kann, richtig? wenns an delphi 2005 pe scheitert, wäre es dann möglich, dass du deine geposteten schritte einfach selber machst und mir die dll detei zur verfügung stellst? ![]() danke |
Re: WSDL importieren (Webreferenz) in D2005 PE ?
Nur um es mal zusammenfassend klarzu stellen... ;)
Dein VS03\SDK Order ist der Ordner in dem das VS03 das SDK installier, wenn es vorher noch nicht installiert war. Da wsdl.exe genau wie xsd.exe (beide interessant für das Thema :) )zum SDK gehören, liegen sie nunmal da... Egal ob es nun %ProgramFilesDir%Microsoft.Net\... oder Visual Studio 20S03\... heißt. ;) Wenn du
Code:
Für Namespace und Class name des Delphi.Net Codedoms würde den Reflector nehmen.
wsdl /language:[Namespace.CodeDom] /out:BabelCode.pas [url]http://dotnet.borland.com/babelcode/converter.asmx?WSDL[/url]
*wuppdi* Hast du deinen Proxy. Ähnlich kannst du xsd.exe für eventuelle XSDs verwenden, die nicht direkt vom WebService angeboten werden, aber dir clientseitig Arbeit abnehmen könnten (Wäre bei dem simplen Service wohl unnötig ;) ). Ich hätte zwar hier den C# CodeDome gefolgt vom csc verwendet und dann die Assembly statt den Code direkt zu verwenden... (Bei Delphi & WSDL muss ich immer an den alten WSDL Importer, mit 150 Zeilen Forward declares denken, die trotzdem nicht gehen... :? ) Das schöne an .Net ist ja, dass man eine C# ClassLib prima mit anderen Sprachen nutzen kann. :) |
Re: WSDL importieren (Webreferenz) in D2005 PE ?
Hallo CodeX
csc.exe ist der C#-Compiler von Microsoft, du findest ihn auch nicht im Framework-SDK, sondern direkt im Framework-Verzeichnis. Er lümmelt sich somit irgendwo unterhalb deines Windows-Verzeichnisses rum. Wenn es jetzt immer noch nicht funzt schick mir ne PN mit deiner Mail-Adresse, dann backe ich dir das Ding zusammen und schicke es dir zu. |
Re: WSDL importieren (Webreferenz) in D2005 PE ?
ok, das mit der dll habe ich jetzt hinbekommen.
nun müsste ich es aber trotzdem noch in mein programm integrieren können :? dabei versuche ich zum einstieg das hier nachzuvollziehen: ![]() so habe ich das jetzt einbinden wollen:
Delphi-Quellcode:
er mekert aber bei THTTPRIO und GoogleSearchPort rum. klar, kann er ja auch einfach so nicht kennen.
function GetGoogleSearchPort(UseWSDL: Boolean; Addr: string; HTTPRIO: THTTPRIO): GoogleSearchPort; stdcall; external 'GoogleSearch.dll';
bei uses müsste noch sowas wie "GoogleSearch" dazu, aber ich habe ja keine GoogleSearch.pas :? |
Re: WSDL importieren (Webreferenz) in D2005 PE ?
Du musst eine normale Referenz auf die .DLL hinzufügen. Das geht über Projekt, Referenz hinzufügen einwandfrei. Und dann kommt freilich in die Uses oben noch die Referenz hinein.
Aber was willst Du mit der external-Deklaration? Die gibts in .NET nicht mehr. |
Re: WSDL importieren (Webreferenz) in D2005 PE ?
Zitat:
Zitat:
|
Re: WSDL importieren (Webreferenz) in D2005 PE ?
Zitat:
|
Re: WSDL importieren (Webreferenz) in D2005 PE ?
Zitat:
Ich habe mir zur Zeit der 2.0 Beta 1 viele Klassen in 1.1 so gebaut, dass sie denen aus 2.0 entsprechen. (Zum Beispiel ein ListView mit Gruppierung) Natürlich braucht man dazu einiges an Invokes, da ich aber wusste, dass das Projekt nach 2.0 fertig wird... :zwinker: Auch invokes der GDI+ sind ganz nett wenn man cooles gradiell transparentes Drag'nDrop bauen will, etc. ... (Solche Mini invokes laufen übrigens auch ganz gut ohne deine Assembly auf FullTrust zu scheuchen. :) ) |
Re: WSDL importieren (Webreferenz) in D2005 PE ?
:?
ich versuche, wie gesagt, erstmal nur diese anleitung nachzuvollziehen: ![]() da ich aber d2005pe habe, kann ich die schritte wie sie dort stehen nicht durchführen, weil zb der WSDL-Import-Assistent fehlt. deshalb das workaround. bis zur dll bin ich ja jetzt gekommen. nun muss ich noch auf deren funktionen und variablentypen zugreifen können. dass das mit reinem .NET geschehen soll, steht da nirgends. möglich wäre es natürlich. aber mir wäre es wesentlich lieber, wenn ich eine normale Win32 anwendung erstellen könnte. ich habe nun also noch die dll über "referenz hinzufügen" importiert und auch mal bei uses aufgenommen. trotzdem mekert er immer noch bei THTTPRIO und GoogleSearchPort rum. :? |
Re: WSDL importieren (Webreferenz) in D2005 PE ?
Zitat:
Ich habe dieses Thema ja erstellt, und gaaanz oben steht bei Platform ja auch .NET drin - deswegen gehen wir hier eben auch von .NET aus. Du hast nun also eine dll - also ein Assembly - das die Schnittstelle zwischen einem .NET - Programm und dem Webservice darstellt. Dieses kannst Du auch nur unter .NET verwenden. Und dafür ist die Vorgehensweise ja bereits erklärt: Assembly in die Referenzliste aufnehmen, in die Uses-Klausel aufnehmen und *wuppdi* kannst Du den Service verwenden. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:34 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz