gpt4 book ai didi

apache - 从本地主机获取 SOAP 应答

转载 作者:行者123 更新时间:2023-12-02 01:04:24 25 4
gpt4 key购买 nike

我正在学习 SOAP,并创建了一个非常小的 CGI 脚本,该脚本在 Apache 上运行,将提供一小组功能。

#!/usr/bin/perl

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");
}

我的客户是

#!perl -w

use SOAP::Lite;

print SOAP::Lite
-> uri('http://localhost:80/cgi-bin/Demo')
-> proxy('http://localhost:80/cgi-bin/hibye.cgi')
-> hi()
-> result;

一切都会编译,并且当我运行脚本时没有错误。问题是,当我运行客户端时,它完成了,但没有得到响应。我认为 URI 可能是错误的,但我不确定。代理没问题。

编辑:在控制台中运行脚本时我没有收到错误,但是我在 apache 日志中收到错误(由于某种原因我没有检查)。错误

script not found or unable to stat: /usr/lib/cgi-bin/hibye.cgis

这是一个权限问题。我修复了它,现在运行脚本时控制台和错误日志中都没有出现问题。

在访问日志中我得到以下内容:

"POST /cgi-bin/hibye.cgi HTTP/1.1" 500 780 "-" "SOAP::Lite/Perl/0.714"

最佳答案

经过一些实验,我发现了问题 - 问题出在 uri 绑定(bind)中。在这种情况下,必须将其更改为:

http://localhost:80/cgi-bin/Demo

至:

http://localhost:80/Demo

脚本将按预期工作。

关于apache - 从本地主机获取 SOAP 应答,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22483893/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com