SOAP 1.2
サーバー(no CGI
)+SOAP 1.2
クライアントの完全な実例をファイルで提供できる人はいないでしょうかWSDL
。
1週間以降に試したものはすべて失敗します。
SOAP::Transport::HTTP::Daemon
モジュールでの私の最後の試みは私に与えます:
SOAP::Serializer::envelope: Client Denied access to method (AnalyzeDocument) in class (main) at /usr/share/perl5/site_perl/SOAP/Lite.pm line 2806
私はそれについてたくさんのFirefoxタブを開いていますが、2012年にはどの解決策も機能しません。
/usr/share/perl5/site_perl/SOAP/Lite.pm
関連する部分は
# TODO - sort this mess out:
# The task is to test whether the class in question has already been loaded.
#
# SOAP::Lite 0.60:
# unless (defined %{"${class}::"}) {
# Patch to SOAP::Lite 0.60:
# The following patch does not work for packages defined within a BEGIN block
# unless (exists($INC{join '/', split /::/, $class.'.pm'})) {
# Combination of 0.60 and patch did not work reliably, either.
#
# Now we do the following: Check whether the class is main (always loaded)
# or the class implements the method in question
# or the package exists as file in %INC.
#
# This is still sort of a hack - but I don't know anything better
# If you have some idea, please help me out...
#
unless (($class eq 'main') || $class->can($method_name)
|| exists($INC{join '/', split /::/, $class . '.pm'})) {
# allow all for static and only specified path for dynamic bindings
local @INC = (($static ? @INC : ()), grep {!ref && m![/\\.]!} $self->dispatch_to());
eval 'local $^W; ' . "require $class";
die "Failed to access class ($class): $@" if $@;
$self->dispatched($class) unless $static;
}
die "Denied access to method ($method_name) in class ($class)"
unless $static || grep {/^$class$/} $self->dispatched;
return ($class, $method_uri, $method_name);
}