August 25th, 2009
Gefühlt ewig habe ich jetzt daran rumgefrickelt, dass ich einen Globus Toolkit 4-Service nicht via Apache Synapse als Proxy ansprechen konnte, es gab immer eine No Action header-Exception; WSRFLite hatte damit allerdings im Gegensatz zu GT4 komischerweise keine Probleme. Nachdem ich mir jetzt mal alle SOAP-Nachrichten detailliert angeschaut habe war’s recht offensichtlich: Synapse entfernte den Header. Hmm, aber ich hab doch enableAddressing in der Konfiguration angegeben… und was war’s, die Betriebsblindheit natürlich. Denn anstatt so:
<endpoint>
<address uri="http://localhost:8888/wsrf/services/FooService" />
<enableaddressing />
</endpoint>
muss es so aussehen:
<endpoint>
<address uri="http://localhost:8888/wsrf/services/FooService">
<enableaddressing />
</address>
</endpoint>
Hmm, ich fand’s nicht so unlogisch das enableAddressing-Tag für den Endpoint zu setzen, aber gut. Fehlermeldung beim parsen der Config gab’s auch keine, also reichlich uneindeutig den Fehler auf Anhieb zu finden ohne in die SOAP-Nachrichten zu schauen. Ansonsten ist Synapse ziemlich cool, mal sehen wie es sich mit GSI verträgt, das ist ja immer relativ frickelig.
Posted in Globus Toolkit, HLRS, Programmieren, Software, Unicore | 2 Comments »
Januar 20th, 2009
Schon lange gab’s keine Berichte mehr zum Thema “Spaß mit Web Services”, heute ist es mal wieder soweit. Ich habe jetzt kaum einen kompletten Arbeitstag mit einem Problem verschwendet, dass sich mal wieder als äußerst trivial darstellt – ein einziges Attribut in der XML Schema-Definition passend gesetzt und alles geht, ansonsten geht halt nichts.
Kurz zum Hintergrund: ich versuche gerade, einen WS-Agreement Web Service von GT4 auf UNICORE/WSRFLite zu portieren und darüber einen Artikel zu schreiben. Das hat bis gestern auch alles funktioniert, nur habe ich dann festgestellt, dass ich keine Attribute setzen kann, ohne dass es knallt: “Unbound namespace URI ‘http://schemas.ggf.org/graap/2007/03/ws-agreement’” ist die wenig aussagekräftige Fehlermeldung.
Gut, dachte ich mir, vielleicht geht, warum auch immer, nur dieses eine Attribut nicht, also ein anderes gesetzt – nichts. Es lagen auch keinen alten Bibliotheken irgendwo rum, also sehr komisch. “Definierst du dir halt eigenes Element mit Attribut, vielleicht geht’s dann”, dachte ich mir – half aber auch nichts. Also nochmal an den WSRFLite-Beispielservice, dort ein Element um ein Attribut erweitern und testen – geht. Äh, wie jetzt nochmal? Dann habe ich mal mein eigenes Element in eine eigene Schema-Datei extrahiert und auch das ging. Beim vergleichen meiner Schema-Datei mit der von WS-Agreement ist mir dann aufgefallen, dass bei WS-Agreement »attributeFormDefault=”qualified”« gesetzt ist, in meinem Schema aber nicht. Und, oh Wunder, als ich dies entfernt habe, ging’s auf ein Mal.
Mir ist allerdings im Moment nicht klar, wo genau das Problem liegt. Möglicherweise liegt es an der WSRFLite (respektive XFire)-Version, vielleicht auch an der Kombination von »elementFormDefault« (“qualified” bei WS-Agreement) und »attributeFormDefault« (“auch qualified”). Wenn ich dazu noch Muse habe – immer eher unwahrscheinlich, wenn das initiale Problem gelöst ist, aber vielleicht doch, da ich ja immer gerne weiß, warum etwas nicht ging -, werde ich mal untersuchen, wie sich die verschiedenen Kombinationen auswirken; bei Oracle gibt’s zu diesem Thema ein nettes Dokument, XML Schema: Understanding Namespaces.
Posted in Globus Toolkit, HLRS, Programmieren, Software, Unicore | No Comments »
Mai 2nd, 2008
Recently I told about my success using WSRFLite. As I promised, I have written a comprehensive guide which describes how to
- obtain, install and configure WSRFLite,
- build and deploy your first service and
- build a client and use it to access the deployed service.
You can download the guide from my personal page at HLRS (Publications->Software) or get it directly using this link; the DocBook source is also available for download. Both files are licensed under the Creative Commons Attribution-Noncommercial 2.0 Germany license.
Posted in HLRS, Software, Unicore | No Comments »
März 31st, 2008
Some time ago I tried to gain some insight into Unicore 6 because the Globus Toolkit is, at best, tedious to use. After some fiddling around, I learnt that for the experiments I wanted to do, WSRFLite would suffice; but trying to implement a service and a client in WSRFLite proved to be more difficult than programming for Globus – in principle, like developing for Globus without Borja Sotomayor’s “The Globus Toolkit 4 Programmer’s Tutorial” -, so I gave it up as it was not pressing at all.
But after the OMII-Training for D-Grid last month I gave it another shot today after I was no longer in the mood to write proposal stuff. And guess what – after a “short” session of about only 4 hours I finally got it to work! From configuration issues to missing documentation, nothing could stop me and now I have a running container, two deployed services (factory and resource) and a working client – in your face, WSRFLite!
When time permits – which may be somewhere from today to in two or three weeks, I’ll write the steps up and provide everything as a documentation.
Edit: You can obtain the documentation from my personal page at HLRS or use this link to download it directly.
Posted in Globus Toolkit, HLRS, Unicore | 1 Comment »