From: Gary Miller on 18 Dec 2009 10:29 I am using the following code to consume a web service in VO. SELF:oWebEx := OLEAutoObject{"MSSOAP.SoapClient"} IF SELF:oWebEx:fInit Do some stuff endif However on some Windows 2003 servers the fInit fails. Researching this on the MSDN they recomment not to use the SOAP Toolkit Version 2.0 but use .NET to consume the web service. Ok, what object in .NET would I use to call this same late bound code in VO? Or should I ignore the MSDN advice and simply install the SOAP Toolkit Version 2.0 on the Windows 2003 server? Thanks, Gary
From: Ginny Caughey on 18 Dec 2009 10:54 Gary, I wrote a C# wrapper (or it could be VB or Vulcan) that consumes a web service directly - then I interface with the C# code using OLE. Here's a paper describing the general technique, which I use in production to connect to a credit card validation service: http://www.elbe-data.se/en/Vulcan/ The only important thing the paper doesn't explain is adding the web reference to the C# app, but you can probably find how to do that for whichever .NET language you use by searching the web. -- Ginny Caughey www.wasteworks.com "Gary Miller" <gary(a)lucero.com> wrote in message news:zdNWm.6665$Gf3.3407(a)newsfe18.iad... > I am using the following code to consume a web service in VO. > > SELF:oWebEx := OLEAutoObject{"MSSOAP.SoapClient"} > IF SELF:oWebEx:fInit > Do some stuff > endif > > However on some Windows 2003 servers the fInit fails. Researching this on > the MSDN they recomment not to use the SOAP Toolkit Version 2.0 but use > .NET to consume the web service. Ok, what object in .NET would I use to > call this same late bound code in VO? Or should I ignore the MSDN advice > and simply install the SOAP Toolkit Version 2.0 on the Windows 2003 > server? > > Thanks, > Gary >
From: Gary Miller on 18 Dec 2009 11:54 Ginny Thanks, I thought about going that route but I didn't. As I have researched this further it appears that I can't use a .NET object late bound in VO like we can with OLE, OLEAutoObject{"MSSOAP.SoapClient"} For now I think I am going to stick with the OLE method and have the customer install the SOAP Toolkit Version 2.0 Gary
From: Ginny Caughey on 18 Dec 2009 13:03 Gary, Obviously you didn't read my paper. <g> Of course you can use a .NET object late bound from VO - but you must expose the .NET object to COM. The paper shows you how. -- Ginny Caughey www.wasteworks.com "Gary Miller" <gary(a)lucero.com> wrote in message news:WsOWm.75699$We2.8085(a)newsfe09.iad... > Ginny > Thanks, I thought about going that route but I didn't. As I have > researched this further it appears that I can't use a .NET object late > bound in VO like we can with OLE, OLEAutoObject{"MSSOAP.SoapClient"} > > For now I think I am going to stick with the OLE method and have the > customer install the SOAP Toolkit Version 2.0 > > Gary >
From: Geoff Schaller on 18 Dec 2009 18:15
Gary, But you can - you even have the code from our Master Class which does this. You could consume the web service from VO but you are seriously stuck with writing and parsing XML responses. Do you really want to do that? It is a lot easier to write the C# wrapper, consume the web service natively in Dot net and just expose what you want through COM. Truly, the effort is a lot less. You can then make your C# COM wrapper around the web service just offer simple data types to make your VO interface a lot easier. Geoff "Gary Miller" <gary(a)lucero.com> wrote in message news:WsOWm.75699$We2.8085(a)newsfe09.iad: > Ginny > Thanks, I thought about going that route but I didn't. As I have researched > this further it appears that I can't use a .NET object late bound in VO like > we can with OLE, OLEAutoObject{"MSSOAP.SoapClient"} > > For now I think I am going to stick with the OLE method and have the > customer install the SOAP Toolkit Version 2.0 > > Gary |