列出由wsdl2perl创建的MyTypes :: Object类的所有对象方法

时间:2014-02-11 23:31:10

标签: perl soap wsdl bronto

使用wsdl2perl成功构建界面后,我正在寻找以通用方式检索此Web服务的数据。

我是SOAP和WSDL的新手,我通过google / CPAN进行了培训,当然是在堆栈上,如何通过Web服务API获取数据,我更喜欢Perl!在考虑以下选项后:

  1. SOAP ::精简版
  2. SOAP :: WSDL(是的!我的Web服务提供的确有一个干净的wsdl)
  3. wsdl2perl <!/ LI>
  4. stubmaker
  5. 我选择了选项3,(这是正确的选择吗?)

    我希望得到Web Service返回的所有数据,它返回一个数组,其中并不总是存在原始类的所有单个属性(如果它在返回的XML中则为pending)。我可以用as_hash_ref!如下:

    my $h = $objects->get_return()->[0]->as_hash_ref();
    print join ", " => keys %$h, "\n";
    

    这给了我第一个数组的所有键,但是,我假设,我不能保证它会根据MyTypes::Object中wsdl2perl创建的内容返回所有可能的键。 / p>

    基本上,我希望获得超类类型为SOAP::WSDL::XSD::Typelib::ComplexType的类的所有类方法!

    我试图在课堂上寻找一些提示:

    confess "Can't locate object method \"$_\" via package \"$class\". \n"
            . "Valid methods are: "
            . join(', ', map { ("get_$_" , "set_$_") } keys %{ $ATTRIBUTES_OF{ $class } })
            . "\n"
    

    然而进一步深挖,我才知道$ATTRIBUTES_OF通过调用填充__PACKAGE__->_factory和我被困在如何获得由wsdl2perl创建一个给定的MyTypes::Object类的所有干将。

    简单地说,我期待在由Web服务返回的数组中的所有元素一般迭代,并打印出(以CSV文件)由wsdl2perl创建的MyTypes::Object类的所有可能的属性。

0 个答案:

没有答案