Perl的:: WSDL。生成的方法与脚本不同

时间:2011-02-02 09:19:02

标签: perl-module

我正在尝试编写一个与op5 / nagios一起使用的脚本。 它尝试做的是连接到数据库,在那里获取一个值,然后向web服务发送请求,并将来自webservice的响应与数据库中的值匹配。

现在编写脚本不是问题。尝试从OP5运行时会出现问题。

将接口包含在脚本中时,请使用以下语法

use MyInterfaces::PortalServicesImplService::PortalServicesImplPort;

当我执行与“MyInterfaces”位于同一级别的脚本时,这很好用。

问题是脚本本身位于文件夹/ opt / plugins / custom / SOAP中,其中脚本和wsdl2perl.pl生成的文件夹都位于该文件夹中。但是,当OP5执行时,脚本是从/ opt / monitor文件夹中执行的。

所以我尝试使用这种语法

包含“PortalServicesImplPort”

use lib "/opt/plugins/custom/SOAP/MyInterfaces/PortalservicesImplServices/PortalServicesImplPort

代码编译,但在尝试运行时,我收到一条错误消息说 Can't locate object method "new" via package "MyInterfaces::PortalServicesImplService::PortalServicesImplPort" (perhaps you forgot to load "MyInterfaces::PortalServicesImplService::PortalServicesImplPort"?)

从其他位置导入方法时我做错了什么或者SOAP :: WSDL是否支持将自动生成的文件放在与执行脚本不同的目录中?

1 个答案:

答案 0 :(得分:0)

似乎我设法通过添加use lib "/opt/plugins/custom/SOAP

来解决这个问题