Laat ik met de deur in huis vallen. Zelf heb ik geen ervaring met WSDL / SOAP services. Normaal doe ik alles via REST API's maar de betreffende website, Daisycon ondersteund dit niet.
Daisycon is een website welke affiliate links van diverse bedrijven verzameld en via hun website aanbied zodat publishers deze op hun website kunnen plaatsen.
Nu ben ik voor een project bezig met een systeem op te zetten om deze links periodiek op te halen en deze in een database te stopt. Zodat via een eigen webinterface gekozen kan worden welke affiliatie link op welke pagina moet worden toegevoegd. (dit is een startpagina variant).
Via de Daisycon zelf wordt het geheel in XML aangeboden als je het juiste linkje hebt gevonden naar de feed in hun interface, elke aanbieder van links heeft zo zijn eigen feed. In totaal gaat dit over veel data (geschat +- 50 - 100GB aan XML voor alle feeds).
Vandaar dat mijn keuze was om het geheel in Java op te halen in plaats van PHP waarin normaal de projecten voor deze klant worden gemaakt. Hiervoor wordt dan een managed VPS pakket gebruikt waar de applicatie op kan draaien.
Nu had ik de volgende link gevonden op api.daisycon.com. Een "WSDL" pagina voor de Feeds: http://api.daisycon.com/publisher/soap/feed/wsdl/
Deze heeft de "methode" "getFeeds" nu lijkt me dat de juiste "methode" die ik aan moet roepen. Maar hoe gaat dat in Java. Ik heb rondgezocht op WSDL Java en kom onder andere op Apache Axis & JBoss uit. Maar hoe dit aan de service te knopen is mij niet geheel duidelijk.
Met het zoeken naar tutorials op dit gebied kom ik steeds "wsdl -> java" generators tegen. Ik verwacht dat deze code genereerd met klassen welke corresponderen met de service. Maar hier krijg ik altijd errors bij (ik heb diverse geprobeerd, wsdl2java, wsimport en de ingebouwde in de IDE).
Nu weet ik niet precies waar de fout vandaan komt, misschien geef ik de verkeerde pagina op? Elke tool geeft een andere error, de meest beschrijvende was die van wsimport.
Als ik het volgende commando in de terminal uitvoer:
Nu mijn vraag, zit ik in de juiste richting te denken, zou iemand mij hier een "zetje" bij kunnen geven. Misschien moet ik het helemaal anders aanpakken, maar momenteel zit ik vast.
Alvast bedankt!
Daisycon is een website welke affiliate links van diverse bedrijven verzameld en via hun website aanbied zodat publishers deze op hun website kunnen plaatsen.
Nu ben ik voor een project bezig met een systeem op te zetten om deze links periodiek op te halen en deze in een database te stopt. Zodat via een eigen webinterface gekozen kan worden welke affiliatie link op welke pagina moet worden toegevoegd. (dit is een startpagina variant).
Via de Daisycon zelf wordt het geheel in XML aangeboden als je het juiste linkje hebt gevonden naar de feed in hun interface, elke aanbieder van links heeft zo zijn eigen feed. In totaal gaat dit over veel data (geschat +- 50 - 100GB aan XML voor alle feeds).
Vandaar dat mijn keuze was om het geheel in Java op te halen in plaats van PHP waarin normaal de projecten voor deze klant worden gemaakt. Hiervoor wordt dan een managed VPS pakket gebruikt waar de applicatie op kan draaien.
Nu had ik de volgende link gevonden op api.daisycon.com. Een "WSDL" pagina voor de Feeds: http://api.daisycon.com/publisher/soap/feed/wsdl/
Deze heeft de "methode" "getFeeds" nu lijkt me dat de juiste "methode" die ik aan moet roepen. Maar hoe gaat dat in Java. Ik heb rondgezocht op WSDL Java en kom onder andere op Apache Axis & JBoss uit. Maar hoe dit aan de service te knopen is mij niet geheel duidelijk.
Met het zoeken naar tutorials op dit gebied kom ik steeds "wsdl -> java" generators tegen. Ik verwacht dat deze code genereerd met klassen welke corresponderen met de service. Maar hier krijg ik altijd errors bij (ik heb diverse geprobeerd, wsdl2java, wsimport en de ingebouwde in de IDE).
Nu weet ik niet precies waar de fout vandaan komt, misschien geef ik de verkeerde pagina op? Elke tool geeft een andere error, de meest beschrijvende was die van wsimport.
Als ik het volgende commando in de terminal uitvoer:
komt de volgende error tevoorschijn.wsimport -d generated -extension -keep -p org.geluidje.daisycon -XadditionalHeaders http://api.daisycon.com/publisher/soap/feed/wsdl/
Maar ook hier op Googlen geeft mij niet echt een resultaat waarmee ik verder kom. Ik weet niet eens zeker of ik wel in de "juiste richting" zit te denken.[ERROR] "Use of SOAP Encoding is not supported.
SOAP extension element on line 103 in http://api.daisycon.com/publisher/soap/feed/wsdl/ has use="encoded" "
Nu mijn vraag, zit ik in de juiste richting te denken, zou iemand mij hier een "zetje" bij kunnen geven. Misschien moet ik het helemaal anders aanpakken, maar momenteel zit ik vast.
Alvast bedankt!
Claude: "Domain patterns emerge from iteration, not generation." - Tweakers Time Machine Extension | Chrome : FF