in reply to Re^2: SOAP::Transport::HTTP::Daemon and XML
in thread SOAP::Transport::HTTP::Daemon and XML
I have the WSDL description, but only in file form.Are you sure?
Web-services commonly serve their WSDL from the proxy URL with '?WSDL' appended.
The SOAP::Transport::HTTP::Server subclasses don't make it easy to serve your WSDL from the same service, so what I do is the following:
- use the HTTP::Request->parse constructor from HTTP::Request to build a request from the raw incoming request, then
- (depending on the $request->uri) I either:
- build a response containing WSDL, or
- pass $request directly to SOAP::Transport::HTTP::Server like this:my $soap = SOAP::Transport::HTTP::Server -> new(%args) -> dispatch_to(@classes); $soap->request($request); $soap->handle; my $response = $soap->response;
Is it necessary that WSDL file be web served? I don't see how to use it as local file, is it possible?Sure, do something like this:
Loading from the file saves some time on script startup, using caching saves a lot of work on each request.my $soap = SOAP::WSDL->new(); $soap->wsdl('file:/path/to/file.wsdl'); $soap->proxy('http://server/service.cgi'); $soap->wsdlinit(caching => 1);
Update: Fixed my URLs.
-David
|
---|
Replies are listed 'Best First'. | |
---|---|
Re^4: SOAP::Transport::HTTP::Daemon and XML
by romanovsky (Initiate) on Apr 02, 2008 at 14:44 UTC | |
by upage123 (Initiate) on Nov 29, 2009 at 19:11 UTC |
In Section
Seekers of Perl Wisdom