<!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>