<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions
	targetNamespace="http://www.ebay.com/marketplace/services"
	xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/"
	xmlns:xs="http://www.w3.org/2001/XMLSchema"
	xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
	xmlns:ns0="http://www.ebay.com/marketplace/services"
	xmlns:http="http://schemas.xmlsoap.org/wsdl/http/"
	xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
	xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"
	xmlns="http://schemas.xmlsoap.org/wsdl/">

	<wsdl:types>
		<xs:schema attributeFormDefault="unqualified"
			elementFormDefault="qualified"
			targetNamespace="http://www.ebay.com/marketplace/services"
			xmlns:tns="http://www.ebay.com/marketplace/services"
			xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:Q1="http://www.ebay.com/marketplace/services" xmlns:Q2="http://www.ebay.com/marketplace/services">


<xs:element name="addSubscriberRequest" nillable="true" type="tns:OpeneBayAddSubscriberRequestType"/>
<xs:element name="addSubscriberResponse" nillable="true" type="tns:OpeneBayAddSubscriberResponseType"/>
<xs:element name="updateSubscriberRequest" nillable="true" type="tns:OpeneBayUpdateSubscriberRequestType"/>
<xs:element name="updateSubscriberResponse" nillable="true" type="tns:OpeneBayUpdateSubscriberResponseType"/>
<xs:element name="removeSubscriberRequest" nillable="true" type="tns:OpeneBayRemoveSubscriberRequestType"/>
<xs:element name="removeSubscriberResponse" nillable="true" type="tns:OpeneBayRemoveSubscriberResponseType"/>


<!-- Common TYPES start -->
<xs:complexType name="OpeneBayPrincipalIdentifierType">
	<xs:attribute name="appId" type="xs:string">
		<xs:annotation>
			<xs:documentation>
				The AppID of the receiving application.
				When you upload a deployment descriptor for your Selling Manager application,
				you provide a value (as myapp.mycompany.com) that becomes your AppID in the keys
				that are issued for your application.
				For information about uploading a deployment descriptor, see
				the User's Guide.
			</xs:documentation>
			<xs:appinfo>
				<MaxLength>128</MaxLength>
				<CallInfo>
					<CallName>addSubscriber</CallName>
					<CallName>removeSubscriber</CallName>
					<CallName>updateSubscriber</CallName>
					<RequiredInput>Yes</RequiredInput>
				</CallInfo>
			</xs:appinfo>
		</xs:annotation>
	</xs:attribute>
</xs:complexType>


<xs:complexType name="OpeneBayRequestCredentialsType">
	<xs:complexContent>
		<xs:extension base="tns:OpeneBayPrincipalIdentifierType">
			<xs:sequence>
					<xs:element name="token" type="tns:OpeneBaySecurityTokenType">
					<xs:annotation>
						<xs:documentation>
							Container for signature and tokenValue.
						</xs:documentation>
						<xs:appinfo>
							<MaxLength>1000</MaxLength>
							<CallInfo>
								<CallName>addSubscriber</CallName>
								<CallName>removeSubscriber</CallName>
								<CallName>updateSubscriber</CallName>
								<RequiredInput>Yes</RequiredInput>
							</CallInfo>
						</xs:appinfo>
					</xs:annotation>
				</xs:element>
			</xs:sequence>
		</xs:extension>
	</xs:complexContent>
</xs:complexType>


<xs:simpleType name="OpeneBayTokenType">
	<xs:annotation>
		<xs:documentation>
			Used to specify whether a token is passed by value or by reference.
			Applications should expect it to be passed by value.
		</xs:documentation>
	</xs:annotation>
	<xs:restriction base="xs:string">
		<xs:enumeration value="Reference">
			<xs:annotation>
				<xs:documentation>
					The token is passed by reference; reserved for future use.
				</xs:documentation>
			</xs:annotation>
		</xs:enumeration>
		<xs:enumeration value="Value">
			<xs:annotation>
				<xs:documentation>
					The token is passed by value.
				</xs:documentation>
			</xs:annotation>
		</xs:enumeration>
	</xs:restriction>
</xs:simpleType>


<xs:complexType name="OpeneBaySecurityTokenType">
	<xs:complexContent>
		<xs:extension base="tns:OpeneBayBaseSecurityTokenType">
			<xs:sequence>
				<xs:element name="tokenValue" type="xs:string">
					<xs:annotation>
						<xs:documentation>
							A base64-encoded string that you must decrypt before
							extracting values. In the case of addSubscriber, the values that you
							extract include the following for
							the user to be added as a subscriber to your application: the user name and
							the user Auth token (that is, the Auth and Auth token used in the
							Trading API). In the case of removeSubscriber, values that you
							extract (for the user to remove) include the user name.
						</xs:documentation>
						<xs:appinfo>
							<MaxLength>2000</MaxLength>
							<CallInfo>
								<CallName>addSubscriber</CallName>
								<CallName>removeSubscriber</CallName>
								<CallName>updateSubscriber</CallName>
								<RequiredInput>Yes</RequiredInput>
							</CallInfo>
							<SeeLink>
								<URL>../../selling-manager-applications/Concepts/SellingManagerApps_APIGuide.html</URL>
								<Title>User Guide</Title>
								<For>values contained in tokenValue, and instructions on decrypting and parsing tokenValue</For>
							</SeeLink>
						</xs:appinfo>
					</xs:annotation>
				</xs:element>
				<xs:element name="signature" type="xs:string">
					<xs:annotation>
						<xs:documentation>
							An RSA-encrypted string by which you can verify that the
							request is from eBay. You decrypt this string with the public eBay key.
							For more information, and the location of the public key, see the link below.
						</xs:documentation>
						<xs:appinfo>
							<CallInfo>
								<CallName>addSubscriber</CallName>
								<CallName>removeSubscriber</CallName>
								<CallName>updateSubscriber</CallName>
								<RequiredInput>Yes</RequiredInput>
							</CallInfo>
							<SeeLink>
								<URL>../../selling-manager-applications/Concepts/SellingManagerApps_APIGuide.html#subscribers</URL>
								<Title>User Guide</Title>
								<For>instructions on using signature</For>
							</SeeLink>
						</xs:appinfo>
					</xs:annotation>
				</xs:element>
			</xs:sequence>
		</xs:extension>
	</xs:complexContent>
</xs:complexType>


<xs:complexType name="OpeneBayBaseSecurityTokenType">
	<xs:attribute name="type" type="tns:OpeneBayTokenType">
		<xs:annotation>
			<xs:documentation>
				The base type for tokens.
			</xs:documentation>
			<xs:appinfo>
				<MaxLength>1000</MaxLength>
				<CallInfo>
					<CallName>addSubscriber</CallName>
					<CallName>removeSubscriber</CallName>
					<RequiredInput>Yes</RequiredInput>
				</CallInfo>
			</xs:appinfo>
		</xs:annotation>
	</xs:attribute>
</xs:complexType>


<!-- Base Request Types -->
<xs:complexType name="BaseOpeneBayParticipantInterfaceRequestType" abstract="true">
	<xs:annotation>
		<xs:documentation>
			Base type for the request container for service operations.
		</xs:documentation>
	</xs:annotation>
	<xs:sequence>
		<xs:element name="credentials" type="tns:OpeneBayRequestCredentialsType">
			<xs:annotation>
				<xs:documentation>
					Container for signature and tokenValue.
				</xs:documentation>
				<xs:appinfo>
					<CallInfo>
						<CallName>addSubscriber</CallName>
						<CallName>removeSubscriber</CallName>
						<CallName>updateSubscriber</CallName>
						<RequiredInput>Yes</RequiredInput>
					</CallInfo>
				</xs:appinfo>
			</xs:annotation>
		</xs:element>
	</xs:sequence>
</xs:complexType>


<!-- Base Response Types -->
<xs:complexType name="BaseOpeneBayParticipantInterfaceResponseType" abstract="true">
	<xs:annotation>
		<xs:documentation>
			Base response container for service operations.
		</xs:documentation>
	</xs:annotation>
	<xs:sequence>
		<xs:element name="ack" type="tns:AckValueType">
			<xs:annotation>
				<xs:documentation>
					Indicates whether there are any errors or warnings associated with the
					processing of the request.
				</xs:documentation>
				<xs:appinfo>
					<CallInfo>
						<AllCalls/>
						<Returned>Always</Returned>
					</CallInfo>
				</xs:appinfo>
			</xs:annotation>
		</xs:element>
		<xs:element  minOccurs="0" name="errorMessage" type="xs:string">
			<xs:annotation>
				<xs:documentation>
					After you decide how your implementation of this service
					will define errors, you can decide whether to use this container.
					eBay does not inspect the value of this errorMessage field.
				</xs:documentation>
				<xs:appinfo>
					<CallInfo>
						<AllCalls/>
						<Returned>Conditionally</Returned>
					</CallInfo>
				</xs:appinfo>
			</xs:annotation>
		</xs:element>
		<xs:element  minOccurs="0" name="errorSeverity" type="tns:ErrorSeverityType">
			<xs:annotation>
				<xs:documentation>
					Indicates whether the error is a severe error
					(causing the request to fail) or an informational error
					(a warning) that should be communicated to the user.
				</xs:documentation>
				<xs:appinfo>
					<CallInfo>
						<AllCalls/>
						<Returned>Conditionally</Returned>
					</CallInfo>
				</xs:appinfo>
			</xs:annotation>
		</xs:element>
		<xs:element name="timestamp" type="xs:dateTime">
			<xs:annotation>
				<xs:documentation>
					The date and time the request was processed. The time zone of this value
					is GMT and the format is the ISO 8601 date and time format (YYYY-MM-
					DDTHH:MM:SS.SSSZ). See Time Values in the eBay Web Services guide for
					information about this time format and converting to and from the GMT time zone.
				</xs:documentation>
				<xs:appinfo>
					<CallInfo>
						<AllCalls/>
						<Returned>Always</Returned>
					</CallInfo>
				</xs:appinfo>
			</xs:annotation>
		</xs:element>
	</xs:sequence>
</xs:complexType>


<xs:simpleType name="AckValueType">
	<xs:annotation>
		<xs:documentation>
			Indicates whether the issue is an error (causing the request to fail)
			or a warning.
		</xs:documentation>
	</xs:annotation>
	<xs:restriction base="xs:string">
		<xs:enumeration value="Success">
			<xs:annotation>
				<xs:documentation>
					The request was processed successfully, but something occurred that may
					affect your application or the user.
				</xs:documentation>
			</xs:annotation>
		</xs:enumeration>
		<xs:enumeration value="Failure">
			<xs:annotation>
				<xs:documentation>
					The request that triggered the error was not processed successfully.
					When a serious application-level error occurs, an error is returned
					instead of business data.
				</xs:documentation>
			</xs:annotation>
		</xs:enumeration>
		<xs:enumeration value="Warning">
			<xs:annotation>
				<xs:documentation>
					The request that triggered the error was processed successfully but with
					some warnings.
				</xs:documentation>
			</xs:annotation>
		</xs:enumeration>
		<xs:enumeration value="PartialFailure">
			<xs:annotation>
				<xs:documentation>
					The request that triggered the error was processed successfully but with
					some warnings.
				</xs:documentation>
			</xs:annotation>
		</xs:enumeration>
	</xs:restriction>
</xs:simpleType>


<xs:simpleType name="ErrorSeverityType">
	<xs:annotation>
		<xs:documentation>
			Indicates whether the error is a severe error
			(causing the request to fail) or an informational error
			(a warning) that should be communicated to the user.
		</xs:documentation>
	</xs:annotation>
	<xs:restriction base="xs:string">
		<xs:enumeration value="Error">
			<xs:annotation>
				<xs:documentation>
					The request that triggered the error was not processed successfully.
					When a serious application-level error occurs, the error is returned
					instead of the business data.
				</xs:documentation>
			</xs:annotation>
		</xs:enumeration>
		<xs:enumeration value="Warning">
			<xs:annotation>
				<xs:documentation>
					The request was processed successfully, but something occurred that may
					affect your application or the user. For example, eBay may have changed a
					value the user sent in. In this case, eBay returns a normal, successful
					response and also returns the warning.
				</xs:documentation>
			</xs:annotation>
		</xs:enumeration>
	</xs:restriction>
</xs:simpleType>


<xs:complexType name="OpeneBaySubscriberInfoType">
	<xs:annotation>
		<xs:documentation>
			Container for an eBay user name, provided for convenience.
			Instead using the value in this container, use the value in tokenValue.
		</xs:documentation>
	</xs:annotation>
	<xs:sequence>
		<xs:element name="userName" type="xs:string" minOccurs="0">
			<xs:annotation>
				<xs:documentation>
					The user name of an eBay user, provided for convenience.
					Instead of using this value for the user name, use the value in tokenValue.
				</xs:documentation>
				<xs:appinfo>
					<MaxLength>64</MaxLength>
					<CallInfo>
						<CallName>addSubscriber</CallName>
						<CallName>removeSubscriber</CallName>
						<CallName>updateSubscriber</CallName>
						<RequiredInput>Yes</RequiredInput>
					</CallInfo>
				</xs:appinfo>
			</xs:annotation>
		</xs:element>
	</xs:sequence>
</xs:complexType>

<xs:complexType name="OpeneBaySubscriptionStateChangeInfoType">
	<xs:annotation>
		<xs:documentation>
			Container for information about a change in the state of a subscription.
		</xs:documentation>
	</xs:annotation>
	<xs:sequence>
		<xs:element name="previousState" type="tns:OpeneBaySubscriptionStateType" minOccurs="0">
			<xs:annotation>
				<xs:documentation>
					The state that the subscription was in, before eBay detected that a change
					occurred.
				</xs:documentation>
				<xs:appinfo>
					<CallInfo>
						<CallName>updateSubscriber</CallName>
						<RequiredInput>Yes</RequiredInput>
					</CallInfo>
				</xs:appinfo>
			</xs:annotation>
		</xs:element>
		<xs:element name="newState" type="tns:OpeneBaySubscriptionStateType" minOccurs="0">
			<xs:annotation>
				<xs:documentation>
					The new state of a subscription.
					This value is sent by eBay;
					eBay sends an updateSubscriber request to your application when
					a change in a user's subscription state is detected.
					For example, eBay sends an updateSubscriber request
					to your application if, due to a payment failure,
					a user's subscription goes into a suspended state.
				</xs:documentation>
				<xs:appinfo>
					<CallInfo>
						<CallName>updateSubscriber</CallName>
						<RequiredInput>Yes</RequiredInput>
					</CallInfo>
				</xs:appinfo>
			</xs:annotation>
		</xs:element>
		<xs:element name="note" type="xs:string" minOccurs="0">
			<xs:annotation>
				<xs:documentation>
					A message about the reason for the change in state of the subscription.
					Depending on how the subscription state was changed,
					this message may have been manually entered (as part of the
					change) or may have been auto-generated.
				</xs:documentation>
				<xs:appinfo>
					<CallInfo>
						<CallName>updateSubscriber</CallName>
						<RequiredInput>Yes</RequiredInput>
					</CallInfo>
				</xs:appinfo>
			</xs:annotation>
		</xs:element>
	</xs:sequence>
</xs:complexType>

<xs:simpleType name="OpeneBaySubscriptionStatusType">
	<xs:annotation>
		<xs:documentation>
			The subscription status of an eBay user, according to your application.
		</xs:documentation>
	</xs:annotation>
	<xs:restriction base="xs:string">
		<xs:enumeration value="Approved">
			<xs:annotation>
				<xs:documentation>
					Subscription status is approved, according to your application.
					If you specify this value, eBay sets the user's
					subscription to Active.
				</xs:documentation>
			</xs:annotation>
		</xs:enumeration>
		<xs:enumeration value="Pending">
			<xs:annotation>
				<xs:documentation>
					Subscription status is pending, according to your application.
					If you specify this value, eBay takes no action.
				</xs:documentation>
			</xs:annotation>
		</xs:enumeration>
		<xs:enumeration value="Rejected">
			<xs:annotation>
				<xs:documentation>
					Subscription status is rejected, according to your application.
					If you specify this value in an addSubscriber response,
					it means that, for whatever reason, your application is not
					accepting the subscription specified by eBay in the addSubscriber request.
					If eBay receives an addSubscriber response with
					a status of Rejected, eBay will set the user's subscription status to Rejected.
				</xs:documentation>
			</xs:annotation>
		</xs:enumeration>
	</xs:restriction>
</xs:simpleType>

<xs:simpleType name="OpeneBaySubscriptionStateType">
	<xs:annotation>
		<xs:documentation>
			The subscription status of an eBay user.
		</xs:documentation>
	</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:enumeration value="Created">
				<xs:annotation>
					<xs:documentation>
						Reserved for future use.
					</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="Pending">
				<xs:annotation>
					<xs:documentation>
						Pending state. The subscription is not yet in the Active state.
					</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="Active">
				<xs:annotation>
					<xs:documentation>
						Active state, i.e. actively subscribed to an application.
					</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="Suspended">
				<xs:annotation>
					<xs:documentation>
						Suspended state, e.g. due to a payment failure or past due account.
						There is a block (that can be removed)
						on the user's access to the application.
						That is, the user cannot start the application.
					</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="Cancelled">
				<xs:annotation>
					<xs:documentation>
						Cancelled state, i.e. unsubscribed from an application.
					</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="Rejected">
				<xs:annotation>
					<xs:documentation>
						Rejected state. One of the following
						has occurred: your application
						rejected the subscription (after receiving an addSubscriber call),
						or the subscription was manually changed (by the third-party
						application developer) to the rejected state.
					</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="CancelledPending">
				<xs:annotation>
					<xs:documentation>
						Reserved for future use.
					</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
		</xs:restriction>
</xs:simpleType>


<xs:complexType name="OpeneBaySubscriptionInfoType">
	<xs:annotation>
		<xs:documentation>
			Container for subscription-related information.
		</xs:documentation>
	</xs:annotation>
	<xs:sequence>
			<xs:element name="subscriptionId" type="xs:string" minOccurs="1">
					<xs:annotation>
						<xs:documentation>
							For a particular application, the subscriptionId
							uniquely identifies a user's subscription.
						</xs:documentation>
						<xs:appinfo>
							<MaxLength>38</MaxLength>
							<CallInfo>
								<CallName>addSubscriber</CallName>
								<CallName>removeSubscriber</CallName>
								<CallName>updateSubscriber</CallName>
								<RequiredInput>Yes</RequiredInput>
							</CallInfo>
						</xs:appinfo>
					</xs:annotation>
				</xs:element>
				<xs:element name="planId" type="xs:string" minOccurs="1">
					<xs:annotation>
						<xs:documentation>
							A planId is assigned by eBay to each subscription plan.
							Your application often uses this value in calls
							to the Open eBay Application Integration Service.
							Note that the planId is diffrent from the externalPlanId.
							In contrast to the planId, the externalPlanId is the
							value that you provide,
							as a "Developer Plan ID," when you create a subscription plan.
						</xs:documentation>
						<xs:appinfo>
							<MaxLength>38</MaxLength>
							<CallInfo>
								<CallName>addSubscriber</CallName>
								<CallName>removeSubscriber</CallName>
								<CallName>updateSubscriber</CallName>
								<RequiredInput>No</RequiredInput>
							</CallInfo>
						</xs:appinfo>
					</xs:annotation>
				</xs:element>
				<xs:element name="planName" type="xs:string" minOccurs="1">
					<xs:annotation>
						<xs:documentation>
							The plan name that you provided for your subscription plan when you created the plan.
							This plan name is provided in the call request to help
							you read log files, during debugging.
							Instead of using this value for programmatically
							identifying the subscription plan, use value in the externalPlanId field.
						</xs:documentation>
						<xs:appinfo>
							<MaxLength>128</MaxLength>
							<CallInfo>
								<CallName>addSubscriber</CallName>
								<CallName>removeSubscriber</CallName>
								<CallName>updateSubscriber</CallName>
								<RequiredInput>Yes</RequiredInput>
							</CallInfo>
						</xs:appinfo>
					</xs:annotation>
				</xs:element>
				<xs:element name="externalPlanId" type="xs:string" minOccurs="0">
					<xs:annotation>
						<xs:documentation>
							When you create a subscription plan, you provide a Developer Plan ID.
							That Developer Plan ID is contained in this externalPlanId field.
							(For users to subscribe to your application,
							you must create at least one subscription plan.)
							In this call, the externalPlanId identifies the plan to which a user has subscribed.
							Note that if you are running an application in the sandbox,
							a subscription plan, and an associated value for the Developer Plan ID,
							are created for you. You can create others plans, if desired, with
							different Developer Plan IDs.
						</xs:documentation>
						<xs:appinfo>
							<MaxLength>128</MaxLength>
							<CallInfo>
								<CallName>addSubscriber</CallName>
								<CallName>removeSubscriber</CallName>
								<CallName>updateSubscriber</CallName>
								<RequiredInput>Yes</RequiredInput>
							</CallInfo>
						</xs:appinfo>
					</xs:annotation>
				</xs:element>
				<xs:element name="note" type="xs:string" minOccurs="0">
					<xs:annotation>
						<xs:documentation>
							Reserved for future use.
						</xs:documentation>
					</xs:annotation>
				</xs:element>
	</xs:sequence>
</xs:complexType>


<xs:complexType name="OpeneBayAddSubscriberRequestType">
	<xs:annotation>
		<xs:documentation>
			Sent by eBay to request that you add an eBay member to
			your subscription database. eBay sends this request
			after a user completes the subscription flow.
			The subscription flow is accessible from the Selling
			Applications Directory.
			Your application must use a subscription listener
			to receive addSubscriber requests from eBay.
			When you receive an addSubscriber request, your application
			responds with a status value, indicating the
			subscription status of the user in your database.
		</xs:documentation>
		<xs:appinfo>
			<Summary>
				Sent by eBay to request that you add an eBay member to
				your subscription database.
			</Summary>
			<SeeLink>
				<URL>../../selling-manager-applications/Concepts/SellingManagerApps_APIGuide.html#subscribers</URL>
				<Title>User Guide</Title>
				<For>information about a subscription listener</For>
			</SeeLink>
			<TempInfo>samples</TempInfo>
		</xs:appinfo>
	</xs:annotation>
	<xs:complexContent>
		<xs:extension base="tns:BaseOpeneBayParticipantInterfaceRequestType">
			<xs:sequence>
				<xs:element name="userInfo" type="tns:OpeneBaySubscriberInfoType" minOccurs="0">
					<xs:annotation>
						<xs:documentation>
							Container for a field that indicates the user name of an eBay user.
						</xs:documentation>
						<xs:appinfo>
							<CallInfo>
								<CallName>addSubscriber</CallName>
								<CallName>updateSubscriber</CallName>
								<RequiredInput>Yes</RequiredInput>
							</CallInfo>
						</xs:appinfo>
					</xs:annotation>
				</xs:element>
				<xs:element name="subscriptionInfo" minOccurs="0" type="tns:OpeneBaySubscriptionInfoType">
					<xs:annotation>
						<xs:documentation>
							Container for subscription-related information.
						</xs:documentation>
						<xs:appinfo>
							<CallInfo>
								<CallName>addSubscriber</CallName>
								<CallName>updateSubscriber</CallName>
								<RequiredInput>Yes</RequiredInput>
							</CallInfo>
						</xs:appinfo>
					</xs:annotation>
				</xs:element>
			</xs:sequence>
		</xs:extension>
	</xs:complexContent>
</xs:complexType>


<xs:complexType name="OpeneBayAddSubscriberResponseType">
	<xs:annotation>
		<xs:documentation>
			Contains a response to an addSubscriber call.
		</xs:documentation>
	</xs:annotation>
	<xs:complexContent>
 		<xs:extension base="tns:BaseOpeneBayParticipantInterfaceResponseType">
			<xs:sequence>
				<xs:element name="subscriptionId" type="xs:string" minOccurs="0">
					<xs:annotation>
						<xs:documentation>
							For a particular application, the subscriptionId
							uniquely identifies a user's subscription.
						</xs:documentation>
						<xs:appinfo>
							<CallInfo>
								<CallName>addSubscriber</CallName>
								<CallName>removeSubscriber</CallName>
								<Returned>Conditionally</Returned>
							</CallInfo>
						</xs:appinfo>
					</xs:annotation>
				</xs:element>
				<xs:element name="status" type="tns:OpeneBaySubscriptionStatusType" minOccurs="1">
					<xs:annotation>
						<xs:documentation>
							The status of the subscription, according to your application.
							For example, when you receive an addSubscriber request,
							your application's response includes this field to indicate the
							latest subscription status of the user, according to your database.
							This status value initially is
							set by your application, unlike the
							subscriptionStateChangeInfo.newState
							value, which is set by eBay. When eBay receives this status value from
							your application, eBay sets the subscription to Active, Pending,
							or Rejected, depending on the status value you send in the response.
						</xs:documentation>
						<xs:appinfo>
							<CallInfo>
								<CallName>addSubscriber</CallName>
								<CallName>removeSubscriber</CallName>
								<Returned>Always</Returned>
							</CallInfo>
						</xs:appinfo>
					</xs:annotation>
				</xs:element>
				<xs:element name="message" type="xs:string" minOccurs="0">
					<xs:annotation>
						<xs:documentation>
							Message about the subscription status.
						</xs:documentation>
						<xs:appinfo>
							<CallInfo>
								<CallName>addSubscriber</CallName>
								<CallName>removeSubscriber</CallName>
								<Returned>Always</Returned>
							</CallInfo>
						</xs:appinfo>
					</xs:annotation>
				</xs:element>
			</xs:sequence>
		</xs:extension>
	</xs:complexContent>
</xs:complexType>



<xs:complexType name="OpeneBayUpdateSubscriberRequestType">
	<xs:annotation>
		<xs:documentation>
				Sent by eBay to request that you update information about an eBay member in
				your subscription database. This call always applies to an existing subscription.
				eBay sends an updateSubscriber call to your application when
				eBay detects a change in a subscription state for a user.
				For example, if an SM Apps developer changes a user's subscription state
				using the Embedded Applications tab (at the Developers Program website),
				eBay sends an updateSubscriber call to your application.
		</xs:documentation>
		<xs:appinfo>
			<Summary>
				Sent by eBay to request that you update information about an eBay member in
				your subscription database.
			</Summary>
			<SeeLink>
				<URL>../../selling-manager-applications/Concepts/SellingManagerApps_APIGuide.html#subscribers</URL>
				<Title>User Guide</Title>
				<For>information about a subscription listener</For>
			</SeeLink>
			<TempInfo>samples</TempInfo>
		</xs:appinfo>
	</xs:annotation>
	<xs:complexContent>
		<xs:extension base="tns:BaseOpeneBayParticipantInterfaceRequestType">
			<xs:sequence>
				<xs:element name="userInfo" type="tns:OpeneBaySubscriberInfoType" minOccurs="0">
					<xs:annotation>
						<xs:documentation>
							Container for a field that indicates the user name of an eBay user.
						</xs:documentation>
						<xs:appinfo>
							<CallInfo>
								<CallName>updateSubscriber</CallName>
								<RequiredInput>Yes</RequiredInput>
							</CallInfo>
						</xs:appinfo>
					</xs:annotation>
				</xs:element>
				<xs:element name="subscriptionInfo" minOccurs="0" type="tns:OpeneBaySubscriptionInfoType">
					<xs:annotation>
						<xs:documentation>
							Container for subscription-related information.
						</xs:documentation>
						<xs:appinfo>
							<CallInfo>
								<CallName>updateSubscriber</CallName>
								<RequiredInput>Yes</RequiredInput>
							</CallInfo>
						</xs:appinfo>
					</xs:annotation>
				</xs:element>
				<xs:element name="subscriptionStateChangeInfo" minOccurs="0" type="tns:OpeneBaySubscriptionStateChangeInfoType">
					<xs:annotation>
						<xs:documentation>
							Container for subscription-related information.
						</xs:documentation>
						<xs:appinfo>
							<CallInfo>
								<CallName>updateSubscriber</CallName>
								<RequiredInput>Yes</RequiredInput>
							</CallInfo>
						</xs:appinfo>
					</xs:annotation>
				</xs:element>
			</xs:sequence>
		</xs:extension>
	</xs:complexContent>
</xs:complexType>


<xs:complexType name="OpeneBayUpdateSubscriberResponseType">
	<xs:annotation>
		<xs:documentation>
			Contains a response to an updateSubscriber call.
		</xs:documentation>
	</xs:annotation>
	<xs:complexContent>
 		<xs:extension base="tns:BaseOpeneBayParticipantInterfaceResponseType">
		</xs:extension>
	</xs:complexContent>
</xs:complexType>


<xs:complexType name="OpeneBayRemoveSubscriberRequestType">
	<xs:annotation>
		<xs:documentation>
			Sent by eBay to request that you remove an eBay member from
			your subscription database. eBay sends the request
			when a user clicks the Unsubscribe button in My eBay.
			Your application must use a subscription listener
			to receive removeSubscriber requests from eBay.
			Decrypt the data in credentials.token.tokenValue
			in order to obtain the user name of the
			eBay member to remove from your subscription database.
			You must use the user name from credentials.token.tokenValue,
			not the auth token, because in a removeSubscriber request, the
			credentials.token.tokenValue field
			does not contain a token.
		</xs:documentation>
		<xs:appinfo>
			<Summary>
				Sent by eBay to request that you remove an eBay member from
				your subscription database.
			</Summary>
			<SeeLink>
				<URL>../../selling-manager-applications/Concepts/SellingManagerApps_APIGuide.html#subscribers</URL>
				<Title>User Guide</Title>
				<For>information about a subscription listener</For>
			</SeeLink>
			<TempInfo>samples</TempInfo>
		</xs:appinfo>
	</xs:annotation>
	<xs:complexContent>
		<xs:extension base="tns:BaseOpeneBayParticipantInterfaceRequestType">
			<xs:sequence>
				<xs:element name="userInfo" type="tns:OpeneBaySubscriberInfoType" minOccurs="0">
					<xs:annotation>
						<xs:documentation>
							Container for a field that indicates the user name of an eBay user.
						</xs:documentation>
						<xs:appinfo>
							<CallInfo>
								<CallName>removeSubscriber</CallName>
								<RequiredInput>Yes</RequiredInput>
							</CallInfo>
						</xs:appinfo>
					</xs:annotation>
				</xs:element>
				<xs:element name="subscriptionInfo" minOccurs="0" type="tns:OpeneBaySubscriptionInfoType">
					<xs:annotation>
						<xs:documentation>
							Container for subscription-related information.
						</xs:documentation>
						<xs:appinfo>
							<CallInfo>
								<CallName>removeSubscriber</CallName>
								<RequiredInput>Yes</RequiredInput>
							</CallInfo>
						</xs:appinfo>
					</xs:annotation>
				</xs:element>
			</xs:sequence>
		</xs:extension>
	</xs:complexContent>
</xs:complexType>


<xs:complexType name="OpeneBayRemoveSubscriberResponseType">
	<xs:annotation>
		<xs:documentation>
			Contains a response to a removeSubscriber call.
		</xs:documentation>
	</xs:annotation>
	<xs:complexContent>
		<xs:extension base="tns:BaseOpeneBayParticipantInterfaceResponseType">
		</xs:extension>
	</xs:complexContent>
</xs:complexType>


		</xs:schema>
	</wsdl:types>
	<wsdl:message name="addSubscriberRequest">
		<wsdl:part name="addSubsciberRequest" element="ns0:addSubscriberRequest">
	    </wsdl:part>
	</wsdl:message>
	<wsdl:message name="addSubscriberResponse">
		<wsdl:part name="addSubscriberResponse" element="ns0:addSubscriberResponse">
	    </wsdl:part>
	</wsdl:message>
	<wsdl:message name="updateSubscriberRequest">
		<wsdl:part name="updateSubsciberRequest" element="ns0:updateSubscriberRequest">
	    </wsdl:part>
	</wsdl:message>
	<wsdl:message name="updateSubscriberResponse">
		<wsdl:part name="updateSubscriberResponse" element="ns0:updateSubscriberResponse">
	    </wsdl:part>
	</wsdl:message>
	<wsdl:message name="removeSubscriberRequest">
		<wsdl:part name="removeSubsciberRequest" element="ns0:removeSubscriberRequest">
	    </wsdl:part>
	</wsdl:message>
	<wsdl:message name="removeSubscriberResponse">
		<wsdl:part name="removeSubscriberResponse" element="ns0:removeSubscriberResponse">
	    </wsdl:part>
	</wsdl:message>
	<wsdl:portType name="OpeneBayParticipantInterfaceServicePortType">
		<wsdl:operation name="addSubscriber">
			<wsdl:input message="ns0:addSubscriberRequest">
				<!--  wsaw:Action="urn:addSubscriber"> -->
			</wsdl:input>
			<wsdl:output message="ns0:addSubscriberResponse">
				<!-- wsaw:Action="urn:addSubscriberResponse">-->
			</wsdl:output>
		</wsdl:operation>
		<wsdl:operation name="updateSubscriber">
			<wsdl:input message="ns0:updateSubscriberRequest">
				<!--  wsaw:Action="urn:addSubscriber"> -->
			</wsdl:input>
			<wsdl:output message="ns0:updateSubscriberResponse">
				<!-- wsaw:Action="urn:addSubscriberResponse">-->
			</wsdl:output>
		</wsdl:operation>
		<wsdl:operation name="removeSubscriber">
			<wsdl:input message="ns0:removeSubscriberRequest">
				<!--  wsaw:Action="urn:addSubscriber"> -->
			</wsdl:input>
			<wsdl:output message="ns0:removeSubscriberResponse">
				<!-- wsaw:Action="urn:addSubscriberResponse">-->
			</wsdl:output>
		</wsdl:operation>
	</wsdl:portType>
	<wsdl:binding name="OpeneBayParticipantInterfaceServiceSoap12Binding" type="ns0:OpeneBayParticipantInterfaceServicePortType">
		<soap12:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
		<wsdl:operation name="addSubscriber">
			<soap12:operation soapAction="urn:addSubscriber" style="document"/>
			<wsdl:input>
				<soap12:body use="literal"/>
			</wsdl:input>
			<wsdl:output>
				<soap12:body use="literal"/>
			</wsdl:output>
		</wsdl:operation>
		<wsdl:operation name="updateSubscriber">
			<soap12:operation soapAction="urn:updateSubscriber" style="document"/>
			<wsdl:input>
				<soap12:body use="literal"/>
			</wsdl:input>
			<wsdl:output>
				<soap12:body use="literal"/>
			</wsdl:output>
		</wsdl:operation>
		<wsdl:operation name="removeSubscriber">
			<soap12:operation soapAction="urn:removeSubscriber" style="document"/>
			<wsdl:input>
				<soap12:body use="literal"/>
			</wsdl:input>
			<wsdl:output>
				<soap12:body use="literal"/>
			</wsdl:output>
		</wsdl:operation>
	</wsdl:binding>
	<wsdl:binding name="OpeneBayParticipantInterfaceServiceSoap11Binding" type="ns0:OpeneBayParticipantInterfaceServicePortType">
		<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
		<wsdl:operation name="addSubscriber">
			<soap:operation soapAction="urn:addSubscriber" style="document"/>
			<wsdl:input>
				<soap:body use="literal"/>
			</wsdl:input>
			<wsdl:output>
				<soap:body use="literal"/>
			</wsdl:output>
		</wsdl:operation>
		<wsdl:operation name="updateSubscriber">
			<soap12:operation soapAction="urn:updateSubscriber" style="document"/>
			<wsdl:input>
				<soap12:body use="literal"/>
			</wsdl:input>
			<wsdl:output>
				<soap12:body use="literal"/>
			</wsdl:output>
		</wsdl:operation>
		<wsdl:operation name="removeSubscriber">
			<soap12:operation soapAction="urn:removeSubscriber" style="document"/>
			<wsdl:input>
				<soap12:body use="literal"/>
			</wsdl:input>
			<wsdl:output>
				<soap12:body use="literal"/>
			</wsdl:output>
		</wsdl:operation>
	</wsdl:binding>
	<wsdl:binding name="OpeneBayParticipantInterfaceServiceHttpBinding" type="ns0:OpeneBayParticipantInterfaceServicePortType">
		<http:binding verb="POST"/>
		<wsdl:operation name="addSubscriber">
			<http:operation location="OpeneBayParticipantInterfaceService/addSubscriber"/>
			<wsdl:input>
				<mime:content part="addSubscriberRequest" type="text/xml"/>
			</wsdl:input>
			<wsdl:output>
				<mime:content part="addSubscriberResponse" type="text/xml"/>
			</wsdl:output>
		</wsdl:operation>
		<wsdl:operation name="updateSubscriber">
			<http:operation location="OpeneBayParticipantInterfaceService/updateSubscriber"/>
			<wsdl:input>
				<mime:content part="updateSubscriberRequest" type="text/xml"/>
			</wsdl:input>
			<wsdl:output>
				<mime:content part="updateSubscriberResponse" type="text/xml"/>
			</wsdl:output>
		</wsdl:operation>
		<wsdl:operation name="removeSubscriber">
			<http:operation location="OpeneBayParticipantInterfaceService/removeSubscriber"/>
			<wsdl:input>
				<mime:content part="removeSubscriberRequest" type="text/xml"/>
			</wsdl:input>
			<wsdl:output>
				<mime:content part="removeSubscriberResponse" type="text/xml"/>
			</wsdl:output>
		</wsdl:operation>
	</wsdl:binding>
	<wsdl:service name="OpeneBayParticipantInterfaceService">
		<wsdl:documentation>
			<Version>1.3.0</Version>
		</wsdl:documentation>
		<wsdl:port name="OpeneBayParticipantInterfaceServiceHttpSoap11Endpoint" binding="ns0:OpeneBayParticipantInterfaceServiceSoap11Binding">
			<soap:address location="http://10.254.49.67:9090/axis2/services/OpeneBayParticipantInterfaceService.OpeneBayParticipantInterfaceServiceHttpSoap11Endpoint"/>
		</wsdl:port>
		<wsdl:port name="OpeneBayParticipantInterfaceServiceHttpEndpoint" binding="ns0:OpeneBayParticipantInterfaceServiceHttpBinding">
			<http:address location="http://10.254.49.67:9090/axis2/services/OpeneBayParticipantInterfaceService.OpeneBayParticipantInterfaceServiceHttpEndpoint"/>
		</wsdl:port>
		<wsdl:port name="OpeneBayParticipantInterfaceServiceHttpSoap12Endpoint" binding="ns0:OpeneBayParticipantInterfaceServiceSoap12Binding">
			<soap12:address location="http://10.254.49.67:9090/axis2/services/OpeneBayParticipantInterfaceService.OpeneBayParticipantInterfaceServiceHttpSoap12Endpoint"/>
		</wsdl:port>
	</wsdl:service>
</wsdl:definitions>
