error accessing property of an object

Discussion in 'ASP General' started by Kevin Blount, Jun 13, 2007.

  1. Kevin Blount

    Kevin Blount Guest

    I'm tyring to access an object created by using a method from a third
    party API. The documentation tells me what object should be return,
    and the properties of that object, but when I try and access one of
    those properties I've shown an error message saying that the Object
    doesn't support this property or method. Here's the code I'm using
    (edited to protect the third party NDA)

    [script]
    1: <%
    2: dim siteApi, userApi
    3: dim userObj
    4: dim session, user_date_created
    5:
    6: set siteApi = createobject("MSSoap.SoapClient30")
    7: siteApi.mssoapinit("http://thirdparty.domain/site/api?wsdl")
    8:
    9: set userApi = createobject("MSSoap.SoapClient30")
    10: userApi.mssoapinit("http://thirdparty.domain/user/api?wsdl")
    11:
    12: session = siteApi.login("username","p@ssw0rd")
    13:
    14: set userObj = userApi.getUser(session,"webadmins")
    15:
    16: user_date_created = userObj.date_created
    17: %>
    [/script]

    In the above code, the session variable is populated with the correct
    info (a HEX string), suggesting that my siteApi object is being
    created and used correctly. However, I get the following error when I
    run it without line 16 commented out:

    [error]
    Microsoft VBScript runtime error '800a01b6'

    Object doesn't support this property or method: 'date_created'

    /soapTest/index.asp, line 16
    [/error]

    The documentation for the user API does show that 'date_created' is a
    property of the UserStruct object, returned by the 'getUser' method,
    so I'm readlly confused why this won't work.

    Is there anything fundamentally wrong with my script? If not, is there
    any ASP I can use to see what properties are available with the
    userObj?

    Thanks for any help you can offer

    Kevin
     
    Kevin Blount, Jun 13, 2007
    #1
    1. Advertising

  2. Kevin Blount

    J. Anos Guest

    why would you not simply go to the third party who created this?!?



    "Kevin Blount" <> wrote in message
    news:...
    > I'm tyring to access an object created by using a method from a third
    > party API. The documentation tells me what object should be return,
    > and the properties of that object, but when I try and access one of
    > those properties I've shown an error message saying that the Object
    > doesn't support this property or method. Here's the code I'm using
    > (edited to protect the third party NDA)
    >
    > [script]
    > 1: <%
    > 2: dim siteApi, userApi
    > 3: dim userObj
    > 4: dim session, user_date_created
    > 5:
    > 6: set siteApi = createobject("MSSoap.SoapClient30")
    > 7: siteApi.mssoapinit("http://thirdparty.domain/site/api?wsdl")
    > 8:
    > 9: set userApi = createobject("MSSoap.SoapClient30")
    > 10: userApi.mssoapinit("http://thirdparty.domain/user/api?wsdl")
    > 11:
    > 12: session = siteApi.login("username","p@ssw0rd")
    > 13:
    > 14: set userObj = userApi.getUser(session,"webadmins")
    > 15:
    > 16: user_date_created = userObj.date_created
    > 17: %>
    > [/script]
    >
    > In the above code, the session variable is populated with the correct
    > info (a HEX string), suggesting that my siteApi object is being
    > created and used correctly. However, I get the following error when I
    > run it without line 16 commented out:
    >
    > [error]
    > Microsoft VBScript runtime error '800a01b6'
    >
    > Object doesn't support this property or method: 'date_created'
    >
    > /soapTest/index.asp, line 16
    > [/error]
    >
    > The documentation for the user API does show that 'date_created' is a
    > property of the UserStruct object, returned by the 'getUser' method,
    > so I'm readlly confused why this won't work.
    >
    > Is there anything fundamentally wrong with my script? If not, is there
    > any ASP I can use to see what properties are available with the
    > userObj?
    >
    > Thanks for any help you can offer
    >
    > Kevin
    >
     
    J. Anos, Jun 13, 2007
    #2
    1. Advertising

  3. Kevin Blount

    Kevin Blount Guest

    On Jun 13, 11:09 am, "J. Anos" <> wrote:
    > why would you not simply go to the third party who created this?!?
    >
    > "Kevin Blount" <> wrote in message
    >
    > news:...
    >
    >
    >
    > > I'm tyring to access an object created by using a method from a third
    > > party API. The documentation tells me what object should be return,
    > > and the properties of that object, but when I try and access one of
    > > those properties I've shown an error message saying that the Object
    > > doesn't support this property or method. Here's the code I'm using
    > > (edited to protect the third party NDA)

    >
    > > [script]
    > > 1: <%
    > > 2: dim siteApi, userApi
    > > 3: dim userObj
    > > 4: dim session, user_date_created
    > > 5:
    > > 6: set siteApi = createobject("MSSoap.SoapClient30")
    > > 7: siteApi.mssoapinit("http://thirdparty.domain/site/api?wsdl")
    > > 8:
    > > 9: set userApi = createobject("MSSoap.SoapClient30")
    > > 10: userApi.mssoapinit("http://thirdparty.domain/user/api?wsdl")
    > > 11:
    > > 12: session = siteApi.login("username","p@ssw0rd")
    > > 13:
    > > 14: set userObj = userApi.getUser(session,"webadmins")
    > > 15:
    > > 16: user_date_created = userObj.date_created
    > > 17: %>
    > > [/script]

    >
    > > In the above code, the session variable is populated with the correct
    > > info (a HEX string), suggesting that my siteApi object is being
    > > created and used correctly. However, I get the following error when I
    > > run it without line 16 commented out:

    >
    > > [error]
    > > Microsoft VBScript runtime error '800a01b6'

    >
    > > Object doesn't support this property or method: 'date_created'

    >
    > > /soapTest/index.asp, line 16
    > > [/error]

    >
    > > The documentation for the user API does show that 'date_created' is a
    > > property of the UserStruct object, returned by the 'getUser' method,
    > > so I'm readlly confused why this won't work.

    >
    > > Is there anything fundamentally wrong with my script? If not, is there
    > > any ASP I can use to see what properties are available with the
    > > userObj?

    >
    > > Thanks for any help you can offer

    >
    > > Kevin- Hide quoted text -

    >
    > - Show quoted text -


    The third party does not support my coding, and I suspect that my
    coding is at fault here. Unless I can verify that my code is fine, the
    door is open for the third party to say "it's your code, not our API".
     
    Kevin Blount, Jun 13, 2007
    #3
  4. Kevin Blount

    Kevin Blount Guest

    On Jun 13, 12:19 pm, "Jon Paal [MSMD]" <Jon nospam Paal @ everywhere
    dot com> wrote:
    > perhaps the API is case sensitive ?
    >
    > "Kevin Blount" <> wrote in messagenews:...
    > > I'm tyring to access an object created by using a method from a third
    > > party API. The documentation tells me what object should be return,
    > > and the properties of that object, but when I try and access one of
    > > those properties I've shown an error message saying that the Object
    > > doesn't support this property or method. Here's the code I'm using
    > > (edited to protect the third party NDA)

    >
    > > [script]
    > > 1: <%
    > > 2: dim siteApi, userApi
    > > 3: dim userObj
    > > 4: dim session, user_date_created
    > > 5:
    > > 6: set siteApi = createobject("MSSoap.SoapClient30")
    > > 7: siteApi.mssoapinit("http://thirdparty.domain/site/api?wsdl")
    > > 8:
    > > 9: set userApi = createobject("MSSoap.SoapClient30")
    > > 10: userApi.mssoapinit("http://thirdparty.domain/user/api?wsdl")
    > > 11:
    > > 12: session = siteApi.login("username","p@ssw0rd")
    > > 13:
    > > 14: set userObj = userApi.getUser(session,"webadmins")
    > > 15:
    > > 16: user_date_created = userObj.date_created
    > > 17: %>
    > > [/script]

    >
    > > In the above code, the session variable is populated with the correct
    > > info (a HEX string), suggesting that my siteApi object is being
    > > created and used correctly. However, I get the following error when I
    > > run it without line 16 commented out:

    >
    > > [error]
    > > Microsoft VBScript runtime error '800a01b6'

    >
    > > Object doesn't support this property or method: 'date_created'

    >
    > > /soapTest/index.asp, line 16
    > > [/error]

    >
    > > The documentation for the user API does show that 'date_created' is a
    > > property of the UserStruct object, returned by the 'getUser' method,
    > > so I'm readlly confused why this won't work.

    >
    > > Is there anything fundamentally wrong with my script? If not, is there
    > > any ASP I can use to see what properties are available with the
    > > userObj?

    >
    > > Thanks for any help you can offer

    >
    > > Kevin


    Thanks for the suggestions, but all the cases used above are per the
    documentation (assuming the documentation is right :p)

    I'm guess by that comment, you don't see anything noticeably wrong
    with my code?
     
    Kevin Blount, Jun 13, 2007
    #4
  5. Kevin Blount

    Kevin Blount Guest

    On Jun 13, 2:03 pm, "Jon Paal [MSMD]" <Jon nospam Paal @ everywhere
    dot com> wrote:
    > The error message is pretty specific.
    >
    > Not sure what else is possible, since we know nothing of the API . You have either instantiated the wrong object or the
    > method/property doesn't exist for that object.
    >
    >
    >
    > "Kevin Blount" <> wrote in messagenews:...
    > > On Jun 13, 12:19 pm, "Jon Paal [MSMD]" <Jon nospam Paal @ everywhere
    > > dot com> wrote:
    > >> perhaps the API is case sensitive ?

    >
    > >> "Kevin Blount" <> wrote in messagenews:...
    > >> > I'm tyring to access an object created by using a method from a third
    > >> > party API. The documentation tells me what object should be return,
    > >> > and the properties of that object, but when I try and access one of
    > >> > those properties I've shown an error message saying that the Object
    > >> > doesn't support this property or method. Here's the code I'm using
    > >> > (edited to protect the third party NDA)

    >
    > >> > [script]
    > >> > 1: <%
    > >> > 2: dim siteApi, userApi
    > >> > 3: dim userObj
    > >> > 4: dim session, user_date_created
    > >> > 5:
    > >> > 6: set siteApi = createobject("MSSoap.SoapClient30")
    > >> > 7: siteApi.mssoapinit("http://thirdparty.domain/site/api?wsdl")
    > >> > 8:
    > >> > 9: set userApi = createobject("MSSoap.SoapClient30")
    > >> > 10: userApi.mssoapinit("http://thirdparty.domain/user/api?wsdl")
    > >> > 11:
    > >> > 12: session = siteApi.login("username","p@ssw0rd")
    > >> > 13:
    > >> > 14: set userObj = userApi.getUser(session,"webadmins")
    > >> > 15:
    > >> > 16: user_date_created = userObj.date_created
    > >> > 17: %>
    > >> > [/script]

    >
    > >> > In the above code, the session variable is populated with the correct
    > >> > info (a HEX string), suggesting that my siteApi object is being
    > >> > created and used correctly. However, I get the following error when I
    > >> > run it without line 16 commented out:

    >
    > >> > [error]
    > >> > Microsoft VBScript runtime error '800a01b6'

    >
    > >> > Object doesn't support this property or method: 'date_created'

    >
    > >> > /soapTest/index.asp, line 16
    > >> > [/error]

    >
    > >> > The documentation for the user API does show that 'date_created' is a
    > >> > property of the UserStruct object, returned by the 'getUser' method,
    > >> > so I'm readlly confused why this won't work.

    >
    > >> > Is there anything fundamentally wrong with my script? If not, is there
    > >> > any ASP I can use to see what properties are available with the
    > >> > userObj?

    >
    > >> > Thanks for any help you can offer

    >
    > >> > Kevin

    >
    > > Thanks for the suggestions, but all the cases used above are per the
    > > documentation (assuming the documentation is right :p)

    >
    > > I'm guess by that comment, you don't see anything noticeably wrong
    > > with my code?- Hide quoted text -

    >
    > - Show quoted text -


    OK, that sounds like 2 reasonable assumptions. Do you know of any ASP
    code that I can use to 'look inside' the object?

    Since I last replied I've done some digging, and found that
    userObj.length returns a value of 11. This almost matches the number
    of documented properties of the expected returned object, which is 10.
    Using another of the APIs provided by the third party, I checked the
    length property and it returned 24, which again is close the 23
    documented properties of that returned object.

    My guess is that the object I'm creating does contain the info I
    need... I'm just not using the right property names or syntax (or
    something!!) to retrieve it. If I could loop through the object
    somehow and list all the properties, that would help immensely.

    Any ideas?
     
    Kevin Blount, Jun 13, 2007
    #5
  6. Kevin Blount

    Ayush Guest

    [Kevin Blount] wrote-:
    > If I could loop through the object
    > somehow and list all the properties, that would help immensely.


    In JScript:

    1: siteApi = new ActiveXObject("MSSoap.SoapClient30")
    2: siteApi.mssoapinit("http://thirdparty.domain/site/api?wsdl")
    3:
    4: userApi = new ActiveXObject("MSSoap.SoapClient30")
    5: userApi.mssoapinit("http://thirdparty.domain/user/api?wsdl")
    6:
    7: session = siteApi.login("username","p@ssw0rd")
    8:
    9: userObj = userApi.getUser(session,"webadmins")
    10:
    11: list='Property/Method Name: Property/Method Value'
    12: for(prop in userObj)
    13: list+=prop + ": "+userObj[prop]+"\n"
    14: WScript.Echo(list)


    Good Luck, Ayush.
    --
    Scripting Home : http://snipurl.com/Scripting_Home
     
    Ayush, Jun 13, 2007
    #6
  7. Kevin Blount

    Kevin Blount Guest

    On Jun 13, 4:45 pm, Ayush <"ayushmaan.j[aatt]gmail.com"> wrote:
    > [Kevin Blount] wrote-:
    >
    > > If I could loop through the object
    > > somehow and list all the properties, that would help immensely.

    >
    > In JScript:
    >
    > 1: siteApi = new ActiveXObject("MSSoap.SoapClient30")
    > 2: siteApi.mssoapinit("http://thirdparty.domain/site/api?wsdl")
    > 3:
    > 4: userApi = new ActiveXObject("MSSoap.SoapClient30")
    > 5: userApi.mssoapinit("http://thirdparty.domain/user/api?wsdl")
    > 6:
    > 7: session = siteApi.login("username","p@ssw0rd")
    > 8:
    > 9: userObj = userApi.getUser(session,"webadmins")
    > 10:
    > 11: list='Property/Method Name: Property/Method Value'
    > 12: for(prop in userObj)
    > 13: list+=prop + ": "+userObj[prop]+"\n"
    > 14: WScript.Echo(list)
    >
    > Good Luck, Ayush.
    > --
    > Scripting Home :http://snipurl.com/Scripting_Home


    Hi Ayush,

    Thanks for the response. I was able to figure out where I was going
    wrong yesterday, and it was as I suspected part of my code. I had to
    remember that the returned object was XML, and then I went out
    searching and found a way to check the contents, or in better terms,
    the nodes inside the object.

    The script I found turns out to match your suggestion, execpt for
    being in VBscript not JScript:

    for each node In userApi
    Response.Write("[" & node.nodeName & "]{" & node.Text & "}")
    next

    >From that I was able to find the node IDs, and then user_date_created

    variable could be populated using:

    user_date_created = userObj(8).Text (where 8 is the internal ID of the
    date I need, based on 0 thru 7 being other info)
     
    Kevin Blount, Jun 14, 2007
    #7
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. mrrrk
    Replies:
    1
    Views:
    445
    mrrrk
    Dec 19, 2003
  2. Eric Newton
    Replies:
    3
    Views:
    9,621
    Brock Allen
    Apr 4, 2005
  3. TS
    Replies:
    3
    Views:
    2,516
  4. Steve Litt
    Replies:
    2
    Views:
    199
    Dejan Dimic
    Sep 29, 2008
  5. torbs
    Replies:
    2
    Views:
    103
    torbs
    Apr 21, 2006
Loading...

Share This Page