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"
...