Latest post Wed, Nov 8 2017 4:53 PM by cda. 5 replies.
Page 1 of 1 (6 items)
Sort Posts: Previous Next
  • Thu, Oct 19 2017 4:26 PM

    • cda
    • Not Ranked
    • Joined on Thu, Feb 26 2015
    • Posts 6
    • Points 70

    Problem with CheckInAAF from third-party app

    Hello,

    I am trying to check in aaf in avid interpaly service. I use gSOAP for generation soap request in C++.

    When I make request and send it to service gSOAP return error:

    "Error 200 fault: SOAP-ENV:Client[no subcode]
    "Error 200"
    Detail: [no detail]"

    I used wireshark for traffic analyze and seems post request is correct.


    Could you please help with solwing the problem?

     

    Source code:

        soap *s = static_cast<AssetsPortBindingProxy*>(soap_new1(SOAP_ENC_MTOM));   
       
        ns3__CheckInAAFType checkInAAF;
        ns3__CheckInAAFResponseType checkInResponse;

        ns3__UserCredentialsType credentials;
        credentials.Username = "username";
        credentials.Password = "password";
       
        SOAP_ENV__Header *header = static_cast<SOAP_ENV__Header*>(soap_malloc(s, sizeof(struct SOAP_ENV__Header)));
        header -> ns3__UserCredentials = &credentials;
        s -> header = header;   
       
        std::ifstream input(aafFullPath, std::ios::binary);
        if(!input.good())
        {       
            return;
        }
        std::vector<unsigned char> buffer((std::istreambuf_iterator<char>(input)), (std::istreambuf_iterator<char>()));

        std::string cid = (std::string("cid:") + aafFilename);
        std::vector<char> cidVec(cid.begin(), cid.end());
        checkInAAF.AAF.id = &cidVec.front();
        checkInAAF.AAF.__size = buffer.size();
        checkInAAF.AAF.__ptr = &buffer.front();
        checkInAAF.InterplayURI = "interplay://" + aafPath;   
       
        AssetsPortBindingProxy service(*s);
        service.soap_endpoint = "http://localhost";

        int code = service.CheckInAAF(&checkInAAF, &checkInResponse);   
        if(code != SOAP_OK)
        {       
            std::ofstream errorLog;
            errorLog.open ("errorLog.txt");
            service.soap_stream_fault(errorLog);
            errorLog.close();
        }

        service.destroy();   
        soap_dealloc(s, header);
        soap_free(s);

    Filed under: ,
  • Sat, Oct 21 2017 12:07 AM In reply to

    • Vadym
    • Not Ranked
    • Joined on Thu, Apr 17 2014
    • Posts 176
    • Points 2,225
    • Avid Developer Moderator
      Avid Employee

    Re: Problem with CheckInAAF from third-party app

    Hi,

    What generates the AAF in question? Please share for investigation.

     

    Thanks

  • Wed, Oct 25 2017 8:18 AM In reply to

    • cda
    • Not Ranked
    • Joined on Thu, Feb 26 2015
    • Posts 6
    • Points 70

    Re: Problem with CheckInAAF from third-party app

    Hi,

    AAF generates by cinedeck application. Cinedeck app uses AMT library for generate AAF. So should be valid.

    link to AAF file: https://www.dropbox.com/s/062sms8bn5x1jak/test.AAF?dl=0

  • Wed, Oct 25 2017 11:13 PM In reply to

    • Vadym
    • Not Ranked
    • Joined on Thu, Apr 17 2014
    • Posts 176
    • Points 2,225
    • Avid Developer Moderator
      Avid Employee

    Re: Problem with CheckInAAF from third-party app

    Thanks,

    The AAF looks good.

    Your error code is 200, which is HTTP OK code.

    Could you post the request/response SOAP messages for review?

    Given that InterplayURI is set correctly as well as AAF and namespaces not present in the code snippet I'd suggest trying PLAIN or MIME messages format. Binary attachements will result in error 500.

  • Wed, Nov 1 2017 5:46 PM In reply to

    • cda
    • Not Ranked
    • Joined on Thu, Feb 26 2015
    • Posts 6
    • Points 70

    Re: Problem with CheckInAAF from third-party app

    Interplay service returned me error 200, cuz endpoint was wrong. I didn't set services/Assets in the end of url. I fixed it. and my second error was wrong using of header initialization. it leads to invalid credentials error.
    However, I fixed it and now I am catching new error. As I understand if I have access to MyWorkgroup I have access for all subfolders. I am right? now if I try to check in aaf I got error "Unable to login user "myusername" to workgroup MyWorkgroup/subfolder". Is is problem of Interplay configuration or wrong interplay URI?
    URI example: "interplay://MyWorkgoup/path/to/aaf"

    if I set wrong path I got error with code PATH_NOT_FOUND

  • Wed, Nov 8 2017 4:53 PM In reply to

    • cda
    • Not Ranked
    • Joined on Thu, Feb 26 2015
    • Posts 6
    • Points 70

    Re: Problem with CheckInAAF from third-party app

    Sorry. It was wrong URI.

Page 1 of 1 (6 items)

© Copyright 2011 Avid Technology, Inc.  Terms of Use |  Privacy Policy |  Site Map |  Find a Reseller