我正在使用SOAP::Lite
WSDL 定义的 Web 服务。
我的要求(工作正常)就是这样。
<soapenv:Envelope xmlns:soapenv="http://myabc">
<soapenv:Header/>
<soapenv:Body>
<foo>
<p1>max</p1>
<p2>frank</p2>
</foo>
....
我的 perl 代码。
my $service = SOAP::Lite->service ("http://mywsdl");
my $ret = $service->foo ("max", "frank");
这也行得通。
但我喜欢命名/寻址我的参数 p1 和 p2 以获得更大的灵活性。
我用哈希试过了
my %params = (p1 => "max", p2 => "frank");
还有SOAP::Data
.
my @params = (
SOAP::Data->name (p1 => "max"),
SOAP::Data->name (p2 => "frank"));
但它不是那样工作的。
期望字符串值而不是
SOAP::Data
引用
任何想法如何命名我的参数?
编辑
我喜欢使用 wsdl 服务。那么我怎么知道服务函数如何期望它们的参数呢?这就是我问题的核心。我考虑了解决方法的参数命名。