package Astro::SIMBAD::Client::WSQueryInterfaceService;
# Generated by SOAP::Lite (v0.69) for Perl -- soaplite.com
# Copyright (C) 2000-2006 Paul Kulchenko, Byrne Reese
# Portions copyright (C) 2011-2012 by Thomas R. Wyant, III
# -- generated at [Thu Aug 31 16:25:31 2006]
# -- generated from http://simweb.u-strasbg.fr/axis/services/WSQuery?wsdl
## TRW vvvv
use strict;
use warnings;
our $VERSION = '0.026';
## TRW ^^^^
my %methods = (
queryObjectById => {
## endpoint => 'http://simweb.u-strasbg.fr:8080/axis/services/WSQuery',
endpoint => 'http://%s/axis/services/WSQuery',
soapaction => '',
namespace => 'http://uif.simbad.cds',
parameters => [
SOAP::Data->new(name => 'in0', type => 'soapenc:string', attr => {}),
SOAP::Data->new(name => 'in1', type => 'soapenc:string', attr => {}),
SOAP::Data->new(name => 'in2', type => 'soapenc:string', attr => {}),
], # end parameters
}, # end queryObjectById
queryObjectByBib => {
## endpoint => 'http://simweb.u-strasbg.fr:8080/axis/services/WSQuery',
endpoint => 'http://%s/axis/services/WSQuery',
soapaction => '',
namespace => 'http://uif.simbad.cds',
parameters => [
SOAP::Data->new(name => 'in0', type => 'soapenc:string', attr => {}),
SOAP::Data->new(name => 'in1', type => 'soapenc:string', attr => {}),
SOAP::Data->new(name => 'in2', type => 'soapenc:string', attr => {}),
], # end parameters
}, # end queryObjectByBib
queryObjectByCoord => {
## endpoint => 'http://simweb.u-strasbg.fr:8080/axis/services/WSQuery',
endpoint => 'http://%s/axis/services/WSQuery',
soapaction => '',
namespace => 'http://uif.simbad.cds',
parameters => [
SOAP::Data->new(name => 'in0', type => 'soapenc:string', attr => {}),
SOAP::Data->new(name => 'in1', type => 'soapenc:string', attr => {}),
SOAP::Data->new(name => 'in2', type => 'soapenc:string', attr => {}),
SOAP::Data->new(name => 'in3', type => 'soapenc:string', attr => {}),
], # end parameters
}, # end queryObjectByCoord
); # end my %methods
use SOAP::Lite;
use Exporter;
use Carp ();
our @CARP_NOT = qw{SOAP::Lite};
use vars qw(@ISA $AUTOLOAD @EXPORT_OK %EXPORT_TAGS);
@ISA = qw(Exporter SOAP::Lite);
@EXPORT_OK = (keys %methods);
%EXPORT_TAGS = ('all' => [@EXPORT_OK]);
sub _call {
## TRW vvvv
## my ($self, $method) = (shift, shift);
my ($self, $method, $server, @parm) = @_;
$server or Carp::croak "No server specified";
## my $name = UNIVERSAL::isa($method => 'SOAP::Data') ? $method->name : $method;
my $name = eval {$method->isa('SOAP::Data')} ? $method->name : $method;
## TRW ^^^^
my %method = %{$methods{$name}};
## TRW vvvv
$method{endpoint} or Carp::croak "No server address (proxy) specified";
my $endpoint = sprintf $method{endpoint}, $server;
## $self->proxy($method{endpoint} || Carp::croak "No server address (proxy) specified")
$self->proxy ($endpoint)
unless $self->proxy;
## TRW ^^^^
my @templates = @{$method{parameters}};
my @parameters = ();
## TRW foreach my $param (@_) {
foreach my $param (@parm) { ## TRW
if (@templates) {
my $template = shift @templates;
## TRW my ($prefix,$typename) = SOAP::Utils::splitqname($template->type);
my (undef,$typename) = SOAP::Utils::splitqname($template->type); ## TRW
my $method = 'as_'.$typename;
# TODO - if can('as_'.$typename) {...}
my $result = $self->serializer->$method($param, $template->name, $template->type, $template->attr);
push(@parameters, $template->value($result->[2]));
} else {
push(@parameters, $param);
}
}
## TRW $self->endpoint($method{endpoint})
## TRW ->ns($method{namespace})
## TRW ->on_action(sub{qq!"$method{soapaction}"!});
## vvv TRW
if ($self->can ('ns')) {
$self->endpoint($endpoint)
->ns($method{namespace})
->on_action (sub{$method{soapaction}});
} else {
$self->endpoint($endpoint)
->envprefix ('soap')
->uri($method{namespace})
->on_action (sub{$method{soapaction}});
}
## ^^^ TRW
if ($self->serializer->can ('register_ns')) { ## TRW
$self->serializer->register_ns("http://schemas.xmlsoap.org/wsdl/soap/","wsdlsoap");
$self->serializer->register_ns("http://schemas.xmlsoap.org/wsdl/","wsdl");
$self->serializer->register_ns("http://uif.simbad.cds","intf");
$self->serializer->register_ns("http://uif.simbad.cds","impl");
$self->serializer->register_ns("http://schemas.xmlsoap.org/soap/encoding/","soapenc");
$self->serializer->register_ns("http://xml.apache.org/xml-soap","apachesoap");
$self->serializer->register_ns("http://www.w3.org/2001/XMLSchema","xsd");
} ## TRW
my $som = $self->SUPER::call($method => @parameters);
if ($self->want_som) {
return $som;
}
## TRW vvvv
## UNIVERSAL::isa($som => 'SOAP::SOM') ? wantarray ? $som->paramsall : $som->result : $som;
return eval {$som->isa('SOAP::SOM')} ? wantarray ? $som->paramsall : $som->result : $som;
## TRW ^^^^
}
sub BEGIN {
no strict 'refs';
for my $method (qw(want_som)) {
my $field = '_' . $method;
*$method = sub {
my $self = shift->new;
@_ ? ($self->{$field} = shift, return $self) : return $self->{$field};
}
}
}
no strict 'refs';
for my $method (@EXPORT_OK) {
## TRW my %method = %{$methods{$method}};
*$method = sub {
## TRW vvvv
## my $self = UNIVERSAL::isa($_[0] => __PACKAGE__)
my $self = eval {$_[0]->isa(__PACKAGE__)}
## TRW ^^^^
? ref $_[0] ? shift # OBJECT
# CLASS, either get self or create new and assign to self
: (shift->self || __PACKAGE__->self(__PACKAGE__->new))
# function call, either get self or create new and assign to self
: (__PACKAGE__->self || __PACKAGE__->self(__PACKAGE__->new));
$self->_call($method, @_);
}
}
sub AUTOLOAD {
my $method = substr($AUTOLOAD, rindex($AUTOLOAD, '::') + 2);
return if $method eq 'DESTROY' || $method eq 'want_som';
die "Unrecognized method '$method'. List of available method(s): @EXPORT_OK\n";
}
1;