<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">


<META content="MSHTML 6.00.2900.3354" name=GENERATOR></HEAD>
<BODY>
<DIV><FONT face=Arial color=#0000ff size=2><SPAN class=905405623-14082008>for 
someMethod(Field1 ArrayOf_xsd_string, other_parameters)</SPAN></FONT></DIV>
<DIV><FONT face=Arial color=#0000ff size=2><SPAN class=905405623-14082008>a call 
someMethod( ['str1', 'str2', 'str3'], other_parameters)  *works for 
me* with SOAPpy 0.12.0. yes sir it does.</SPAN></FONT></DIV>
<DIV><FONT face=Arial color=#0000ff size=2><SPAN 
class=905405623-14082008></SPAN></FONT> </DIV>
<DIV><FONT face=Arial color=#0000ff size=2><SPAN class=905405623-14082008>
<DIV><FONT face=Arial color=#0000ff size=2><SPAN class=905405623-14082008>in 
PERL, let alone array types, even for simple types it was hard for me with all 
the '->', and '$'  prefixing for objects and 
variables.</SPAN></FONT></DIV></SPAN></FONT></DIV>
<DIV><FONT face=Arial color=#0000ff size=2><SPAN 
class=905405623-14082008></SPAN></FONT> </DIV>
<DIV><FONT face=Arial color=#0000ff size=2><SPAN class=905405623-14082008>I use 
following snippet to  check arguments, and return types from a 
wsdl for each method. If any on them is not a simple type, check the wsdl 
manually for details of the data type.</SPAN></FONT></DIV>
<DIV><FONT face=Arial color=#0000ff size=2><SPAN 
class=905405623-14082008>====================================================</SPAN></FONT></DIV>
<DIV><FONT face=Arial color=#0000ff size=2><SPAN class=905405623-14082008>
<DIV><FONT face=Arial color=#0000ff size=2><SPAN class=905405623-14082008>import 
os, sys, glob<BR>from SOAPpy import WSDL</SPAN></FONT></DIV>
<DIV> </DIV>
<DIV><FONT face=Arial color=#0000ff size=2><SPAN class=905405623-14082008>def 
checkwsdl(file):<BR>   if 
os.path.isfile(file):<BR>      print 'wsdl:%s' % 
file<BR>      server = 
WSDL.Proxy(file)<BR>      for ct, k in 
enumerate(server.methods.keys()):<BR>         
args =[]<BR>         rets = 
[]<BR>         callInfo = 
server.methods[k]<BR>         for ct2, 
name in 
enumerate(callInfo.inparams):<BR>            
args.append('%s %s' % (name.name.encode(), 
name.type[1].encode()))<BR>         for 
ct2, name in 
enumerate(callInfo.outparams):<BR>            
rets.append('%s %s' % (name.name.encode(), 
name.type[1].encode()))<BR>         
print '%s. %s(%s)\n\treturns(%s)' % ( ct+1, 
k.encode(),<BR>                  
',\n\t\t'.join(args),   
',\n\t\t'.join(rets))<BR>      
print</SPAN></FONT></DIV>
<DIV> </DIV>
<DIV><FONT face=Arial color=#0000ff size=2><SPAN class=905405623-14082008>if 
__name__ == '__main__' :<BR>   args = sys.argv[1:]<BR>   for 
arg in args:<BR>      for file in 
glob.glob(arg):<BR>         
checkwsdl(file)<BR></SPAN></FONT><FONT face=Arial color=#0000ff size=2><SPAN 
class=905405623-14082008>====================================================</SPAN></FONT></DIV></DIV></SPAN></FONT>
<DIV><FONT face=Arial color=#0000ff><SPAN class=905405623-14082008>
<DIV><FONT face=Arial color=#0000ff size=2><SPAN 
class=905405623-14082008></SPAN></FONT> </DIV>
<DIV><FONT face=Arial color=#0000ff size=2><SPAN class=905405623-14082008>Even 
though a method may be asking for an array, server may be accepting only up to a 
certain number of elements in the array.</SPAN></FONT></DIV>
<DIV><FONT face=Arial color=#0000ff size=2><SPAN class=905405623-14082008>And 
check the data type for elements in the array.</SPAN></FONT></DIV>
<DIV><FONT size=2><FONT face=Arial color=#0000ff><SPAN 
class=905405623-14082008></SPAN></FONT><FONT face=Arial color=#0000ff><SPAN 
class=905405623-14082008></SPAN></FONT></FONT> </DIV>
<DIV><FONT face=Arial color=#0000ff size=2><SPAN class=905405623-14082008>of 
course I had to tweak a couple of SOAPpy modules to accept long data 
type, and work from behind a firewall.</SPAN></FONT></DIV>
<DIV><FONT face=Arial color=#0000ff size=2><SPAN 
class=905405623-14082008></SPAN></FONT> </DIV>
<DIV><FONT face=Arial color=#0000ff size=2><SPAN class=905405623-14082008>hope 
that helps...</SPAN></FONT></DIV>
<DIV><FONT face=Arial color=#0000ff size=2><SPAN class=905405623-14082008>thanks 
Edwin</SPAN></FONT></DIV>
<DIV><FONT size=2></FONT></SPAN></FONT><FONT face=Tahoma><FONT size=2><SPAN 
class=905405623-14082008><FONT face=Arial 
color=#0000ff></FONT></SPAN></FONT></FONT> </DIV>
<DIV><FONT face=Tahoma><FONT size=2><SPAN 
class=905405623-14082008> </SPAN>-----Original Message-----<BR><B>From:</B> 
python-list-bounces+edwin.madari=verizonwireless.com@python.org 
[mailto:python-list-bounces+edwin.madari=verizonwireless.com@python.org]<B>On 
Behalf Of </B>annu miya<BR><B>Sent:</B> Thursday, August 14, 2008 12:11 
PM<BR><B>To:</B> python-list@python.org<BR><B>Subject:</B> SOAPpy and 
ArrayOfString<BR><BR></DIV></FONT></FONT></DIV>
<BLOCKQUOTE>
  <TABLE cellSpacing=0 cellPadding=0 border=0>
    <TBODY>
    <TR>
      <TD vAlign=top>
        <DIV>Hi, </DIV>
        <DIV> </DIV>
        <DIV>In the article below you mention that you were succesful at doing 
        this through perl. Would it be possible to send me the perl code?</DIV>
        <DIV> </DIV>
        <DIV><A 
        href="http://mail.python.org/pipermail/python-list/2007-January/423311.html">http://mail.python.org/pipermail/python-list/2007-January/423311.html</A></DIV>
        <DIV> </DIV>
        <DIV>Thank You</DIV>
        <DIV> </DIV>
        <DIV>Regards</DIV>
        <DIV> </DIV>
        <DIV>Sid</DIV></TD></TR></TBODY></TABLE><BR></BLOCKQUOTE><pre>

The information contained in this message and any attachment may be
proprietary, confidential, and privileged or subject to the work
product doctrine and thus protected from disclosure.  If the reader
of this message is not the intended recipient, or an employee or
agent responsible for delivering this message to the intended
recipient, you are hereby notified that any dissemination,
distribution or copying of this communication is strictly prohibited.
If you have received this communication in error, please notify me
immediately by replying to this message and deleting it and all
copies and backups thereof.  Thank you.

</pre></BODY></HTML>