<?xml version='1.0' encoding='UTF-8'?><wsdl:definitions name="PsnAPIService" targetNamespace="http://api.sales.ebsuite.com/" xmlns:ns1="http://schemas.xmlsoap.org/wsdl/soap/http" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://api.sales.ebsuite.com/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <wsdl:types>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="unqualified" targetNamespace="http://jaxb.dev.java.net/array" xmlns="http://jaxb.dev.java.net/array" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:complexType final="#all" name="stringArray">
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" name="item" nillable="true" type="xs:string" />
</xs:sequence>
</xs:complexType>
</xs:schema>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="unqualified" targetNamespace="http://api.sales.ebsuite.com/" xmlns:tns="http://api.sales.ebsuite.com/" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:complexType name="baseEntity">
<xs:sequence>
<xs:element minOccurs="0" name="activeStatus" type="xs:string" />
<xs:element name="dbCreatedBy" type="xs:int" />
<xs:element minOccurs="0" name="dbCreationDate" type="xs:dateTime" />
<xs:element minOccurs="0" name="dbLastUpdateDate" type="xs:dateTime" />
<xs:element name="dbLastUpdatedBy" type="xs:int" />
<xs:element minOccurs="0" name="errorMsg" type="xs:string" />
<xs:element name="olCreatedBy" type="xs:int" />
<xs:element minOccurs="0" name="olCreationDate" type="xs:dateTime" />
<xs:element minOccurs="0" name="olLastUpdateDate" type="xs:dateTime" />
<xs:element name="olLastUpdatedBy" type="xs:int" />
<xs:element name="xmlId" type="xs:int" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="productList">
<xs:complexContent>
<xs:extension base="tns:baseEntity">
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" name="list" nillable="true" type="tns:product" />
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="product">
<xs:complexContent>
<xs:extension base="tns:baseEntity">
<xs:sequence>
<xs:element minOccurs="0" name="accessKey" type="xs:string" />
<xs:element name="baseCost" type="xs:double" />
<xs:element name="basePrice" type="xs:double" />
<xs:element name="categoryId" type="xs:int" />
<xs:element maxOccurs="unbounded" minOccurs="0" name="customFields" nillable="true" type="tns:baseCustomFieldData" />
<xs:element minOccurs="0" name="extViewable" type="xs:string" />
<xs:element maxOccurs="unbounded" minOccurs="0" name="pricings" nillable="true" type="tns:productPricing" />
<xs:element minOccurs="0" name="productDesc" type="xs:string" />
<xs:element name="productId" type="xs:int" />
<xs:element minOccurs="0" name="productKey" type="xs:string" />
<xs:element minOccurs="0" name="productName" type="xs:string" />
<xs:element name="productNumber" type="xs:int" />
<xs:element minOccurs="0" name="taxRate" type="xs:string" />
<xs:element minOccurs="0" name="taxable" type="xs:string" />
<xs:element minOccurs="0" name="uomCode" type="xs:string" />
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="baseCustomFieldData">
<xs:complexContent>
<xs:extension base="tns:baseEntity">
<xs:sequence>
<xs:element name="cfDataId" type="xs:int" />
<xs:element name="cfDataNumValue" type="xs:double" />
<xs:element minOccurs="0" name="cfDataValue" type="xs:string" />
<xs:element minOccurs="0" name="fieldDefinition" type="xs:string" />
<xs:element name="fieldDefinitionId" type="xs:int" />
<xs:element name="ownerTableId" type="xs:int" />
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="productPricing">
<xs:complexContent>
<xs:extension base="tns:baseEntity">
<xs:sequence>
<xs:element name="price" type="xs:double" />
<xs:element minOccurs="0" name="priceDetail" type="xs:string" />
<xs:element name="priceListId" type="xs:int" />
<xs:element name="productId" type="xs:int" />
<xs:element name="productPriceId" type="xs:int" />
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="contact">
<xs:complexContent>
<xs:extension base="tns:baseEntity">
<xs:sequence>
<xs:element minOccurs="0" name="accessKey" type="xs:string" />
<xs:element maxOccurs="unbounded" minOccurs="0" name="addresses" nillable="true" type="tns:cpAddress" />
<xs:element minOccurs="0" name="birthDate" type="xs:string" />
<xs:element minOccurs="0" name="channelCode" type="xs:string" />
<xs:element minOccurs="0" name="channelDetail" type="xs:string" />
<xs:element minOccurs="0" name="contactClassification" type="xs:string" />
<xs:element maxOccurs="unbounded" minOccurs="0" name="customFields" nillable="true" type="tns:baseCustomFieldData" />
<xs:element name="customerId" type="xs:int" />
<xs:element name="customerNumber" type="xs:int" />
<xs:element minOccurs="0" name="decisionMaker" type="xs:string" />
<xs:element minOccurs="0" name="department" type="xs:string" />
<xs:element minOccurs="0" name="displayName" type="xs:string" />
<xs:element maxOccurs="unbounded" minOccurs="0" name="emails" nillable="true" type="tns:cpEmail" />
<xs:element minOccurs="0" name="firstName" type="xs:string" />
<xs:element minOccurs="0" name="jobTitle" type="xs:string" />
<xs:element minOccurs="0" name="lastName" type="xs:string" />
<xs:element minOccurs="0" name="middleName" type="xs:string" />
<xs:element name="netWorth" type="xs:int" />
<xs:element maxOccurs="unbounded" minOccurs="0" name="notes" nillable="true" type="tns:baseMessage" />
<xs:element maxOccurs="unbounded" minOccurs="0" name="phones" nillable="true" type="tns:cpPhone" />
<xs:element minOccurs="0" name="responsibility" type="xs:string" />
<xs:element minOccurs="0" name="sex" type="xs:string" />
<xs:element minOccurs="0" name="title" type="xs:string" />
<xs:element minOccurs="0" name="url" type="xs:string" />
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="cpAddress">
<xs:complexContent>
<xs:extension base="tns:baseEntity">
<xs:sequence>
<xs:element minOccurs="0" name="addrLine1" type="xs:string" />
<xs:element minOccurs="0" name="addrLine2" type="xs:string" />
<xs:element minOccurs="0" name="addrLine3" type="xs:string" />
<xs:element minOccurs="0" name="addrLine4" type="xs:string" />
<xs:element name="addressId" type="xs:int" />
<xs:element minOccurs="0" name="addressType" type="xs:string" />
<xs:element minOccurs="0" name="city" type="xs:string" />
<xs:element minOccurs="0" name="country" type="xs:string" />
<xs:element minOccurs="0" name="postalCode" type="xs:string" />
<xs:element minOccurs="0" name="primaryFlag" type="xs:string" />
<xs:element minOccurs="0" name="state" type="xs:string" />
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="cpEmail">
<xs:complexContent>
<xs:extension base="tns:baseEntity">
<xs:sequence>
<xs:element name="contactPointId" type="xs:int" />
<xs:element minOccurs="0" name="emailAddr" type="xs:string" />
<xs:element minOccurs="0" name="primaryFlag" type="xs:string" />
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="baseMessage">
<xs:complexContent>
<xs:extension base="tns:baseEntity">
<xs:sequence>
<xs:element name="msgId" type="xs:int" />
<xs:element minOccurs="0" name="msgTitle" type="xs:string" />
<xs:element minOccurs="0" name="msgTxt" type="xs:string" />
<xs:element name="parentId" type="xs:int" />
<xs:element name="threadId" type="xs:int" />
<xs:element minOccurs="0" name="writerName" type="xs:string" />
<xs:element name="writerUserId" type="xs:int" />
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="cpPhone">
<xs:complexContent>
<xs:extension base="tns:baseEntity">
<xs:sequence>
<xs:element name="contactPointId" type="xs:int" />
<xs:element minOccurs="0" name="phoneExtension" type="xs:string" />
<xs:element minOccurs="0" name="phoneLineType" type="xs:string" />
<xs:element minOccurs="0" name="phoneNumber" type="xs:string" />
<xs:element minOccurs="0" name="primaryFlag" type="xs:string" />
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="contactList">
<xs:complexContent>
<xs:extension base="tns:baseEntity">
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" name="list" nillable="true" type="tns:contact" />
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="baseReportResult">
<xs:complexContent>
<xs:extension base="tns:baseEntity">
<xs:sequence>
<xs:element name="columnSize" type="xs:int" />
<xs:element maxOccurs="unbounded" minOccurs="0" name="reportColumns" nillable="true" type="xs:string" />
<xs:element maxOccurs="unbounded" minOccurs="0" name="reportData" nillable="true" type="xs:string" />
<xs:element name="rowSize" type="xs:int" />
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType final="#all" name="productArray">
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" name="item" nillable="true" type="tns:product" />
</xs:sequence>
</xs:complexType>
<xs:complexType final="#all" name="cpPhoneArray">
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" name="item" nillable="true" type="tns:cpPhone" />
</xs:sequence>
</xs:complexType>
<xs:complexType final="#all" name="cpEmailArray">
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" name="item" nillable="true" type="tns:cpEmail" />
</xs:sequence>
</xs:complexType>
<xs:complexType final="#all" name="cpAddressArray">
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" name="item" nillable="true" type="tns:cpAddress" />
</xs:sequence>
</xs:complexType>
<xs:complexType final="#all" name="baseCustomFieldDataArray">
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" name="item" nillable="true" type="tns:baseCustomFieldData" />
</xs:sequence>
</xs:complexType>
<xs:complexType final="#all" name="baseMessageArray">
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" name="item" nillable="true" type="tns:baseMessage" />
</xs:sequence>
</xs:complexType>
<xs:complexType final="#all" name="contactArray">
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" name="item" nillable="true" type="tns:contact" />
</xs:sequence>
</xs:complexType>
<xs:element name="addProductInterest" type="tns:addProductInterest" />
<xs:complexType name="addProductInterest">
<xs:sequence>
<xs:element minOccurs="0" name="arg0" type="xs:string" />
<xs:element name="arg1" type="xs:int" />
<xs:element minOccurs="0" name="arg2" type="xs:string" />
</xs:sequence>
</xs:complexType>
<xs:element name="addProductInterestResponse" type="tns:addProductInterestResponse" />
<xs:complexType name="addProductInterestResponse">
<xs:sequence>
<xs:element name="return" type="xs:int" />
</xs:sequence>
</xs:complexType>
<xs:element name="getProductInterests" type="tns:getProductInterests" />
<xs:complexType name="getProductInterests">
<xs:sequence>
<xs:element minOccurs="0" name="arg0" type="xs:string" />
<xs:element name="arg1" type="xs:int" />
</xs:sequence>
</xs:complexType>
<xs:element name="getProductInterestsResponse" type="tns:getProductInterestsResponse" />
<xs:complexType name="getProductInterestsResponse">
<xs:sequence>
<xs:element minOccurs="0" name="return" type="tns:productList" />
</xs:sequence>
</xs:complexType>
<xs:element name="getContactDetail" type="tns:getContactDetail" />
<xs:complexType name="getContactDetail">
<xs:sequence>
<xs:element minOccurs="0" name="arg0" type="xs:string" />
<xs:element name="arg1" type="xs:int" />
</xs:sequence>
</xs:complexType>
<xs:element name="getContactDetailResponse" type="tns:getContactDetailResponse" />
<xs:complexType name="getContactDetailResponse">
<xs:sequence>
<xs:element minOccurs="0" name="return" type="tns:contact" />
</xs:sequence>
</xs:complexType>
<xs:element name="saveContactRecordAllowDup" type="tns:saveContactRecordAllowDup" />
<xs:complexType name="saveContactRecordAllowDup">
<xs:sequence>
<xs:element minOccurs="0" name="arg0" type="xs:string" />
<xs:element minOccurs="0" name="arg1" type="tns:contact" />
<xs:element minOccurs="0" name="arg2" type="xs:string" />
</xs:sequence>
</xs:complexType>
<xs:element name="saveContactRecordAllowDupResponse" type="tns:saveContactRecordAllowDupResponse" />
<xs:complexType name="saveContactRecordAllowDupResponse">
<xs:sequence>
<xs:element minOccurs="0" name="return" type="tns:contact" />
</xs:sequence>
</xs:complexType>
<xs:element name="getContactsByViewName" type="tns:getContactsByViewName" />
<xs:complexType name="getContactsByViewName">
<xs:sequence>
<xs:element minOccurs="0" name="arg0" type="xs:string" />
<xs:element minOccurs="0" name="arg1" type="xs:string" />
</xs:sequence>
</xs:complexType>
<xs:element name="getContactsByViewNameResponse" type="tns:getContactsByViewNameResponse" />
<xs:complexType name="getContactsByViewNameResponse">
<xs:sequence>
<xs:element minOccurs="0" name="return" type="tns:contactList" />
</xs:sequence>
</xs:complexType>
<xs:element name="saveContactRecordsAndCreatePortalAccount" type="tns:saveContactRecordsAndCreatePortalAccount" />
<xs:complexType name="saveContactRecordsAndCreatePortalAccount">
<xs:sequence>
<xs:element minOccurs="0" name="arg0" type="xs:string" />
<xs:element minOccurs="0" name="arg1" type="tns:contactList" />
<xs:element minOccurs="0" name="arg2" type="xs:string" />
<xs:element minOccurs="0" name="arg3" type="xs:string" />
</xs:sequence>
</xs:complexType>
<xs:element name="saveContactRecordsAndCreatePortalAccountResponse" type="tns:saveContactRecordsAndCreatePortalAccountResponse" />
<xs:complexType name="saveContactRecordsAndCreatePortalAccountResponse">
<xs:sequence>
<xs:element minOccurs="0" name="return" type="tns:contactList" />
</xs:sequence>
</xs:complexType>
<xs:element name="specialAction" type="tns:specialAction" />
<xs:complexType name="specialAction">
<xs:sequence>
<xs:element minOccurs="0" name="arg0" type="xs:string" />
<xs:element name="arg1" type="xs:int" />
<xs:element minOccurs="0" name="arg2" type="xs:string" />
<xs:element minOccurs="0" name="arg3" type="xs:string" />
</xs:sequence>
</xs:complexType>
<xs:element name="specialActionResponse" type="tns:specialActionResponse" />
<xs:complexType name="specialActionResponse">
<xs:sequence>
<xs:element minOccurs="0" name="return" type="xs:string" />
</xs:sequence>
</xs:complexType>
<xs:element name="saveContactRecords" type="tns:saveContactRecords" />
<xs:complexType name="saveContactRecords">
<xs:sequence>
<xs:element minOccurs="0" name="arg0" type="xs:string" />
<xs:element minOccurs="0" name="arg1" type="tns:contactList" />
<xs:element minOccurs="0" name="arg2" type="xs:string" />
</xs:sequence>
</xs:complexType>
<xs:element name="saveContactRecordsResponse" type="tns:saveContactRecordsResponse" />
<xs:complexType name="saveContactRecordsResponse">
<xs:sequence>
<xs:element minOccurs="0" name="return" type="tns:contactList" />
</xs:sequence>
</xs:complexType>
<xs:element name="saveContactRecordAndAssign" type="tns:saveContactRecordAndAssign" />
<xs:complexType name="saveContactRecordAndAssign">
<xs:sequence>
<xs:element minOccurs="0" name="arg0" type="xs:string" />
<xs:element minOccurs="0" name="arg1" type="tns:contact" />
<xs:element minOccurs="0" name="arg2" type="xs:string" />
<xs:element minOccurs="0" name="arg3" type="xs:string" />
</xs:sequence>
</xs:complexType>
<xs:element name="saveContactRecordAndAssignResponse" type="tns:saveContactRecordAndAssignResponse" />
<xs:complexType name="saveContactRecordAndAssignResponse">
<xs:sequence>
<xs:element minOccurs="0" name="return" type="tns:contact" />
</xs:sequence>
</xs:complexType>
<xs:element name="getContactsByViewNameWithSearchKeywords" type="tns:getContactsByViewNameWithSearchKeywords" />
<xs:complexType name="getContactsByViewNameWithSearchKeywords">
<xs:sequence>
<xs:element minOccurs="0" name="arg0" type="xs:string" />
<xs:element minOccurs="0" name="arg1" type="xs:string" />
<xs:element minOccurs="0" name="arg2" type="xs:string" />
</xs:sequence>
</xs:complexType>
<xs:element name="getContactsByViewNameWithSearchKeywordsResponse" type="tns:getContactsByViewNameWithSearchKeywordsResponse" />
<xs:complexType name="getContactsByViewNameWithSearchKeywordsResponse">
<xs:sequence>
<xs:element minOccurs="0" name="return" type="tns:contactList" />
</xs:sequence>
</xs:complexType>
<xs:element name="getAllContacts" type="tns:getAllContacts" />
<xs:complexType name="getAllContacts">
<xs:sequence>
<xs:element minOccurs="0" name="arg0" type="xs:string" />
</xs:sequence>
</xs:complexType>
<xs:element name="getAllContactsResponse" type="tns:getAllContactsResponse" />
<xs:complexType name="getAllContactsResponse">
<xs:sequence>
<xs:element minOccurs="0" name="return" type="tns:contactList" />
</xs:sequence>
</xs:complexType>
<xs:element name="getAllContactsSync" type="tns:getAllContactsSync" />
<xs:complexType name="getAllContactsSync">
<xs:sequence>
<xs:element minOccurs="0" name="arg0" type="xs:string" />
<xs:element minOccurs="0" name="arg1" type="xs:string" />
</xs:sequence>
</xs:complexType>
<xs:element name="getAllContactsSyncResponse" type="tns:getAllContactsSyncResponse" />
<xs:complexType name="getAllContactsSyncResponse">
<xs:sequence>
<xs:element minOccurs="0" name="return" type="tns:contactList" />
</xs:sequence>
</xs:complexType>
<xs:element name="delProductInterest" type="tns:delProductInterest" />
<xs:complexType name="delProductInterest">
<xs:sequence>
<xs:element minOccurs="0" name="arg0" type="xs:string" />
<xs:element name="arg1" type="xs:int" />
<xs:element minOccurs="0" name="arg2" type="xs:string" />
</xs:sequence>
</xs:complexType>
<xs:element name="delProductInterestResponse" type="tns:delProductInterestResponse" />
<xs:complexType name="delProductInterestResponse">
<xs:sequence>
<xs:element name="return" type="xs:int" />
</xs:sequence>
</xs:complexType>
<xs:element name="searchContactsByFirstAndLast" type="tns:searchContactsByFirstAndLast" />
<xs:complexType name="searchContactsByFirstAndLast">
<xs:sequence>
<xs:element minOccurs="0" name="arg0" type="xs:string" />
<xs:element minOccurs="0" name="arg1" type="xs:string" />
<xs:element minOccurs="0" name="arg2" type="xs:string" />
</xs:sequence>
</xs:complexType>
<xs:element name="searchContactsByFirstAndLastResponse" type="tns:searchContactsByFirstAndLastResponse" />
<xs:complexType name="searchContactsByFirstAndLastResponse">
<xs:sequence>
<xs:element minOccurs="0" name="return" type="tns:contactList" />
</xs:sequence>
</xs:complexType>
<xs:element name="saveContactRecord" type="tns:saveContactRecord" />
<xs:complexType name="saveContactRecord">
<xs:sequence>
<xs:element minOccurs="0" name="arg0" type="xs:string" />
<xs:element minOccurs="0" name="arg1" type="tns:contact" />
</xs:sequence>
</xs:complexType>
<xs:element name="saveContactRecordResponse" type="tns:saveContactRecordResponse" />
<xs:complexType name="saveContactRecordResponse">
<xs:sequence>
<xs:element minOccurs="0" name="return" type="tns:contact" />
</xs:sequence>
</xs:complexType>
<xs:element name="reportContactsByViewName" type="tns:reportContactsByViewName" />
<xs:complexType name="reportContactsByViewName">
<xs:sequence>
<xs:element minOccurs="0" name="arg0" type="xs:string" />
<xs:element minOccurs="0" name="arg1" type="xs:string" />
</xs:sequence>
</xs:complexType>
<xs:element name="reportContactsByViewNameResponse" type="tns:reportContactsByViewNameResponse" />
<xs:complexType name="reportContactsByViewNameResponse">
<xs:sequence>
<xs:element minOccurs="0" name="return" type="tns:baseReportResult" />
</xs:sequence>
</xs:complexType>
<xs:element name="searchContactsByCustomField" type="tns:searchContactsByCustomField" />
<xs:complexType name="searchContactsByCustomField">
<xs:sequence>
<xs:element minOccurs="0" name="arg0" type="xs:string" />
<xs:element minOccurs="0" name="arg1" type="xs:string" />
<xs:element minOccurs="0" name="arg2" type="xs:string" />
</xs:sequence>
</xs:complexType>
<xs:element name="searchContactsByCustomFieldResponse" type="tns:searchContactsByCustomFieldResponse" />
<xs:complexType name="searchContactsByCustomFieldResponse">
<xs:sequence>
<xs:element minOccurs="0" name="return" type="tns:contactList" />
</xs:sequence>
</xs:complexType>
<xs:element name="getContactByContactNumber" type="tns:getContactByContactNumber" />
<xs:complexType name="getContactByContactNumber">
<xs:sequence>
<xs:element minOccurs="0" name="arg0" type="xs:string" />
<xs:element name="arg1" type="xs:int" />
</xs:sequence>
</xs:complexType>
<xs:element name="getContactByContactNumberResponse" type="tns:getContactByContactNumberResponse" />
<xs:complexType name="getContactByContactNumberResponse">
<xs:sequence>
<xs:element minOccurs="0" name="return" type="tns:contact" />
</xs:sequence>
</xs:complexType>
<xs:element name="reportContactsByViewNameWithSearchKeywords" type="tns:reportContactsByViewNameWithSearchKeywords" />
<xs:complexType name="reportContactsByViewNameWithSearchKeywords">
<xs:sequence>
<xs:element minOccurs="0" name="arg0" type="xs:string" />
<xs:element minOccurs="0" name="arg1" type="xs:string" />
<xs:element minOccurs="0" name="arg2" type="xs:string" />
</xs:sequence>
</xs:complexType>
<xs:element name="reportContactsByViewNameWithSearchKeywordsResponse" type="tns:reportContactsByViewNameWithSearchKeywordsResponse" />
<xs:complexType name="reportContactsByViewNameWithSearchKeywordsResponse">
<xs:sequence>
<xs:element minOccurs="0" name="return" type="tns:baseReportResult" />
</xs:sequence>
</xs:complexType>
<xs:element name="createSupportPortalAcount" type="tns:createSupportPortalAcount" />
<xs:complexType name="createSupportPortalAcount">
<xs:sequence>
<xs:element minOccurs="0" name="arg0" type="xs:string" />
<xs:element minOccurs="0" name="arg1" type="tns:contact" />
<xs:element minOccurs="0" name="arg2" type="xs:string" />
<xs:element minOccurs="0" name="arg3" type="xs:string" />
</xs:sequence>
</xs:complexType>
<xs:element name="createSupportPortalAcountResponse" type="tns:createSupportPortalAcountResponse" />
<xs:complexType name="createSupportPortalAcountResponse">
<xs:sequence>
<xs:element name="return" type="xs:int" />
</xs:sequence>
</xs:complexType>
<xs:element name="searchContacts" type="tns:searchContacts" />
<xs:complexType name="searchContacts">
<xs:sequence>
<xs:element minOccurs="0" name="arg0" type="xs:string" />
<xs:element minOccurs="0" name="arg1" type="xs:string" />
</xs:sequence>
</xs:complexType>
<xs:element name="searchContactsResponse" type="tns:searchContactsResponse" />
<xs:complexType name="searchContactsResponse">
<xs:sequence>
<xs:element minOccurs="0" name="return" type="tns:contactList" />
</xs:sequence>
</xs:complexType>
</xs:schema>
  </wsdl:types>
  <wsdl:message name="saveContactRecordResponse">
    <wsdl:part element="tns:saveContactRecordResponse" name="parameters">
    </wsdl:part>
  </wsdl:message>
  <wsdl:message name="searchContactsByFirstAndLast">
    <wsdl:part element="tns:searchContactsByFirstAndLast" name="parameters">
    </wsdl:part>
  </wsdl:message>
  <wsdl:message name="searchContactsResponse">
    <wsdl:part element="tns:searchContactsResponse" name="parameters">
    </wsdl:part>
  </wsdl:message>
  <wsdl:message name="delProductInterest">
    <wsdl:part element="tns:delProductInterest" name="parameters">
    </wsdl:part>
  </wsdl:message>
  <wsdl:message name="specialActionResponse">
    <wsdl:part element="tns:specialActionResponse" name="parameters">
    </wsdl:part>
  </wsdl:message>
  <wsdl:message name="getAllContactsSyncResponse">
    <wsdl:part element="tns:getAllContactsSyncResponse" name="parameters">
    </wsdl:part>
  </wsdl:message>
  <wsdl:message name="searchContactsByFirstAndLastResponse">
    <wsdl:part element="tns:searchContactsByFirstAndLastResponse" name="parameters">
    </wsdl:part>
  </wsdl:message>
  <wsdl:message name="getContactByContactNumberResponse">
    <wsdl:part element="tns:getContactByContactNumberResponse" name="parameters">
    </wsdl:part>
  </wsdl:message>
  <wsdl:message name="searchContactsByCustomFieldResponse">
    <wsdl:part element="tns:searchContactsByCustomFieldResponse" name="parameters">
    </wsdl:part>
  </wsdl:message>
  <wsdl:message name="specialAction">
    <wsdl:part element="tns:specialAction" name="parameters">
    </wsdl:part>
  </wsdl:message>
  <wsdl:message name="getContactDetail">
    <wsdl:part element="tns:getContactDetail" name="parameters">
    </wsdl:part>
  </wsdl:message>
  <wsdl:message name="getProductInterestsResponse">
    <wsdl:part element="tns:getProductInterestsResponse" name="parameters">
    </wsdl:part>
  </wsdl:message>
  <wsdl:message name="getAllContactsSync">
    <wsdl:part element="tns:getAllContactsSync" name="parameters">
    </wsdl:part>
  </wsdl:message>
  <wsdl:message name="getContactsByViewNameWithSearchKeywords">
    <wsdl:part element="tns:getContactsByViewNameWithSearchKeywords" name="parameters">
    </wsdl:part>
  </wsdl:message>
  <wsdl:message name="getContactsByViewName">
    <wsdl:part element="tns:getContactsByViewName" name="parameters">
    </wsdl:part>
  </wsdl:message>
  <wsdl:message name="saveContactRecordsAndCreatePortalAccount">
    <wsdl:part element="tns:saveContactRecordsAndCreatePortalAccount" name="parameters">
    </wsdl:part>
  </wsdl:message>
  <wsdl:message name="getContactDetailResponse">
    <wsdl:part element="tns:getContactDetailResponse" name="parameters">
    </wsdl:part>
  </wsdl:message>
  <wsdl:message name="delProductInterestResponse">
    <wsdl:part element="tns:delProductInterestResponse" name="parameters">
    </wsdl:part>
  </wsdl:message>
  <wsdl:message name="getContactByContactNumber">
    <wsdl:part element="tns:getContactByContactNumber" name="parameters">
    </wsdl:part>
  </wsdl:message>
  <wsdl:message name="createSupportPortalAcount">
    <wsdl:part element="tns:createSupportPortalAcount" name="parameters">
    </wsdl:part>
  </wsdl:message>
  <wsdl:message name="saveContactRecordAndAssign">
    <wsdl:part element="tns:saveContactRecordAndAssign" name="parameters">
    </wsdl:part>
  </wsdl:message>
  <wsdl:message name="saveContactRecords">
    <wsdl:part element="tns:saveContactRecords" name="parameters">
    </wsdl:part>
  </wsdl:message>
  <wsdl:message name="createSupportPortalAcountResponse">
    <wsdl:part element="tns:createSupportPortalAcountResponse" name="parameters">
    </wsdl:part>
  </wsdl:message>
  <wsdl:message name="getAllContactsResponse">
    <wsdl:part element="tns:getAllContactsResponse" name="parameters">
    </wsdl:part>
  </wsdl:message>
  <wsdl:message name="saveContactRecordAllowDupResponse">
    <wsdl:part element="tns:saveContactRecordAllowDupResponse" name="parameters">
    </wsdl:part>
  </wsdl:message>
  <wsdl:message name="addProductInterestResponse">
    <wsdl:part element="tns:addProductInterestResponse" name="parameters">
    </wsdl:part>
  </wsdl:message>
  <wsdl:message name="getContactsByViewNameResponse">
    <wsdl:part element="tns:getContactsByViewNameResponse" name="parameters">
    </wsdl:part>
  </wsdl:message>
  <wsdl:message name="addProductInterest">
    <wsdl:part element="tns:addProductInterest" name="parameters">
    </wsdl:part>
  </wsdl:message>
  <wsdl:message name="saveContactRecordAndAssignResponse">
    <wsdl:part element="tns:saveContactRecordAndAssignResponse" name="parameters">
    </wsdl:part>
  </wsdl:message>
  <wsdl:message name="reportContactsByViewNameWithSearchKeywordsResponse">
    <wsdl:part element="tns:reportContactsByViewNameWithSearchKeywordsResponse" name="parameters">
    </wsdl:part>
  </wsdl:message>
  <wsdl:message name="reportContactsByViewNameResponse">
    <wsdl:part element="tns:reportContactsByViewNameResponse" name="parameters">
    </wsdl:part>
  </wsdl:message>
  <wsdl:message name="getProductInterests">
    <wsdl:part element="tns:getProductInterests" name="parameters">
    </wsdl:part>
  </wsdl:message>
  <wsdl:message name="saveContactRecordsResponse">
    <wsdl:part element="tns:saveContactRecordsResponse" name="parameters">
    </wsdl:part>
  </wsdl:message>
  <wsdl:message name="getAllContacts">
    <wsdl:part element="tns:getAllContacts" name="parameters">
    </wsdl:part>
  </wsdl:message>
  <wsdl:message name="getContactsByViewNameWithSearchKeywordsResponse">
    <wsdl:part element="tns:getContactsByViewNameWithSearchKeywordsResponse" name="parameters">
    </wsdl:part>
  </wsdl:message>
  <wsdl:message name="searchContactsByCustomField">
    <wsdl:part element="tns:searchContactsByCustomField" name="parameters">
    </wsdl:part>
  </wsdl:message>
  <wsdl:message name="saveContactRecordAllowDup">
    <wsdl:part element="tns:saveContactRecordAllowDup" name="parameters">
    </wsdl:part>
  </wsdl:message>
  <wsdl:message name="reportContactsByViewNameWithSearchKeywords">
    <wsdl:part element="tns:reportContactsByViewNameWithSearchKeywords" name="parameters">
    </wsdl:part>
  </wsdl:message>
  <wsdl:message name="saveContactRecord">
    <wsdl:part element="tns:saveContactRecord" name="parameters">
    </wsdl:part>
  </wsdl:message>
  <wsdl:message name="saveContactRecordsAndCreatePortalAccountResponse">
    <wsdl:part element="tns:saveContactRecordsAndCreatePortalAccountResponse" name="parameters">
    </wsdl:part>
  </wsdl:message>
  <wsdl:message name="searchContacts">
    <wsdl:part element="tns:searchContacts" name="parameters">
    </wsdl:part>
  </wsdl:message>
  <wsdl:message name="reportContactsByViewName">
    <wsdl:part element="tns:reportContactsByViewName" name="parameters">
    </wsdl:part>
  </wsdl:message>
  <wsdl:portType name="PsnAPI">
    <wsdl:operation name="addProductInterest">
      <wsdl:input message="tns:addProductInterest" name="addProductInterest">
    </wsdl:input>
      <wsdl:output message="tns:addProductInterestResponse" name="addProductInterestResponse">
    </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="getProductInterests">
      <wsdl:input message="tns:getProductInterests" name="getProductInterests">
    </wsdl:input>
      <wsdl:output message="tns:getProductInterestsResponse" name="getProductInterestsResponse">
    </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="getContactDetail">
      <wsdl:input message="tns:getContactDetail" name="getContactDetail">
    </wsdl:input>
      <wsdl:output message="tns:getContactDetailResponse" name="getContactDetailResponse">
    </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="saveContactRecordAllowDup">
      <wsdl:input message="tns:saveContactRecordAllowDup" name="saveContactRecordAllowDup">
    </wsdl:input>
      <wsdl:output message="tns:saveContactRecordAllowDupResponse" name="saveContactRecordAllowDupResponse">
    </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="getContactsByViewName">
      <wsdl:input message="tns:getContactsByViewName" name="getContactsByViewName">
    </wsdl:input>
      <wsdl:output message="tns:getContactsByViewNameResponse" name="getContactsByViewNameResponse">
    </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="saveContactRecordsAndCreatePortalAccount">
      <wsdl:input message="tns:saveContactRecordsAndCreatePortalAccount" name="saveContactRecordsAndCreatePortalAccount">
    </wsdl:input>
      <wsdl:output message="tns:saveContactRecordsAndCreatePortalAccountResponse" name="saveContactRecordsAndCreatePortalAccountResponse">
    </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="specialAction">
      <wsdl:input message="tns:specialAction" name="specialAction">
    </wsdl:input>
      <wsdl:output message="tns:specialActionResponse" name="specialActionResponse">
    </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="saveContactRecords">
      <wsdl:input message="tns:saveContactRecords" name="saveContactRecords">
    </wsdl:input>
      <wsdl:output message="tns:saveContactRecordsResponse" name="saveContactRecordsResponse">
    </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="saveContactRecordAndAssign">
      <wsdl:input message="tns:saveContactRecordAndAssign" name="saveContactRecordAndAssign">
    </wsdl:input>
      <wsdl:output message="tns:saveContactRecordAndAssignResponse" name="saveContactRecordAndAssignResponse">
    </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="getContactsByViewNameWithSearchKeywords">
      <wsdl:input message="tns:getContactsByViewNameWithSearchKeywords" name="getContactsByViewNameWithSearchKeywords">
    </wsdl:input>
      <wsdl:output message="tns:getContactsByViewNameWithSearchKeywordsResponse" name="getContactsByViewNameWithSearchKeywordsResponse">
    </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="getAllContacts">
      <wsdl:input message="tns:getAllContacts" name="getAllContacts">
    </wsdl:input>
      <wsdl:output message="tns:getAllContactsResponse" name="getAllContactsResponse">
    </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="getAllContactsSync">
      <wsdl:input message="tns:getAllContactsSync" name="getAllContactsSync">
    </wsdl:input>
      <wsdl:output message="tns:getAllContactsSyncResponse" name="getAllContactsSyncResponse">
    </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="delProductInterest">
      <wsdl:input message="tns:delProductInterest" name="delProductInterest">
    </wsdl:input>
      <wsdl:output message="tns:delProductInterestResponse" name="delProductInterestResponse">
    </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="searchContactsByFirstAndLast">
      <wsdl:input message="tns:searchContactsByFirstAndLast" name="searchContactsByFirstAndLast">
    </wsdl:input>
      <wsdl:output message="tns:searchContactsByFirstAndLastResponse" name="searchContactsByFirstAndLastResponse">
    </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="saveContactRecord">
      <wsdl:input message="tns:saveContactRecord" name="saveContactRecord">
    </wsdl:input>
      <wsdl:output message="tns:saveContactRecordResponse" name="saveContactRecordResponse">
    </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="reportContactsByViewName">
      <wsdl:input message="tns:reportContactsByViewName" name="reportContactsByViewName">
    </wsdl:input>
      <wsdl:output message="tns:reportContactsByViewNameResponse" name="reportContactsByViewNameResponse">
    </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="searchContactsByCustomField">
      <wsdl:input message="tns:searchContactsByCustomField" name="searchContactsByCustomField">
    </wsdl:input>
      <wsdl:output message="tns:searchContactsByCustomFieldResponse" name="searchContactsByCustomFieldResponse">
    </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="getContactByContactNumber">
      <wsdl:input message="tns:getContactByContactNumber" name="getContactByContactNumber">
    </wsdl:input>
      <wsdl:output message="tns:getContactByContactNumberResponse" name="getContactByContactNumberResponse">
    </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="reportContactsByViewNameWithSearchKeywords">
      <wsdl:input message="tns:reportContactsByViewNameWithSearchKeywords" name="reportContactsByViewNameWithSearchKeywords">
    </wsdl:input>
      <wsdl:output message="tns:reportContactsByViewNameWithSearchKeywordsResponse" name="reportContactsByViewNameWithSearchKeywordsResponse">
    </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="createSupportPortalAcount">
      <wsdl:input message="tns:createSupportPortalAcount" name="createSupportPortalAcount">
    </wsdl:input>
      <wsdl:output message="tns:createSupportPortalAcountResponse" name="createSupportPortalAcountResponse">
    </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="searchContacts">
      <wsdl:input message="tns:searchContacts" name="searchContacts">
    </wsdl:input>
      <wsdl:output message="tns:searchContactsResponse" name="searchContactsResponse">
    </wsdl:output>
    </wsdl:operation>
  </wsdl:portType>
  <wsdl:binding name="PsnAPIServiceSoapBinding" type="tns:PsnAPI">
    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" />
    <wsdl:operation name="addProductInterest">
      <soap:operation soapAction="" style="document" />
      <wsdl:input name="addProductInterest">
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output name="addProductInterestResponse">
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="getProductInterests">
      <soap:operation soapAction="" style="document" />
      <wsdl:input name="getProductInterests">
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output name="getProductInterestsResponse">
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="getContactDetail">
      <soap:operation soapAction="" style="document" />
      <wsdl:input name="getContactDetail">
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output name="getContactDetailResponse">
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="saveContactRecordAllowDup">
      <soap:operation soapAction="" style="document" />
      <wsdl:input name="saveContactRecordAllowDup">
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output name="saveContactRecordAllowDupResponse">
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="getContactsByViewName">
      <soap:operation soapAction="" style="document" />
      <wsdl:input name="getContactsByViewName">
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output name="getContactsByViewNameResponse">
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="saveContactRecordsAndCreatePortalAccount">
      <soap:operation soapAction="" style="document" />
      <wsdl:input name="saveContactRecordsAndCreatePortalAccount">
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output name="saveContactRecordsAndCreatePortalAccountResponse">
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="saveContactRecords">
      <soap:operation soapAction="" style="document" />
      <wsdl:input name="saveContactRecords">
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output name="saveContactRecordsResponse">
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="specialAction">
      <soap:operation soapAction="" style="document" />
      <wsdl:input name="specialAction">
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output name="specialActionResponse">
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="saveContactRecordAndAssign">
      <soap:operation soapAction="" style="document" />
      <wsdl:input name="saveContactRecordAndAssign">
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output name="saveContactRecordAndAssignResponse">
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="getContactsByViewNameWithSearchKeywords">
      <soap:operation soapAction="" style="document" />
      <wsdl:input name="getContactsByViewNameWithSearchKeywords">
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output name="getContactsByViewNameWithSearchKeywordsResponse">
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="getAllContacts">
      <soap:operation soapAction="" style="document" />
      <wsdl:input name="getAllContacts">
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output name="getAllContactsResponse">
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="getAllContactsSync">
      <soap:operation soapAction="" style="document" />
      <wsdl:input name="getAllContactsSync">
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output name="getAllContactsSyncResponse">
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="delProductInterest">
      <soap:operation soapAction="" style="document" />
      <wsdl:input name="delProductInterest">
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output name="delProductInterestResponse">
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="saveContactRecord">
      <soap:operation soapAction="" style="document" />
      <wsdl:input name="saveContactRecord">
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output name="saveContactRecordResponse">
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="searchContactsByFirstAndLast">
      <soap:operation soapAction="" style="document" />
      <wsdl:input name="searchContactsByFirstAndLast">
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output name="searchContactsByFirstAndLastResponse">
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="reportContactsByViewName">
      <soap:operation soapAction="" style="document" />
      <wsdl:input name="reportContactsByViewName">
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output name="reportContactsByViewNameResponse">
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="searchContactsByCustomField">
      <soap:operation soapAction="" style="document" />
      <wsdl:input name="searchContactsByCustomField">
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output name="searchContactsByCustomFieldResponse">
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="getContactByContactNumber">
      <soap:operation soapAction="" style="document" />
      <wsdl:input name="getContactByContactNumber">
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output name="getContactByContactNumberResponse">
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="createSupportPortalAcount">
      <soap:operation soapAction="" style="document" />
      <wsdl:input name="createSupportPortalAcount">
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output name="createSupportPortalAcountResponse">
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="reportContactsByViewNameWithSearchKeywords">
      <soap:operation soapAction="" style="document" />
      <wsdl:input name="reportContactsByViewNameWithSearchKeywords">
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output name="reportContactsByViewNameWithSearchKeywordsResponse">
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="searchContacts">
      <soap:operation soapAction="" style="document" />
      <wsdl:input name="searchContacts">
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output name="searchContactsResponse">
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
  </wsdl:binding>
  <wsdl:service name="PsnAPIService">
    <wsdl:port binding="tns:PsnAPIServiceSoapBinding" name="PsnAPIPort">
      <soap:address location="http://ebsuite.com/cxf/PsnAPI" />
    </wsdl:port>
  </wsdl:service>
</wsdl:definitions>