Задайте вопросЗадайте вопрос
 

ВопросReportingService in V6 (sometimes it works, sometimes it does not)

  • 2 июня 2009 г. 15:52dshevnock Медали пользователяМедали пользователяМедали пользователяМедали пользователяМедали пользователя
     
    We are still experiencing numerous sporadic and unpredictable issues when trying to access various operations of the CampaignManagement and ReportService services. More specifically, I have been banging my head over using the SubmitGenerateReport operation. Over the past 5 days of testing, more often than not, the call to the operation fails without sending back a reportID. This morning, we have tried accessing the SubmitGenerateReport operation 13 times and only 7 times has the operation returned a reportID. The remaining times either returned either a

    'HTTP Error: no data present after HTTP headers'

    or a SOAP fault during XML processing with a message of

    'XML error parsing WSDL from https://adcenterapi.microsoft.com/Api/Advertiser/V6/Reporting/ReportingService.svc?xsd=xsd3 on line 20: > required'.

    This morning (2009-06-02), here is the progression of successful and failed attempts (all times are EST):

    07:40:45 am - 'XML error parsing WSDL from https://adcenterapi.microsoft.com/Api/Advertiser/V6/Reporting/ReportingService.svc?xsd=xsd0 on line 20: > required'

    09:09:07 am - 'XML error parsing WSDL from https://adcenterapi.microsoft.com/Api/Advertiser/V6/Reporting/ReportingService.svc?xsd=xsd0 on line 20: > required'

    09:10:09 am - 'SOAP Fault: HTTP Error: no data present after HTTP headers'

    10:43:40 am - successful (received a tracking ID and a reportID)

    10:43:53 am - successful (received a tracking ID and a reportID)

    10:44:05 am - successful (received a tracking ID and a reportID)

    10:44:39 am - 'XML error parsing WSDL from https://adcenterapi.microsoft.com/Api/Advertiser/V6/Reporting/ReportingService.svc?xsd=xsd0 on line 20: > required'

    10:44:54 am - 'XML error parsing WSDL from https://adcenterapi.microsoft.com/Api/Advertiser/V6/Reporting/ReportingService.svc?xsd=xsd2 on line 20: > required'

    10:59:49 am - successful (received a tracking ID and a reportID)

    11:02:03 am - successful (received a tracking ID and a reportID)

    11:02:58 am - successful (received a tracking ID and a reportID)

    11:03:13 am - 'XML error parsing WSDL from https://adcenterapi.microsoft.com/Api/Advertiser/V6/Reporting/ReportingService.svc?xsd=xsd3 on line 20: > required'

    11:03:25 am - successful (received a tracking ID and a reportID)

    The following is our SOAP call from our last successful call to the SubmitGenerateReport opertaion:

    POST /Api/Advertiser/v6/Reporting/ReportingService.svc?wsdl HTTP/1.0
    Host: adcenterapi.microsoft.com
    User-Agent: NuSOAP/0.7.3 (1.114)
    Content-Type: text/xml; charset=utf-8
    SOAPAction: "SubmitGenerateReport"
    Content-Length: 3072

    <?xml version="1.0" encoding="utf-8"?><SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns8945="http://tempu
    ri.org"><SOAP-ENV:Header><h:ApplicationToken i:nil="true" xmlns:h="https://adcenter.microsoft.com/v6" xmlns:i="http://www.w3.org/2001/XMLSchema-instance" /><h:CustomerAccountId i:nil="true" xmlns:h="https://adcenter.microsoft.com/v6" xmlns:i="http://www.w3.org/2001/XMLSchema-instance" /><h:CustomerI
    d i:nil="true" xmlns:h="https://adcenter.microsoft.com/v6" xmlns:i="http://www.w3.org/2001/XMLSchema-instance" /><h:DeveloperToken xmlns:h="https://adcenter.microsoft.com/v6">XXXXXXXXX</h:DeveloperToken><h:Password xmlns:h="https://adcenter.microsoft.com/v6">XXXXXXXXXXX</h:Password><h:UserName xmlns:h="h
    ttps://adcenter.microsoft.com/v6">XXXXXXX</h:UserName></SOAP-ENV:Header><SOAP-ENV:Body><SubmitGenerateReportRequest xmlns="https://adcenter.microsoft.com/v6"><ReportRequest i:type="KeywordPerformanceReportRequest" xmlns:i="http://www.w3.org/2001/XMLSchema-instance"><Format>Csv</Format><Langua
    ge>English</Language><ReportName>KeywordPerformance~2009-06-01</ReportName><ReturnOnlyCompleteData>false</ReturnOnlyCompleteData><Aggregation>Daily</Aggregation><Columns><KeywordPerformanceReportColumn>KeywordId</KeywordPerformanceReportColumn><KeywordPerformanceReportColumn>Keyword</KeywordPerforma
    nceReportColumn><KeywordPerformanceReportColumn>AdGroupId</KeywordPerformanceReportColumn><KeywordPerformanceReportColumn>CampaignId</KeywordPerformanceReportColumn><KeywordPerformanceReportColumn>CampaignName</KeywordPerformanceReportColumn><KeywordPerformanceReportColumn>AccountId</KeywordPerforma
    nceReportColumn><KeywordPerformanceReportColumn>AccountName</KeywordPerformanceReportColumn><KeywordPerformanceReportColumn>Impressions</KeywordPerformanceReportColumn><KeywordPerformanceReportColumn>Clicks</KeywordPerformanceReportColumn><KeywordPerformanceReportColumn>Ctr</KeywordPerformanceReport
    Column><KeywordPerformanceReportColumn>AverageCpc</KeywordPerformanceReportColumn><KeywordPerformanceReportColumn>Spend</KeywordPerformanceReportColumn><KeywordPerformanceReportColumn>AveragePosition</KeywordPerformanceReportColumn><KeywordPerformanceReportColumn>TimePeriod</KeywordPerformanceReport
    Column></Columns><Filter><AdDistribution>Search</AdDistribution><AdType i:nil="true" /><DeliveredMatchType i:nil="true" /><Keywords i:nil="true" xmlns:a="http://schemas.microsoft.com/2003/10/Serialization/Arrays"/><LanguageAndRegion i:nil="true" /></Filter><Scope><AccountIds xmlns:a="http://schemas.
    microsoft.com/2003/10/Serialization/Arrays"><a:int>8917</a:int></AccountIds><AdGroups i:nil="true" /><Campaigns i:nil="true" /></Scope><Time><CustomDateRangeEnd i:nil="true" /><CustomDateRangeStart i:nil="true" /><CustomDates i:nil="true" /><PredefinedTime>Yesterday</PredefinedTime></Time></ReportRe
    quest></SubmitGenerateReportRequest></SOAP-ENV:Body></SOAP-ENV:Envelope>

    (This SOAP request was based off a sample SOAP request that a Technical Support Engineer sent to me they stated worked.)

    I attempted to generate the same exact SOAP request at 11:34:30 am, and received another SOAP fault with the message:

    'XML error parsing WSDL from https://adcenterapi.microsoft.com/Api/Advertiser/V6/Reporting/ReportingService.svc?xsd=xsd1 on line 20: > required'

    (Unfortunately, when I receive this SOAP fault from NuSOAP, this fault occurs before the SOAP request can be built.)

    After attempting to call the SubmitGenerateReport opertaion 3 more times, I received the following SOAP faults:
    'XML error parsing WSDL from https://adcenterapi.microsoft.com/Api/Advertiser/V6/Reporting/ReportingService.svc?xsd=xsd1 on line 20: > required'
    'XML error parsing WSDL from https://adcenterapi.microsoft.com/Api/Advertiser/v6/Reporting/ReportingService.svc?wsdl on line 20: > required'
    'wsdl error: XML error parsing WSDL from https://adcenterapi.microsoft.com/Api/Advertiser/V6/Reporting/ReportingService.svc?xsd=xsd0 on line 20: > required'

    The fourth attempt succedded at 11:37:01 am and I received a tracking ID and a reportID back.

    I have been able to duplicate these issues on a Windows XP machine running PHP 5.2.5, NuSOAP 0.7.3 and a custom built framework which all of our PPC applications run on. These issues have been duplicated on a Unix server running 5.1.6 and NuSOAP 0.7.3 and the same framwork which all of our PPC applications run. (Our MSN AdCenter API Version 5.1 runs on this same custom framework which experiences no issues.) We have been able to successfully call other operations from the CustomerManagement service and some of the operations within the CampaignManagement service.

    I have also done some testing using PHP's native SOAP support and experience issues when creating a SOAP client using the ReportService WSDL.

Все ответы

  • 2 июня 2009 г. 15:53dshevnock Медали пользователяМедали пользователяМедали пользователяМедали пользователяМедали пользователя
     
    This is in regards to production by the way, not the sandbox.
  • 3 июня 2009 г. 19:23dschmittdiel Медали пользователяМедали пользователяМедали пользователяМедали пользователяМедали пользователя
     
    I've been receiving many errors with my PHP scripts as well for all different adCenter API calls since about last Wednesday.  A few times the calls work but most of the time they don't finish fully.  Incidentally, the reporting calls are the ones that work most of the time for me!  For other calls I get an error message like this before the script exits:
    HTTP System.ServiceModel.ServiceActivationException.

    First, are you sure that your SOAPclient is initializing?  I use a "while" loop to make sure that I get a valid SOAPclient.  If this line doesn't work:
    $client = new SOAPClient($reportProxy, $opts);
    then I get a PHP warning like this:
    Warning: SoapClient::SoapClient(https://adcenterapi.microsoft.com/Api/Advertiser/v6/CampaignManagement/CampaignManagementService.svc?xsd=xsd2): failed to open stream: HTTP request failed! HTTP/1.1 500 Internal Server Error
     in xxxx on line 116

    Warning: SoapClient::SoapClient(): I/O warning : failed to load external entity "https://adcenterapi.microsoft.com/Api/Advertiser/v6/CampaignManagement/CampaignManagementService.svc?xsd=xsd2" in xxxx on line 116

    Which is pretty close to what you're seeing.  Just throwing that out there for you.
    DS
  • 3 июня 2009 г. 19:58dshevnock Медали пользователяМедали пользователяМедали пользователяМедали пользователяМедали пользователя
     
    I am sure that my NuSOAP client is initializing. (If it doesn't initialize, my script will die().)

    Are you using NuSOAP, or the native SOAP functionality in PHP?
  • 4 июня 2009 г. 1:00dschmittdiel Медали пользователяМедали пользователяМедали пользователяМедали пользователяМедали пользователя
     
    No, I'm just using the native php_soap.dll, which is what the MSDN documentation indicated was necessary to get started.  But for Google AdWords API scripts I am using NuSOAP.  Just didn't think about using it for MSN because everything was working fine without it.
  • 5 июня 2009 г. 15:09dshevnock Медали пользователяМедали пользователяМедали пользователяМедали пользователяМедали пользователя
     
    Are there any updates to these outstanding issues? We are experiencing similar issues with other operations within the CampaignManagement service.
  • 17 июня 2009 г. 21:27Arif Saifee - MSFT Медали пользователяМедали пользователяМедали пользователяМедали пользователяМедали пользователя
     
    dshevnock,

    The XML parsing error that you are getting most likely is because the service returned you a 500 error but your script was expecting a WSDL so it treated the 500 error message as the WSDL and started parsing it as such.

    To make progess, you can cache the WSDL.

    We are working on finding out the root cause of the 500 error that some of the API servers seem to be sending for WSDL requests.
  • 19 июня 2009 г. 11:57dshevnock Медали пользователяМедали пользователяМедали пользователяМедали пользователяМедали пользователя
     
    When I did some basic testing of caching the WSDLs, that did not work either. As of 2009-06-19, it seems as though I am able to successfully access the GetCampaignsByAccountId operation of the Campaign Management interface. In the future, I am going to look into caching the WSDLs however.
    Rebuilding Americas Credit - Auto Loans by Auto Credit Express
  • 24 июня 2009 г. 14:36devawe Медали пользователяМедали пользователяМедали пользователяМедали пользователяМедали пользователя
     
    Hi all,

    I am trying to make a request with the action SubmitGenerateReport but I always get this error {https://adcenter.microsoft.com/v6}ReportFormat: cannot accept ''  

    accountId = XXXXX;
          uri = "https://adcenterapi.microsoft.com/api/advertiser/v6/";
          xmlns = "https://adcenter.microsoft.com/v6";
          reportProxy = uri + "Reporting/ReportingService.svc?wsdl";
          action = "SubmitGenerateReport";
          username =  "XXXX";
          password =  "XXXXX";
          developerToken = "XXXXX";
          applicationToken = "";
          
         soap_client = SOAP::WSDLDriverFactory.new(reportProxy).create_rpc_driver
          soap_client.generate_explicit_type = true
          soap_client.wiredump_dev = nil
       
           soap_client.headerhandler <<  Header.new('ApplicationToken',applicationToken)
            soap_client.headerhandler << Header.new('DeveloperToken',developerToken)
            soap_client.headerhandler << Header.new('UserName',username)
            soap_client.headerhandler << Header.new('Password',password)
         
          request = {'ReportRequest' => {'KeywordPerformanceReportRequest' => {'Format' => 'Xml', 'Language' => 'English', 'ReportName' => "My report", 'ReturnOnlyCompleteData' => false,
                      'Aggregation' => 'Daily', 'Time' => {'PredefinedTime'=>'LastSevenDays'},
                      'Columns' => ['AccountName',
                                    'CampaignName',
                                    'Keyword',
                                    'TimePeriod',
                                    'Impressions',
                                    'Conversions'],
                      'Filter' => {'AdDistribution'=>'Search','LanguageAndRegion'=>'France'},
                      'Scope' => {'AccountIds'=> accountId}}}}
       
            report_id = soap_client.call(action, {action + 'Request' => request})  

    Does anyone can help ?

    Thanks in advance
  • 24 июня 2009 г. 14:38dshevnock Медали пользователяМедали пользователяМедали пользователяМедали пользователяМедали пользователя
     
    Do you have the SOAP request (with your credentials hidden) you could provide?
    Rebuilding Americas Credit - Auto Loans by Auto Credit Express
  • 24 июня 2009 г. 14:44dshevnock Медали пользователяМедали пользователяМедали пользователяМедали пользователяМедали пользователя
     
    As of Monday, June 22, 2009, it looks like the issues we were experiencing have been resolved on MSN's end.

    Rebuilding Americas Credit - Auto Loans by Auto Credit Express