in reply to Re: How to create soap server script?
in thread How to create soap server script?

Hi marto,

Thanks for the information. Yes, I did take a look.

First of all, please correct me if I'm wrong. Most of the examples are using CGI, that means, server side script will return in CGI method only?

Please advise. Thanks

  • Comment on Re^2: How to create soap server script?

Replies are listed 'Best First'.
Re^3: How to create soap server script?
by locked_user sundialsvc4 (Abbot) on Oct 06, 2010 at 03:07 UTC

    I’m afraid that I don’t understand your point/question.   Could you please rephrase it?   Elaborate a little?

      Hi sundialsvc4,

      server script -> hibye.cgi

      #!perl -w use SOAP::Transport::HTTP; SOAP::Transport::HTTP::CGI -> dispatch_to('Demo') -> handle; package Demo; sub hi { return "hello, world"; } sub bye { return "goodbye, cruel world"; } sub languages { return ("Perl", "C", "sh"); }

      The above sample code is from "http://guide.soaplite.com/#autodispatching"

      Correct me if I'm wrong:

      If client call server->hibye.cgi->sub hi

      hibye.cgi will go to package Demo->sub hi and return "hello, world"

      So, my questions are:

      If there is a wsdl, can I still use the above code?

      and

      the above sample code, the dispatch_to is "hard coded", can I do dynamic?

      Please advise. Thanks.

        Please understand that I am not an authority on this one, having not done SOAP in quite some time now, but ...

        The WSDL is (afaik...) an external description of what your service has to offer.   Your implementation must conform to it, but your server-side code is not influenced by it.   (It would be very nice if it did, and perhaps there is another package that does.)

        As guide.soap.com indicates, access can either be dynamic or static.   “Dynamic” means that you specify a directory-name, and Perl looks for a module within that directory.   If it finds one, it loads it and uses it.   (See: "Different modules on one server.")   A hybrid approach can also be used.   But these implementation details are not apparent to the client.