Hi!
Mir scheint, obwohl das ziemlich "schräg klingt" dass Du die TestSeite von affilinet irgendwie einbinden willst, also das Testformular irgendwie "ausfüllen" und die Ausgabe die Du im Browser soehst irgendwie speichern willst.
Ist das so richtig ?
Na ja, ich habe das jetzt so verstanden, das es keine Testseite ist, sondern dort für verschiedene Zwecke schon vorgefertigte Abfragen stehen. Wenn man z.b. die Shoplist oder Kategorien abfragen möchte, klickt man auf den Punkt und dann kann man auf SOAP Klicken und hat den Code für diese Anfrage.
Nein.
Du erhältst nicht den Code für den SOAP-Aufruf, sondern einen Request der eigentlich für nichts ausser Debugging gut ist.
Das Formular ist ja nur um zu sehen, welche Daten man bekommt.
Eben. Und für nichts anderes.
Ich müsste auf meiner Seite in den Link die erwünchten Parameter einbauen, die ich in die SOAP Abfage einfüge.
Un dwie willst Du das bewerkstelligen?
Die Seite laden, dann Javascript den code einblenden lassen, mit PHP parsen und absenden?
Das klingt recht abenteruerlich...
Und wenn ich nun die Produktdetails abfragen möchte, ist es weider eine andere Abfrage mit SOAP, die mehr Parameter benötigt.
Daher meine Frage, wie ich all die XML Daten der verschiedenen Abfragen speichern kann, damit keine Infos verloren gehen.
Die Frags verwundert mich immer noch.
Wenn Du die Info - wie auch immer - über den Webservice erhältst und das Ganze irgendwie serverseitig mit PHP passiert dann hast Du ein Response-Objekt.
Das ist im wesentlichen ein strukturierter String ( oder kann zu einem solchen konvertiert werden).
Es ist doch kein Problem einen String zu speichern
Den Szring kannst Du weiterverarbeiten wie Du's brauchst - das enthaltene XML in eine Datei speichern, parsen und Obejekte draus machen und serialisieren, in eine Datenbank schreiben...
Auf meinem Webspace ist die SOAP Extension isntalliert und hoffe nun, das die Abfragen jetzt auch funktionieren, muss ich noch testen.
Dine Art der Fragestellugn und die fehlenden Angaben ( PHP - Version 4/5, Technologie, Beschreibung Deiner Anwendung, Grobarchitektur ) lassen mich vermuten, dass Du in diesem Bereich noch nicht gearbeitet hast.
Ist das richtig?Ja,
Gut. Dann machst Du's vielleicht auf die gute alte "Proxy/Stub " Methode:
Du baust Dir
- eine abstrakte Klasse ("Proxy"), die Methoden anderer Objekte aufruft und ein Singleton-Muster aufweist
- eine konkrete Klasse "SOAPProxy" die "Proxy" implementiert indem sie SOAP zur Lokalisierung der zurufenden Pbjekte verwendet. Die Klasse weise ebenfalls ein Singleton Muster auf, werde beim Sitzungsstart instanzziert und versorge "Proxy's" instance mit ihrem einzigen Exemplar.
- für alle zurückgelieferten Ergebnistypen eigene Klassen ("XYZ_Stub") die das Proxy-Exemplar ( das eigentlich ein SOAP-PRoxy ist ) mittels Proxy.getInstance() aggregieren.
Das entspricht so in etwa der Methodik von CORBA oder .NET.
SOAP ist trotz sines Namens nicht per-se objektorientiert sondern ist ein XML-basierter Baukasten für RPC, deshalb braucht's da noch etwas Leim.
Ferner ist SOAP != Webservice; ein Webservice beinhaltet z.B. auch noch Methoden zur Objektlokalisierung; deshalb der abstrakte "Proxy" und der konkrete "SOAPProxy" - wenn mal UDDI ( so heisst das Protokoll zur Lokalisierung von Objekt- oder genauer Interface-implemtierungen) eine Rolle spielt, ersetzt Du den "SOAPProxy" durch einen "WSDL-Proxy" und gut ist.
mit SOAP und XML noch gar nicht. Mit PHP schon. PHP5 ist installiert, also verwende ich auch die Befehle ;-)
Das sind Äpfel und Birnen:
- PHP ist eine Sprache zur Programmierung von Webanwendungen
- XML eine Sprache zur Datenbeschreibung
- SOAP ist ein Protokoll
Technologie, Beschreibung Deiner Anwendung, Grobarchitektur.
Na ja, was soll ich da groß schreiben, ich möchte ja nur eine "Lösung" für dieses eine Problem. Ich möchte Produkte etc. darstellen und die Daten frage ich über die Schnittstelle ab,
Bislang nutzt die definierte Schnittstelle aber gar nicht, sondern baust Dir eine eigene zusammen!
Das macht mehr Probleme als es löst.
wie speicher ich diese daten, die ich benötige.
Response -> String -> ( Datenbank, Datei ... )
Falls ja, kennst Du Dich denn ein wenig mit OOP aus?
Ich denke schon, warum...?
Weil ich mir sonst den OO-Entwurf hätte schenken können... ;-)
Schreib bitte mal etwas ausführlicher was Du eigentlich machen willst, welche Platform Du benutzt etc.
Ich bin bei als Affiliate bei affilinet angemeldet. Nun möchte ich eine Internetseite machen, wo alle Kategorien eines Partnerprogramms aufgelsitet werden, direkt mit verlinkung, also man klickt auf die Kategorie und es erscheint das Submenü, klickt man hier drauf, erhält man eine Produktliste, klickt man darauf erhält man die Produktdetails.
Für eine Serveranwendung steht mir da viel zu oft "klicken" in dem Absatz.
Zudem soll eine Suche für Produkte eingebaut werden. man soll die Produktlisten nach Preis sortieren können.
Dafür gibt es Produktlisten, affilinet bietet aber eben auch diesen XML Webservice an. Wo man nicht immer die CSV Daten runterladen muss, in die DB packen muss. Sondern hier hat man immer Zugriff auf die aktuellen Daten.
Ja, aber wozu willst Du sie dann eigentlich speichern ?
;-)
SCNR
- PHP5
- Windows XP Professionell
- MySQL
So, ich hoffe du bist zufriedener mit meiner Antwort ;-)
Bist Du's denn mit meiner ?
Das wäre wichtiger ...
;-)
Grüsse
hkl
Gruß
NetLook