<LoadPublicProfileResult> no longer seems to contain <RootGroup>

Last post 09-23-2009 10:52 by AF [Zenfolio]. 10 replies.
Page 1 of 1 (11 items)
Next
Previous
Sort Posts:
  • phillips 08-16-2009 10:37

    • Top 150 Contributor
    • Joined on 03-14-2008
    • Posts: 23

    <LoadPublicProfileResult> no longer seems to contain <RootGroup>

    Anyone else having the same trouble when making the LoadPublicProfile request?

     

    Thanks,

     

    Matthew

  • phillips 08-16-2009 13:04 In reply to

    • Top 150 Contributor
    • Joined on 03-14-2008
    • Posts: 23

    Re: <LoadPublicProfileResult> no longer seems to contain <RootGroup>

    I notice there's a LoadGroupHierarchy call, but this returns the following (SOAP) as does the demo version on the API page when I supply my user ID as parameter...

    <soap:Body>
        <soap:Fault>
            <faultcode>
                <#text>soap:Server</#text>
            </faultcode>
            <faultstring>
                <#text>Server was unable to process request. ---> There was an error generating the XML document. ---> Instance validation error: '278503' is not a valid value for Zenfolio.Web.Api.V1_0.ApiAccessMask.</#text>
            </faultstring>
            <detail></detail>
        </soap:Fault>
    </soap:Body>

     

  • harim 08-16-2009 15:39 In reply to

    • Top 10 Contributor
    • Joined on 03-02-2009
    • Vienna, Austria
    • Posts: 221

    Re: <LoadPublicProfileResult> no longer seems to contain <RootGroup>

    Are you using code stubs generated from the WSDL-file? Which version of the API are you using? 1.0 or 1.1?

    I had similar troubles today with the <LoadGroupHierarchy> request. I'm using API version 1.1 with code generated from the WSDL-file. The problem was, during the server upgrade it seems that the WSDL silently changed in the specification for <Photo>. With "silently" I mean that whenever there is a change in the WSDL-file it should get a new version number but it did not.

    Anyway, I regenerated the stub code from the current WSDL file and it works again.

    The difference in the WSDL V1.1 is: before the server upgrade the <TakenOn> tag for <Photo> was mandatory (min=1 max=1). Now it is optional tag (min=0 max=1). The framework I am using reported an error because of the missing mandatory tag.

    I don't no if this helps.

  • phillips 09-18-2009 17:50 In reply to

    • Top 150 Contributor
    • Joined on 03-14-2008
    • Posts: 23

    Re: <LoadPublicProfileResult> no longer seems to contain <RootGroup>

    I'm actually sending and receiving SOAP XML directly to Zenfolio (am not generating any classes from WSDL).

    I got round the first problem I was having by hard coding the root group ID, but when traversing photo sets upon sending the following SOAP body...

        <LoadPhotoSet xmlns="http://www.zenfolio.com/api">
          <photosetId>XXXXXXXXX</photosetId>
        </LoadPhotoSet>

    ...where XXXXXXXXX is a valid photo set, I get the following XML sent back to me...

    <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
        <soap:Body>
            <soap:Fault>
                <faultcode>
                    <#text>soap:Server</#text>
                </faultcode>
                <faultstring>
                    <#text>Server was unable to process request. ---> There was an error generating the XML document. ---> Instance validation error: '278503' is not a valid value for Zenfolio.Web.Api.V1_0.ApiAccessMask.</#text>
                </faultstring>
                <detail></detail>
            </soap:Fault>
        </soap:Body>
    </soap:Envelope>

    Do I need to change the xmlns attribute of <LoadPhotoSet xmlns="http://www.zenfolio.com/api"> to point to a specific API version, eg.

        <LoadPhotoSet xmlns="http://www.zenfolio.com/api/1.0">

    The strange thing is that other LoadPhotoSet requests send prior to the problematic one seem to work OK (in the same program execution)

  • AF [Zenfolio] 09-18-2009 17:59 In reply to

    • Top 10 Contributor
    • Joined on 02-29-2008
    • San Francisco Bay Area, California
    • Posts: 583

    Re: <LoadPublicProfileResult> no longer seems to contain <RootGroup>

    This seems to be a bug in the API. Can you let me know your Zenfolio login name so I can reproduce?

    -- AF [Zenfolio]
  • phillips 09-18-2009 18:02 In reply to

    • Top 150 Contributor
    • Joined on 03-14-2008
    • Posts: 23

    Re: <LoadPublicProfileResult> no longer seems to contain <RootGroup>

    Yes, my login name is phillips

    The problem happens when I try and retrieve a photo set called 'keywords' in a group called 'other'

  • AF [Zenfolio] 09-20-2009 13:14 In reply to

    • Top 10 Contributor
    • Joined on 02-29-2008
    • San Francisco Bay Area, California
    • Posts: 583

    Re: <LoadPublicProfileResult> no longer seems to contain <RootGroup>

    This should be fixed now.

    -- AF [Zenfolio]
  • phillips 09-20-2009 14:15 In reply to

    • Top 150 Contributor
    • Joined on 03-14-2008
    • Posts: 23

    Re: <LoadPublicProfileResult> no longer seems to contain <RootGroup>

    Thanks, that did it. My original problem (and reson for the original post) still exists though, i.e. LoadPublicProfileResult does not contain the RootGroup XML tag and hence I have to hard code my root group ID. This is fine for me as I assume that my root group ID will never change so long as I have this account. However, if I want to ever distribute this software to others, it might be an issue (unless they manually put in their root group ID in some properties file or whatever). Not ideal, really.

  • AF [Zenfolio] 09-21-2009 14:33 In reply to

    • Top 10 Contributor
    • Joined on 02-29-2008
    • San Francisco Bay Area, California
    • Posts: 583

    Re: <LoadPublicProfileResult> no longer seems to contain <RootGroup>

    Use LoadGroupHierarchy to load the group hierarchy, including the root group, for your account. RootGroup was never returned by LoadPublicProfile.

    -- AF [Zenfolio]
  • phillips 09-22-2009 12:56 In reply to

    • Top 150 Contributor
    • Joined on 03-14-2008
    • Posts: 23

    Re: <LoadPublicProfileResult> no longer seems to contain <RootGroup>

    Thanks for the pointer and your help in general. I'm going to have to dispute the fact that the RootGroup tag was not part of the XML returned from the LoadPublicProfile request. It was a first level tag in the LoadPublicProfileResult, i.e....

    <LoadPublicProfileResponse>

       <LoadPublicProfileResult>

       ...etc...

          <RootGroup>

             <Id>xxxxx</Id>

          </RootGroup>

       .....etc....

       </LoadPublicProfileResult>

    </LoadPublicProfileResponse>

    The code that was dependent on this tag that was developed around 3/2008.

  • AF [Zenfolio] 09-23-2009 10:52 In reply to

    • Top 10 Contributor
    • Joined on 02-29-2008
    • San Francisco Bay Area, California
    • Posts: 583

    Re: <LoadPublicProfileResult> no longer seems to contain <RootGroup>

    We document fields that are supposed to be returned by each method. In this particular case, the description of LoadPublicProfile states:

    The returned snapshot has the following fields loaded: LoginName, DisplayName, DomainName, BioPhoto, Bio, Views, GalleryCount, CollectionCount, PhotoCount, PhotoBytes, UserSince, LastUpdated, PublicAddress, RecentPhotoSets, FeaturedPhotoSets.

    No word about RootGroup. The fact that it was returned at some moment, was likely a bug that was later corrected.

    -- AF [Zenfolio]
Page 1 of 1 (11 items)