How does ZSI know which function to call

cledith
2008-06-24
2013-05-02
  • cledith

    cledith - 2008-06-24

    Hi,
    the subject isn't quite right, but it doesn't allow enough characters. I don't really want to know ho ZSI does it, but where!
    I need to use another HTTP Server then the one included in ZSI (ZSI.ServiceContainer.ServericeContainer). So now I have got the payload of the HTTP packet from the other HTTP server and need to extract from the SOAP Envelope which function to use with what arguments, etc.

    I think I've looked everywhere, but I didn't find the right class which will take the SOAP Envelope as input and then call the right function. I hope someone can help me out!

    Cheers,
    Torsten

     
    • Shay Halsband

      Shay Halsband - 2008-06-25

      have you tried ZSI.ServiceContainer._Dispatch ?

      good luck
      shay

       
    • cledith

      cledith - 2008-07-01

      Hello,
      Thanks for your response and please let me apologize for answering so late. I've had a really busy week.

      I took a good look at ZSI.ServiceContainer._Dispatch, but I have to admit, that I haven't figured out how it works. As I understood _Dispatch needs a ServiceContainer instance, which would be my HTTP Server, wouldn't it? And I actually don't need one, since I have one.

      Maybe I elaborate more. I have a Twisted Webserver running (have to do it this way because of extern constraints). The web server receives the SOAP request and passes it to a class, where the request can be handled. So in the class I have the SOAP envelope as a string:

      <SOAP-ENV:Envelope xmlns=...>bla blub</SOAP-ENV:Envelope>

      From this I now need the part of ZSI, which extracts the method and parameters from the envelope to call the corresponding function. I'm  not quite sure, if _Dispatch is the right thing, but on the other site, I haven't fully understood how ZSI accomplishes this functionality.

      Cheers,
      Torsten

       
      • Shay Halsband

        Shay Halsband - 2008-07-01

        you can take a look in the globus toolkit: http://www.globus.org/
        as I can recall they integrate twisted WS with ZSI. it's written by one of ZSI maintainers, Joshua Buverhuf.

        I'm currently using Twisted main loop to call ZSIs web server in a separate thread.

        shay

         
        • cledith

          cledith - 2008-07-01

          >I'm currently using Twisted main loop to call ZSIs web server in a separate thread.
          That won't work for me, because I have to create Web services on the fly, hence, would like to use the Twisted Resource class. That way I don't have to start and stop Threads all the time, but just add resources and the corresponding class to handle the request.

           
    • Shay Halsband

      Shay Halsband - 2008-07-01
       
      • cledith

        cledith - 2008-07-02

        Thanks again for your help. I've taken a look at the projects, but to be honest, I didn't actually find what I am looking for. Would you like to point me to the corresponding code lines in case, that you are familiar with them?

         

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:





No, thanks