如何从 Perl SOAP::Lite 服务调用中删除 xsi:nil="true"?
How to remove the xsi:nil="true" from Perl SOAP::Lite service call?
这是使用 SOAP::Lite
的代码
my $lookup = SOAP::Lite->service('http://hostname.com/path/SpringVerifierWebServicePort?wsdl')
-> proxy("$theURL") ;
$response = $lookup->verifySpring();
当它执行时会产生这个请求
<?xml version="1.0" encoding="UTF-8"?>
<soap:Envelope soap:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soap:Body>
<verifySpring xmlns="http://webservice.springverifier.toolslang.fedins.com" xsi:nil="true" />
</soap:Body>
</soap:Envelope>
有没有办法去掉标签上的xsi:nil="true"?
我找到了答案。似乎这是 SOAP:Lite 库的限制(但很容易修改)。
http://www.perlmonks.org/?node_id=931103
这是使用 SOAP::Lite
my $lookup = SOAP::Lite->service('http://hostname.com/path/SpringVerifierWebServicePort?wsdl')
-> proxy("$theURL") ;
$response = $lookup->verifySpring();
当它执行时会产生这个请求
<?xml version="1.0" encoding="UTF-8"?>
<soap:Envelope soap:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soap:Body>
<verifySpring xmlns="http://webservice.springverifier.toolslang.fedins.com" xsi:nil="true" />
</soap:Body>
</soap:Envelope>
有没有办法去掉标签上的xsi:nil="true"?
我找到了答案。似乎这是 SOAP:Lite 库的限制(但很容易修改)。 http://www.perlmonks.org/?node_id=931103