我想使用XML::Compile::WSDL11
为网络服务构建客户端。这是我使用的代码:
my $wsdl = XML::Compile::WSDL11->new($wsdlfile);
my $call = $wsdl->compileClient('MyMethod', port => 'MyPort');
$call->();
但是,某些操作会返回如下错误:
错误:找不到ref元素 '{http://www.w3.org/2001/XMLSchema}schema' 在......
AFAIC,这意味着缺少某些架构。从联机帮助页:
故意你必须明确加载 您需要从本地磁盘
的文件
如何确定WSDL所需的模式文件并自动导入它们?
答案 0 :(得分:3)
所需的XSD文件附带XML::Compile
。您可以像这样导入它:
my $wsdl = XML::Compile::WSDL11->new($wsdlfile);
$wsdl->importDefinitions('http://www.w3.org/2001/XMLSchema');
有关可以通过这种方式导入的其他模式的列表,请参阅XML::Compile::Util
。