locked
NO java file for ReportingServiceClient class of V5 RRS feed

  • Question

  • I automatically generated the Java stubs from downloaded V5 WSDL files.
    Howver, when I looked at the reporting service, the problem is that I found java files for every classes except for one, the  ReportingServiceClient class.
    According to the How-To at http://msdn.microsoft.com/en-us/library/aa983033.aspx, I have to
    create an instance of the  ReportingServiceClient class.
    How can I get
    an instance of the  ReportingServiceClient class?

    Any help is highly appreciated!

    Wednesday, April 30, 2008 10:36 PM

Answers

  • All request classes are similar. Use:

     

    stub = (BasicHttpBinding_ICampaignManagementServiceStub)
                              campaignManagement;

                // Assign the necessary values to the header.
                stub.setHeader(namespace,
                         "ApplicationToken", appToken);
                stub.setHeader(namespace,
                         "DeveloperToken", devToken);
                stub.setHeader(namespace,
                         "UserCredentials", userCredentials);

     

    This Java example may help:

     

    http://msdn.microsoft.com/en-us/library/cc148773.aspx

     

    Jeff Dillon, API Support

    Tuesday, May 13, 2008 9:03 PM

All replies

  • Hi Howard,

    adCenter API support engineer Jeff Dillon has shared this sample Java code for generating a report id in the past.

     

    Code Snippet
    package APIV5;
    import java.net.*;
    import java.util.Properties;
    import com.microsoft.adcenter.api.advertiser.v5.*;
    import java.util.GregorianCalendar;
    import java.text.DateFormat;
    import java.net.URL;
    import java.rmi.RemoteException;
    import javax.xml.rpc.ServiceException;
    import java.net.MalformedURLException;

    public class Main {
       
       /** Creates a new instance of HelloAdCenter */
        public Main()
        {
           
            int[] accountIds = { 11111};  // Application-specific value.
           
            // The Microsoft adCenter namespace, which is used in the SOAP header.
            String namespace = "
    https://adcenter.microsoft.com/api/advertiser/v5";
           
            //String url = "
    https://adcenterapi.microsoft.com/Api/Advertiser/V5/CampaignManagement/CampaignManagementService.svc?wsdl";
            //String url = "
    https://sandboxapi.adcenter.microsoft.com/Api/Advertiser/V5/Reporting/ReportingService.svc?wsdl";
           
            String url = "
    https://adcenterapi.microsoft.com/Api/Advertiser/V5/Reporting/ReportingService.svc?wsdl";
           
            IReportingService reportManagement = null;
            ReportingServiceLocator reportServiceLocator = null;
            BasicHttpBinding_IReportingServiceStub stub = null;
            QueueReportRequest request = null;
            QueueReportResponse response = null;
            UserCredentials userCredentials = null;
            ApplicationToken appToken = null;
            DeveloperToken devToken = null;
            try
            {
              
                reportServiceLocator = new
                  ReportingServiceLocator();
                reportServiceLocator.setBasicHttpBinding_IReportingServiceEndpointAddress(url);
                reportManagement =
                 reportServiceLocator.getBasicHttpBinding_IReportingService();
                userCredentials = new UserCredentials();
                devToken = new DeveloperToken();
                appToken = new ApplicationToken();
             
                // The application token is reserved for future use and
                // does not need to be assigned a value.
                userCredentials.setUsername("user_name");
                userCredentials.setPassword("password");
                devToken.setValue("ABCDEFG123");
                appToken.setValue(null);
              
                stub = (BasicHttpBinding_IReportingServiceStub)
                              reportManagement;
                // Assign the necessary values to the header.
                stub.setHeader(namespace,
                         "ApplicationToken", appToken);
                stub.setHeader(namespace,
                         "DeveloperToken", devToken);
                stub.setHeader(namespace,
                         "UserCredentials", userCredentials);

                // Create and initialize the keyword performance report request
                // object.
                KeywordPerformanceReportRequest reportRequest =
                    new KeywordPerformanceReportRequest();
                reportRequest.setFormat(ReportFormat.Xml);
                reportRequest.setLanguage(ReportLanguage.English);
                reportRequest.setReportName("ReportName");
                Boolean b=new Boolean(false);
                reportRequest.setReturnOnlyCompleteData(b);
                AccountThroughAdGroupReportScope scope=new AccountThroughAdGroupReportScope();
                scope.setAccountIds(accountIds);
                reportRequest.setScope(scope);
                ReportTime reportTime=new ReportTime();
                reportTime.setPredefinedTime(ReportTimePeriod.Yesterday);
                reportRequest.setTime(reportTime);
                KeywordPerformanceReportColumn[] columns=new KeywordPerformanceReportColumn[27];
                columns[0]=KeywordPerformanceReportColumn.AccountName;
                columns[1]=KeywordPerformanceReportColumn.AccountNumber;
                columns[2]=KeywordPerformanceReportColumn.AdDistribution;
                columns[3]=KeywordPerformanceReportColumn.AverageCpc;
                columns[4]=KeywordPerformanceReportColumn.AveragePosition;
                columns[5]=KeywordPerformanceReportColumn.Clicks;
                columns[6]=KeywordPerformanceReportColumn.ConversionRate;
                columns[7]=KeywordPerformanceReportColumn.Conversions;
                columns[8]=KeywordPerformanceReportColumn.CostPerConversion;
                columns[9]=KeywordPerformanceReportColumn.Ctr;
                columns[10]=KeywordPerformanceReportColumn.CurrencyCode;
                columns[11]=KeywordPerformanceReportColumn.Impressions;
                columns[12]=KeywordPerformanceReportColumn.ProductName;
                columns[13]=KeywordPerformanceReportColumn.Spend;
                columns[14]=KeywordPerformanceReportColumn.TimePeriod;
                columns[15]=KeywordPerformanceReportColumn.AccountId;
                columns[16]=KeywordPerformanceReportColumn.LanguageAndRegion;
                columns[17]=KeywordPerformanceReportColumn.CampaignName;
                columns[18]=KeywordPerformanceReportColumn.CampaignId;
                columns[19]=KeywordPerformanceReportColumn.AdGroupName;
                columns[20]=KeywordPerformanceReportColumn.AdGroupId;
                columns[21]=KeywordPerformanceReportColumn.Keyword;
                columns[22]=KeywordPerformanceReportColumn.KeywordId;
                columns[23]=KeywordPerformanceReportColumn.AdId;
                columns[24]=KeywordPerformanceReportColumn.DestinationUrl;
                columns[25]=KeywordPerformanceReportColumn.CurrentMaxCpc;
                columns[26]=KeywordPerformanceReportColumn.MatchType;
               
                reportRequest.setColumns(columns);
                reportRequest.setAggregation(ReportAggregation.Monthly);
                // Create the service operation request object and assign values.
                request = new QueueReportRequest();
                request.setReportRequest(reportRequest);
                // Make the call to queue the report.
                response = reportManagement.queueReport(request);
                // Display the ApiCallTrackingData returned in the response header.
                System.out.println("Successful QueueReport call.");
                System.out.println("ApiCallTrackingData output from response header:");
                System.out.println(
                 stub.getResponseHeader
                 (
                   namespace,
                   "ApiCallTrackingData")
                 );
                System.out.println();  // Blank line to separate text that follows.
               
                System.out.print("ReportRequestId: ");
                System.out.println(response.getReportRequestId());
            }
            // Exception handling.
            // Capture adCenter API exceptions.
            catch (ApiFaultDetail fault)
            {
                System.out.println("ApiFaultDetail exception encountered!");
                System.out.println(String.format("Tracking ID: %s",
                          fault.getTrackingId()));
                // Display service operation error information.
                for (int i = 0; i < fault.getOperationErrors().length; i++)
                {
                    System.out.println("Operation error encountered:");
                    System.out.println(String.format("\tCode: %s",
                            fault.getOperationErrors()[i].getCode()));
                    System.out.println(String.format("\tMessage: %s",
                            fault.getOperationErrors()[i].getMessage()));
                }
                // Exit the application or take some other action.
                System.exit(-1);
            }
            // Capture exceptions on the client that are unrelated to
            // the adCenter API.
            catch (Exception e)
            {
                System.out.print("Error encountered: ");
                e.printStackTrace();
                // Exit the application or take some other action.
                System.exit(-1);
            }
          
                  
        }
      
      
        public static void main(String[] args)
        {
            new Main();
        }
       
    }

     

     

    You should see the following report classes in V5. According to Jeff, he ran wsdl2java against V5 CampaignManagement and Reporting:

     

    AccountPerformanceReportColumn.java

    AccountPerformanceReportFilter.java

    AccountPerformanceReportRequest.java

    AccountReportScope.java

    AccountThroughAdGroupReportScope.java

    AccountThroughCampaignReportScope.java

    Ad.java

    AddAdGroupsRequest.java

    AddAdGroupsResponse.java

    AddAdsRequest.java

    AddAdsResponse.java

    AddCampaignsRequest.java

    AddCampaignsResponse.java

    AdDistributionNull.java

    AdDistributionReportFilterNull.java

    AddKeywordsRequest.java

    AddKeywordsResponse.java

    AddTargetRequest.java

    AddTargetResponse.java

    AdDynamicTextPerformanceReportColumn.java

    AdDynamicTextPerformanceReportFilter.java

    AdDynamicTextPerformanceReportRequest.java

    AdGroup.java

    AdGroupPerformanceReportColumn.java

    AdGroupPerformanceReportFilter.java

    AdGroupPerformanceReportRequest.java

    AdGroupReportScope.java

    AdGroupStatus.java

    AdGroupStatusReportFilterNull.java

    AdPerformanceReportColumn.java

    AdPerformanceReportFilter.java

    AdPerformanceReportRequest.java

    AdType.java

    AgeGenderDemographicReportColumn.java

    AgeGenderDemographicReportFilter.java

    AgeGenderDemographicReportRequest.java

    AgeRange.java

    AgeTarget.java

    AgeTargetBid.java

    ApiCallTrackingData.java

    ApiFaultDetail.java

    ApplicationToken.java

    BasicHttpBinding_ICampaignManagementServiceStub.java

    BasicHttpBinding_ICampaignManagementService_OverHttpStub.java

    BasicHttpBinding_IReportingServiceStub.java

    BasicHttpBinding_IReportingService_OverHttpStub.java

    BatchError.java

    BudgetLimitType.java

    BudgetSummaryReportColumn.java

    BudgetSummaryReportRequest.java

    BudgetSummaryReportTime.java

    BudgetSummaryReportTimePeriod.java

    Campaign.java

    CampaignManagementService.java

    CampaignManagementServiceLocator.java

    CampaignPerformanceReportColumn.java

    CampaignPerformanceReportFilter.java

    CampaignPerformanceReportRequest.java

    CampaignReportScope.java

    CampaignStatus.java

    CampaignStatusReportFilterNull.java

    CountryReportFilterNull.java

    CountryTarget.java

    CountryTargetBid.java

    CountryType.java

    Currency.java

    Date.java

    Day.java

    DayTarget.java

    DayTargetBid.java

    DeleteAdGroupsRequest.java

    DeleteAdGroupsResponse.java

    DeleteAdsRequest.java

    DeleteAdsResponse.java

    DeleteCampaignsRequest.java

    DeleteCampaignsResponse.java

    DeleteKeywordsRequest.java

    DeleteKeywordsResponse.java

    DeleteTargetRequest.java

    DeleteTargetResponse.java

    DeliveredMatchTypeReportFilterNull.java

    DestinationUrlPerformanceReportColumn.java

    DestinationUrlPerformanceReportFilter.java

    DestinationUrlPerformanceReportRequest.java

    DeveloperToken.java

    EditorialApiFaultDetail.java

    EditorialError.java

    GenderTarget.java

    GenderTargetBid.java

    GenderType.java

    GetAdGroupsByCampaignIdRequest.java

    GetAdGroupsByCampaignIdResponse.java

    GetAdGroupsByIdsRequest.java

    GetAdGroupsByIdsResponse.java

    GetAdsByAdGroupIdRequest.java

    GetAdsByAdGroupIdResponse.java

    GetAdsByIdsRequest.java

    GetAdsByIdsResponse.java

    GetCampaignsByAccountIdRequest.java

    GetCampaignsByAccountIdResponse.java

    GetCampaignsByIdsRequest.java

    GetCampaignsByIdsResponse.java

    GetKeywordAdAssociationsByAdIdsRequest.java

    GetKeywordAdAssociationsByAdIdsResponse.java

    GetKeywordAdAssociationsByKeywordIdsRequest.java

    GetKeywordAdAssociationsByKeywordIdsResponse.java

    GetKeywordAdAssociationsByStatusRequest.java

    GetKeywordAdAssociationsByStatusResponse.java

    GetKeywordEstimatesByBidsRequest.java

    GetKeywordEstimatesByBidsResponse.java

    GetKeywordsByAdGroupIdRequest.java

    GetKeywordsByAdGroupIdResponse.java

    GetKeywordsByIdsRequest.java

    GetKeywordsByIdsResponse.java

    GetReportStatusRequest.java

    GetReportStatusResponse.java

    GetTargetByAdGroupIdRequest.java

    GetTargetByAdGroupIdResponse.java

    HourRange.java

    HourTarget.java

    HourTargetBid.java

    ICampaignManagementService.java

    IncrementalBidPercentage.java

    IReportingService.java

    java_file.txt

    Keyword.java

    KeywordAdAssociation.java

    KeywordAdAssociationStatus.java

    KeywordBid.java

    KeywordEstimate.java

    KeywordPerformanceReportColumn.java

    KeywordPerformanceReportFilter.java

    KeywordPerformanceReportRequest.java

    KeywordStatus.java

    LanguageAndRegion.java

    LanguageAndRegionReportFilterNull.java

    LocationTarget.java

    MatchTypeEstimate.java

    MetroAreaDemographicReportColumn.java

    MetroAreaDemographicReportFilter.java

    MetroAreaDemographicReportRequest.java

    MetroAreaTarget.java

    MetroAreaTargetBid.java

    NonHourlyReportAggregation.java

    OperationError.java

    PauseAdGroupsRequest.java

    PauseAdGroupsResponse.java

    PauseCampaignsRequest.java

    PauseCampaignsResponse.java

    PauseKeywordsRequest.java

    PauseKeywordsResponse.java

    QueueReportRequest.java

    QueueReportResponse.java

    ReportAggregation.java

    ReportFormat.java

    ReportingService.java

    ReportingServiceLocator.java

    ReportLanguage.java

    ReportRequest.java

    ReportRequestStatus.java

    ReportRequestStatusType.java

    ReportTime.java

    ReportTimePeriod.java

    ResumeAdGroupsRequest.java

    ResumeAdGroupsResponse.java

    ResumeCampaignsRequest.java

    ResumeCampaignsResponse.java

    ResumeKeywordsRequest.java

    ResumeKeywordsResponse.java

    SubmitAdGroupForApprovalRequest.java

    SubmitAdGroupForApprovalResponse.java

    Target.java

    TextAd.java

    TimeZoneType.java

    UpdateAdGroupsRequest.java

    UpdateAdGroupsResponse.java

    UpdateAdsRequest.java

    UpdateAdsResponse.java

    UpdateCampaignsRequest.java

    UpdateCampaignsResponse.java

    UpdateKeywordsRequest.java

    UpdateKeywordsResponse.java

    UpdateTargetRequest.java

    UpdateTargetResponse.java

    UserCredentials.java

    Let me know if this doesn't address your question.

    Thank you for using the forums.

    Chris

    Thursday, May 1, 2008 7:32 PM

  • Hi Chris,

    Thank you for your reply! It is very helpful.

    However, I still have problems.

    In my code, I created objects of the GetCampaignsByAccountIdRequest Class to get campaigns from account IDs. According to the reference page (http://msdn.microsoft.com/en-us/library/cc148819.aspx) the class contains the following properties: AccountId, ApplicationToken, CustomerAccountId, DeveloperToken, and UserCredentials.
    However, the Java file GetCampaignsByAccountIdRequest.java generated by WSDL2Java contains only one property, accountID. Without the other properties, I got the following error message:

    Operation error encountered:
            Code: 103
            Message: User credentials is missing in the request.

    I used the following command to generate the Java files:

    Java -Djava.ext.dirs=/home/becomesvc/Howard/SEM/SEMapi/lib/ org.apache.axis.wsdl.WSDL2Java -a --NStoPkg https://adcenter.microsoft.com/api/advertiser/v5=com.become.sem.msn.service -o ~/Howard/MsnWsdlV5 -T 1.3 CampaignManagementService.wsdl



    Thanks a lot!

    Howard


    Tuesday, May 6, 2008 10:28 PM
  • All request classes are similar. Use:

     

    stub = (BasicHttpBinding_ICampaignManagementServiceStub)
                              campaignManagement;

                // Assign the necessary values to the header.
                stub.setHeader(namespace,
                         "ApplicationToken", appToken);
                stub.setHeader(namespace,
                         "DeveloperToken", devToken);
                stub.setHeader(namespace,
                         "UserCredentials", userCredentials);

     

    This Java example may help:

     

    http://msdn.microsoft.com/en-us/library/cc148773.aspx

     

    Jeff Dillon, API Support

    Tuesday, May 13, 2008 9:03 PM

  • Thank you, Jeff. Your reply is very helpful.

    I got another error with the MSN report downloading:

    ApiFaultDetail exception encountered!
    Tracking ID: 96ca25fa-47fc-4f9d-ad37-47e8c2f98ec8
    Operation error encountered:
            Code: 0
            Message: An internal error has occurred.



    Thursday, May 15, 2008 1:19 AM
  • When do you get this error? More information is needed.

     

    Jeff Dillon, API Support

     

    Sunday, May 18, 2008 9:45 PM
  • Hi Jeff,

    When I run the code again, I got the following "Cannot create an abstract class" error.


    Exception: Cannot create an abstract class.
    AxisFault
     faultCode: {http://schemas.microsoft.com/net/2005/12/windowscommunicationfoundation/dispatcher}InternalServiceFault
     faultSubcode:
     faultString: Cannot create an abstract class.
     faultActor:
     faultNode:
     faultDetail:
            {http://schemas.datacontract.org/2004/07/System.ServiceModel}ExceptionDetail:<HelpLink i:nil="true"/><InnerException i:nil="true"/><Message>Cannot create an abstract class.</Message><StackTrace>   at System.Runtime.Serialization.FormatterServices.nativeGetUninitializedObject(RuntimeType type)
       at System.Runtime.Serialization.FormatterServices.GetUninitializedObject(Type type)
       at ReadReportRequestFromXml(XmlReaderDelegator , XmlObjectSerializerReadContext , XmlDictionaryString[] , XmlDictionaryString[] )
       at System.Runtime.Serialization.ClassDataContract.ReadXmlValue(XmlReaderDelegator xmlReader, XmlObjectSerializerReadContext context)
       at System.Runtime.Serialization.XmlObjectSerializerReadContext.InternalDeserialize(XmlReaderDelegator reader, String name, String ns, DataContract&amp; dataContract)
       at System.Runtime.Serialization.XmlObjectSerializerReadContext.InternalDeserialize(XmlReaderDelegator xmlReader, Type declaredType, DataContract dataContract, String name, String ns)
       at System.Runtime.Serialization.DataContractSerializer.InternalReadObject(XmlReaderDelegator xmlReader, Boolean verifyObjectName)
       at System.Runtime.Serialization.XmlObjectSerializer.ReadObjectHandleExceptions(XmlReaderDelegator reader, Boolean verifyObjectName)
       at System.Runtime.Serialization.DataContractSerializer.ReadObject(XmlDictionaryReader reader, Boolean verifyObjectName)
       at System.ServiceModel.Dispatcher.DataContractSerializerOperationFormatter.DeserializeParameterPart(XmlDictionaryReader reader, PartInfo part, Boolean isRequest)
       at System.ServiceModel.Dispatcher.DataContractSerializerOperationFormatter.DeserializeParameter(XmlDictionaryReader reader, PartInfo part, Boolean isRequest)
       at System.ServiceModel.Dispatcher.DataContractSerializerOperationFormatter.DeserializeParameters(XmlDictionaryReader reader, PartInfo[] parts, Object[] parameters, Boolean isRequest)
       at System.ServiceModel.Dispatcher.DataContractSerializerOperationFormatter.DeserializeBody(XmlDictionaryReader reader, MessageVersion version, String action, MessageDescription messageDescription, Object[] parameters, Boolean isRequest)
       at System.ServiceModel.Dispatcher.OperationFormatter.DeserializeBodyContents(Message message, Object[] parameters, Boolean isRequest)
       at System.ServiceModel.Dispatcher.OperationFormatter.DeserializeRequest(Message message, Object[] parameters)
       at System.ServiceModel.Dispatcher.DispatchOperationRuntime.DeserializeInputs(MessageRpc&amp; rpc)
       at System.ServiceModel.Dispatcher.DispatchOperationRuntime.InvokeBegin(MessageRpc&amp; rpc)
       at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage5(MessageRpc&amp; rpc)
       at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage4(MessageRpc&amp; rpc)
       at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage3(MessageRpc&amp; rpc)
       at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage2(MessageRpc&amp; rpc)
       at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage1(MessageRpc&amp; rpc)
       at System.ServiceModel.Dispatcher.MessageRpc.Process(Boolean isOperationContextSet)</StackTrace><Type>System.MemberAccessException</Type>

    Cannot create an abstract class.
            at org.apache.axis.message.SOAPFaultBuilder.createFault(SOAPFaultBuilder.java:222)
            at org.apache.axis.message.SOAPFaultBuilder.endElement(SOAPFaultBuilder.java:129)
            at org.apache.axis.encoding.DeserializationContext.endElement(DeserializationContext.java:1087)
            at org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown Source)
            at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanEndElement(Unknown Source)
            at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)
            at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
            at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
            at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
            at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
            at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
            at org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)
            at javax.xml.parsers.SAXParser.parse(SAXParser.java:375)
            at org.apache.axis.encoding.DeserializationContext.parse(DeserializationContext.java:227)
            at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:696)
            at org.apache.axis.Message.getSOAPEnvelope(Message.java:435)
            at org.apache.axis.handlers.soap.MustUnderstandChecker.invoke(MustUnderstandChecker.java:62)
            at org.apache.axis.client.AxisClient.invoke(AxisClient.java:206)
            at org.apache.axis.client.Call.invokeEngine(Call.java:2784)
            at org.apache.axis.client.Call.invoke(Call.java:2767)
            at org.apache.axis.client.Call.invoke(Call.java:2443)
            at org.apache.axis.client.Call.invoke(Call.java:2366)
            at org.apache.axis.client.Call.invoke(Call.java:1812)
            at com.become.sem.msn.service.BasicHttpBinding_IReportingServiceStub.queueReport(BasicHttpBinding_IReportingServiceStub.java:739)
            at com.become.sem.msn.tools.GetReport.main(GetReport.java:240)

    The code that got this error is the following:

    240:                    QueueReportResponse response =
    241:                        reportManagement.queueReport(queueReportRequest);;


    Thanks a lot!

    Howard


    Wednesday, May 21, 2008 7:14 PM
  • Hello -

    I tried using wsdl2java on both the Reporting and CampaignManagement wsdls but it is not generating the same classes Chris listed in his 5/1/2008 post. I am missing the following classes:

    ApiCallTrackingData.java
    ApplicationToken.java
    BasicHttpBinding_IReportingService_OverHttpStub.java

    CampaignStatusReportFilterNull.java

    CountryReportFilterNull.java

    DeveloperToken.java
    LanguageAndRegionReportFilterNull.java
    UserCredentials.java

    I am using the following wsdls
    Reporting WSDL: https://adcenterapi.microsoft.com/Api/Advertiser/V5.1/Reporting/ReportingService.svc?wsdl
    Campaign Management WSDL: https://adcenterapi.microsoft.com/Api/Advertiser/V5.1/CampaignManagement/CampaignManagementService.svc?wsdl

    Im not sure why these classes are not being generated. If someone could share these classes with me or offer any insight as to why they are not being generated I would greatly appreciate it.

    Thanks
    Jennifer


    Wednesday, October 22, 2008 5:01 PM
  • That was an older post for a previous version. Are you getting errors when running the MSDN sample code with API Version 5.1 ?

    Jeff Dillon, API Support
    Thursday, October 23, 2008 4:32 PM
  • Hi Jeff

    I am unable to run the code sample without some of the missing files. I know for sure I atleast need the ApplicationToken.java, DeveloperToken.java and the UserCredentials.java files for what I am trying to do.  I had used wsdl2java on the newer V5.1 WSDLS for Reporting and CampaignManagement and am still missing these files.

    Jennifer
    Monday, October 27, 2008 10:59 PM
  • Remember to use the -a flag when running wsdl2java

    Jeff Dillon, API Support
    Tuesday, October 28, 2008 6:01 PM