Could you please post the XML of the entire SOAP fault you receive when you include the criterionType element?
Cheers, -Jeff Posnick, AdWords API Team On Feb 18, 3:40 am, "ali.ghaznavi.mediafl...@gmail.com" <ali.ghaznavi.mediafl...@gmail.com> wrote: > Hi Jeff Posnick, > > i have copy paste the code after the message well when i placed > <criterionType>. . .. </criterionType> tag then it gives this error > > Fault: 1 Code: soapenv:Server.userException String: One or more input > elements failed validation. Detail: > > and i f i removed it then it gives > > Fault: 1 Code: soapenv:Server.userException String: > java.lang.RuntimeException: Abstract keyValue without superclass. > Detail: > > kindly guide me to resolved this problem > > Best Regards > Ali > > <?php// Copyright 2008, Google Inc. All Rights Reserved. > // > // Licensed under the Apache License, Version 2.0 (the "License"); > // you may not use this file except in compliance with the License. > // You may obtain a copy of the License at > // > // http://www.apache.org/licenses/LICENSE-2.0 > // > // Unless required by applicable law or agreed to in writing, software > // distributed under the License is distributed on an "AS IS" BASIS, > // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or > implied. > // See the License for the specific language governing permissions and > // limitations under the License. > > /** > * This code sample retrieves all criteria from the AdWords account > that > * belongs to the customer issuing the request. > */ > > require_once('soapclientfactory.php'); > > # Provide AdWords login information. > $email = 'INSERT_LOGIN_EMAIL_HERE'; > $password = 'INSERT_PASSWORD_HERE'; > $client_email = 'INSERT_CLIENT_LOGIN_EMAIL_HERE'; > $useragent = 'INSERT_COMPANY_NAME: AdWords API PHP Sample Code'; > $developer_token = 'INSERT_DEVELOPER_TOKEN_HERE'; > $application_token = 'INSERT_APPLICATION_TOKEN_HERE'; > > # Define SOAP headers. > $headers = > '<email>' . $email . '</email>'. > '<password>' . $password . '</password>' . > '<clientEmail>' . $client_email . '</clientEmail>' . > '<useragent>' . $useragent . '</useragent>' . > '<developerToken>' . $developer_token . '</developerToken>' . > '<applicationToken>' . $application_token . '</applicationToken>'; > > # Set up service connection. To view XML request/response, change > value of > # $debug to 1. To send requests to production environment, replace > # "sandbox.google.com" with "adwords.google.com". > > $namespace = 'https://adwords.google.com/api/adwords/v13'; > > $criterion_service = > SoapClientFactory::GetClient($namespace . '/CriterionService?wsdl', > 'wsdl'); > $criterion_service->setHeaders($headers); > $debug = 0; > > $id = ##########; > $adGroupId = ###########; > $paused = 'true'; > $maxCpc = '200000'; > $maxCpm = '100000'; > $criterionType = "Keyword"; > $destinationUrl = 'www.google.com'; > > # Get all campaigns. > $request_xml = '<updateCriteria>' . > '<criteria>'. > '<id>'.$id.'</id>' . > '<adGroupId>'.$adGroupId.'</adGroupId>' . > // '<adGroupId>'. > $adGroupId.'</adGroupId>' . > '<criterionType>'.$criterionType.'</ > criterionType>'. > > '<destinationUrl>'.$destinationUrl.'</destinationUrl>'. > '<maxCpc>'.$maxCpc.'</maxCpc>'. > '<paused>'.$paused.'</paused>'. > '</criteria>'. > '</updateCriteria>'; > > $criteria = $criterion_service->call('updateCriteria', > $request_xml); > // $criteria = $criteria['updateCriteriaReturn']; > if ($debug) show_xml($criterion_service); > if ($criterion_service->fault) show_fault($criterion_service); > exit; > > function show_xml($service) { > echo $service->request; > echo $service->response; > echo "\n"; > > } > > function show_fault($service) { > echo "\n"; > echo 'Fault: ' . $service->fault . "\n"; > echo 'Code: ' . $service->faultcode . "\n"; > echo 'String: ' . $service->faultstring . "\n"; > echo 'Detail: ' . $service->faultdetail . "\n"; > exit(0);} > > ?> > > On Feb 17, 9:56 pm, AdWords API Advisor <adwordsapiadvi...@google.com> > wrote: > > > Hello Ali, > > > You're not specifying what type of criteria you're passing in. To do > > so, please include a <criterionType>Keyword</criterionType> element > > (or <criterionType>Website</criterionType>) as a child to your > > <criteria> element. > > > Cheers, > > -Jeff Posnick, AdWords API Team > > > On Feb 17, 2:03 am, "ali.ghaznavi.mediafl...@gmail.com" > > > <ali.ghaznavi.mediafl...@gmail.com> wrote: > > > Dear Jan Piotrowski (AdWords API Guru), > > > > Thanks for your kind reply. > > > Thing is that i need to achieved this by using directly Adword Api i > > > know i am using APIlity but i need to do this directly with out using > > > it > > > that is why i have included the code that i am using it if you are a > > > real guru then fixed the bug in the code. > > > > Regards > > > Ali > > > > On Feb 16, 4:21 pm, "Jan Piotrowski (AdWords API Guru)" > > > > <piotrow...@gmail.com> wrote: > > > > Try APIlity:http://google-apility.sourceforge.net/ > > > > > - Jan > > > > > On 14 Feb., 13:10, "ali.ghaznavi.mediafl...@gmail.com" > > > > > <ali.ghaznavi.mediafl...@gmail.com> wrote: > > > > > hello, > > > > > > Need some help please > > > > > > here is the code listing > > > > > > <?php > > > > > require_once('../../_classes/google_adword_api/ > > > > > soapclientfactory.php'); > > > > > $email = 'INSERT_LOGIN_EMAIL_HERE'; > > > > > $password = 'INSERT_PASSWORD_HERE'; > > > > > $client_email = 'INSERT_CLIENT_LOGIN_EMAIL_HERE'; > > > > > $useragent = 'INSERT_COMPANY_NAM'; > > > > > $developer_token = 'INSERT_DEVELOPER_TOKEN_HERE'; > > > > > $application_token = 'WvAJVKwu5jByZG6jVT5ZwQ'; > > > > > > # Define SOAP headers. > > > > > $headers = > > > > > '<email>' . $email . '</email>'. > > > > > '<password>' . $password . '</password>' . > > > > > '<clientEmail>' . $client_email . '</clientEmail>' . > > > > > '<useragent>' . $useragent . '</useragent>' . > > > > > '<developerToken>' . $developer_token . '</developerToken>' . > > > > > '<applicationToken>' . $application_token . '</applicationToken>'; > > > > > > $namespace = 'https://adwords.google.com/api/adwords/v13'; > > > > > > $criterion_service = > > > > > SoapClientFactory::GetClient($namespace . '/CriterionService?wsdl', > > > > > 'wsdl'); > > > > > $criterion_service->setHeaders($headers); > > > > > $debug = 0; > > > > > > $id = '0000000'; > > > > > $adGroupId = '00000000'; > > > > > $paused = 'true'; > > > > > $maxCpc = '200000'; > > > > > $maxCpm = '100000'; > > > > > $criterionType = "Keyword"; > > > > > $destinationUrl = 'www.google.com'; > > > > > > $request_xml2 = > > > > > '<updateCriteria>' . > > > > > '<criteria>'. > > > > > > > > > > '<adGroupId>'.$adGroupId.'</adGroupId>' .. > > > > > '<id>'.$id.'</id>' . > > > > > > > > > > '<destinationUrl>'.$destinationUrl.'</destinationUrl>'. > > > > > '<maxCpc>'.$maxCpc.'</maxCpc>'. > > > > > '<maxCpm>'.$maxCpm.'</maxCpm>'. > > > > > '<paused>'.$paused.'</paused>'. > > > > > '</criteria>'. > > > > > '</updateCriteria>'; > > > > > > $criteria = > > > > > $criterion_service->call('updateCriteria', > > > > > $request_xml2); > > > > > > if ($debug) > > > > > show_xml($criterion_service); > > > > > if ($criterion_service->fault) > > > > > show_fault($criterion_service); > > > > > > # Convert to a list if we get back a > > > > > single object. > > > > > if (!$criteria[0]) { > > > > > $criteria = array($criteria); > > > > > } > > > > > > function show_xml($service) > > > > > { > > > > > echo $service->request; > > > > > echo $service->response; > > > > > echo "\n"; > > > > > > } > > > > > > function show_fault($service) { > > > > > echo "\n"; > > > > > echo 'Fault: ' . $service->fault . "\n"; > > > > > echo 'Code: ' . $service->faultcode . "\n"; > > > > > echo 'String: ' . $service->faultstring . "\n"; > > > > > echo 'Detail: ' . $service->faultdetail . "\n"; > > > > > exit(0); > > > > > > } > > > > > > ?> > > > > > > well it gives the error and i cant under stand this please guide me > > > > > how i am going to update > > > > > > Here is the error > > > > > > Fault: 1 Code: soapenv:Server.userException String: > > > > > java.lang.RuntimeException:AbstractkeyValuewithoutsuperclass. > > > > > Detail: > > > > > > Please Guide Me > > > > > > Regards > > > > > Ali --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "AdWords API Forum" group. To post to this group, send email to adwords-api@googlegroups.com To unsubscribe from this group, send email to adwords-api+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/adwords-api?hl=en -~----------~----~----~----~------~----~------~--~---