我正在尝试编写一个与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是否支持将自动生成的文件放在与执行脚本不同的目录中?
答案 0 :(得分:0)
似乎我设法通过添加use lib "/opt/plugins/custom/SOAP