<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Exchange Server">
<!-- converted from rtf -->
<style><!-- .EmailQuote { margin-left: 1pt; padding-left: 4pt; border-left: #800000 2px solid; } --></style>
</head>
<body>
<font face="Calibri, sans-serif" size="2">
<div>Hello,</div>
<div>I had previously a namespace problem with wsdl containing rpc style.</div>
<div>MarkOv suggested the following change to lib/XML/Compile/SOAP11/Operation.pm :</div>
<div><font face="Consolas, monospace" size="2">&nbsp;</font></div>
<div><font face="Consolas, monospace" size="2">Original code :</font></div>
<div><font face="Consolas, monospace" size="2">&nbsp;&nbsp; if($style eq 'rpc')</font></div>
<div><font face="Consolas, monospace" size="2">&nbsp;&nbsp;&nbsp; {&nbsp;&nbsp; exists $body-&gt;{namespace}</font></div>
<div><font face="Consolas, monospace" size="2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; or error __x&quot;rpc operation {name} requires namespace attribute&quot;</font></div>
<div><font face="Consolas, monospace" size="2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; , name =&gt; $msgname;</font></div>
<div><font face="Consolas, monospace" size="2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; my $ns = $body-&gt;{namespace};</font></div>
<div><font face="Consolas, monospace" size="2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $procedure = pack_type $ns, $opname;</font></div>
<div><font face="Consolas, monospace" size="2">&nbsp;&nbsp;&nbsp; }</font></div>
<div><font face="Consolas, monospace" size="2">&nbsp;</font></div>
<div><font face="Consolas, monospace" size="2">Changed code :</font></div>
<div><font face="Consolas, monospace" size="2">&nbsp;&nbsp;&nbsp; if($style eq 'rpc')</font></div>
<div><font face="Consolas, monospace" size="2">&nbsp;&nbsp;&nbsp; {&nbsp;&nbsp; my $ns = $body-&gt;{namespace} || '';</font></div>
<div><font face="Consolas, monospace" size="2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $procedure = pack_type $ns, $opname;</font></div>
<div><font face="Consolas, monospace" size="2">&nbsp;&nbsp;&nbsp; }</font></div>
<div>&nbsp;</div>
<div>, which worked very well &#8211; but lead in our case to next problem :</div>
<div>&#8220;error: sending operation requires procedure name with RPC&nbsp; at /usr/lib/perl5/site_perl/5.8.8/XML/Compile/SOAP.pm line 112&#8221;</div>
<div>&nbsp;</div>
<div>I assumed that this also could be not-so-critical error and skipped it via a small change to /usr/lib/perl5/site_perl/5.8.8/XML/Compile/SOAP.pm rows 111-117:</div>
<div>&nbsp;</div>
<div>Original code :</div>
<div>&#8230;</div>
<div>&nbsp;&nbsp;&nbsp; elsif($style eq 'rpc')</div>
<div>&nbsp;&nbsp;&nbsp; {&nbsp;&nbsp; my $procedure = $args{body}{procedure} </div>
<div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; or error __x&quot;sending operation requires procedure name with RPC&quot;; </div>
<div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; push @$hooks, $self-&gt;_writer_rpc_hook('SOAP-ENV:Body'</div>
<div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; , $procedure, $body, $faults);</div>
<div>&nbsp;&nbsp;&nbsp; }</div>
<div>Changed code :</div>
<div>&#8230;</div>
<div>&nbsp;&nbsp;&nbsp; elsif($style eq 'rpc')</div>
<div>&nbsp;&nbsp;&nbsp; {&nbsp;&nbsp; my $procedure = $args{body}{procedure} || '';&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ## locally added </div>
<div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ##&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; or error __x&quot;sending operation requires procedure name with RPC&quot;;&nbsp; ## locally skipped error message</div>
<div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; push @$hooks, $self-&gt;_writer_rpc_hook('SOAP-ENV:Body'</div>
<div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; , $procedure, $body, $faults);</div>
<div>&nbsp;&nbsp;&nbsp; }</div>
<div>&nbsp;</div>
<div>After these changes, my WS-EVENTING test using XML::Compile gave good results !</div>
<div>&nbsp;</div>
<div>QUESTIONS:</div>
<div>Do you see any risk on these changes - are the changes dangerous to the other module logic ?</div>
<div>Are the above changed rpc-style tests only to make sure that the wsdl is following the standard specs ?</div>
<div>&nbsp;</div>
<div>BR, Tapio</div>
<div>&nbsp;</div>
</font>
</body>
</html>