error accessing property of an object
error accessing property of an object
am 13.06.2007 17:57:55 von Kevin Blount
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
Re: error accessing property of an object
am 13.06.2007 18:09:21 von J
why would you not simply go to the third party who created this?!?
"Kevin Blount" wrote in message
news:1181750275.093103.307010@i13g2000prf.googlegroups.com.. .
> 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
>
Re: error accessing property of an object
am 13.06.2007 18:51:05 von Kevin Blount
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:1181750275.093103.307010@i13g2000prf.googlegroups.com.. .
>
>
>
> > 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".
Re: error accessing property of an object
am 13.06.2007 19:19:52 von Jon Paal
perhaps the API is case sensitive ?
"Kevin Blount" wrote in message news:1181750275.093103.307010@i13g2000prf.googlegroups.com.. .
> 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
>
Re: error accessing property of an object
am 13.06.2007 20:30:13 von Kevin Blount
On Jun 13, 12:19 pm, "Jon Paal [MSMD]"
dot com> wrote:
> perhaps the API is case sensitive ?
>
> "Kevin Blount" wrote in messagenews:1181750275.093103.307010@i13g2000prf.googlegroup s.com...
> > 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?
Re: error accessing property of an object
am 13.06.2007 21:03:21 von Jon Paal
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 message news:1181759413.612913.93510@i38g2000prf.googlegroups.com...
> On Jun 13, 12:19 pm, "Jon Paal [MSMD]"
> dot com> wrote:
>> perhaps the API is case sensitive ?
>>
>> "Kevin Blount" wrote in messagenews:1181750275.093103.307010@i13g2000prf.googlegroup s.com...
>> > 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?
>
Re: error accessing property of an object
am 13.06.2007 21:08:19 von Kevin Blount
On Jun 13, 2:03 pm, "Jon Paal [MSMD]"
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:1181759413.612913.93510@i38g2000prf.googlegroups .com...
> > On Jun 13, 12:19 pm, "Jon Paal [MSMD]"
> > dot com> wrote:
> >> perhaps the API is case sensitive ?
>
> >> "Kevin Blount" wrote in messagenews:1181750275.093103.307010@i13g2000prf.googlegroup s.com...
> >> > 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?
Re: error accessing property of an object
am 13.06.2007 23:45:33 von Ayush
[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
Re: error accessing property of an object
am 14.06.2007 14:24:32 von Kevin Blount
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)