Anonymous avatar Anonymous committed 0e946ae

Added missing support file

Comments (0)

Files changed (1)

tests/support/CampaignService.wsdl

+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Generated file, do not edit -->
+<!-- Copyright 2011 Google Inc. All Rights Reserved -->
+<wsdl:definitions
+  targetNamespace="https://adwords.google.com/api/adwords/cm/v201101"
+  xmlns:tns="https://adwords.google.com/api/adwords/cm/v201101"
+  xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
+  xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+  <wsdl:types>
+    <schema elementFormDefault="qualified" jaxb:version="1.0"
+      targetNamespace="https://adwords.google.com/api/adwords/cm/v201101"
+      xmlns="http://www.w3.org/2001/XMLSchema"
+      xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" xmlns:tns="https://adwords.google.com/api/adwords/cm/v201101">
+      <annotation>
+        <appinfo>
+          <jaxb:globalBindings typesafeEnumMaxMembers="999999"/>
+        </appinfo>
+      </annotation>
+      <complexType name="AuthenticationError">
+        <annotation>
+          <documentation>
+            Errors returned when Authentication failed.
+          </documentation>
+        </annotation>
+        <complexContent>
+          <extension base="tns:ApiError">
+            <sequence>
+              <element maxOccurs="1" minOccurs="0" name="reason" type="tns:AuthenticationError.Reason">
+                <annotation>
+                  <documentation>
+                    The error reason represented by an enum.
+                  </documentation>
+                </annotation>
+              </element>
+            </sequence>
+          </extension>
+        </complexContent>
+      </complexType>
+      <complexType name="AuthorizationError">
+        <annotation>
+          <documentation>
+            Errors encountered when trying to authorize a user.
+          </documentation>
+        </annotation>
+        <complexContent>
+          <extension base="tns:ApiError">
+            <sequence>
+              <element maxOccurs="1" minOccurs="0" name="reason" type="tns:AuthorizationError.Reason">
+                <annotation>
+                  <documentation>
+                    The error reason represented by an enum.
+                  </documentation>
+                </annotation>
+              </element>
+            </sequence>
+          </extension>
+        </complexContent>
+      </complexType>
+      <complexType name="BiddingError">
+        <annotation>
+          <documentation>
+            Represents bidding errors.
+          </documentation>
+        </annotation>
+        <complexContent>
+          <extension base="tns:ApiError">
+            <sequence>
+              <element maxOccurs="1" minOccurs="0" name="reason" type="tns:BiddingError.Reason"/>
+            </sequence>
+          </extension>
+        </complexContent>
+      </complexType>
+      <complexType name="BiddingTransitionError">
+        <annotation>
+          <documentation>
+            Bidding transition errors.
+          </documentation>
+        </annotation>
+        <complexContent>
+          <extension base="tns:ApiError">
+            <sequence>
+              <element maxOccurs="1" minOccurs="0" name="reason" type="tns:BiddingTransitionError.Reason"/>
+            </sequence>
+          </extension>
+        </complexContent>
+      </complexType>
+      <complexType name="BudgetError">
+        <annotation>
+          <documentation>
+            A list of all the error codes being used by the common budget domain package.
+          </documentation>
+        </annotation>
+        <complexContent>
+          <extension base="tns:ApiError">
+            <sequence>
+              <element maxOccurs="1" minOccurs="0" name="reason" type="tns:BudgetError.Reason">
+                <annotation>
+                  <documentation>
+                    The error reason represented by an enum.
+                  </documentation>
+                </annotation>
+              </element>
+            </sequence>
+          </extension>
+        </complexContent>
+      </complexType>
+      <complexType name="CampaignError">
+        <annotation>
+          <documentation>
+            Base error class for Campaign Service.
+          </documentation>
+        </annotation>
+        <complexContent>
+          <extension base="tns:ApiError">
+            <sequence>
+              <element maxOccurs="1" minOccurs="0" name="reason" type="tns:CampaignError.Reason">
+                <annotation>
+                  <documentation>
+                    The error reason represented by an enum.
+                  </documentation>
+                </annotation>
+              </element>
+            </sequence>
+          </extension>
+        </complexContent>
+      </complexType>
+      <complexType name="CampaignStats">
+        <annotation>
+          <documentation>
+            Represents stats specific to Campaigns.
+          </documentation>
+        </annotation>
+        <complexContent>
+          <extension base="tns:Stats">
+            <sequence/>
+          </extension>
+        </complexContent>
+      </complexType>
+      <complexType name="ClientTermsError">
+        <annotation>
+          <documentation>
+            Error due to user not accepting the AdWords terms of service.
+          </documentation>
+        </annotation>
+        <complexContent>
+          <extension base="tns:ApiError">
+            <sequence>
+              <element maxOccurs="1" minOccurs="0" name="reason" type="tns:ClientTermsError.Reason"/>
+            </sequence>
+          </extension>
+        </complexContent>
+      </complexType>
+      <complexType name="ConversionOptimizer">
+        <annotation>
+          <documentation>
+            Conversion optimizer bidding strategy. For more information, visit the
+            &lt;a href="http://www.google.com/adwords/conversionoptimizer/index.html"
+            &gt;Conversion Optimizer site&lt;/a&gt;.
+          </documentation>
+        </annotation>
+        <complexContent>
+          <extension base="tns:BiddingStrategy">
+            <sequence>
+              <element maxOccurs="1" minOccurs="0" name="pricingModel" type="tns:PricingModel">
+                <annotation>
+                  <documentation>
+                    Pricing model for the conversion optimizer bidding strategy,
+                    Click for pay-per-click or Conversions for pay-per-conversions.
+                    If the pricing model is not specified  it defaults to Clicks.
+                    &lt;span class="constraint Selectable"&gt;This field can be selected using the value "PricingModel".&lt;/span&gt;&lt;span class="constraint Filterable"&gt;This field can be filtered on.&lt;/span&gt;
+                  </documentation>
+                </annotation>
+              </element>
+              <element maxOccurs="1" minOccurs="0"
+                name="conversionOptimizerBidType" type="tns:ConversionOptimizerBidType">
+                <annotation>
+                  <documentation>
+                    Bid type for the conversion optimizer campaign
+                    &lt;span class="constraint Selectable"&gt;This field can be selected using the value "ConversionOptimizerBidType".&lt;/span&gt;&lt;span class="constraint Filterable"&gt;This field can be filtered on.&lt;/span&gt;
+                  </documentation>
+                </annotation>
+              </element>
+              <element maxOccurs="1" minOccurs="0"
+                name="deduplicationMode" type="tns:ConversionDeduplicationMode">
+                <annotation>
+                  <documentation>
+                    Deduplication mode for the conversion optimizer campaign
+                    &lt;span class="constraint Selectable"&gt;This field can be selected using the value "DeduplicationMode".&lt;/span&gt;&lt;span class="constraint Filterable"&gt;This field can be filtered on.&lt;/span&gt;
+                  </documentation>
+                </annotation>
+              </element>
+            </sequence>
+          </extension>
+        </complexContent>
+      </complexType>
+      <complexType name="ConversionOptimizerBiddingTransition">
+        <annotation>
+          <documentation>
+            Used to switch a campaign's bidding strategy to conversion optimizer.
+          </documentation>
+        </annotation>
+        <complexContent>
+          <extension base="tns:BiddingTransition">
+            <sequence>
+              <element maxOccurs="1" minOccurs="0" name="useSavedBids" type="xsd:boolean">
+                <annotation>
+                  <documentation>
+                    Indicate to use the existing bids, if there are previously saved CPA bids
+                    for the AdGroup during transition of campaign from
+                    {@link ManualCPC} to {@link ConversionOptimizer}.
+                  </documentation>
+                </annotation>
+              </element>
+            </sequence>
+          </extension>
+        </complexContent>
+      </complexType>
+      <complexType name="ConversionOptimizerEligibility">
+        <annotation>
+          <documentation>
+            Eligibility data for Campaign to transition to Conversion Optimizer
+          </documentation>
+        </annotation>
+        <sequence>
+          <element maxOccurs="1" minOccurs="0" name="eligible" type="xsd:boolean">
+            <annotation>
+              <documentation>
+                If the campaign is eligible to enter conversion optimizer.
+                &lt;span class="constraint Selectable"&gt;This field can be selected using the value "Eligible".&lt;/span&gt;
+                &lt;span class="constraint ReadOnly"&gt;This field is read only and should not be set.  If this field is sent to the API, it will be ignored.&lt;/span&gt;
+              </documentation>
+            </annotation>
+          </element>
+          <element maxOccurs="unbounded" minOccurs="0"
+            name="rejectionReasons" type="tns:ConversionOptimizerEligibility.RejectionReason">
+            <annotation>
+              <documentation>
+                Reason why a campaign would be rejected for conversion optimizer.
+                &lt;span class="constraint Selectable"&gt;This field can be selected using the value "RejectionReasons".&lt;/span&gt;
+                &lt;span class="constraint ReadOnly"&gt;This field is read only and should not be set.  If this field is sent to the API, it will be ignored.&lt;/span&gt;
+              </documentation>
+            </annotation>
+          </element>
+        </sequence>
+      </complexType>
+      <complexType name="DateError">
+        <annotation>
+          <documentation>
+            Errors associated with invalid dates and date ranges.
+          </documentation>
+        </annotation>
+        <complexContent>
+          <extension base="tns:ApiError">
+            <sequence>
+              <element maxOccurs="1" minOccurs="0" name="reason" type="tns:DateError.Reason">
+                <annotation>
+                  <documentation>
+                    The error reason represented by an enum.
+                  </documentation>
+                </annotation>
+              </element>
+            </sequence>
+          </extension>
+        </complexContent>
+      </complexType>
+      <complexType name="DateRange">
+        <annotation>
+          <documentation>
+            Represents a range of dates that has either an upper or a lower bound.
+            The format for the date is YYYYMMDD.
+          </documentation>
+        </annotation>
+        <sequence>
+          <element maxOccurs="1" minOccurs="0" name="min" type="xsd:string">
+            <annotation>
+              <documentation>
+                the lower bound of this date range, inclusive.
+              </documentation>
+            </annotation>
+          </element>
+          <element maxOccurs="1" minOccurs="0" name="max" type="xsd:string">
+            <annotation>
+              <documentation>
+                the upper bound of this date range, inclusive.
+              </documentation>
+            </annotation>
+          </element>
+        </sequence>
+      </complexType>
+      <complexType name="DistinctError">
+        <annotation>
+          <documentation>
+            Errors related to distinct ids or content.
+          </documentation>
+        </annotation>
+        <complexContent>
+          <extension base="tns:ApiError">
+            <sequence>
+              <element maxOccurs="1" minOccurs="0" name="reason" type="tns:DistinctError.Reason">
+                <annotation>
+                  <documentation>
+                    The error reason represented by an enum.
+                  </documentation>
+                </annotation>
+              </element>
+            </sequence>
+          </extension>
+        </complexContent>
+      </complexType>
+      <complexType name="DoubleValue">
+        <annotation>
+          <documentation>
+            Number value type for constructing double valued ranges.
+          </documentation>
+        </annotation>
+        <complexContent>
+          <extension base="tns:NumberValue">
+            <sequence>
+              <element maxOccurs="1" minOccurs="0" name="number" type="xsd:double">
+                <annotation>
+                  <documentation>
+                    the underlying double value.
+                  </documentation>
+                </annotation>
+              </element>
+            </sequence>
+          </extension>
+        </complexContent>
+      </complexType>
+      <complexType name="EntityNotFound">
+        <annotation>
+          <documentation>
+            An id did not correspond to an entity, or it referred to an entity which does not belong to the
+            customer.
+          </documentation>
+        </annotation>
+        <complexContent>
+          <extension base="tns:ApiError">
+            <sequence>
+              <element maxOccurs="1" minOccurs="0" name="reason" type="tns:EntityNotFound.Reason">
+                <annotation>
+                  <documentation>
+                    Reason for this error.
+                  </documentation>
+                </annotation>
+              </element>
+            </sequence>
+          </extension>
+        </complexContent>
+      </complexType>
+      <complexType name="FrequencyCap">
+        <annotation>
+          <documentation>
+            A frequency cap is the maximum number of times an ad (or some set of ads) can
+            be shown to a user over a particular time period.
+          </documentation>
+        </annotation>
+        <sequence>
+          <element maxOccurs="1" minOccurs="0" name="impressions" type="xsd:long">
+            <annotation>
+              <documentation>
+                Maximum number of impressions allowed during the time range by this cap.
+                &lt;span class="constraint Selectable"&gt;This field can be selected using the value "FrequencyCapMaxImpressions".&lt;/span&gt;&lt;span class="constraint Filterable"&gt;This field can be filtered on.&lt;/span&gt;
+              </documentation>
+            </annotation>
+          </element>
+          <element maxOccurs="1" minOccurs="0" name="timeUnit" type="tns:TimeUnit">
+            <annotation>
+              <documentation>
+                Unit of time the cap is defined at.
+                Only the Day, Week and Month time units are supported.
+                &lt;span class="constraint Selectable"&gt;This field can be selected using the value "TimeUnit".&lt;/span&gt;&lt;span class="constraint Filterable"&gt;This field can be filtered on.&lt;/span&gt;
+              </documentation>
+            </annotation>
+          </element>
+          <element maxOccurs="1" minOccurs="0" name="level" type="tns:Level">
+            <annotation>
+              <documentation>
+                The level on which the cap is to be applied (creative/adgroup).
+                Cap is applied to all the entities of this level in the campaign.
+                &lt;span class="constraint Selectable"&gt;This field can be selected using the value "Level".&lt;/span&gt;&lt;span class="constraint Filterable"&gt;This field can be filtered on.&lt;/span&gt;
+              </documentation>
+            </annotation>
+          </element>
+        </sequence>
+      </complexType>
+      <complexType name="GeoTargetTypeSetting">
+        <annotation>
+          <documentation>
+            Represents a collection of settings related to ads geotargeting.
+            
+            &lt;p&gt;AdWords ads can be geotargeted using &lt;b&gt;Location of Presence&lt;/b&gt; (&lt;b&gt;LOP&lt;/b&gt;),
+            &lt;b&gt;Area of Interest&lt;/b&gt; (&lt;b&gt;AOI&lt;/b&gt;), or both. LOP is the physical location
+            of the user performing the search; AOI is the geographical region
+            in which the searcher is interested. For example, if a user in
+            New York City performs a search "hotels california", their LOP
+            is New York City and their AOI is California.
+            
+            &lt;p&gt;Additionally, ads can be &lt;b&gt;positively&lt;/b&gt; or &lt;b&gt;negatively&lt;/b&gt; geotargeted.
+            An ad that is positively geotargeted to New York City only appears
+            to users whose location is related (via AOI or LOP) to New York City. An ad
+            that is negatively geotargeted to New York City appears for &lt;i&gt;all&lt;/i&gt;
+            users &lt;i&gt;except&lt;/i&gt; those whose location is related to New York City. Ads can
+            only be negatively geotargeted if a positive geotargeting is also supplied, and
+            the negatively geotargeted region must be contained within the positive
+            region.
+            
+            &lt;p&gt;Geotargeting settings allow ads to be targeted in the following way:
+            &lt;ul&gt;
+            &lt;li&gt; Positively geotargeted using solely AOI, solely LOP, or either.
+            &lt;li&gt; Negatively geotargeted using solely LOP, or both.
+            &lt;/ul&gt;
+            
+            &lt;p&gt;This setting applies only to ads shown on the search network, and does
+            not affect ads shown on the Google Display Network.
+          </documentation>
+        </annotation>
+        <complexContent>
+          <extension base="tns:Setting">
+            <sequence>
+              <element maxOccurs="1" minOccurs="0"
+                name="positiveGeoTargetType" type="tns:GeoTargetTypeSetting.PositiveGeoTargetType">
+                <annotation>
+                  <documentation>
+                    The setting used for positive geotargeting in this particular campaign.
+                    
+                    &lt;p&gt;Again, the campaign can be positively targeted using solely LOP, solely
+                    AOI, or either. Positive targeting triggers ads &lt;i&gt;only&lt;/i&gt; for users
+                    whose location is related to the given locations.
+                    
+                    &lt;p&gt;The default value is DONT_CARE.
+                  </documentation>
+                </annotation>
+              </element>
+              <element maxOccurs="1" minOccurs="0"
+                name="negativeGeoTargetType" type="tns:GeoTargetTypeSetting.NegativeGeoTargetType">
+                <annotation>
+                  <documentation>
+                    The setting used for negative geotargeting in this particular campaign.
+                    
+                    &lt;p&gt;Again, the campaign can be negatively targeted using solely LOP or
+                    both AOI and LOP. Negative targeting triggers ads for &lt;i&gt;all&lt;/i&gt; users
+                    &lt;i&gt;except&lt;/i&gt; those whose location is related to the given locations.
+                    
+                    &lt;p&gt;The default value is LOP.
+                  </documentation>
+                </annotation>
+              </element>
+            </sequence>
+          </extension>
+        </complexContent>
+      </complexType>
+      <complexType name="InternalApiError">
+        <annotation>
+          <documentation>
+            Indicates that a server-side error has occured. {@code InternalApiError}s
+            are generally not the result of an invalid request or message sent by the
+            client.
+          </documentation>
+        </annotation>
+        <complexContent>
+          <extension base="tns:ApiError">
+            <sequence>
+              <element maxOccurs="1" minOccurs="0" name="reason" type="tns:InternalApiError.Reason">
+                <annotation>
+                  <documentation>
+                    The error reason represented by an enum.
+                  </documentation>
+                </annotation>
+              </element>
+            </sequence>
+          </extension>
+        </complexContent>
+      </complexType>
+      <complexType name="LongValue">
+        <annotation>
+          <documentation>
+            Number value type for constructing long valued ranges.
+          </documentation>
+        </annotation>
+        <complexContent>
+          <extension base="tns:NumberValue">
+            <sequence>
+              <element maxOccurs="1" minOccurs="0" name="number" type="xsd:long">
+                <annotation>
+                  <documentation>
+                    the underlying long value.
+                  </documentation>
+                </annotation>
+              </element>
+            </sequence>
+          </extension>
+        </complexContent>
+      </complexType>
+      <complexType name="ManualCPC">
+        <annotation>
+          <documentation>
+            Manual click based bidding where user pays per click. For more
+            information, see the article
+            &lt;a href="http://adwords.google.com/support/aw/bin/answer.py?answer=159957"
+            &gt;What is Enhanced CPC?&lt;/a&gt;.
+          </documentation>
+        </annotation>
+        <complexContent>
+          <extension base="tns:BiddingStrategy">
+            <sequence>
+              <element maxOccurs="1" minOccurs="0"
+                name="enhancedCpcEnabled" type="xsd:boolean">
+                <annotation>
+                  <documentation>
+                    The enhanced CPC bidding option for the campaign, which enables
+                    bids to be enhanced based on conversion optimizer data.
+                    &lt;span class="constraint Selectable"&gt;This field can be selected using the value "EnhancedCpcEnabled".&lt;/span&gt;&lt;span class="constraint Filterable"&gt;This field can be filtered on.&lt;/span&gt;
+                  </documentation>
+                </annotation>
+              </element>
+              <element maxOccurs="1" minOccurs="0"
+                name="positionPreference" type="tns:PositionPreference">
+                <annotation>
+                  <documentation>
+                    Position preference settings for the Campaign, if turned on allows the advertiser to
+                    specify preferred auction position in which the advertiser would prefer to see the
+                    keyword's ads placed.
+                    &lt;span class="constraint Selectable"&gt;This field can be selected using the value "PositionPreference".&lt;/span&gt;
+                  </documentation>
+                </annotation>
+              </element>
+            </sequence>
+          </extension>
+        </complexContent>
+      </complexType>
+      <complexType name="ManualCPM">
+        <annotation>
+          <documentation>
+            Manual impression based bidding where user pays per thousand impressions.
+          </documentation>
+        </annotation>
+        <complexContent>
+          <extension base="tns:BiddingStrategy">
+            <sequence/>
+          </extension>
+        </complexContent>
+      </complexType>
+      <complexType name="Money">
+        <annotation>
+          <documentation>
+            Represents a money amount.
+          </documentation>
+        </annotation>
+        <complexContent>
+          <extension base="tns:ComparableValue">
+            <sequence>
+              <element maxOccurs="1" minOccurs="0" name="microAmount" type="xsd:long">
+                <annotation>
+                  <documentation>
+                    Amount in micros. One million is equivalent to one unit.
+                  </documentation>
+                </annotation>
+              </element>
+            </sequence>
+          </extension>
+        </complexContent>
+      </complexType>
+      <complexType name="NetworkSetting">
+        <annotation>
+          <documentation>
+            Network settings for a Campaign.
+          </documentation>
+        </annotation>
+        <sequence>
+          <element maxOccurs="1" minOccurs="0" name="targetGoogleSearch" type="xsd:boolean">
+            <annotation>
+              <documentation>
+                Ads will be served with Google.com search results.
+                &lt;span class="constraint Selectable"&gt;This field can be selected using the value "TargetGoogleSearch".&lt;/span&gt;&lt;span class="constraint Filterable"&gt;This field can be filtered on.&lt;/span&gt;
+              </documentation>
+            </annotation>
+          </element>
+          <element maxOccurs="1" minOccurs="0"
+            name="targetSearchNetwork" type="xsd:boolean">
+            <annotation>
+              <documentation>
+                Ads will be served on partner sites in the Google Search Network
+                (requires {@code GOOGLE_SEARCH}).
+                &lt;span class="constraint Selectable"&gt;This field can be selected using the value "TargetSearchNetwork".&lt;/span&gt;&lt;span class="constraint Filterable"&gt;This field can be filtered on.&lt;/span&gt;
+              </documentation>
+            </annotation>
+          </element>
+          <element maxOccurs="1" minOccurs="0"
+            name="targetContentNetwork" type="xsd:boolean">
+            <annotation>
+              <documentation>
+                Ads will be served on specified placements in the Google Display Network.
+                Placements are specified using {@code Placement} criteria.
+                &lt;span class="constraint Selectable"&gt;This field can be selected using the value "TargetContentNetwork".&lt;/span&gt;&lt;span class="constraint Filterable"&gt;This field can be filtered on.&lt;/span&gt;
+              </documentation>
+            </annotation>
+          </element>
+          <element maxOccurs="1" minOccurs="0"
+            name="targetContentContextual" type="xsd:boolean">
+            <annotation>
+              <documentation>
+                Ads will be served on the Google Display Network based on
+                {@code Keyword} criteria contextually matching the placement's content
+                (requires {@code CONTENT_NETWORK}).
+                &lt;span class="constraint Selectable"&gt;This field can be selected using the value "TargetContentContextual".&lt;/span&gt;&lt;span class="constraint Filterable"&gt;This field can be filtered on.&lt;/span&gt;
+              </documentation>
+            </annotation>
+          </element>
+          <element maxOccurs="1" minOccurs="0"
+            name="targetPartnerSearchNetwork" type="xsd:boolean">
+            <annotation>
+              <documentation>
+                Ads will be served on the Google Partner Network. This is available to
+                only some specific Google partner accounts.
+                &lt;span class="constraint Selectable"&gt;This field can be selected using the value "TargetPartnerSearchNetwork".&lt;/span&gt;&lt;span class="constraint Filterable"&gt;This field can be filtered on.&lt;/span&gt;
+              </documentation>
+            </annotation>
+          </element>
+        </sequence>
+      </complexType>
+      <complexType name="NewEntityCreationError">
+        <annotation>
+          <documentation>
+            Error associated with creation of new entities using
+            {@link com.google.ads.api.services.common.id.TempId}s.
+          </documentation>
+        </annotation>
+        <complexContent>
+          <extension base="tns:ApiError">
+            <sequence>
+              <element maxOccurs="1" minOccurs="0" name="reason" type="tns:NewEntityCreationError.Reason">
+                <annotation>
+                  <documentation>
+                    The error reason represented by an enum.
+                  </documentation>
+                </annotation>
+              </element>
+            </sequence>
+          </extension>
+        </complexContent>
+      </complexType>
+      <complexType name="NotEmptyError">
+        <annotation>
+          <documentation>
+            Errors corresponding with violation of a NOT EMPTY check.
+          </documentation>
+        </annotation>
+        <complexContent>
+          <extension base="tns:ApiError">
+            <sequence>
+              <element maxOccurs="1" minOccurs="0" name="reason" type="tns:NotEmptyError.Reason">
+                <annotation>
+                  <documentation>
+                    The error reason represented by an enum.
+                  </documentation>
+                </annotation>
+              </element>
+            </sequence>
+          </extension>
+        </complexContent>
+      </complexType>
+      <complexType name="NotWhitelistedError">
+        <annotation>
+          <documentation>
+            Indicates that the customer is not whitelisted for accessing the API.
+          </documentation>
+        </annotation>
+        <complexContent>
+          <extension base="tns:ApiError">
+            <sequence>
+              <element maxOccurs="1" minOccurs="0" name="reason" type="tns:NotWhitelistedError.Reason">
+                <annotation>
+                  <documentation>
+                    The error reason represented by an enum.
+                  </documentation>
+                </annotation>
+              </element>
+            </sequence>
+          </extension>
+        </complexContent>
+      </complexType>
+      <complexType name="NullError">
+        <annotation>
+          <documentation>
+            Errors associated with violation of a NOT NULL check.
+          </documentation>
+        </annotation>
+        <complexContent>
+          <extension base="tns:ApiError">
+            <sequence>
+              <element maxOccurs="1" minOccurs="0" name="reason" type="tns:NullError.Reason">
+                <annotation>
+                  <documentation>
+                    The error reason represented by an enum.
+                  </documentation>
+                </annotation>
+              </element>
+            </sequence>
+          </extension>
+        </complexContent>
+      </complexType>
+      <complexType abstract="true" name="NumberValue">
+        <annotation>
+          <documentation>
+            Number value types for constructing number valued ranges.
+          </documentation>
+        </annotation>
+        <complexContent>
+          <extension base="tns:ComparableValue">
+            <sequence/>
+          </extension>
+        </complexContent>
+      </complexType>
+      <complexType name="OperationAccessDenied">
+        <annotation>
+          <documentation>
+            Operation not permitted due to the invoked service's access policy.
+          </documentation>
+        </annotation>
+        <complexContent>
+          <extension base="tns:ApiError">
+            <sequence>
+              <element maxOccurs="1" minOccurs="0" name="reason" type="tns:OperationAccessDenied.Reason"/>
+            </sequence>
+          </extension>
+        </complexContent>
+      </complexType>
+      <complexType name="OperatorError">
+        <annotation>
+          <documentation>
+            Errors due to the use of unsupported operations.
+          </documentation>
+        </annotation>
+        <complexContent>
+          <extension base="tns:ApiError">
+            <sequence>
+              <element maxOccurs="1" minOccurs="0" name="reason" type="tns:OperatorError.Reason">
+                <annotation>
+                  <documentation>
+                    The error reason represented by an enum.
+                  </documentation>
+                </annotation>
+              </element>
+            </sequence>
+          </extension>
+        </complexContent>
+      </complexType>
+      <complexType name="OrderBy">
+        <annotation>
+          <documentation>
+            Specifies how the resulting information should be sorted.
+          </documentation>
+        </annotation>
+        <sequence>
+          <element maxOccurs="1" minOccurs="0" name="field" type="xsd:string">
+            <annotation>
+              <documentation>
+                The field to sort the results on.
+                &lt;span class="constraint Required"&gt;This field is required and should not be {@code null}.&lt;/span&gt;
+              </documentation>
+            </annotation>
+          </element>
+          <element maxOccurs="1" minOccurs="0" name="sortOrder" type="tns:SortOrder">
+            <annotation>
+              <documentation>
+                The order to sort the results on. The default sort order is {@link SortOrder#ASCENDING}.
+              </documentation>
+            </annotation>
+          </element>
+        </sequence>
+      </complexType>
+      <complexType name="Paging">
+        <annotation>
+          <documentation>
+            Specifies the page of results to return in the response. A page is specified
+            by the result position to start at and the maximum number of results to
+            return.
+          </documentation>
+        </annotation>
+        <sequence>
+          <element maxOccurs="1" minOccurs="0" name="startIndex" type="xsd:int">
+            <annotation>
+              <documentation>
+                Index of the first result to return in this page.
+                &lt;span class="constraint InRange"&gt;This field must be greater than or equal to 0.&lt;/span&gt;
+              </documentation>
+            </annotation>
+          </element>
+          <element maxOccurs="1" minOccurs="0" name="numberResults" type="xsd:int">
+            <annotation>
+              <documentation>
+                Maximum number of results to return in this page. Set this to a reasonable value to limit
+                the number of results returned per page.
+                &lt;span class="constraint InRange"&gt;This field must be greater than or equal to 0.&lt;/span&gt;
+              </documentation>
+            </annotation>
+          </element>
+        </sequence>
+      </complexType>
+      <complexType name="PercentCPA">
+        <annotation>
+          <documentation>
+            Percentage CPA based bidding where user pays a percent of conversions.
+            This bidding strategy is available only to some advertisers.
+            &lt;p&gt;A campaign can only be created with PercentCPA bidding strategy.
+            Existing campaigns with a different bidding strategy cannot be transitioned to
+            PercentCPA.
+            &lt;p&gt;Similarly, once created as a PercentCPA, a campaign cannot be transitioned to
+            any other bidding strategy.
+          </documentation>
+        </annotation>
+        <complexContent>
+          <extension base="tns:BiddingStrategy">
+            <sequence/>
+          </extension>
+        </complexContent>
+      </complexType>
+      <complexType name="PercentCPAAdGroupBids">
+        <annotation>
+          <documentation>
+            AdGroup level bids used in percent CPA bidding strategy.
+            {@link PercentCPA} bidding strategy and bids are available
+            only to some advertisers.
+          </documentation>
+        </annotation>
+        <complexContent>
+          <extension base="tns:AdGroupBids">
+            <sequence>
+              <element maxOccurs="1" minOccurs="0" name="percentCpa" type="xsd:int">
+                <annotation>
+                  <documentation>
+                    Percent CPA set for this ad group, used for calculating the bid value.
+                    &lt;span class="constraint Selectable"&gt;This field can be selected using the value "PercentCpa".&lt;/span&gt;&lt;span class="constraint Filterable"&gt;This field can be filtered on.&lt;/span&gt;
+                  </documentation>
+                </annotation>
+              </element>
+            </sequence>
+          </extension>
+        </complexContent>
+      </complexType>
+      <complexType name="Predicate">
+        <annotation>
+          <documentation>
+            Specifies how an entity (eg. adgroup, campaign, criterion, ad) should be filtered.
+          </documentation>
+        </annotation>
+        <sequence>
+          <element maxOccurs="1" minOccurs="0" name="field" type="xsd:string">
+            <annotation>
+              <documentation>
+                The field by which to filter the returned data. Possible values are marked Filterable on
+                the entity's reference page. For example, for predicates for the
+                CampaignService {@link Selector selector}, refer to the filterable fields from the
+                {@link Campaign} reference page.
+                &lt;span class="constraint Required"&gt;This field is required and should not be {@code null}.&lt;/span&gt;
+              </documentation>
+            </annotation>
+          </element>
+          <element maxOccurs="1" minOccurs="0" name="operator" type="tns:Predicate.Operator">
+            <annotation>
+              <documentation>
+                The operator to use for filtering the data returned.
+                &lt;span class="constraint Required"&gt;This field is required and should not be {@code null}.&lt;/span&gt;
+              </documentation>
+            </annotation>
+          </element>
+          <element maxOccurs="unbounded" minOccurs="0" name="values" type="xsd:string">
+            <annotation>
+              <documentation>
+                The values by which to filter the field. The {@link Operator#IN} and {@link
+                Operator#NOT_IN} take multiple values. All others take a single value.
+                &lt;span class="constraint ContentsNotNull"&gt;This field must not contain {@code null} elements.&lt;/span&gt;
+                &lt;span class="constraint Required"&gt;This field is required and should not be {@code null}.&lt;/span&gt;
+              </documentation>
+            </annotation>
+          </element>
+        </sequence>
+      </complexType>
+      <complexType name="QuotaCheckError">
+        <annotation>
+          <documentation>
+            Encapsulates the errors thrown during developer quota checks.
+          </documentation>
+        </annotation>
+        <complexContent>
+          <extension base="tns:ApiError">
+            <sequence>
+              <element maxOccurs="1" minOccurs="0" name="reason" type="tns:QuotaCheckError.Reason"/>
+            </sequence>
+          </extension>
+        </complexContent>
+      </complexType>
+      <complexType name="QuotaError">
+        <annotation>
+          <documentation>
+            Errors that are thrown if a quota limit is exceeded.
+          </documentation>
+        </annotation>
+        <complexContent>
+          <extension base="tns:ApiError">
+            <sequence>
+              <element maxOccurs="1" minOccurs="0" name="reason" type="tns:QuotaError.Reason">
+                <annotation>
+                  <documentation>
+                    The error reason represented by an enum.
+                  </documentation>
+                </annotation>
+              </element>
+              <element maxOccurs="1" minOccurs="0" name="limit" type="xsd:int">
+                <annotation>
+                  <documentation>
+                    The number of entities allowed for this quota.
+                  </documentation>
+                </annotation>
+              </element>
+            </sequence>
+          </extension>
+        </complexContent>
+      </complexType>
+      <complexType name="RangeError">
+        <annotation>
+          <documentation>
+            A list of all errors associated with the Range constraint.
+          </documentation>
+        </annotation>
+        <complexContent>
+          <extension base="tns:ApiError">
+            <sequence>
+              <element maxOccurs="1" minOccurs="0" name="reason" type="tns:RangeError.Reason">
+                <annotation>
+                  <documentation>
+                    The error reason represented by an enum.
+                  </documentation>
+                </annotation>
+              </element>
+            </sequence>
+          </extension>
+        </complexContent>
+      </complexType>
+      <complexType name="RateExceededError">
+        <annotation>
+          <documentation>
+            Signals that a call failed because a measured rate exceeded.
+          </documentation>
+        </annotation>
+        <complexContent>
+          <extension base="tns:ApiError">
+            <sequence>
+              <element maxOccurs="1" minOccurs="0" name="reason" type="tns:RateExceededError.Reason">
+                <annotation>
+                  <documentation>
+                    The error reason represented by an enum.
+                  </documentation>
+                </annotation>
+              </element>
+              <element maxOccurs="1" minOccurs="0" name="rateName" type="xsd:string">
+                <annotation>
+                  <documentation>
+                    Cause of the rate exceeded error.
+                  </documentation>
+                </annotation>
+              </element>
+              <element maxOccurs="1" minOccurs="0" name="rateScope" type="xsd:string">
+                <annotation>
+                  <documentation>
+                    The scope of the rate (ACCOUNT/DEVELOPER).
+                  </documentation>
+                </annotation>
+              </element>
+              <element maxOccurs="1" minOccurs="0"
+                name="retryAfterSeconds" type="xsd:int">
+                <annotation>
+                  <documentation>
+                    The amount of time (in seconds) the client should wait before retrying the request.
+                  </documentation>
+                </annotation>
+              </element>
+            </sequence>
+          </extension>
+        </complexContent>
+      </complexType>
+      <complexType name="ReadOnlyError">
+        <annotation>
+          <documentation>
+            Errors from attempting to write to read-only fields.
+          </documentation>
+        </annotation>
+        <complexContent>
+          <extension base="tns:ApiError">
+            <sequence>
+              <element maxOccurs="1" minOccurs="0" name="reason" type="tns:ReadOnlyError.Reason">
+                <annotation>
+                  <documentation>
+                    The error reason represented by an enum.
+                  </documentation>
+                </annotation>
+              </element>
+            </sequence>
+          </extension>
+        </complexContent>
+      </complexType>
+      <complexType name="RealTimeBiddingSetting">
+        <annotation>
+          <documentation>
+            Settings for Real-Time Bidding, a feature only available for campaigns
+            targeting the Ad Exchange network.
+          </documentation>
+        </annotation>
+        <complexContent>
+          <extension base="tns:Setting">
+            <sequence>
+              <element maxOccurs="1" minOccurs="0" name="optIn" type="xsd:boolean">
+                <annotation>
+                  <documentation>
+                    Whether the campaign is opted in to real-time bidding.
+                  </documentation>
+                </annotation>
+              </element>
+            </sequence>
+          </extension>
+        </complexContent>
+      </complexType>
+      <complexType name="RejectedError">
+        <complexContent>
+          <extension base="tns:ApiError">
+            <sequence>
+              <element maxOccurs="1" minOccurs="0" name="reason" type="tns:RejectedError.Reason">
+                <annotation>
+                  <documentation>
+                    The error reason represented by an enum.
+                  </documentation>
+                </annotation>
+              </element>
+            </sequence>
+          </extension>
+        </complexContent>
+      </complexType>
+      <complexType name="RequestError">
+        <annotation>
+          <documentation>
+            Encapsulates the generic errors thrown when there's an error with user
+            request.
+          </documentation>
+        </annotation>
+        <complexContent>
+          <extension base="tns:ApiError">
+            <sequence>
+              <element maxOccurs="1" minOccurs="0" name="reason" type="tns:RequestError.Reason"/>
+            </sequence>
+          </extension>
+        </complexContent>
+      </complexType>
+      <complexType name="RequiredError">
+        <annotation>
+          <documentation>
+            Errors due to missing required field.
+          </documentation>
+        </annotation>
+        <complexContent>
+          <extension base="tns:ApiError">
+            <sequence>
+              <element maxOccurs="1" minOccurs="0" name="reason" type="tns:RequiredError.Reason">
+                <annotation>
+                  <documentation>
+                    The error reason represented by an enum.
+                  </documentation>
+                </annotation>
+              </element>
+            </sequence>
+          </extension>
+        </complexContent>
+      </complexType>
+      <complexType name="SelectorError">
+        <annotation>
+          <documentation>
+            Represents possible error codes for {@link Selector}.
+          </documentation>
+        </annotation>
+        <complexContent>
+          <extension base="tns:ApiError">
+            <sequence>
+              <element maxOccurs="1" minOccurs="0" name="reason" type="tns:SelectorError.Reason">
+                <annotation>
+                  <documentation>
+                    The error reason represented by enum.
+                  </documentation>
+                </annotation>
+              </element>
+            </sequence>
+          </extension>
+        </complexContent>
+      </complexType>
+      <complexType name="SettingError">
+        <annotation>
+          <documentation>
+            Indicates a problem with campaign settings.
+          </documentation>
+        </annotation>
+        <complexContent>
+          <extension base="tns:ApiError">
+            <sequence>
+              <element maxOccurs="1" minOccurs="0" name="reason" type="tns:SettingError.Reason">
+                <annotation>
+                  <documentation>
+                    The setting error reason.
+                  </documentation>
+                </annotation>
+              </element>
+            </sequence>
+          </extension>
+        </complexContent>
+      </complexType>
+      <complexType name="SizeLimitError">
+        <annotation>
+          <documentation>
+            Indicates that the number of entries in the request or response exceeds the system limit.
+          </documentation>
+        </annotation>
+        <complexContent>
+          <extension base="tns:ApiError">
+            <sequence>
+              <element maxOccurs="1" minOccurs="0" name="reason" type="tns:SizeLimitError.Reason">
+                <annotation>
+                  <documentation>
+                    The error reason represented by an enum.
+                  </documentation>
+                </annotation>
+              </element>
+            </sequence>
+          </extension>
+        </complexContent>
+      </complexType>
+      <complexType name="SoapHeader">
+        <annotation>
+          <documentation>
+            Defines the required and optional elements within the header of a SOAP request.
+          </documentation>
+        </annotation>
+        <sequence>
+          <element maxOccurs="1" minOccurs="0" name="authToken" type="xsd:string">
+            <annotation>
+              <documentation>
+                Authentication token from Google ClientLogin API. Developers need to authenticate themselves
+                with that API before they can send a request to AdWords API. This header identifies either the
+                MCC manager acting on behalf of their client, or the advertiser managing their own account.
+              </documentation>
+            </annotation>
+          </element>
+          <element maxOccurs="1" minOccurs="0" name="clientCustomerId" type="xsd:string">
+            <annotation>
+              <documentation>
+                Optional header: the customer id of the client of the MCC manager. Applicable only
+                if an MCC manager, as identified by authToken, is acting on behalf of their client.
+              </documentation>
+            </annotation>
+          </element>
+          <element maxOccurs="1" minOccurs="0" name="clientEmail" type="xsd:string">
+            <annotation>
+              <documentation>
+                Optional header: the login email of a client of the MCC manager. Applicable only
+                if an MCC manager, as identified by authToken, is acting on behalf of their client.
+              </documentation>
+            </annotation>
+          </element>
+          <element maxOccurs="1" minOccurs="0" name="developerToken" type="xsd:string">
+            <annotation>
+              <documentation>
+                Developer token to identify that the person making the call has enough
+                quota.
+              </documentation>
+            </annotation>
+          </element>
+          <element maxOccurs="1" minOccurs="0" name="userAgent" type="xsd:string">
+            <annotation>
+              <documentation>
+                UserAgent is used to track distribution of API client programs and
+                application usage. The client is responsible for putting in a meaningful
+                value for tracking purposes. To be clear this is not the same as an HTTP
+                user agent.
+              </documentation>
+            </annotation>
+          </element>
+          <element maxOccurs="1" minOccurs="0" name="validateOnly" type="xsd:boolean">
+            <annotation>
+              <documentation>
+                Used to validate the request without executing it.
+              </documentation>
+            </annotation>
+          </element>
+          <element maxOccurs="1" minOccurs="0" name="partialFailure" type="xsd:boolean">
+            <annotation>
+              <documentation>
+                If true, API will try to commit as many error free operations as possible and
+                report the other operations' errors.
+                
+                &lt;p&gt;Ignored for non-mutate calls.
+              </documentation>
+            </annotation>
+          </element>
+        </sequence>
+      </complexType>
+      <complexType name="SoapResponseHeader">
+        <annotation>
+          <documentation>
+            Defines the elements within the header of a SOAP response.
+          </documentation>
+        </annotation>
+        <sequence>
+          <element maxOccurs="1" minOccurs="0" name="requestId" type="xsd:string">
+            <annotation>
+              <documentation>
+                Unique id that identifies this request. If developers have any support issues, sending us
+                this id will enable us to find their request more easily.
+              </documentation>
+            </annotation>
+          </element>
+          <element maxOccurs="1" minOccurs="0" name="operations" type="xsd:long">
+            <annotation>
+              <documentation>
+                Number of operations performed for this SOAP request.
+              </documentation>
+            </annotation>
+          </element>
+          <element maxOccurs="1" minOccurs="0" name="responseTime" type="xsd:long">
+            <annotation>
+              <documentation>
+                Elapsed time in milliseconds between the AdWords API receiving the request and sending the
+                response.
+              </documentation>
+            </annotation>
+          </element>
+          <element maxOccurs="1" minOccurs="0" name="units" type="xsd:long">
+            <annotation>
+              <documentation>
+                Total number of API units the SOAP request used.
+              </documentation>
+            </annotation>
+          </element>
+        </sequence>
+      </complexType>
+      <complexType name="StatsQueryError">
+        <annotation>
+          <documentation>
+            Represents possible error codes when querying for stats.
+          </documentation>
+        </annotation>
+        <complexContent>
+          <extension base="tns:ApiError">
+            <sequence>
+              <element maxOccurs="1" minOccurs="0" name="reason" type="tns:StatsQueryError.Reason">
+                <annotation>
+                  <documentation>
+                    The error reason represented by an enum.
+                  </documentation>
+                </annotation>
+              </element>
+            </sequence>
+          </extension>
+        </complexContent>
+      </complexType>
+      <complexType name="StringLengthError">
+        <annotation>
+          <documentation>
+            A list of all errors associated with the @ContentsString constraint.
+          </documentation>
+        </annotation>
+        <complexContent>
+          <extension base="tns:ApiError">
+            <sequence>
+              <element maxOccurs="1" minOccurs="0" name="reason" type="tns:StringLengthError.Reason">
+                <annotation>
+                  <documentation>
+                    The error reason represented by an enum.
+                  </documentation>
+                </annotation>
+              </element>
+            </sequence>
+          </extension>
+        </complexContent>
+      </complexType>
+      <complexType name="TargetError">
+        <annotation>
+          <documentation>
+            A list of all the error codes being used by the common targeting package.
+          </documentation>
+        </annotation>
+        <complexContent>
+          <extension base="tns:ApiError">
+            <sequence>
+              <element maxOccurs="1" minOccurs="0" name="reason" type="tns:TargetError.Reason">
+                <annotation>
+                  <documentation>
+                    The error reason represented by an enum.
+                  </documentation>
+                </annotation>
+              </element>
+            </sequence>
+          </extension>
+        </complexContent>
+      </complexType>
+      <complexType abstract="true" name="ComparableValue">
+        <annotation>
+          <documentation>
+            Comparable types for constructing ranges with.
+          </documentation>
+        </annotation>
+        <sequence>
+          <element maxOccurs="1" minOccurs="0"
+            name="ComparableValue.Type" type="xsd:string">
+            <annotation>
+              <documentation>
+                Indicates that this instance is a subtype of ComparableValue.
+                Although this field is returned in the response, it is ignored on input
+                and cannot be selected. Specify xsi:type instead.
+              </documentation>
+            </annotation>
+          </element>
+        </sequence>
+      </complexType>
+      <complexType name="DatabaseError">
+        <annotation>
+          <documentation>
+            Errors that are thrown due to a database access problem.
+          </documentation>
+        </annotation>
+        <complexContent>
+          <extension base="tns:ApiError">
+            <sequence>
+              <element maxOccurs="1" minOccurs="0" name="reason" type="tns:DatabaseError.Reason">
+                <annotation>
+                  <documentation>
+                    The error reason represented by an enum.
+                  </documentation>
+                </annotation>
+              </element>
+            </sequence>
+          </extension>
+        </complexContent>
+      </complexType>
+      <complexType name="Selector">
+        <annotation>
+          <documentation>
+            A generic selector to specify the type of information to return.
+          </documentation>
+        </annotation>
+        <sequence>
+          <element maxOccurs="unbounded" minOccurs="0" name="fields" type="xsd:string">
+            <annotation>
+              <documentation>
+                List of fields to select. Possible values are marked Selectable on the
+                entity's reference page. For example, for the CampaignService selector, refer
+                to the selectable fields from the {@link Campaign} reference page.
+                &lt;span class="constraint ContentsDistinct"&gt;This field must contain distinct elements.&lt;/span&gt;
+                &lt;span class="constraint ContentsNotNull"&gt;This field must not contain {@code null} elements.&lt;/span&gt;
+                &lt;span class="constraint Required"&gt;This field is required and should not be {@code null}.&lt;/span&gt;
+              </documentation>
+            </annotation>
+          </element>
+          <element maxOccurs="unbounded" minOccurs="0" name="predicates" type="tns:Predicate">
+            <annotation>
+              <documentation>
+                Specifies how an entity (eg. adgroup, campaign, criterion, ad) should be filtered.
+                &lt;span class="constraint ContentsNotNull"&gt;This field must not contain {@code null} elements.&lt;/span&gt;
+              </documentation>
+            </annotation>
+          </element>
+          <element maxOccurs="1" minOccurs="0" name="dateRange" type="tns:DateRange">
+            <annotation>
+              <documentation>
+                Range of dates for which you want to include data. If this value is omitted,
+                results for all dates are returned.
+                &lt;span class="constraint DateRangeWithinRange"&gt;This range must be contained within the range [19700101, 20380101].&lt;/span&gt;
+              </documentation>
+            </annotation>
+          </element>
+          <element maxOccurs="unbounded" minOccurs="0" name="ordering" type="tns:OrderBy">
+            <annotation>
+              <documentation>
+                The fields on which you want to sort, and the sort order. The order in the list is
+                significant: The first element in the list indicates the primary sort order, the next
+                specifies the secondary sort order and so on.
+              </documentation>
+            </annotation>
+          </element>
+          <element maxOccurs="1" minOccurs="0" name="paging" type="tns:Paging">
+            <annotation>
+              <documentation>
+                Pagination information.
+              </documentation>
+            </annotation>
+          </element>
+        </sequence>
+      </complexType>
+      <complexType abstract="true" name="Setting">
+        <annotation>
+          <documentation>
+            Base type for AdWords campaign settings.
+          </documentation>
+        </annotation>
+        <sequence>
+          <element maxOccurs="1" minOccurs="0" name="Setting.Type" type="xsd:string">
+            <annotation>
+              <documentation>
+                Indicates that this instance is a subtype of Setting.
+                Although this field is returned in the response, it is ignored on input
+                and cannot be selected. Specify xsi:type instead.
+              </documentation>
+            </annotation>
+          </element>
+        </sequence>
+      </complexType>
+      <complexType name="Stats">
+        <annotation>
+          <documentation>
+            Statistics about an ad or criterion within an adgroup or campaign.
+          </documentation>
+        </annotation>
+        <sequence>
+          <element maxOccurs="1" minOccurs="0" name="startDate" type="xsd:string">
+            <annotation>
+              <documentation>
+                Starting date (inclusive) of the statistics. Format is YYYYMMDD.
+              </documentation>
+            </annotation>
+          </element>
+          <element maxOccurs="1" minOccurs="0" name="endDate" type="xsd:string">
+            <annotation>
+              <documentation>
+                Ending date (inclusive) of the statistics. Format is YYYYMMDD.
+              </documentation>
+            </annotation>
+          </element>
+          <element maxOccurs="1" minOccurs="0" name="network" type="tns:Stats.Network">
+            <annotation>
+              <documentation>
+                The ad network which the stats are for.
+              </documentation>
+            </annotation>
+          </element>
+          <element maxOccurs="1" minOccurs="0" name="clicks" type="xsd:long">
+            <annotation>
+              <documentation>
+                Number of clicks.
+                &lt;span class="constraint Selectable"&gt;This field can be selected using the value "Clicks".&lt;/span&gt;&lt;span class="constraint Filterable"&gt;This field can be filtered on.&lt;/span&gt;
+              </documentation>
+            </annotation>
+          </element>
+          <element maxOccurs="1" minOccurs="0" name="impressions" type="xsd:long">
+            <annotation>
+              <documentation>
+                Number of impressions.
+                &lt;span class="constraint Selectable"&gt;This field can be selected using the value "Impressions".&lt;/span&gt;&lt;span class="constraint Filterable"&gt;This field can be filtered on.&lt;/span&gt;
+              </documentation>
+            </annotation>
+          </element>
+          <element maxOccurs="1" minOccurs="0" name="cost" type="tns:Money">
+            <annotation>
+              <documentation>
+                Cost.
+                &lt;span class="constraint Selectable"&gt;This field can be selected using the value "Cost".&lt;/span&gt;&lt;span class="constraint Filterable"&gt;This field can be filtered on.&lt;/span&gt;
+              </documentation>
+            </annotation>
+          </element>
+          <element maxOccurs="1" minOccurs="0" name="averagePosition" type="xsd:double">
+            <annotation>
+              <documentation>
+                Average position of ads.
+                &lt;span class="constraint Selectable"&gt;This field can be selected using the value "AveragePosition".&lt;/span&gt;&lt;span class="constraint Filterable"&gt;This field can be filtered on.&lt;/span&gt;
+              </documentation>
+            </annotation>
+          </element>
+          <element maxOccurs="1" minOccurs="0" name="averageCpc" type="tns:Money">
+            <annotation>
+              <documentation>
+                Average cost per click.
+                &lt;span class="constraint Selectable"&gt;This field can be selected using the value "AverageCpc".&lt;/span&gt;&lt;span class="constraint Filterable"&gt;This field can be filtered on.&lt;/span&gt;
+              </documentation>
+            </annotation>
+          </element>
+          <element maxOccurs="1" minOccurs="0" name="averageCpm" type="tns:Money">
+            <annotation>
+              <documentation>
+                Average Cost Per Impression.
+                &lt;span class="constraint Selectable"&gt;This field can be selected using the value "AverageCpm".&lt;/span&gt;&lt;span class="constraint Filterable"&gt;This field can be filtered on.&lt;/span&gt;
+              </documentation>
+            </annotation>
+          </element>
+          <element maxOccurs="1" minOccurs="0" name="ctr" type="xsd:double">
+            <annotation>
+              <documentation>
+                Click Through Rate.
+                &lt;span class="constraint Selectable"&gt;This field can be selected using the value "Ctr".&lt;/span&gt;&lt;span class="constraint Filterable"&gt;This field can be filtered on.&lt;/span&gt;
+              </documentation>
+            </annotation>
+          </element>
+          <element maxOccurs="1" minOccurs="0" name="conversions" type="xsd:long">
+            <annotation>
+              <documentation>
+                Number of conversions.
+                &lt;span class="constraint Selectable"&gt;This field can be selected using the value "Conversions".&lt;/span&gt;&lt;span class="constraint Filterable"&gt;This field can be filtered on.&lt;/span&gt;
+              </documentation>
+            </annotation>
+          </element>
+          <element maxOccurs="1" minOccurs="0" name="conversionRate" type="xsd:double">
+            <annotation>
+              <documentation>
+                Conversion Rate.
+                &lt;span class="constraint Selectable"&gt;This field can be selected using the value "ConversionRate".&lt;/span&gt;&lt;span class="constraint Filterable"&gt;This field can be filtered on.&lt;/span&gt;
+              </documentation>
+            </annotation>
+          </element>
+          <element maxOccurs="1" minOccurs="0" name="costPerConversion" type="tns:Money">
+            <annotation>
+              <documentation>
+                Cost per Conversion.
+                &lt;span class="constraint Selectable"&gt;This field can be selected using the value "CostPerConversion".&lt;/span&gt;&lt;span class="constraint Filterable"&gt;This field can be filtered on.&lt;/span&gt;
+              </documentation>
+            </annotation>
+          </element>
+          <element maxOccurs="1" minOccurs="0"
+            name="conversionsManyPerClick" type="xsd:long">
+            <annotation>
+              <documentation>
+                Number of conversions (many-per-click).
+                &lt;span class="constraint Selectable"&gt;This field can be selected using the value "ConversionsManyPerClick".&lt;/span&gt;&lt;span class="constraint Filterable"&gt;This field can be filtered on.&lt;/span&gt;
+              </documentation>
+            </annotation>
+          </element>
+          <element maxOccurs="1" minOccurs="0"
+            name="conversionRateManyPerClick" type="xsd:double">
+            <annotation>
+              <documentation>
+                Conversion Rate (many-per-click).
+                &lt;span class="constraint Selectable"&gt;This field can be selected using the value "ConversionRateManyPerClick".&lt;/span&gt;&lt;span class="constraint Filterable"&gt;This field can be filtered on.&lt;/span&gt;
+              </documentation>
+            </annotation>
+          </element>
+          <element maxOccurs="1" minOccurs="0"
+            name="costPerConversionManyPerClick" type="tns:Money">
+            <annotation>
+              <documentation>
+                Cost per Conversion (many-per-click).
+                &lt;span class="constraint Selectable"&gt;This field can be selected using the value "CostPerConversionManyPerClick".&lt;/span&gt;&lt;span class="constraint Filterable"&gt;This field can be filtered on.&lt;/span&gt;
+              </documentation>
+            </annotation>
+          </element>
+          <element maxOccurs="1" minOccurs="0"
+            name="viewThroughConversions" type="xsd:long">
+            <annotation>
+              <documentation>
+                Number of conversions (view-through).
+                &lt;span class="constraint Selectable"&gt;This field can be selected using the value "ViewThroughConversions".&lt;/span&gt;&lt;span class="constraint Filterable"&gt;This field can be filtered on.&lt;/span&gt;
+              </documentation>
+            </annotation>
+          </element>
+          <element maxOccurs="1" minOccurs="0" name="totalConvValue" type="xsd:long">
+            <annotation>
+              <documentation>
+                Total conversion rate.
+                &lt;span class="constraint Selectable"&gt;This field can be selected using the value "TotalConvValue".&lt;/span&gt;&lt;span class="constraint Filterable"&gt;This field can be filtered on.&lt;/span&gt;
+              </documentation>
+            </annotation>
+          </element>
+          <element maxOccurs="1" minOccurs="0" name="valuePerConv" type="xsd:double">
+            <annotation>
+              <documentation>
+                Value per conversion.
+                &lt;span class="constraint Selectable"&gt;This field can be selected using the value "ValuePerConv".&lt;/span&gt;&lt;span class="constraint Filterable"&gt;This field can be filtered on.&lt;/span&gt;
+              </documentation>
+            </annotation>
+          </element>
+          <element maxOccurs="1" minOccurs="0"
+            name="valuePerConvManyPerClick" type="xsd:double">
+            <annotation>
+              <documentation>
+                Value per conversion (many per click).
+                &lt;span class="constraint Selectable"&gt;This field can be selected using the value "ValuePerConvManyPerClick".&lt;/span&gt;&lt;span class="constraint Filterable"&gt;This field can be filtered on.&lt;/span&gt;
+              </documentation>
+            </annotation>
+          </element>
+          <element maxOccurs="1" minOccurs="0" name="invalidClicks" type="xsd:long">
+            <annotation>
+              <documentation>
+                Invalid clicks.
+                &lt;span class="constraint Selectable"&gt;This field can be selected using the value "InvalidClicks".&lt;/span&gt;&lt;span class="constraint Filterable"&gt;This field can be filtered on.&lt;/span&gt;
+              </documentation>
+            </annotation>
+          </element>
+          <element maxOccurs="1" minOccurs="0" name="invalidClickRate" type="xsd:double">
+            <annotation>
+              <documentation>
+                Invalid click rate.
+                &lt;span class="constraint Selectable"&gt;This field can be selected using the value "InvalidClickRate".&lt;/span&gt;&lt;span class="constraint Filterable"&gt;This field can be filtered on.&lt;/span&gt;
+              </documentation>
+            </annotation>
+          </element>
+          <element maxOccurs="1" minOccurs="0" name="Stats.Type" type="xsd:string">
+            <annotation>
+              <documentation>
+                Indicates that this instance is a subtype of Stats.
+                Although this field is returned in the response, it is ignored on input
+                and cannot be selected. Specify xsi:type instead.
+              </documentation>
+            </annotation>
+          </element>
+        </sequence>
+      </complexType>
+      <complexType abstract="true" name="ApiError">
+        <annotation>
+          <documentation>
+            The API error base class that provides details about an error that occurred
+            while processing a service request.
+            
+            &lt;p&gt;The OGNL field path is provided for parsers to identify the request data
+            element that may have caused the error.&lt;/p&gt;
+          </documentation>
+        </annotation>
+        <sequence>
+          <element maxOccurs="1" minOccurs="0" name="fieldPath" type="xsd:string">
+            <annotation>
+              <documentation>
+                The OGNL field path to identify cause of error.
+              </documentation>
+            </annotation>
+          </element>
+          <element maxOccurs="1" minOccurs="0" name="trigger" type="xsd:string">
+            <annotation>
+              <documentation>
+                The data that caused the error.
+              </documentation>
+            </annotation>
+          </element>
+          <element maxOccurs="1" minOccurs="0" name="errorString" type="xsd:string">
+            <annotation>
+              <documentation>
+                A simple string representation of the error and reason.
+              </documentation>
+            </annotation>
+          </element>
+          <element maxOccurs="1" minOccurs="0" name="ApiError.Type" type="xsd:string">
+            <annotation>
+              <documentation>
+                Indicates that this instance is a subtype of ApiError.
+                Although this field is returned in the response, it is ignored on input
+                and cannot be selected. Specify xsi:type instead.
+              </documentation>
+            </annotation>
+          </element>
+        </sequence>
+      </complexType>
+      <complexType name="ApiException">
+        <annotation>
+          <documentation>
+            Exception class for holding a list of service errors.
+          </documentation>
+        </annotation>
+        <complexContent>
+          <extension base="tns:ApplicationException">
+            <sequence>
+              <element maxOccurs="unbounded" minOccurs="0" name="errors" type="tns:ApiError">
+                <annotation>
+                  <documentation>
+                    List of errors.
+                  </documentation>
+                </annotation>
+              </element>
+            </sequence>
+          </extension>
+        </complexContent>
+      </complexType>
+      <complexType name="ApplicationException">
+        <annotation>
+          <documentation>
+            Base class for exceptions.
+          </documentation>
+        </annotation>
+        <sequence>
+          <element maxOccurs="1" minOccurs="0" name="message" type="xsd:string">
+            <annotation>
+              <documentation>
+                Error message.
+              </documentation>
+            </annotation>
+          </element>
+          <element maxOccurs="1" minOccurs="0"
+            name="ApplicationException.Type" type="xsd:string">
+            <annotation>
+              <documentation>
+                Indicates that this instance is a subtype of ApplicationException.
+                Although this field is returned in the response, it is ignored on input
+                and cannot be selected. Specify xsi:type instead.
+              </documentation>
+            </annotation>
+          </element>
+        </sequence>
+      </complexType>
+      <complexType name="Bid">
+        <annotation>
+          <documentation>
+            Represents a bid of a certain amount.
+          </documentation>
+        </annotation>
+        <sequence>
+          <element maxOccurs="1" minOccurs="0" name="amount" type="tns:Money">
+            <annotation>
+              <documentation>
+                Bid amount.
+              </documentation>
+            </annotation>
+          </element>
+        </sequence>
+      </complexType>
+      <complexType name="Budget">
+        <annotation>
+          <documentation>
+            Data representing the budget for a campaign.
+          </documentation>
+        </annotation>
+        <sequence>
+          <element maxOccurs="1" minOccurs="0" name="period" type="tns:Budget.BudgetPeriod">
+            <annotation>
+              <documentation>
+                Period over which to spend the budget. &lt;code&gt;MONTHLY&lt;/code&gt; is not available to most users.
+                &lt;span class="constraint Selectable"&gt;This field can be selected using the value "Period".&lt;/span&gt;
+                &lt;span class="constraint Required"&gt;This field is required and should not be {@code null} when it is contained within {@link Operator}s : ADD.&lt;/span&gt;
+              </documentation>
+            </annotation>
+          </element>
+          <element maxOccurs="1" minOccurs="0" name="amount" type="tns:Money">
+            <annotation>
+              <documentation>
+                Amount of budget.
+                &lt;span class="constraint Selectable"&gt;This field can be selected using the value "Amount".&lt;/span&gt;&lt;span class="constraint Filterable"&gt;This field can be filtered on.&lt;/span&gt;
+                &lt;span class="constraint InRange"&gt;This field must be greater than or equal to 1.&lt;/span&gt;
+                &lt;span class="constraint Required"&gt;This field is required and should not be {@code null} when it is contained within {@link Operator}s : ADD.&lt;/span&gt;
+              </documentation>
+            </annotation>
+          </element>
+          <element maxOccurs="1" minOccurs="0" name="deliveryMethod" type="tns:Budget.BudgetDeliveryMethod">
+            <annotation>
+              <documentation>
+                Delivery method for the budget.
+                &lt;span class="constraint Selectable"&gt;This field can be selected using the value "DeliveryMethod".&lt;/span&gt;
+              </documentation>
+            </annotation>
+          </element>
+        </sequence>
+      </complexType>
+      <complexType name="BudgetOptimizer">
+        <annotation>
+          <documentation>
+            In budget optimizer, Google automatically places bids for the user
+            based on their daily/monthly budget.
+          </documentation>
+        </annotation>
+        <complexContent>
+          <extension base="tns:BiddingStrategy">
+            <sequence>
+              <element maxOccurs="1" minOccurs="0"
+                name="enhancedCpcEnabled" type="xsd:boolean">
+                <annotation>
+                  <documentation>
+                    The enhanced CPC bidding option for the campaign, which enables
+                    bids to be enhanced based on conversion optimizer data. For more
+                    information about enhanced CPC, see the article
+                    &lt;a href="http://adwords.google.com/support/aw/bin/answer.py?answer=159957"
+                    &gt;What is Enhanced CPC?&lt;/a&gt;.
+                    &lt;span class="constraint Selectable"&gt;This field can be selected using the value "EnhancedCpcEnabled".&lt;/span&gt;&lt;span class="constraint Filterable"&gt;This field can be filtered on.&lt;/span&gt;
+                  </documentation>
+                </annotation>
+              </element>
+              <element maxOccurs="1" minOccurs="0" name="bidCeiling" type="tns:Money">
+                <annotation>
+                  <documentation>
+                    Ceiling on bids placed by the budget optimizer.
+                    &lt;span class="constraint Selectable"&gt;This field can be selected using the value "BidCeiling".&lt;/span&gt;
+                  </documentation>
+                </annotation>
+              </element>
+            </sequence>
+          </extension>
+        </complexContent>
+      </complexType>
+      <complexType name="BudgetOptimizerAdGroupBids">
+        <annotation>
+          <documentation>
+            Adgroup level bids used in budget optimizer bidding strategy.
+          </documentation>
+        </annotation>
+        <complexContent>
+          <extension base="tns:AdGroupBids">
+            <sequence>
+              <element maxOccurs="1" minOccurs="0"
+                name="proxyKeywordMaxCpc" type="tns:Bid">
+                <annotation>
+                  <documentation>
+                    Proxy bid set by budget optimizer:
+                    &lt;span class="constraint Selectable"&gt;This field can be selected using the value "ProxyKeywordMaxCpc".&lt;/span&gt;&lt;span class="constraint Filterable"&gt;This field can be filtered on.&lt;/span&gt;
+                    &lt;span class="constraint ReadOnly"&gt;This field is read only and should not be set.  If this field is sent to the API, it will be ignored.&lt;/span&gt;
+                  </documentation>
+                </annotation>
+              </element>
+              <element maxOccurs="1" minOccurs="0"
+                name="proxySiteMaxCpc" type="tns:Bid">
+                <annotation>
+                  <documentation>
+                    Proxy bid set by budget optimizer:
+                    &lt;span class="constraint Selectable"&gt;This field can be selected using the value "ProxySiteMaxCpc".&lt;/span&gt;&lt;span class="constraint Filterable"&gt;This field can be filtered on.&lt;/span&gt;
+                    &lt;span class="constraint ReadOnly"&gt;This field is read only and should not be set.  If this field is sent to the API, it will be ignored.&lt;/span&gt;
+                  </documentation>
+                </annotation>
+              </element>
+              <element maxOccurs="1" minOccurs="0"
+                name="enhancedCpcEnabled" type="xsd:boolean">
+                <annotation>
+                  <documentation>
+                    The flag to indicate the enhanced CPC bidding is turned on for the campaign
+                    &lt;span class="constraint Selectable"&gt;This field can be selected using the value "EnhancedCpcEnabled".&lt;/span&gt;&lt;span class="constraint Filterable"&gt;This field can be filtered on.&lt;/span&gt;
+                    &lt;span class="constraint ReadOnly"&gt;This field is read only and should not be set.  If this field is sent to the API, it will be ignored.&lt;/span&gt;
+                  </documentation>
+                </annotation>
+              </element>
+            </sequence>
+          </extension>
+        </complexContent>
+      </complexType>
+      <complexType name="ConversionOptimizerAdGroupBids">
+        <annotation>
+          <documentation>
+            Adgroup level bids used in conversion optimizer bidding strategy.
+          </documentation>
+        </annotation>
+        <complexContent>
+          <extension base="tns:AdGroupBids">
+            <sequence>
+              <element maxOccurs="1" minOccurs="0" name="targetCpa" type="tns:Bid">
+                <annotation>
+                  <documentation>
+                    Target cost per acquisition/conversion.
+                    &lt;span class="constraint Selectable"&gt;This field can be selected using the value "TargetCpa".&lt;/span&gt;&lt;span class="constraint Filterable"&gt;This field can be filtered on.&lt;/span&gt;
+                  </documentation>
+                </annotation>
+              </element>
+              <element maxOccurs="1" minOccurs="0"
+                name="conversionOptimizerBidType" type="tns:ConversionOptimizerBidType">
+                <annotation>
+                  <documentation>
+                    Bid type for the conversion optimizer campaign,
+                    the values are maxCpa or targetCpa
+                    &lt;span class="constraint Selectable"&gt;This field can be selected using the value "ConversionOptimizerBidType".&lt;/span&gt;&lt;span class="constraint Filterable"&gt;This field can be filtered on.&lt;/span&gt;
+                    &lt;span class="constraint ReadOnly"&gt;This field is read only and should not be set.  If this field is sent to the API, it will be ignored.&lt;/span&gt;
+                  </documentation>
+                </annotation>
+              </element>
+              <element maxOccurs="1" minOccurs="0"
+                name="deduplicationMode" type="tns:ConversionDeduplicationMode">
+                <annotation>
+                  <documentation>
+                    Deduplication mode for the conversion optimizer campaign
+                    &lt;span class="constraint Selectable"&gt;This field can be selected using the value "DeduplicationMode".&lt;/span&gt;&lt;span class="constraint Filterable"&gt;This field can be filtered on.&lt;/span&gt;
+                    &lt;span class="constraint ReadOnly"&gt;This field is read only and should not be set.  If this field is sent to the API, it will be ignored.&lt;/span&gt;
+                  </documentation>
+                </annotation>
+              </element>
+            </sequence>
+          </extension>
+        </complexContent>
+      </complexType>
+      <complexType name="ManualCPCAdGroupBids">
+        <annotation>
+          <documentation>
+            Adgroup level bids used in manual CPC bidding strategy.
+          </documentation>
+        </annotation>
+        <complexContent>
+          <extension base="tns:AdGroupBids">
+            <sequence>
+              <element maxOccurs="1" minOccurs="0" name="keywordMaxCpc" type="tns:Bid">
+                <annotation>
+                  <documentation>
+                    Max CPC (cost per click) bid for keyword targeting on search network.
+                    &lt;span class="constraint Selectable"&gt;This field can be selected using the value "KeywordMaxCpc".&lt;/span&gt;&lt;span class="constraint Filterable"&gt;This field can be filtered on.&lt;/span&gt;
+                  </documentation>
+                </annotation>
+              </element>
+              <element maxOccurs="1" minOccurs="0"
+                name="keywordContentMaxCpc" type="tns:Bid">
+                <annotation>
+                  <documentation>
+                    Max CPC bid for keyword targeting on content network.
+                    &lt;span class="constraint Selectable"&gt;This field can be selected using the value "KeywordContentMaxCpc".&lt;/span&gt;&lt;span class="constraint Filterable"&gt;This field can be filtered on.&lt;/span&gt;
+                  </documentation>
+                </annotation>
+              </element>
+              <element maxOccurs="1" minOccurs="0" name="siteMaxCpc" type="tns:Bid">
+                <annotation>
+                  <documentation>
+                    Max CPC bid for site targeting. This field has been sunsetted and
+                    will return an error if set.
+                    &lt;span class="constraint Selectable"&gt;This field can be selected using the value "SiteMaxCpc".&lt;/span&gt;&lt;span class="constraint Filterable"&gt;This field can be filtered on.&lt;/span&gt;
+                  </documentation>
+                </annotation>
+              </element>
+              <element maxOccurs="1" minOccurs="0"
+                name="enhancedCpcEnabled" type="xsd:boolean">
+                <annotation>
+                  <documentation>
+                    The flag to indicate the enhanced CPC bidding is turned on for the campaign
+                    &lt;span class="constraint Selectable"&gt;This field can be selected using the value "EnhancedCpcEnabled".&lt;/span&gt;&lt;span class="constraint Filterable"&gt;This field can be filtered on.&lt;/span&gt;
+                    &lt;span class="constraint ReadOnly"&gt;This field is read only and should not be set.  If this field is sent to the API, it will be ignored.&lt;/span&gt;
+                  </documentation>
+                </annotation>
+              </element>
+            </sequence>
+          </extension>
+        </complexContent>
+      </complexType>
+      <complexType name="ManualCPMAdGroupBids">
+        <annotation>
+          <documentation>
+            Adgroup level bids used in manual CPM bidding strategy.
+          </documentation>
+        </annotation>
+        <complexContent>
+          <extension base="tns:AdGroupBids">
+            <sequence>
+              <element maxOccurs="1" minOccurs="0" name="maxCpm" type="tns:Bid">
+                <annotation>
+                  <documentation>
+                    Max CPM (cost per thousand impressions) bid.
+                    &lt;span class="constraint Selectable"&gt;This field can be selected using the value "MaxCpm".&lt;/span&gt;&lt;span class="constraint Filterable"&gt;This field can be filtered on.&lt;/span&gt;
+                  </documentation>
+                </annotation>
+              </element>
+            </sequence>
+          </extension>
+        </complexContent>
+      </complexType>
+      <complexType abstract="true" name="AdGroupBids">
+        <annotation>
+          <documentation>
+            Represents bids at the adgroup level, which could be of different subtypes based on
+            campaign's bidding strategy.
+          </documentation>
+        </annotation>
+        <sequence>
+          <element maxOccurs="1" minOccurs="0" name="AdGroupBids.Type" type="xsd:string">
+            <annotation>
+              <documentation>
+                Indicates that this instance is a subtype of AdGroupBids.
+                Although this field is returned in the response, it is ignored on input
+                and cannot be selected. Specify xsi:type instead.
+              </documentation>
+            </annotation>
+          </element>
+        </sequence>
+      </complexType>
+      <complexType abstract="true" name="BiddingStrategy">
+        <annotation>
+          <documentation>
+            A campaign's bidding strategy, such as manual CPC, manual CPM, budget optimizer, etc.
+          </documentation>
+        </annotation>
+        <sequence>
+          <element maxOccurs="1" minOccurs="0"
+            name="BiddingStrategy.Type" type="xsd:string">
+            <annotation>
+              <documentation>
+                Indicates that this instance is a subtype of BiddingStrategy.
+                Although this field is returned in the response, it is ignored on input
+                and cannot be selected. Specify xsi:type instead.
+              </documentation>
+            </annotation>
+          </element>
+        </sequence>
+      </complexType>
+      <complexType name="BiddingTransition">
+        <annotation>
+          <documentation>
+            Used to switch a campaign's bidding strategy.
+          </documentation>
+        </annotation>
+        <sequence>
+          <element maxOccurs="1" minOccurs="0"
+            name="targetBiddingStrategy" type="tns:BiddingStrategy">
+            <annotation>
+              <documentation>
+                &lt;span class="constraint Required"&gt;This field is required and should not be {@code null}.&lt;/span&gt;
+              </documentation>
+            </annotation>
+          </element>
+          <element maxOccurs="1" minOccurs="0"
+            name="explicitAdGroupBids" type="tns:AdGroupBids">
+            <annotation>
+              <documentation>
+                User provide a single set of explicit adgroup level bid values to be copied
+                for all adgroups for the campaign while transitioning a campaign's bidding strategy.
+                E.g., while transitioning from manual CPC to manual CPM bidding,
+                user provides a maxCPM bid and all adgroups will be set to use that bid.
+                Explicit Bid is required for ManualCpc &lt;-&gt; ManualCPM,
+                optional for ManualCPC &lt;-&gt; ConversionOptimizer
+                and should not be specified for ManualCPC &lt;-&gt;BudgetOptimizer
+              </documentation>
+            </annotation>
+          </element>
+          <element maxOccurs="1" minOccurs="0"
+            name="BiddingTransition.Type" type="xsd:string">
+            <annotation>
+              <documentation>
+                Indicates that this instance is a subtype of BiddingTransition.
+                Although this field is returned in the response, it is ignored on input
+                and cannot be selected. Specify xsi:type instead.
+              </documentation>
+            </annotation>
+          </element>
+        </sequence>
+      </complexType>
+      <complexType name="Campaign">
+        <annotation>
+          <documentation>
+            Data representing an AdWords campaign.
+          </documentation>
+        </annotation>
+        <sequence>
+          <element maxOccurs="1" minOccurs="0" name="id" type="xsd:long">
+            <annotation>
+              <documentation>
+                ID of this campaign.
+                &lt;span class="constraint Selectable"&gt;This field can be selected using the value "Id".&lt;/span&gt;&lt;span class="constraint Filterable"&gt;This field can be filtered on.&lt;/span&gt;
+                &lt;span class="constraint ReadOnly"&gt;This field is read only and should not be set for following {@link Operator}s : ADD.  If this field is sent to the API, it will be ignored.&lt;/span&gt;
+                &lt;span class="constraint Required"&gt;This field is required and should not be {@code null} when it is contained within {@link Operator}s : SET.&lt;/span&gt;
+              </documentation>
+            </annotation>
+          </element>
+          <element maxOccurs="1" minOccurs="0" name="name" type="xsd:string">
+            <annotation>
+              <documentation>
+                Name of this campaign. On add, defaults to &lt;code&gt;Campaign #&lt;var&gt;N&lt;/var&gt;&lt;/code&gt;.
+                &lt;span class="constraint Selectable"&gt;This field can be selected using the value "Name".&lt;/span&gt;&lt;span class="constraint Filterable"&gt;This field can be filtered on.&lt;/span&gt;
+                &lt;span class="constraint StringLength"&gt;This string must not be empty.&lt;/span&gt;
+              </documentation>
+            </annotation>
+          </element>
+          <element maxOccurs="1" minOccurs="0" name="status" type="tns:CampaignStatus">
+            <annotation>
+              <documentation>
+                Status of this campaign. On add, defaults to &lt;code&gt;ACTIVE&lt;/code&gt;.
+                &lt;span class="constraint Selectable"&gt;This field can be selected using the value "Status".&lt;/span&gt;&lt;span class="constraint Filterable"&gt;This field can be filtered on.&lt;/span&gt;
+              </documentation>
+            </annotation>
+          </element>
+          <element maxOccurs="1" minOccurs="0" name="servingStatus" type="tns:ServingStatus">
+            <annotation>
+              <documentation>
+                Serving status.
+                &lt;span class="constraint Selectable"&gt;This field can be selected using the value "ServingStatus".&lt;/span&gt;&lt;span class="constraint Filterable"&gt;This field can be filtered on.&lt;/span&gt;
+                &lt;span class="constraint ReadOnly"&gt;This field is read only and should not be set.  If this field is sent to the API, it will be ignored.&lt;/span&gt;
+              </documentation>
+            </annotation>
+          </element>
+          <element maxOccurs="1" minOccurs="0" name="startDate" type="xsd:string">
+            <annotation>
+              <documentation>
+                Date the campaign begins. On add, defaults to the current day
+                in the parent account's local timezone. The date's format should be YYYYMMDD.
+                &lt;span class="constraint Selectable"&gt;This field can be selected using the value "StartDate".&lt;/span&gt;&lt;span class="constraint Filterable"&gt;This field can be filtered on.&lt;/span&gt;
+              </documentation>
+            </annotation>
+          </element>
+          <element maxOccurs="1" minOccurs="0" name="endDate" type="xsd:string">
+            <annotation>
+              <documentation>
+                Date the campaign ends. On add, defaults to &lt;code&gt;20371231&lt;/code&gt;, which means the
+                campaign will run indefinitely. To set an existing campaign to run indefinitely, set this
+                field to &lt;code&gt;203712&lt;b&gt;30&lt;/b&gt;&lt;/code&gt;. The date's format should be YYYYMMDD.
+                &lt;span class="constraint Selec