passing arguments correctly?

201 views
Skip to first unread message

Chris

unread,
Mar 27, 2006, 9:59:50 AM3/27/06
to soap4r

Hi...
With an updated Ruby and http-access2, I nearly have this working:
WSDL is parsed correctly, basic authentication is working. Thanks!
Is the following syntax correct to invoke a SOAP service called
"WebService" with 3 arguments that are strings?

soap = SOAP::WSDLDriverFactory.new(WSDL_URL).create_rpc_driver
soap.options["protocol.http.basic_auth"] <<
[WSDL_URL, "user", "password"]
#soap.options["protocol.http.ssl_config.verify_mode"] = nil

result = soap.WebService('arg1','arg2','arg3')
puts result

What I find is that WebService is invoked, but the values that should
contain the arguments are empty. I've also tried
("arg1","arg2","arg3") and
(["arg1","arg2","arg3"])
without success. (Although I did get a "wrong number of arguments"
error when I tried the array, so *something* is reading the arguments.)

Any suggestions?
-Chris

Emil Marceta

unread,
Mar 27, 2006, 11:46:55 AM3/27/06
to soa...@googlegroups.com

Perhaps the service is document literal? The above invocation is for
rpc/encoded.

The document literal way would look like:
soap.WebService(:arg1 => 'value1',:arg2 => 'value2', :arg3 => 'value3')
but is really hard to tell without seein the wsdl.

cheers,
emil

Chris

unread,
Mar 27, 2006, 1:15:03 PM3/27/06
to soap4r
>Perhaps the service is document literal? The above invocation is for
>rpc/encoded.

I tried the document literal way, but no dice.
The WSDL says

######################################
</wsdl:message>
<wsdl:message name='WebService'><wsdl:part name='FirstArg'
type='xsd:string'/><wsdl:part name='SecondArg'
type='xsd:string'/><wsdl:part name='ThirdArg' type='xsd:string'/>
</wsdl:message>
#####################################
<wsdl:input>
<soap:body use='encoded' namespace='fooapi'
encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>
</wsdl:input>
####################################

Is 'encoded" different than 'rpc/encoded'?

Thanks Emil...
-Chris

Emil Marceta

unread,
Mar 27, 2006, 1:22:48 PM3/27/06
to soa...@googlegroups.com
On 3/27/06, Chris <christoph...@gmail.com> wrote:
>

The service looks as rpc / encoded. Could you post the whole wsdl?

I see that you use relative namespaces. Nothing to do with this
problem, but it is a good idea to avoid them if possible.

cheers,
emil
cheers,
emil

Chris

unread,
Mar 27, 2006, 2:47:57 PM3/27/06
to soap4r

The whole WSDL is gigantic. I wonder if the POST message would yield
any clues?

my code
###########


soap = SOAP::WSDLDriverFactory.new(WSDL_URL).create_rpc_driver
soap.options["protocol.http.basic_auth"] <<
[WSDL_URL, "user", "password"]

result = soap.WebService('arg1','arg2','arg3')

############

sends this POST message to the service. Note that the arg values are
empty.
#########################################
<env:Envelope xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<env:Body>
<n1:WebService xmlns:n1="fooapi"
env:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<FirstArg xsi:nil="true"></FirstArg>
<SecondArg xsi:nil="true"></SecondArg>
<ThirdArg xsi:nil="true"></ThirdArg>
</n1:WebService>
</env:Body>
</env:Envelope>
##################################3
-Chris

Emil Marceta

unread,
Mar 27, 2006, 3:03:52 PM3/27/06
to soa...@googlegroups.com
On 3/27/06, Chris <christoph...@gmail.com> wrote:
>
>
> The whole WSDL is gigantic. I wonder if the POST message would yield
> any clues?

Heh, with wsdls there is so many things that can go wrong.... few thoughts :

Post message shows that the binding operation name is the same as the
message name. Can't tell of top of my head if this hurts, but it is not how
it is usually done. Try renaming the message to say 'WebServiceIn'. Don't
forget ot update references in operations. Also try renaming the
relative namespace
to 'http://fooapi'.

cheers,
emil

Chris

unread,
Mar 27, 2006, 3:31:34 PM3/27/06
to soap4r
So it sounds as if my overall syntax is (or should be) correct.

What's really frustrating is that the equivalent Perl code

use SOAP::Lite ;
my $USER = 'user';
my $PASS = 'password';
my $WSDL = 'http://localhost/soap/wsdl';
my $SOAP = SOAP::Lite -> service($WSDL);
my $result = $SOAP->WebService('arg1','arg2','arg3');

is working just fine.
But I'd rather use Ruby. I'll think on this some more.
-Chris

Emil Marceta

unread,
Mar 27, 2006, 4:06:07 PM3/27/06
to soa...@googlegroups.com
On 3/27/06, Chris <christoph...@gmail.com> wrote:
>
> So it sounds as if my overall syntax is (or should be) correct.
>
> What's really frustrating is that the equivalent Perl code
>
> use SOAP::Lite ;
> my $USER = 'user';
> my $PASS = 'password';
> my $WSDL = 'http://localhost/soap/wsdl';
> my $SOAP = SOAP::Lite -> service($WSDL);
> my $result = $SOAP->WebService('arg1','arg2','arg3');
>
> is working just fine.

I see. So there are bugs probably.

The wsdl would help to construct the failing test that needs to
be fixed.

Another thing you might try is to use wsdl2ruby and see what
comes out of it too.


cheers,
emil

Chris

unread,
Mar 27, 2006, 5:02:35 PM3/27/06
to soap4r

Here's the WSDL (brace yourself!)
I've been trying to use the "CreateSingleMember" service

<?xml version='1.0' encoding='utf-8'?>
<wsdl:definitions name='lmapi'
targetNamespace='http://www.lyris.com/lmapi'
xmlns='http://schemas.xmlsoap.org/wsdl/'
xmlns:wsdl='http://schemas.xmlsoap.org/wsdl/'
xmlns:http='http://schemas.xmlsoap.org/wsdl/http/'
xmlns:soap='http://schemas.xmlsoap.org/wsdl/soap/'
xmlns:s='http://www.w3.org/2001/XMLSchema'
xmlns:xsd='http://www.w3.org/2001/XMLSchema'
xmlns:s0='http://www.lyris.com/lmapi'
xmlns:SOAP-ENC='http://schemas.xmlsoap.org/soap/encoding/'
xmlns:mime='http://schemas.xmlsoap.org/wsdl/mime/'>

<wsdl:types>
<xs:schema
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://www.lyris.com/lmapi">

<!--added import namespaces so WSDL.exe (.NET) does not complain-->
<s:import namespace="http://schemas.xmlsoap.org/soap/encoding/" />
<s:import namespace="http://schemas.xmlsoap.org/wsdl/" />


<xs:complexType name="ArrayOfSimpleMemberStruct">
<xs:complexContent mixed="false">
<xs:restriction base="SOAP-ENC:Array">
<xs:attribute wsdl:arrayType="s0:SimpleMemberStruct[]"
ref="SOAP-ENC:arrayType" />
</xs:restriction>
</xs:complexContent>
</xs:complexType>


<xs:complexType name="SimpleMailingStruct">
<xs:all>

<xs:element minOccurs="0" maxOccurs="1" type="xsd:string"
nillable="true" name="Subject"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:boolean"
nillable="true" name="IsHtmlSectionEncoded"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:int"
nillable="true" name="HtmlSectionEncoding"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:string"
nillable="true" name="HtmlMessage"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:string"
nillable="true" name="To"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:int"
nillable="true" name="CharSetID"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:boolean"
nillable="true" name="IsTextSectionEncoded"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:int"
nillable="true" name="TextSectionEncoding"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:string"
nillable="true" name="Title"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:string"
nillable="true" name="TextMessage"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:string"
nillable="true" name="Attachments"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:string"
nillable="true" name="From"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:string"
nillable="true" name="AdditionalHeaders"/>
</xs:all>
</xs:complexType>

<xs:complexType name="ContentStruct">
<xs:all>

<xs:element minOccurs="0" maxOccurs="1" type="xsd:string"
nillable="true" name="HeaderTo"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:boolean"
nillable="true" name="IsTemplate"/>
<xs:element minOccurs="0" maxOccurs="1" type="s0:DocTypeEnum"
nillable="true" name="DocType"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:int"
nillable="true" name="ContentID"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:string"
nillable="true" name="Description"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:string"
nillable="true" name="NativeTitle"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:string"
nillable="true" name="HeaderFrom"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:string"
nillable="true" name="Title"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:boolean"
nillable="true" name="IsReadOnly"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:date"
nillable="true" name="DateCreated"/>
</xs:all>
</xs:complexType>

<xs:complexType name="UrlTrackingStruct">
<xs:all>

<xs:element minOccurs="0" maxOccurs="1" type="xsd:string"
nillable="true" name="UniqueOpens"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:string"
nillable="true" name="Opens"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:string"
nillable="true" name="Url"/>
</xs:all>
</xs:complexType>


<xs:complexType name="ArrayOfCharSetStruct">
<xs:complexContent mixed="false">
<xs:restriction base="SOAP-ENC:Array">
<xs:attribute wsdl:arrayType="s0:CharSetStruct[]"
ref="SOAP-ENC:arrayType" />
</xs:restriction>
</xs:complexContent>
</xs:complexType>


<xs:simpleType name="ListTypeEnum">
<xs:restriction base="xsd:string">


<xs:enumeration value="marketing"/>
<xs:enumeration value="announcements-moderated"/>
<xs:enumeration value="discussion-moderated"/>
<xs:enumeration value="discussion-unmoderated"/>
</xs:restriction>
</xs:simpleType>


<xs:complexType name="ArrayOfKeyValueType">
<xs:complexContent mixed="false">
<xs:restriction base="SOAP-ENC:Array">
<xs:attribute wsdl:arrayType="s0:KeyValueType[]"
ref="SOAP-ENC:arrayType" />
</xs:restriction>
</xs:complexContent>
</xs:complexType>

<xs:complexType name="ArrayOfListStruct">
<xs:complexContent mixed="false">
<xs:restriction base="SOAP-ENC:Array">
<xs:attribute wsdl:arrayType="s0:ListStruct[]"
ref="SOAP-ENC:arrayType" />
</xs:restriction>
</xs:complexContent>
</xs:complexType>


<xs:simpleType name="MriVisibilityEnum">
<xs:restriction base="xsd:string">


<xs:enumeration value="V"/>
<xs:enumeration value="H"/>
<xs:enumeration value="I"/>
</xs:restriction>
</xs:simpleType>

<xs:simpleType name="MemberStatusEnum">
<xs:restriction base="xsd:string">


<xs:enumeration value="normal"/>
<xs:enumeration value="member"/>
<xs:enumeration value="confirm"/>
<xs:enumeration value="private"/>
<xs:enumeration value="expired"/>
<xs:enumeration value="held"/>
<xs:enumeration value="unsub"/>
<xs:enumeration value="referred"/>
<xs:enumeration value="needs-confirm"/>
<xs:enumeration value="needs-hello"/>
<xs:enumeration value="needs-goodbye"/>
</xs:restriction>
</xs:simpleType>


<xs:complexType name="ArrayOfMailingStruct">
<xs:complexContent mixed="false">
<xs:restriction base="SOAP-ENC:Array">
<xs:attribute wsdl:arrayType="s0:MailingStruct[]"
ref="SOAP-ENC:arrayType" />
</xs:restriction>
</xs:complexContent>
</xs:complexType>


<xs:simpleType name="MessageTypeEnum">
<xs:restriction base="xsd:string">


<xs:enumeration value="confirm"/>
<xs:enumeration value="hello"/>
<xs:enumeration value="goodbye"/>
<xs:enumeration value="held"/>
<xs:enumeration value="private"/>
<xs:enumeration value="delivery"/>
</xs:restriction>
</xs:simpleType>

<xs:complexType name="MemberStruct">
<xs:all>

<xs:element minOccurs="0" maxOccurs="1" type="xsd:string"
nillable="true" name="Additional"/>
<xs:element minOccurs="0" maxOccurs="1" type="s0:MemberKindEnum"
nillable="true" name="MembershipKind"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:boolean"
nillable="true" name="ApprovalNeeded"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:string"
nillable="true" name="Password"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:boolean"
nillable="true" name="NotifyError"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:dateTime"
nillable="true" name="ExpireDate"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:string"
nillable="true" name="Comment"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:string"
nillable="true" name="UserID"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:boolean"
nillable="true" name="ReadsHtml"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:boolean"
nillable="true" name="ReceiveAdminEmail"/>
<xs:element minOccurs="0" maxOccurs="1" type="s0:MailFormatEnum"
nillable="true" name="MailFormat"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:dateTime"
nillable="true" name="DateConfirm"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:integer"
nillable="true" name="NumberOfBounces"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:integer"
nillable="true" name="NumApprovalsNeeded"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:boolean"
nillable="true" name="NotifySubmission"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:boolean"
nillable="true" name="NoRepro"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:integer"
nillable="true" name="MemberID"/>
<xs:element minOccurs="0" maxOccurs="1"
type="s0:ArrayOfDemographics" nillable="true" name="Demographics"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:string"
nillable="true" name="EmailAddress"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:dateTime"
nillable="true" name="DateJoined"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:boolean"
nillable="true" name="IsListAdmin"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:boolean"
nillable="true" name="ReceiveAcknowlegment"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:dateTime"
nillable="true" name="DateBounce"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:dateTime"
nillable="true" name="DateHeld"/>
<xs:element minOccurs="0" maxOccurs="1" type="s0:MemberStatusEnum"
nillable="true" name="MemberStatus"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:string"
nillable="true" name="FullName"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:boolean"
nillable="true" name="CanApprovePending"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:boolean"
nillable="true" name="CleanAuto"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:string"
nillable="true" name="ListName"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:dateTime"
nillable="true" name="DateUnsubscribed"/>
</xs:all>
</xs:complexType>

<xs:complexType name="CharSetStruct">
<xs:all>

<xs:element minOccurs="0" maxOccurs="1" type="xsd:string"
nillable="true" name="Description"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:string"
nillable="true" name="Name"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:int"
nillable="true" name="CharSetID"/>
</xs:all>
</xs:complexType>

<xs:complexType name="TinyMemberStruct">
<xs:all>

<xs:element minOccurs="0" maxOccurs="1" type="xsd:string"
nillable="true" name="FullName"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:string"
nillable="true" name="EmailAddress"/>
</xs:all>
</xs:complexType>

<xs:simpleType name="ModeratedEnum">
<xs:restriction base="xsd:string">


<xs:enumeration value="no"/>
<xs:enumeration value="all"/>
<xs:enumeration value="number"/>
</xs:restriction>
</xs:simpleType>


<xs:complexType name="ArrayOfSegmentStruct">
<xs:complexContent mixed="false">
<xs:restriction base="SOAP-ENC:Array">
<xs:attribute wsdl:arrayType="s0:SegmentStruct[]"
ref="SOAP-ENC:arrayType" />
</xs:restriction>
</xs:complexContent>
</xs:complexType>


<xs:complexType name="MailingStruct">
<xs:all>

<xs:element minOccurs="0" maxOccurs="1" type="xsd:boolean"
nillable="true" name="EnableRecency"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:boolean"
nillable="true" name="IsHtmlSectionEncoded"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:string"
nillable="true" name="Subject"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:string"
nillable="true" name="Campaign"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:int"
nillable="true" name="HtmlSectionEncoding"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:string"
nillable="true" name="MailingName"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:string"
nillable="true" name="HtmlMessage"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:string"
nillable="true" name="To"/>
<xs:element minOccurs="0" maxOccurs="1" type="s0:RecencyWhichEnum"
nillable="true" name="RecencyWhich"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:int"
nillable="true" name="ResendAfterDays"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:int"
nillable="true" name="SampleSize"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:int"
nillable="true" name="CharSetID"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:string"
nillable="true" name="ReplyTo"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:boolean"
nillable="true" name="IsTextSectionEncoded"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:int"
nillable="true" name="TextSectionEncoding"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:string"
nillable="true" name="Title"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:string"
nillable="true" name="TextMessage"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:boolean"
nillable="true" name="TrackOpens"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:int"
nillable="true" name="RecencyNumberOfMailings"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:boolean"
nillable="true" name="BypassModeration"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:string"
nillable="true" name="Attachments"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:dateTime"
nillable="true" name="DontAttemptAfterDate"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:boolean"
nillable="true" name="RewriteDateWhenSent"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:string"
nillable="true" name="From"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:string"
nillable="true" name="AdditionalHeaders"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:string"
nillable="true" name="ListName"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:boolean"
nillable="true" name="DetectHtml"/>
</xs:all>
</xs:complexType>


<xs:complexType name="ArrayOfInt">
<xs:complexContent mixed="false">
<xs:restriction base="SOAP-ENC:Array">
<xs:attribute wsdl:arrayType="xsd:int[]" ref="SOAP-ENC:arrayType"
/>
</xs:restriction>
</xs:complexContent>
</xs:complexType>


<xs:simpleType name="ConfirmUnsubEnum">
<xs:restriction base="xsd:string">


<xs:enumeration value="0"/>
<xs:enumeration value="1"/>
<xs:enumeration value="2"/>
</xs:restriction>
</xs:simpleType>

<xs:simpleType name="PasswordRequiredEnum">
<xs:restriction base="xsd:string">


<xs:enumeration value="0"/>
<xs:enumeration value="1"/>
<xs:enumeration value="2"/>
</xs:restriction>
</xs:simpleType>

<xs:simpleType name="MemberListSecurityEnum">
<xs:restriction base="xsd:string">


<xs:enumeration value="0"/>
<xs:enumeration value="1"/>
<xs:enumeration value="2"/>
</xs:restriction>
</xs:simpleType>


<xs:complexType name="ArrayOfTrackingSummaryStruct">
<xs:complexContent mixed="false">
<xs:restriction base="SOAP-ENC:Array">
<xs:attribute wsdl:arrayType="s0:TrackingSummaryStruct[]"
ref="SOAP-ENC:arrayType" />
</xs:restriction>
</xs:complexContent>
</xs:complexType>


<xs:simpleType name="RecencyOperatorEnum">
<xs:restriction base="xsd:string">


<xs:enumeration value="m"/>
<xs:enumeration value="f"/>
<xs:enumeration value="e"/>
</xs:restriction>
</xs:simpleType>

<xs:simpleType name="MemberKindEnum">
<xs:restriction base="xsd:string">


<xs:enumeration value="digest"/>
<xs:enumeration value="daymimedigest"/>
<xs:enumeration value="index"/>
<xs:enumeration value="nomail"/>
<xs:enumeration value="mail"/>
</xs:restriction>
</xs:simpleType>

<xs:simpleType name="NewSubscriberPolicyEnum">
<xs:restriction base="xsd:string">


<xs:enumeration value="open"/>
<xs:enumeration value="private"/>
<xs:enumeration value="closed"/>
<xs:enumeration value="password"/>
</xs:restriction>
</xs:simpleType>

<xs:simpleType name="BanLogicEnum">
<xs:restriction base="xsd:string">


<xs:enumeration value="A"/>
<xs:enumeration value="C"/>
<xs:enumeration value="R"/>
</xs:restriction>
</xs:simpleType>

<xs:simpleType name="PostPasswordEnum">
<xs:restriction base="xsd:string">


<xs:enumeration value="0"/>
<xs:enumeration value="1"/>
<xs:enumeration value="2"/>
</xs:restriction>
</xs:simpleType>


<xs:complexType name="ArrayOfArrayOfString">
<xs:complexContent mixed="false">
<xs:restriction base="SOAP-ENC:Array">
<xs:attribute wsdl:arrayType="xsd:string[][]"
ref="SOAP-ENC:arrayType" />
</xs:restriction>
</xs:complexContent>
</xs:complexType>


<xs:simpleType name="NameRequiredEnum">
<xs:restriction base="xsd:string">


<xs:enumeration value="0"/>
<xs:enumeration value="2"/>
<xs:enumeration value="1"/>
</xs:restriction>
</xs:simpleType>

<xs:complexType name="SegmentStruct">
<xs:all>

<xs:element minOccurs="0" maxOccurs="1" type="xsd:int"
nillable="true" name="SegmentID"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:string"
nillable="true" name="SegmentName"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:string"
nillable="true" name="Description"/>
<xs:element minOccurs="0" maxOccurs="1" type="s0:SegmentTypeEnum"
nillable="true" name="SegmentType"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:string"
nillable="true" name="ListName"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:int"
nillable="true" name="NumTestRecords"/>
</xs:all>
</xs:complexType>

<xs:simpleType name="ScriptingLevelEnum">
<xs:restriction base="xsd:string">


<xs:enumeration value="0"/>
<xs:enumeration value="1"/>
<xs:enumeration value="2"/>
<xs:enumeration value="3"/>
</xs:restriction>
</xs:simpleType>


<xs:complexType name="ArrayOfMemberStruct">
<xs:complexContent mixed="false">
<xs:restriction base="SOAP-ENC:Array">
<xs:attribute wsdl:arrayType="s0:MemberStruct[]"
ref="SOAP-ENC:arrayType" />
</xs:restriction>
</xs:complexContent>
</xs:complexType>


<xs:simpleType name="SegmentTypeEnum">
<xs:restriction base="xsd:string">


<xs:enumeration value="normal"/>
<xs:enumeration value="triggered"/>
<xs:enumeration value="sequential"/>
</xs:restriction>
</xs:simpleType>

<xs:simpleType name="LoggingLevelEnum">
<xs:restriction base="xsd:string">


<xs:enumeration value="N"/>
<xs:enumeration value="M"/>
<xs:enumeration value="E"/>
<xs:enumeration value="F"/>
</xs:restriction>
</xs:simpleType>


<xs:complexType name="ArrayOfTinyMemberStruct">
<xs:complexContent mixed="false">
<xs:restriction base="SOAP-ENC:Array">
<xs:attribute wsdl:arrayType="s0:TinyMemberStruct[]"
ref="SOAP-ENC:arrayType" />
</xs:restriction>
</xs:complexContent>
</xs:complexType>


<xs:complexType name="TrackingSummaryStruct">
<xs:all>

<xs:element minOccurs="0" maxOccurs="1" type="xsd:int"
nillable="true" name="TransientFailure"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:int"
nillable="true" name="Success"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:int"
nillable="true" name="Expired"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:int"
nillable="true" name="Paused"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:int"
nillable="true" name="MailMergeSkipped"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:int"
nillable="true" name="Active"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:int"
nillable="true" name="Opens"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:date"
nillable="true" name="Created"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:int"
nillable="true" name="NotAttempted"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:int"
nillable="true" name="Clickthroughs"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:string"
nillable="true" name="Title"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:int"
nillable="true" name="TotalRecipients"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:int"
nillable="true" name="PermanentFailure"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:int"
nillable="true" name="TotalUndelivered"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:int"
nillable="true" name="MailMergeAbort"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:int"
nillable="true" name="UniqueOpens"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:int"
nillable="true" name="Clickstreams"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:int"
nillable="true" name="Pending"/>
<xs:element minOccurs="0" maxOccurs="1"
type="s0:ArrayOfUrlTrackingStruct" nillable="true" name="Urls"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:int"
nillable="true" name="MailingID"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:int"
nillable="true" name="Retry"/>
</xs:all>
</xs:complexType>

<xs:complexType name="SimpleMemberStruct">
<xs:all>

<xs:element minOccurs="0" maxOccurs="1" type="xsd:string"
nillable="true" name="ListName"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:int"
nillable="true" name="MemberID"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:string"
nillable="true" name="EmailAddress"/>
</xs:all>
</xs:complexType>

<xs:simpleType name="AddHeadersAndFootersEnum">
<xs:restriction base="xsd:string">


<xs:enumeration value="N"/>
<xs:enumeration value="A"/>
<xs:enumeration value="I"/>
</xs:restriction>
</xs:simpleType>


<xs:complexType name="ArrayOfMemberBanStruct">
<xs:complexContent mixed="false">
<xs:restriction base="SOAP-ENC:Array">
<xs:attribute wsdl:arrayType="s0:MemberBanStruct[]"
ref="SOAP-ENC:arrayType" />
</xs:restriction>
</xs:complexContent>
</xs:complexType>

<xs:complexType name="ArrayOfString">
<xs:complexContent mixed="false">
<xs:restriction base="SOAP-ENC:Array">
<xs:attribute wsdl:arrayType="xsd:string[]"
ref="SOAP-ENC:arrayType" />
</xs:restriction>
</xs:complexContent>
</xs:complexType>


<xs:simpleType name="DocTypeEnum">
<xs:restriction base="xsd:string">


<xs:enumeration value="MESSAGE"/>
<xs:enumeration value="BILLING"/>
<xs:enumeration value="CONTENT"/>
</xs:restriction>
</xs:simpleType>

<xs:simpleType name="EnableScriptingEnum">
<xs:restriction base="xsd:string">


<xs:enumeration value="0"/>
<xs:enumeration value="1"/>
<xs:enumeration value="2"/>
</xs:restriction>
</xs:simpleType>

<xs:complexType name="KeyValueType">
<xs:all>

<xs:element minOccurs="0" maxOccurs="1" type="xsd:string"
nillable="true" name="Value"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:string"
nillable="true" name="Name"/>
</xs:all>
</xs:complexType>

<xs:complexType name="ListStruct">
<xs:all>

<xs:element minOccurs="0" maxOccurs="1" type="xsd:string"
nillable="true" name="SMTPHeaders"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:int"
nillable="true" name="ErrHold"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:string"
nillable="true" name="Admin"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:int"
nillable="true" name="MaxMembers"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:int"
nillable="true" name="ReferralsPerDay"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:boolean"
nillable="true" name="DetectOpenByDefault"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:string"
nillable="true" name="SubscribePassword"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:string"
nillable="true" name="MessageHeader"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:string"
nillable="true" name="TclMergeInit"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:string"
nillable="true" name="ReplyTo"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:boolean"
nillable="true" name="ModifyHeaderDate"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:string"
nillable="true" name="SponsOrgID"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:string"
nillable="true" name="DefaultTo"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:string"
nillable="true" name="RunProgAfterSub"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:boolean"
nillable="true" name="NoListHeader"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:int"
nillable="true" name="ArchiveNum"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:boolean"
nillable="true" name="ConfirmSubscribes"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:boolean"
nillable="true" name="AllowInfo"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:boolean"
nillable="true" name="SimpleSub"/>
<xs:element minOccurs="0" maxOccurs="1"
type="s0:MemberListSecurityEnum" nillable="true"
name="MemberListSecurity"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:string"
nillable="true" name="RunProgAfterUnsub"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:string"
nillable="true" name="RunProgBeforePosting"/>
<xs:element minOccurs="0" maxOccurs="1"
type="s0:PasswordRequiredEnum" nillable="true"
name="PasswordRequired"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:boolean"
nillable="true" name="OnlyAllowAdminSend"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:boolean"
nillable="true" name="NoEmail"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:int"
nillable="true" name="ApproveNum"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:boolean"
nillable="true" name="RecencySequentialEnabled"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:string"
nillable="true" name="HeaderRemove"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:boolean"
nillable="true" name="RecencyTriggeredEnabled"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:int"
nillable="true" name="PurgeExpiredInterval"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:string"
nillable="true" name="RunProgBeforeSub"/>
<xs:element minOccurs="0" maxOccurs="1" type="s0:NameRequiredEnum"
nillable="true" name="NameRequired"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:string"
nillable="true" name="DescLongDocID"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:string"
nillable="true" name="Comment"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:string"
nillable="true" name="CommentsID"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:int"
nillable="true" name="PurgeHeldInterval"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:int"
nillable="true" name="PurgeUnsubInterval"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:dateTime"
nillable="true" name="DateCreated"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:int"
nillable="true" name="AutoReleaseHour"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:boolean"
nillable="true" name="Disabled"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:string"
nillable="true" name="DigestHeader"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:boolean"
nillable="true" name="RecencyWebEnabled"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:boolean"
nillable="true" name="DontRewriteMessageIDHeader"/>
<xs:element minOccurs="0" maxOccurs="1"
type="s0:AddHeadersAndFootersEnum" nillable="true"
name="AddHeadersAndFooters"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:boolean"
nillable="true" name="Visitors"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:boolean"
nillable="true" name="NoSearch"/>
<xs:element minOccurs="0" maxOccurs="1" type="s0:ArrayOfString"
nillable="true" name="SubscriptionReports"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:boolean"
nillable="true" name="NoNNTP"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:int"
nillable="true" name="MaxMessageSize"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:int"
nillable="true" name="PurgeReferredInterval"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:boolean"
nillable="true" name="MakePostsAnonymous"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:string"
nillable="true" name="Keywords"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:string"
nillable="true" name="Additional"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:boolean"
nillable="true" name="AddListNameToSubject"/>
<xs:element minOccurs="0" maxOccurs="1" type="s0:LoggingLevelEnum"
nillable="true" name="RecipientLoggingLevel"/>
<xs:element minOccurs="0" maxOccurs="1"
type="s0:EnableScriptingEnum" nillable="true" name="EnableScripting"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:string"
nillable="true" name="To"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:string"
nillable="true" name="RunProgAfterPosting"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:int"
nillable="true" name="CleanNotif"/>
<xs:element minOccurs="0" maxOccurs="1" type="s0:ArrayOfString"
nillable="true" name="DeliveryReports"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:int"
nillable="true" name="RecencyMailCount"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:string"
nillable="true" name="RunProgBeforeUnsub"/>
<xs:element minOccurs="0" maxOccurs="1" type="s0:ModeratedEnum"
nillable="true" name="Moderated"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:boolean"
nillable="true" name="AllowCrossPosting"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:int"
nillable="true" name="MaxPostsPerUser"/>
<xs:element minOccurs="0" maxOccurs="1" type="s0:ConfirmUnsubEnum"
nillable="true" name="ConfirmUnsubscribes"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:boolean"
nillable="true" name="NoArchive"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:int"
nillable="true" name="RecencyDayCount"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:int"
nillable="true" name="PurgeUnconfirmedInterval"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:boolean"
nillable="true" name="RemoveDuplicateCrossPostings"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:int"
nillable="true" name="ArchiveDays"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:int"
nillable="true" name="NotifyHeldInterval"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:boolean"
nillable="true" name="TrackAllUrls"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:int"
nillable="true" name="PurgeUnapprovedInterval"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:string"
nillable="true" name="MessageFooter"/>
<xs:element minOccurs="0" maxOccurs="1"
type="s0:RecencyOperatorEnum" nillable="true" name="RecencyOperator"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:string"
nillable="true" name="ListName"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:int"
nillable="true" name="MaxQuoting"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:string"
nillable="true" name="DefaultSubject"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:int"
nillable="true" name="ReleasePending"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:int"
nillable="true" name="KeepOutmailPostings"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:string"
nillable="true" name="PrivApprov"/>
<xs:element minOccurs="0" maxOccurs="1" type="s0:PostPasswordEnum"
nillable="true" name="PostPassword"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:string"
nillable="true" name="DefaultFrom"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:boolean"
nillable="true" name="AnyoneCanPost"/>
<xs:element minOccurs="0" maxOccurs="1"
type="s0:ScriptingLevelEnum" nillable="true" name="ScriptingLevel"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:boolean"
nillable="true" name="Child"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:string"
nillable="true" name="ShortDescription"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:boolean"
nillable="true" name="NoEmailSubscriptions"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:boolean"
nillable="true" name="DetectHtmlByDefault"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:string"
nillable="true" name="SMTPFrom"/>
<xs:element minOccurs="0" maxOccurs="1" type="s0:MriVisibilityEnum"
nillable="true" name="MriVisibility"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:int"
nillable="true" name="ListID"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:boolean"
nillable="true" name="BlankSubjectOk"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:boolean"
nillable="true" name="AllowDuplicatePosts"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:boolean"
nillable="true" name="RecencyEmailEnabled"/>
<xs:element minOccurs="0" maxOccurs="1"
type="s0:ScriptingLevelEnum" nillable="true" name="MergeCapOverride"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:boolean"
nillable="true" name="CleanAuto"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:string"
nillable="true" name="From"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:boolean"
nillable="true" name="NoBodyOk"/>
<xs:element minOccurs="0" maxOccurs="1"
type="s0:NewSubscriberPolicyEnum" nillable="true"
name="NewSubscriberSecurity"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:int"
nillable="true" name="MaxMessNum"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:string"
nillable="true" name="DigestFooter"/>
</xs:all>
</xs:complexType>

<xs:simpleType name="RecencyWhichEnum">
<xs:restriction base="xsd:string">


<xs:enumeration value="m"/>
<xs:enumeration value="l"/>
<xs:enumeration value="e"/>
</xs:restriction>
</xs:simpleType>

<xs:simpleType name="MailFormatEnum">
<xs:restriction base="xsd:string">


<xs:enumeration value="T"/>
<xs:enumeration value="H"/>
<xs:enumeration value="M"/>
</xs:restriction>
</xs:simpleType>


<xs:complexType name="ArrayOfDemographics">
<xs:complexContent mixed="false">
<xs:restriction base="SOAP-ENC:Array">
<xs:attribute wsdl:arrayType="s0:KeyValueType[]"
ref="SOAP-ENC:arrayType" />
</xs:restriction>
</xs:complexContent>
</xs:complexType>

<xs:complexType name="ArrayOfSimpleMailingStruct">
<xs:complexContent mixed="false">
<xs:restriction base="SOAP-ENC:Array">
<xs:attribute wsdl:arrayType="s0:SimpleMailingStruct[]"
ref="SOAP-ENC:arrayType" />
</xs:restriction>
</xs:complexContent>
</xs:complexType>

<xs:complexType name="ArrayOfContentStruct">
<xs:complexContent mixed="false">
<xs:restriction base="SOAP-ENC:Array">
<xs:attribute wsdl:arrayType="s0:ContentStruct[]"
ref="SOAP-ENC:arrayType" />
</xs:restriction>
</xs:complexContent>
</xs:complexType>


<xs:simpleType name="MailSectionEncodingEnum">
<xs:restriction base="xsd:string">


<xs:enumeration value="8bit"/>
<xs:enumeration value="quoted-printable"/>
<xs:enumeration value="base64"/>
<xs:enumeration value="7bit"/>
</xs:restriction>
</xs:simpleType>

<xs:complexType name="MemberBanStruct">
<xs:all>

<xs:element minOccurs="0" maxOccurs="1" type="xsd:string"
nillable="true" name="Domain"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:string"
nillable="true" name="UserName"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:string"
nillable="true" name="ListName"/>
<xs:element minOccurs="0" maxOccurs="1" type="xsd:string"
nillable="true" name="SiteName"/>
<xs:element minOccurs="0" maxOccurs="1" type="s0:BanLogicEnum"
nillable="true" name="BanLogic"/>
</xs:all>
</xs:complexType>


<xs:complexType name="ArrayOfUrlTrackingStruct">
<xs:complexContent mixed="false">
<xs:restriction base="SOAP-ENC:Array">
<xs:attribute wsdl:arrayType="s0:UrlTrackingStruct[]"
ref="SOAP-ENC:arrayType" />
</xs:restriction>
</xs:complexContent>
</xs:complexType>


</xs:schema>
</wsdl:types>
<wsdl:message name='SelectSimpleMembersIn'><wsdl:part
name='FilterCriteriaArray' type='s0:ArrayOfString'/>
</wsdl:message>

<wsdl:message name='SelectSimpleMembersOut'>
<wsdl:part name='return' type='s0:ArrayOfSimpleMemberStruct'/>
</wsdl:message>
<wsdl:message name='SelectMembersIn'><wsdl:part
name='FilterCriteriaArray' type='s0:ArrayOfString'/>
</wsdl:message>

<wsdl:message name='SelectMembersOut'>
<wsdl:part name='return' type='s0:ArrayOfMemberStruct'/>
</wsdl:message>
<wsdl:message name='CreateSingleMemberIn'><wsdl:part
name='EmailAddress' type='xsd:string'/><wsdl:part name='FullName'
type='xsd:string'/><wsdl:part name='ListName' type='xsd:string'/>
</wsdl:message>

<wsdl:message name='CreateSingleMemberOut'>
<wsdl:part name='return' type='xsd:int'/>
</wsdl:message>
<wsdl:message name='UpdateMemberDemographicsIn'><wsdl:part
name='SimpleMemberStructIn' type='s0:SimpleMemberStruct'/><wsdl:part
name='DemographicsArray' type='s0:ArrayOfDemographics'/>
</wsdl:message>

<wsdl:message name='UpdateMemberDemographicsOut'>
<wsdl:part name='return' type='xsd:boolean'/>
</wsdl:message>
<wsdl:message name='UpdateMemberPasswordIn'><wsdl:part
name='SimpleMemberStructIn' type='s0:SimpleMemberStruct'/><wsdl:part
name='NewPassword' type='xsd:string'/>
</wsdl:message>

<wsdl:message name='UpdateMemberPasswordOut'>
<wsdl:part name='return' type='xsd:boolean'/>
</wsdl:message>
<wsdl:message name='UpdateMemberKindIn'><wsdl:part
name='SimpleMemberStructIn' type='s0:SimpleMemberStruct'/><wsdl:part
name='NewMemberKind' type='s0:MemberKindEnum'/>
</wsdl:message>

<wsdl:message name='UpdateMemberKindOut'>
<wsdl:part name='return' type='xsd:boolean'/>
</wsdl:message>
<wsdl:message name='UpdateMemberEmailIn'><wsdl:part
name='SimpleMemberStructIn' type='s0:SimpleMemberStruct'/><wsdl:part
name='NewEmailAddress' type='xsd:string'/>
</wsdl:message>

<wsdl:message name='UpdateMemberEmailOut'>
<wsdl:part name='return' type='xsd:boolean'/>
</wsdl:message>
<wsdl:message name='UpdateMemberStatusIn'><wsdl:part
name='SimpleMemberStructIn' type='s0:SimpleMemberStruct'/><wsdl:part
name='NewStatus' type='s0:MemberStatusEnum'/>
</wsdl:message>

<wsdl:message name='UpdateMemberStatusOut'>
<wsdl:part name='return' type='xsd:boolean'/>
</wsdl:message>
<wsdl:message name='DeleteMembersIn'><wsdl:part
name='FilterCriteriaArray' type='s0:ArrayOfString'/>
</wsdl:message>

<wsdl:message name='DeleteMembersOut'>
<wsdl:part name='return' type='xsd:int'/>
</wsdl:message>
<wsdl:message name='CopyMemberIn'><wsdl:part
name='SimpleMemberStructIn' type='s0:SimpleMemberStruct'/><wsdl:part
name='NewEmailAddress' type='xsd:string'/><wsdl:part name='NewFullName'
type='xsd:string'/><wsdl:part name='NewListName' type='xsd:string'/>
</wsdl:message>

<wsdl:message name='CopyMemberOut'>
<wsdl:part name='return' type='xsd:int'/>
</wsdl:message>
<wsdl:message name='SendMemberDocIn'><wsdl:part
name='SimpleMemberStructIn' type='s0:SimpleMemberStruct'/><wsdl:part
name='DocTypeIn' type='s0:MessageTypeEnum'/>
</wsdl:message>

<wsdl:message name='SendMemberDocOut'>
<wsdl:part name='return' type='xsd:int'/>
</wsdl:message>
<wsdl:message name='UnsubscribeIn'><wsdl:part
name='SimpleMemberStructArrayIn' type='s0:ArrayOfSimpleMemberStruct'/>
</wsdl:message>

<wsdl:message name='UnsubscribeOut'>
<wsdl:part name='return' type='xsd:int'/>
</wsdl:message>
<wsdl:message name='CheckMemberPasswordIn'><wsdl:part
name='SimpleMemberStructIn' type='s0:SimpleMemberStruct'/><wsdl:part
name='Password' type='xsd:string'/>
</wsdl:message>

<wsdl:message name='CheckMemberPasswordOut'>
<wsdl:part name='return' type='xsd:boolean'/>
</wsdl:message>
<wsdl:message name='GetMemberIDIn'><wsdl:part
name='SimpleMemberStructIn' type='s0:SimpleMemberStruct'/>
</wsdl:message>

<wsdl:message name='GetMemberIDOut'>
<wsdl:part name='return' type='xsd:int'/>
</wsdl:message>
<wsdl:message name='GetListnameFromMemberIDIn'><wsdl:part
name='MemberID' type='xsd:int'/>
</wsdl:message>

<wsdl:message name='GetListnameFromMemberIDOut'>
<wsdl:part name='return' type='xsd:string'/>
</wsdl:message>
<wsdl:message name='GetEmailFromMemberIDIn'><wsdl:part
name='MemberID' type='xsd:int'/>
</wsdl:message>

<wsdl:message name='GetEmailFromMemberIDOut'>
<wsdl:part name='return' type='xsd:string'/>
</wsdl:message>
<wsdl:message name='EmailOnWhatListsIn'><wsdl:part
name='EmailAddress' type='xsd:string'/>
</wsdl:message>

<wsdl:message name='EmailOnWhatListsOut'>
<wsdl:part name='return' type='s0:ArrayOfString'/>
</wsdl:message>
<wsdl:message name='EmailPasswordOnWhatListsIn'><wsdl:part
name='EmailAddress' type='xsd:string'/><wsdl:part name='Password'


type='xsd:string'/>
</wsdl:message>

<wsdl:message name='EmailPasswordOnWhatListsOut'>
<wsdl:part name='return' type='s0:ArrayOfString'/>
</wsdl:message>
<wsdl:message name='CreateMemberBanIn'><wsdl:part name='MemberBan'
type='s0:MemberBanStruct'/>
</wsdl:message>

<wsdl:message name='CreateMemberBanOut'>
<wsdl:part name='return' type='xsd:int'/>
</wsdl:message>
<wsdl:message name='CreateListAdminIn'><wsdl:part
name='EmailAddress' type='xsd:string'/><wsdl:part name='Password'
type='xsd:string'/><wsdl:part name='ListName'
type='xsd:string'/><wsdl:part name='FullName'
type='xsd:string'/><wsdl:part name='ReceiveListAdminMail'
type='xsd:boolean'/><wsdl:part name='ReceiveModerationNotification'
type='xsd:boolean'/><wsdl:part name='BypassListModeration'
type='xsd:boolean'/>
</wsdl:message>

<wsdl:message name='CreateListAdminOut'>
<wsdl:part name='return' type='xsd:int'/>
</wsdl:message>
<wsdl:message name='UpdateListAdminIn'><wsdl:part
name='SimpleMemberStructIn' type='s0:SimpleMemberStruct'/><wsdl:part
name='IsListAdmin' type='xsd:boolean'/><wsdl:part
name='ReceiveListAdminMail' type='xsd:boolean'/><wsdl:part
name='ReceiveModerationNotification' type='xsd:boolean'/><wsdl:part
name='BypassListModeration' type='xsd:boolean'/>
</wsdl:message>

<wsdl:message name='UpdateListAdminOut'>
<wsdl:part name='return' type='xsd:boolean'/>
</wsdl:message>
<wsdl:message name='DeleteListIn'><wsdl:part name='ListName'


type='xsd:string'/>
</wsdl:message>

<wsdl:message name='DeleteListOut'>
<wsdl:part name='return' type='xsd:boolean'/>
</wsdl:message>
<wsdl:message name='CreateListIn'><wsdl:part name='ListType'
type='s0:ListTypeEnum'/><wsdl:part name='ListName'
type='xsd:string'/><wsdl:part name='ShortDescription'
type='xsd:string'/><wsdl:part name='AdminName'
type='xsd:string'/><wsdl:part name='AdminEmail'
type='xsd:string'/><wsdl:part name='AdminPassword' type='xsd:string'/>
</wsdl:message>

<wsdl:message name='CreateListOut'>
<wsdl:part name='return' type='xsd:int'/>
</wsdl:message>
<wsdl:message name='UpdateListIn'><wsdl:part name='ListStructIn'
type='s0:ListStruct'/>
</wsdl:message>

<wsdl:message name='UpdateListOut'>
<wsdl:part name='return' type='xsd:boolean'/>
</wsdl:message>
<wsdl:message name='SelectListsIn'><wsdl:part name='ListName'
type='xsd:string'/><wsdl:part name='SiteName' type='xsd:string'/>
</wsdl:message>

<wsdl:message name='SelectListsOut'>
<wsdl:part name='return' type='s0:ArrayOfListStruct'/>
</wsdl:message>
<wsdl:message name='GetListIDIn'><wsdl:part name='ListName'


type='xsd:string'/>
</wsdl:message>

<wsdl:message name='GetListIDOut'>
<wsdl:part name='return' type='xsd:int'/>
</wsdl:message>
<wsdl:message name='SelectContentIn'><wsdl:part
name='FilterCriteriaArray' type='s0:ArrayOfString'/>
</wsdl:message>

<wsdl:message name='SelectContentOut'>
<wsdl:part name='return' type='s0:ArrayOfContentStruct'/>
</wsdl:message>
<wsdl:message name='TrackingSummaryIn'><wsdl:part name='OutMailID'
type='xsd:int'/>
</wsdl:message>

<wsdl:message name='TrackingSummaryOut'>
<wsdl:part name='return' type='s0:TrackingSummaryStruct'/>
</wsdl:message>
<wsdl:message name='SendMailingIn'><wsdl:part name='SegmentID'
type='xsd:int'/><wsdl:part name='MailingStructIn'
type='s0:MailingStruct'/>
</wsdl:message>

<wsdl:message name='SendMailingOut'>
<wsdl:part name='return' type='xsd:int'/>
</wsdl:message>
<wsdl:message name='SendMailingDirectIn'><wsdl:part
name='EmailAddressArray' type='s0:ArrayOfString'/><wsdl:part
name='MemberIDArray' type='s0:ArrayOfInt'/><wsdl:part
name='MailingStructIn' type='s0:MailingStruct'/>
</wsdl:message>

<wsdl:message name='SendMailingDirectOut'>
<wsdl:part name='return' type='xsd:int'/>
</wsdl:message>
<wsdl:message name='ScheduleMailingIn'><wsdl:part name='SegmentID'
type='xsd:int'/><wsdl:part name='SendDate'
type='xsd:dateTime'/><wsdl:part name='MailingStructIn'
type='s0:MailingStruct'/>
</wsdl:message>

<wsdl:message name='ScheduleMailingOut'>
<wsdl:part name='return' type='xsd:int'/>
</wsdl:message>
<wsdl:message name='ImportContentIn'><wsdl:part name='ContentID'
type='xsd:int'/>
</wsdl:message>

<wsdl:message name='ImportContentOut'>
<wsdl:part name='return' type='s0:SimpleMailingStruct'/>
</wsdl:message>
<wsdl:message name='MailingStatusIn'><wsdl:part name='InMailID'
type='xsd:int'/>
</wsdl:message>

<wsdl:message name='MailingStatusOut'>
<wsdl:part name='return' type='xsd:string'/>
</wsdl:message>
<wsdl:message name='ModerateMailingIn'><wsdl:part name='ModerateID'
type='xsd:int'/><wsdl:part name='Accept' type='xsd:boolean'/><wsdl:part
name='SendRejectionMessage' type='xsd:boolean'/>
</wsdl:message>

<wsdl:message name='ModerateMailingOut'>
<wsdl:part name='return' type='xsd:boolean'/>
</wsdl:message>
<wsdl:message name='SqlSelectIn'><wsdl:part name='SqlStatement'


type='xsd:string'/>
</wsdl:message>

<wsdl:message name='SqlSelectOut'>
<wsdl:part name='return' type='s0:ArrayOfArrayOfString'/>
</wsdl:message>
<wsdl:message name='SqlDeleteIn'><wsdl:part name='Table'
type='xsd:string'/><wsdl:part name='SqlWhere' type='xsd:string'/>
</wsdl:message>

<wsdl:message name='SqlDeleteOut'>
<wsdl:part name='return' type='xsd:boolean'/>
</wsdl:message>
<wsdl:message name='SqlInsertIn'><wsdl:part name='Table'
type='xsd:string'/><wsdl:part name='DataArray'
type='s0:ArrayOfKeyValueType'/><wsdl:part name='ReturnID'
type='xsd:boolean'/>
</wsdl:message>

<wsdl:message name='SqlInsertOut'>
<wsdl:part name='return' type='xsd:int'/>
</wsdl:message>
<wsdl:message name='SqlUpdateIn'><wsdl:part name='Table'
type='xsd:string'/><wsdl:part name='DataArray'
type='s0:ArrayOfKeyValueType'/><wsdl:part name='SqlWhere'


type='xsd:string'/>
</wsdl:message>

<wsdl:message name='SqlUpdateOut'>
<wsdl:part name='return' type='xsd:boolean'/>
</wsdl:message>
<wsdl:message name='ApiVersionIn'>
</wsdl:message>

<wsdl:message name='ApiVersionOut'>
<wsdl:part name='return' type='xsd:string'/>
</wsdl:message>
<wsdl:message name='CurrentUserEmailAddressIn'>
</wsdl:message>

<wsdl:message name='CurrentUserEmailAddressOut'>
<wsdl:part name='return' type='xsd:string'/>
</wsdl:message>
<wsdl:message name='SelectSegmentsIn'><wsdl:part
name='FilterCriteriaArray' type='s0:ArrayOfString'/>
</wsdl:message>

<wsdl:message name='SelectSegmentsOut'>
<wsdl:part name='return' type='s0:ArrayOfSegmentStruct'/>
</wsdl:message>
<wsdl:portType name='lmapiSoap'>
<wsdl:operation name="SelectSimpleMembers">
<wsdl:input message="s0:SelectSimpleMembersIn"/>
<wsdl:output message="s0:SelectSimpleMembersOut"/>
</wsdl:operation>
<wsdl:operation name="SelectMembers"><wsdl:documentation>
Selects an array of MemberStructs using FilterCriteriaArray.
Example:ar[0] = (ListName=list1); ar[1] = (domain=example.com)

</wsdl:documentation>

<wsdl:input message="s0:SelectMembersIn"/>
<wsdl:output message="s0:SelectMembersOut"/>
</wsdl:operation>
<wsdl:operation name="CreateSingleMember"><wsdl:documentation>
Creates a single member of a list. CreateSingleMember is easier to use
programmatically than CreateManyMembers, as it requires three strings
instead of the MemberStructArray that CreateManyMembers requires.
Returns newly created MemberID
</wsdl:documentation>

<wsdl:input message="s0:CreateSingleMemberIn"/>
<wsdl:output message="s0:CreateSingleMemberOut"/>
</wsdl:operation>
<wsdl:operation
name="UpdateMemberDemographics"><wsdl:documentation>
Update demographics for a member. Use field names as defined in your
members_ table and the correct values in the demographics array.
</wsdl:documentation>

<wsdl:input message="s0:UpdateMemberDemographicsIn"/>
<wsdl:output message="s0:UpdateMemberDemographicsOut"/>
</wsdl:operation>
<wsdl:operation name="UpdateMemberPassword"><wsdl:documentation>
Updates the password of a member.
</wsdl:documentation>

<wsdl:input message="s0:UpdateMemberPasswordIn"/>
<wsdl:output message="s0:UpdateMemberPasswordOut"/>
</wsdl:operation>
<wsdl:operation name="UpdateMemberKind"><wsdl:documentation>
Updates the &#34;kind&#34; of a member. The member &#34;kind&#34;
defines what kind of mail the member receives (e.g., mail or digest;
see MemberKindEnum for member kind options). The member kind
correlates to the member_.SubType_ field.
</wsdl:documentation>

<wsdl:input message="s0:UpdateMemberKindIn"/>
<wsdl:output message="s0:UpdateMemberKindOut"/>
</wsdl:operation>
<wsdl:operation name="UpdateMemberEmail"><wsdl:documentation>
Updates the EmailAddress of a member.
</wsdl:documentation>

<wsdl:input message="s0:UpdateMemberEmailIn"/>
<wsdl:output message="s0:UpdateMemberEmailOut"/>
</wsdl:operation>
<wsdl:operation name="UpdateMemberStatus"><wsdl:documentation>
Updates the &#34;status&#34; of a member. The member &#34;status&#34;
defines the membership status (e.g., normal, unsub, confirm; see
MemberStatusEnum for member status options). The member status
correlates to the member_.MemberType_ field.
</wsdl:documentation>

<wsdl:input message="s0:UpdateMemberStatusIn"/>
<wsdl:output message="s0:UpdateMemberStatusOut"/>
</wsdl:operation>
<wsdl:operation name="DeleteMembers"><wsdl:documentation>
Completely removes Members based on FilterCriteraArray. Returns number
of users deleted.
</wsdl:documentation>

<wsdl:input message="s0:DeleteMembersIn"/>
<wsdl:output message="s0:DeleteMembersOut"/>
</wsdl:operation>
<wsdl:operation name="CopyMember">
<wsdl:input message="s0:CopyMemberIn"/>
<wsdl:output message="s0:CopyMemberOut"/>
</wsdl:operation>
<wsdl:operation name="SendMemberDoc"><wsdl:documentation>
Sends a &#34;confirm&#34;, &#34;hello&#34;, &#34;goodbye&#34;,
&#34;held&#34;, &#34;private&#34; or &#34;delivery&#34; document to any
email address or member. Returns Outmail ID.
</wsdl:documentation>

<wsdl:input message="s0:SendMemberDocIn"/>
<wsdl:output message="s0:SendMemberDocOut"/>
</wsdl:operation>
<wsdl:operation name="Unsubscribe"><wsdl:documentation>
Unsubscribes members based on FilterCriteraArray. Members who are
unsubscribed remain in the database but their MemberType_ =
&#39;unsub&#39;. Returns number of users unsubscribed.
</wsdl:documentation>

<wsdl:input message="s0:UnsubscribeIn"/>
<wsdl:output message="s0:UnsubscribeOut"/>
</wsdl:operation>
<wsdl:operation name="CheckMemberPassword"><wsdl:documentation>
Returns true if the user in &#34;SimpleMemberStruct&#34; exists with
password &#34;Password&#34;
</wsdl:documentation>

<wsdl:input message="s0:CheckMemberPasswordIn"/>
<wsdl:output message="s0:CheckMemberPasswordOut"/>
</wsdl:operation>
<wsdl:operation name="GetMemberID"><wsdl:documentation>
Returns the MemberID for a given EmailAddress and ListName.
</wsdl:documentation>

<wsdl:input message="s0:GetMemberIDIn"/>
<wsdl:output message="s0:GetMemberIDOut"/>
</wsdl:operation>
<wsdl:operation name="GetListnameFromMemberID">
<wsdl:input message="s0:GetListnameFromMemberIDIn"/>
<wsdl:output message="s0:GetListnameFromMemberIDOut"/>
</wsdl:operation>
<wsdl:operation name="GetEmailFromMemberID">
<wsdl:input message="s0:GetEmailFromMemberIDIn"/>
<wsdl:output message="s0:GetEmailFromMemberIDOut"/>
</wsdl:operation>
<wsdl:operation name="EmailOnWhatLists"><wsdl:documentation>
Returns Array of list names that EmailAddress is subscribed to.
</wsdl:documentation>

<wsdl:input message="s0:EmailOnWhatListsIn"/>
<wsdl:output message="s0:EmailOnWhatListsOut"/>
</wsdl:operation>
<wsdl:operation
name="EmailPasswordOnWhatLists"><wsdl:documentation>
Returns Array of list names that EmailAddress &amp; Password is
subscribed to.
</wsdl:documentation>

<wsdl:input message="s0:EmailPasswordOnWhatListsIn"/>
<wsdl:output message="s0:EmailPasswordOnWhatListsOut"/>
</wsdl:operation>
<wsdl:operation name="CreateMemberBan"><wsdl:documentation>
Creates a member ban. Returns BanID. BanLogic is: A =
&#34;accepted&#34; C = &#34;conditionally accepted&#34; R =
&#34;banned&#34;. Most member bans will be R (banned); other types may
prevent others from joining the list.
</wsdl:documentation>

<wsdl:input message="s0:CreateMemberBanIn"/>
<wsdl:output message="s0:CreateMemberBanOut"/>
</wsdl:operation>
<wsdl:operation name="CreateListAdmin"><wsdl:documentation>
Creates a new list administrator. Returns MemberID of successfully
created list admin. Note that this function will not be successful if
the EmailAddress specified already exists on the list.
</wsdl:documentation>

<wsdl:input message="s0:CreateListAdminIn"/>
<wsdl:output message="s0:CreateListAdminOut"/>
</wsdl:operation>
<wsdl:operation name="UpdateListAdmin"><wsdl:documentation>
Updates Admin fields of a list administrator. Returns boolean success.
</wsdl:documentation>

<wsdl:input message="s0:UpdateListAdminIn"/>
<wsdl:output message="s0:UpdateListAdminOut"/>
</wsdl:operation>
<wsdl:operation name="DeleteList">
<wsdl:input message="s0:DeleteListIn"/>
<wsdl:output message="s0:DeleteListOut"/>
</wsdl:operation>
<wsdl:operation name="CreateList"><wsdl:documentation>
Creates an new list and returns the newly created listID.
</wsdl:documentation>

<wsdl:input message="s0:CreateListIn"/>
<wsdl:output message="s0:CreateListOut"/>
</wsdl:operation>
<wsdl:operation name="UpdateList"><wsdl:documentation>
Updates a List. Retuns true if update suceeded.
</wsdl:documentation>

<wsdl:input message="s0:UpdateListIn"/>
<wsdl:output message="s0:UpdateListOut"/>
</wsdl:operation>
<wsdl:operation name="SelectLists"><wsdl:documentation>
Select an array of ListStructs.
</wsdl:documentation>

<wsdl:input message="s0:SelectListsIn"/>
<wsdl:output message="s0:SelectListsOut"/>
</wsdl:operation>
<wsdl:operation name="GetListID"><wsdl:documentation>
Gets the ListID from the ListName for a list.
</wsdl:documentation>

<wsdl:input message="s0:GetListIDIn"/>
<wsdl:output message="s0:GetListIDOut"/>
</wsdl:operation>
<wsdl:operation name="SelectContent"><wsdl:documentation>
Select an array of content structs based on FilterCriteriaArray.
Example: ar[0] = (ListName=list1); ar[1] = (Title like %newsletter%);
</wsdl:documentation>

<wsdl:input message="s0:SelectContentIn"/>
<wsdl:output message="s0:SelectContentOut"/>
</wsdl:operation>
<wsdl:operation name="TrackingSummary"><wsdl:documentation>
Tracking statistics tell you how many people have opened your message,
clicked on a tracked URL, or who have gone from one of your mailings
through to other pages on your Web site.
</wsdl:documentation>

<wsdl:input message="s0:TrackingSummaryIn"/>
<wsdl:output message="s0:TrackingSummaryOut"/>
</wsdl:operation>
<wsdl:operation name="SendMailing"><wsdl:documentation>
Sends a mailing based on MailingStruct by creating a row in the inmail_
table. The message is then subject to list processing and validation
as if it were a mailing created by an administrator through the
administrator GUI. If SegmentID is blank or 0, the mailing is sent to
the entire list as defined in MailngStruct. If successful, returns the
InMail ID of new mailing.
</wsdl:documentation>

<wsdl:input message="s0:SendMailingIn"/>
<wsdl:output message="s0:SendMailingOut"/>
</wsdl:operation>
<wsdl:operation name="SendMailingDirect"><wsdl:documentation>
Sends a mailing based on MailingStruct to any email address or member
IDs, or an array of email addresses and member IDs. Creates mailing
directly in OutMail_, so does not perform any list processing. Email
address does not need to be subscribed to any list. Returns true if
message was successfully queued.
</wsdl:documentation>

<wsdl:input message="s0:SendMailingDirectIn"/>
<wsdl:output message="s0:SendMailingDirectOut"/>
</wsdl:operation>
<wsdl:operation name="ScheduleMailing"><wsdl:documentation>
Schedules Mailing for future date based on MailingStruct. The message
is then subject to list processing and validation as if it were a
mailing created by an administrator through the administrator GUI. If
SegmentID is blank or 0, the mailing is sent to the entire list as
defined in MailingStruct. If successful, returns the InMail ID of new
mailing.
</wsdl:documentation>

<wsdl:input message="s0:ScheduleMailingIn"/>
<wsdl:output message="s0:ScheduleMailingOut"/>
</wsdl:operation>
<wsdl:operation name="ImportContent"><wsdl:documentation>
Takes a Content ID and returns a SimpleMailingStruct. The
SimpleMailingStruct can be used to create a new mailing by copying all
of its elements to a new MailingStruct and sending that.
</wsdl:documentation>

<wsdl:input message="s0:ImportContentIn"/>
<wsdl:output message="s0:ImportContentOut"/>
</wsdl:operation>
<wsdl:operation name="MailingStatus"><wsdl:documentation>
Get the status of a mailing sent with list processing (e.g., sent with
SendMailing). MailingStatus will not work with a mailing created with
SendMailingDirect.
</wsdl:documentation>

<wsdl:input message="s0:MailingStatusIn"/>
<wsdl:output message="s0:MailingStatusOut"/>
</wsdl:operation>
<wsdl:operation name="ModerateMailing"><wsdl:documentation>
Approve or reject a mailing in moderation.
</wsdl:documentation>

<wsdl:input message="s0:ModerateMailingIn"/>
<wsdl:output message="s0:ModerateMailingOut"/>
</wsdl:operation>
<wsdl:operation name="SqlSelect"><wsdl:documentation>
Runs an SQL SELECT Statment, and returns an array of array of strings.
The first element of the array contains field names. Only server
administrators may access this function.
</wsdl:documentation>

<wsdl:input message="s0:SqlSelectIn"/>
<wsdl:output message="s0:SqlSelectOut"/>
</wsdl:operation>
<wsdl:operation name="SqlDelete"><wsdl:documentation>
Deletes row(s) from a table using a &#34;where&#34; clause. Only server
administrators may access this function.
</wsdl:documentation>

<wsdl:input message="s0:SqlDeleteIn"/>
<wsdl:output message="s0:SqlDeleteOut"/>
</wsdl:operation>
<wsdl:operation name="SqlInsert"><wsdl:documentation>
Inserts rows into a table. DataArray should contain field names and
values. If returnid is true, the id of the row is retured. otherwise
functions returns 1. Only server administrators may access this
function.
</wsdl:documentation>

<wsdl:input message="s0:SqlInsertIn"/>
<wsdl:output message="s0:SqlInsertOut"/>
</wsdl:operation>
<wsdl:operation name="SqlUpdate"><wsdl:documentation>
Updates rows into a Table using an SQL &#34;where&#34; clause.
DataArray should contain field names and values. Only server
administrators may access this function.
</wsdl:documentation>

<wsdl:input message="s0:SqlUpdateIn"/>
<wsdl:output message="s0:SqlUpdateOut"/>
</wsdl:operation>
<wsdl:operation name="ApiVersion"><wsdl:documentation>
Verifies the version of the API the target ListManager server is
running. Different api versions have incompatible clients, so this
function ensures the version you expect is the version hosted on the
listmanager server.
</wsdl:documentation>

<wsdl:input message="s0:ApiVersionIn"/>
<wsdl:output message="s0:ApiVersionOut"/>
</wsdl:operation>
<wsdl:operation name="CurrentUserEmailAddress"><wsdl:documentation>
This function returns the email address associated with the user logged
in. For example, this command will return the email address associated
with the server administrator &#34;admin&#34;.
</wsdl:documentation>

<wsdl:input message="s0:CurrentUserEmailAddressIn"/>
<wsdl:output message="s0:CurrentUserEmailAddressOut"/>
</wsdl:operation>
<wsdl:operation name="SelectSegments"><wsdl:documentation>
Selects an array of SegmentStructs using FilterCriteriaArray. Example:
ar[0] = (SegmentName = aol); ar[1] = (ListName like %lis%);
</wsdl:documentation>

<wsdl:input message="s0:SelectSegmentsIn"/>
<wsdl:output message="s0:SelectSegmentsOut"/>
</wsdl:operation></wsdl:portType>
<wsdl:binding name='lmapiSoap' type='s0:lmapiSoap'>
<soap:binding style='rpc'
transport='http://schemas.xmlsoap.org/soap/http'/>
<wsdl:operation name="SelectSimpleMembers">
<soap:operation soapAction='s0:SelectSimpleMembers'/>
<wsdl:input>
<soap:body use='encoded' namespace='lmapi'


encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>
</wsdl:input>

<wsdl:output>
<soap:body use='encoded' namespace='lmapi'
encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="SelectMembers">
<soap:operation soapAction='s0:SelectMembers'/>
<wsdl:input>
<soap:body use='encoded' namespace='lmapi'


encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>
</wsdl:input>

<wsdl:output>
<soap:body use='encoded' namespace='lmapi'
encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="CreateSingleMember">
<soap:operation soapAction='s0:CreateSingleMember'/>
<wsdl:input>
<soap:body use='encoded' namespace='lmapi'


encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>
</wsdl:input>

<wsdl:output>
<soap:body use='encoded' namespace='lmapi'
encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="UpdateMemberDemographics">
<soap:operation soapAction='s0:UpdateMemberDemographics'/>
<wsdl:input>
<soap:body use='encoded' namespace='lmapi'


encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>
</wsdl:input>

<wsdl:output>
<soap:body use='encoded' namespace='lmapi'
encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="UpdateMemberPassword">
<soap:operation soapAction='s0:UpdateMemberPassword'/>
<wsdl:input>
<soap:body use='encoded' namespace='lmapi'


encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>
</wsdl:input>

<wsdl:output>
<soap:body use='encoded' namespace='lmapi'
encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="UpdateMemberKind">
<soap:operation soapAction='s0:UpdateMemberKind'/>
<wsdl:input>
<soap:body use='encoded' namespace='lmapi'


encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>
</wsdl:input>

<wsdl:output>
<soap:body use='encoded' namespace='lmapi'
encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="UpdateMemberEmail">
<soap:operation soapAction='s0:UpdateMemberEmail'/>
<wsdl:input>
<soap:body use='encoded' namespace='lmapi'


encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>
</wsdl:input>

<wsdl:output>
<soap:body use='encoded' namespace='lmapi'
encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="UpdateMemberStatus">
<soap:operation soapAction='s0:UpdateMemberStatus'/>
<wsdl:input>
<soap:body use='encoded' namespace='lmapi'


encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>
</wsdl:input>

<wsdl:output>
<soap:body use='encoded' namespace='lmapi'
encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="DeleteMembers">
<soap:operation soapAction='s0:DeleteMembers'/>
<wsdl:input>
<soap:body use='encoded' namespace='lmapi'


encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>
</wsdl:input>

<wsdl:output>
<soap:body use='encoded' namespace='lmapi'
encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="CopyMember">
<soap:operation soapAction='s0:CopyMember'/>
<wsdl:input>
<soap:body use='encoded' namespace='lmapi'


encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>
</wsdl:input>

<wsdl:output>
<soap:body use='encoded' namespace='lmapi'
encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="SendMemberDoc">
<soap:operation soapAction='s0:SendMemberDoc'/>
<wsdl:input>
<soap:body use='encoded' namespace='lmapi'


encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>
</wsdl:input>

<wsdl:output>
<soap:body use='encoded' namespace='lmapi'
encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="Unsubscribe">
<soap:operation soapAction='s0:Unsubscribe'/>
<wsdl:input>
<soap:body use='encoded' namespace='lmapi'


encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>
</wsdl:input>

<wsdl:output>
<soap:body use='encoded' namespace='lmapi'
encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="CheckMemberPassword">
<soap:operation soapAction='s0:CheckMemberPassword'/>
<wsdl:input>
<soap:body use='encoded' namespace='lmapi'


encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>
</wsdl:input>

<wsdl:output>
<soap:body use='encoded' namespace='lmapi'
encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="GetMemberID">
<soap:operation soapAction='s0:GetMemberID'/>
<wsdl:input>
<soap:body use='encoded' namespace='lmapi'


encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>
</wsdl:input>

<wsdl:output>
<soap:body use='encoded' namespace='lmapi'
encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="GetListnameFromMemberID">
<soap:operation soapAction='s0:GetListnameFromMemberID'/>
<wsdl:input>
<soap:body use='encoded' namespace='lmapi'


encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>
</wsdl:input>

<wsdl:output>
<soap:body use='encoded' namespace='lmapi'
encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="GetEmailFromMemberID">
<soap:operation soapAction='s0:GetEmailFromMemberID'/>
<wsdl:input>
<soap:body use='encoded' namespace='lmapi'


encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>
</wsdl:input>

<wsdl:output>
<soap:body use='encoded' namespace='lmapi'
encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="EmailOnWhatLists">
<soap:operation soapAction='s0:EmailOnWhatLists'/>
<wsdl:input>
<soap:body use='encoded' namespace='lmapi'


encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>
</wsdl:input>

<wsdl:output>
<soap:body use='encoded' namespace='lmapi'
encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="EmailPasswordOnWhatLists">
<soap:operation soapAction='s0:EmailPasswordOnWhatLists'/>
<wsdl:input>
<soap:body use='encoded' namespace='lmapi'


encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>
</wsdl:input>

<wsdl:output>
<soap:body use='encoded' namespace='lmapi'
encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="CreateMemberBan">
<soap:operation soapAction='s0:CreateMemberBan'/>
<wsdl:input>
<soap:body use='encoded' namespace='lmapi'


encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>
</wsdl:input>

<wsdl:output>
<soap:body use='encoded' namespace='lmapi'
encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="CreateListAdmin">
<soap:operation soapAction='s0:CreateListAdmin'/>
<wsdl:input>
<soap:body use='encoded' namespace='lmapi'


encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>
</wsdl:input>

<wsdl:output>
<soap:body use='encoded' namespace='lmapi'
encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="UpdateListAdmin">
<soap:operation soapAction='s0:UpdateListAdmin'/>
<wsdl:input>
<soap:body use='encoded' namespace='lmapi'


encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>
</wsdl:input>

<wsdl:output>
<soap:body use='encoded' namespace='lmapi'
encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="DeleteList">
<soap:operation soapAction='s0:DeleteList'/>
<wsdl:input>
<soap:body use='encoded' namespace='lmapi'


encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>
</wsdl:input>

<wsdl:output>
<soap:body use='encoded' namespace='lmapi'
encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="CreateList">
<soap:operation soapAction='s0:CreateList'/>
<wsdl:input>
<soap:body use='encoded' namespace='lmapi'


encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>
</wsdl:input>

<wsdl:output>
<soap:body use='encoded' namespace='lmapi'
encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="UpdateList">
<soap:operation soapAction='s0:UpdateList'/>
<wsdl:input>
<soap:body use='encoded' namespace='lmapi'


encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>
</wsdl:input>

<wsdl:output>
<soap:body use='encoded' namespace='lmapi'
encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="SelectLists">
<soap:operation soapAction='s0:SelectLists'/>
<wsdl:input>
<soap:body use='encoded' namespace='lmapi'


encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>
</wsdl:input>

<wsdl:output>
<soap:body use='encoded' namespace='lmapi'
encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="GetListID">
<soap:operation soapAction='s0:GetListID'/>
<wsdl:input>
<soap:body use='encoded' namespace='lmapi'


encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>
</wsdl:input>

<wsdl:output>
<soap:body use='encoded' namespace='lmapi'
encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="SelectContent">
<soap:operation soapAction='s0:SelectContent'/>
<wsdl:input>
<soap:body use='encoded' namespace='lmapi'


encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>
</wsdl:input>

<wsdl:output>
<soap:body use='encoded' namespace='lmapi'
encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="TrackingSummary">
<soap:operation soapAction='s0:TrackingSummary'/>
<wsdl:input>
<soap:body use='encoded' namespace='lmapi'


encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>
</wsdl:input>

<wsdl:output>
<soap:body use='encoded' namespace='lmapi'
encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="SendMailing">
<soap:operation soapAction='s0:SendMailing'/>
<wsdl:input>
<soap:body use='encoded' namespace='lmapi'


encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>
</wsdl:input>

<wsdl:output>
<soap:body use='encoded' namespace='lmapi'
encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="SendMailingDirect">
<soap:operation soapAction='s0:SendMailingDirect'/>
<wsdl:input>
<soap:body use='encoded' namespace='lmapi'


encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>
</wsdl:input>

<wsdl:output>
<soap:body use='encoded' namespace='lmapi'
encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="ScheduleMailing">
<soap:operation soapAction='s0:ScheduleMailing'/>
<wsdl:input>
<soap:body use='encoded' namespace='lmapi'


encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>
</wsdl:input>

<wsdl:output>
<soap:body use='encoded' namespace='lmapi'
encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="ImportContent">
<soap:operation soapAction='s0:ImportContent'/>
<wsdl:input>
<soap:body use='encoded' namespace='lmapi'


encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>
</wsdl:input>

<wsdl:output>
<soap:body use='encoded' namespace='lmapi'
encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="MailingStatus">
<soap:operation soapAction='s0:MailingStatus'/>
<wsdl:input>
<soap:body use='encoded' namespace='lmapi'


encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>
</wsdl:input>

<wsdl:output>
<soap:body use='encoded' namespace='lmapi'
encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="ModerateMailing">
<soap:operation soapAction='s0:ModerateMailing'/>
<wsdl:input>
<soap:body use='encoded' namespace='lmapi'


encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>
</wsdl:input>

<wsdl:output>
<soap:body use='encoded' namespace='lmapi'
encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="SqlSelect">
<soap:operation soapAction='s0:SqlSelect'/>
<wsdl:input>
<soap:body use='encoded' namespace='lmapi'


encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>
</wsdl:input>

<wsdl:output>
<soap:body use='encoded' namespace='lmapi'
encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="SqlDelete">
<soap:operation soapAction='s0:SqlDelete'/>
<wsdl:input>
<soap:body use='encoded' namespace='lmapi'


encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>
</wsdl:input>

<wsdl:output>
<soap:body use='encoded' namespace='lmapi'
encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="SqlInsert">
<soap:operation soapAction='s0:SqlInsert'/>
<wsdl:input>
<soap:body use='encoded' namespace='lmapi'


encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>
</wsdl:input>

<wsdl:output>
<soap:body use='encoded' namespace='lmapi'
encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="SqlUpdate">
<soap:operation soapAction='s0:SqlUpdate'/>
<wsdl:input>
<soap:body use='encoded' namespace='lmapi'


encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>
</wsdl:input>

<wsdl:output>
<soap:body use='encoded' namespace='lmapi'
encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="ApiVersion">
<soap:operation soapAction='s0:ApiVersion'/>
<wsdl:input>
<soap:body use='encoded' namespace='lmapi'


encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>
</wsdl:input>

<wsdl:output>
<soap:body use='encoded' namespace='lmapi'
encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="CurrentUserEmailAddress">
<soap:operation soapAction='s0:CurrentUserEmailAddress'/>
<wsdl:input>
<soap:body use='encoded' namespace='lmapi'


encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>
</wsdl:input>

<wsdl:output>
<soap:body use='encoded' namespace='lmapi'
encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="SelectSegments">
<soap:operation soapAction='s0:SelectSegments'/>
<wsdl:input>
<soap:body use='encoded' namespace='lmapi'


encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>
</wsdl:input>

<wsdl:output>
<soap:body use='encoded' namespace='lmapi'
encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>
</wsdl:output>
</wsdl:operation>

</wsdl:binding>
<wsdl:service name='lmapi'>
<wsdl:documentation>Lyris lmapi. A SOAP 1.1 interface to Lyris
Listmanager</wsdl:documentation>
<wsdl:port name='lmapiSoap' binding='s0:lmapiSoap'>
<soap:address location='http://localhost:8000/soap/lmapi'/>

</wsdl:port>
</wsdl:service>
</wsdl:definitions>

Emil Marceta

unread,
Mar 27, 2006, 6:14:18 PM3/27/06
to soa...@googlegroups.com
On 3/27/06, Chris <christoph...@gmail.com> wrote:
>
>
> Here's the WSDL (brace yourself!)

Wow, monster !

> I've been trying to use the "CreateSingleMember" service

Here is what I'm seing on the wire:
--------------------


<?xml version="1.0" encoding="utf-8" ?>

<n1:CreateSingleMember xmlns:n1="lmapi"
env:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<EmailAddress xsi:type="xsd:string">fr...@acme.org</EmailAddress>
<FullName xsi:type="xsd:string">Fred Bunky</FullName>
<ListName xsi:type="xsd:string">Fred</ListName>
</n1:CreateSingleMember>
</env:Body>
</env:Envelope>

That looks correct ...
------------------------

And here is the client :

---------------------
require 'soap/wsdlDriver'

email = (ARGV.shift || 'fr...@acme.org')
full_name = (ARGV.shift || 'Fred Bunky')
list_name = (ARGV.shift || 'Fred')

SERVICE_WSDL = 'lmapi.wsdl'

# Load WSDL and create driver.
svc = SOAP::WSDLDriverFactory.new(SERVICE_WSDL).create_rpc_driver
svc.wiredump_dev = STDOUT

puts svc.createSingleMember(email, full_name, list_name)
--------------------

The result message was also OK.

<?xml version="1.0" encoding="utf-8" ?>

<n1:CreateSingleMemberResponse xmlns:n1="lmapi"
env:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<return xsi:type="xsd:int">13</return>
</n1:CreateSingleMemberResponse>
</env:Body>
</env:Envelope>

-----------------------

Here is what I have done.

I have created the service with wsdl2Ruby.

wsdl2Ruby --type wsdl lmapi.wsdl --type server

I had to do few minor mods to the wsdl before that (but I don't think
they are relevant to the error).

- I had to update the service name (wsdl2Ruby takes the service name
as the name of the server script and that collides with the existing
script. (That is not the cause of the error
though)

I have updated the service url, to reflect what port the Ruby server
starts on, so that the
WsdlDriverFactory picks it up.


So the service section looks like this:

<wsdl:service name='lmapiService'>


<wsdl:documentation>Lyris lmapi. A SOAP 1.1 interface to Lyris
Listmanager</wsdl:documentation>
<wsdl:port name='lmapiSoap' binding='s0:lmapiSoap'>

<soap:address location='http://localhost:10080'/>

</wsdl:port>
</wsdl:service>


At this point, I'm thinking that maybe there is something with your
environment. Are you runnig the latest soap4r bundle from
http://dev.ctor.org/download/ ?

cheers,
emil

Chris

unread,
Mar 27, 2006, 8:01:32 PM3/27/06
to soap4r
>At this point, I'm thinking that maybe there is something with your
>environment. Are you runnig the latest soap4r bundle from
>http://dev.ctor.org/download/ ?

That did the job. Everything works perfectly now. I installed the
latest soap4r-20051204.tar.gz and everything works exactly right. I
didn't realize there was a version later than the version in the most
recent Ruby Windows installer (ruby184-16p3.exe)

Thank you *very* much for the help. Let me know if there's anything I
can do to help get all the critical pieces into the core Ruby distro
(on Windows).
-Chris

Chris

unread,
Mar 27, 2006, 10:19:17 PM3/27/06
to soap4r
(Although I am still getting an error message

ignored attr: {}mixed

it doesn't seem to affect my ability to use the API.)
-Chris

Emil Marceta

unread,
Mar 27, 2006, 10:56:07 PM3/27/06
to soa...@googlegroups.com
On 3/27/06, Chris <christoph...@gmail.com> wrote:
>
> (Although I am still getting an error message
>
> ignored attr: {}mixed

Yeah, I've seen that too. It is set to false and it should not affect
you.
The 'mixed' attribute defines whether character data is permitted
between child elements or not. Some SOAP stacks were using
this to indicate different ways of serializing /deserializing arrays.

cheers,
emil

Reply all
Reply to author
Forward
0 new messages