【问题标题】:How can I import schemas required by a WSDL when using XML::Compile::WSDL11?使用 XML::Compile::WSDL11 时如何导入 WSDL 所需的模式?
【发布时间】:2011-04-09 22:39:42
【问题描述】:

我想使用 XML::Compile::WSDL11 为 Web 服务构建客户端。这是我使用的代码:

my $wsdl = XML::Compile::WSDL11->new($wsdlfile);
my $call = $wsdl->compileClient('MyMethod', port => 'MyPort');
$call->();

但是,有些操作会返回如下错误:

错误:找不到引用元素 '{http://www.w3.org/2001/XMLSchema}架构' 在...

AFAIC,这意味着缺少某些架构。从手册页:

您必须明确加载 您需要的本地磁盘文件

如何确定 WSDL 需要哪些架构文件并自动导入它们?

【问题讨论】:

    标签: xml perl soap xsd wsdl


    【解决方案1】:

    所需的 XSD 文件带有 XML::Compile。你可以像这样导入它:

    my $wsdl = XML::Compile::WSDL11->new($wsdlfile);
    $wsdl->importDefinitions('http://www.w3.org/2001/XMLSchema');
    

    请参阅XML::Compile::Util 了解可以通过这种方式导入的其他模式的列表。

    【讨论】:

      猜你喜欢
      • 2014-08-01
      • 2015-11-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-09-29
      • 2011-09-26
      相关资源
      最近更新 更多