Groups | Blog | Home
all groups > sql server reporting services > november 2004 >

sql server reporting services : VB6 SOAP webservice proxy problems



mjpelikan NO[at]SPAM gmail.com
11/30/2004 2:50:08 PM
Backstory:
We are an AccessXP shop that is _slowly_ migrating to .Net. We have
decided to move to Reporting Services for our reports as a first step.
I have been tasked with creating a report viewer to use in Access XP
that gives the same functionality, i.e., printing, zooming, etc.

What I have tried:
Through trial and error, I have determined that Access does not play
nice with .NET dlls, the VB6 WebBrowser control does not resize nice
in Access, the vb that WSDL from VS.Net creates does not work in VB6
and the WSDL Generator (PocketSOAP) creates compilable vb6 code, but
does not play well with my RS box. I have also tried to get the SOAP
toolkit to do my bidding but to no avail.

My solution:
A VB6 dll that displays the report in the WebBrowser control (that I
have removed the ability to right click on through subclassing).

The problem:
My users need the ability to print the damn thing without exporting it
to a PDF then opening it and printing. I have seen the code for C# to
print the damn thing. I figure I can make vb6 render it to an image
and stream it to the printer or if i can't get it to stream to the
printer, save it to a temp file on the user's hard drive and print it
from there.

The issue:
I can't get vb6 to play nice. My Render method that PocketSoap/WSDL
Wizard created wants a "Render" object passed to it, but I don't know
how to mush all of the parameters/properties together into an object.

Help:
a) Working vb6 webservice proxy code
b) object creation help
c) how to get a .Net dll to play with AccessXP
d) a solution that my brain is just not thinking of

Thanks in advance,

mjpelikan NO[at]SPAM gmail.com
12/2/2004 6:32:01 PM
I am a little slow... I am now to the point of trying to render the
report and I keep getting a "Server Authentication Failed" error. I
have:

Set objReport.Credentials = Nothing

--
I have tried setting the credentials to a known good user/password,
but then I receive "Invalid qualifer" error.

....
Dim fred As New ArrayOfDataSourceCredential
....

fred.DataSourceCredentials.userName = "mjpelikan"

(with DataSourceCredentials highlighted as the offending code)
------

when I try :
Dim fred As New ArrayOfDataSourceCredential
Dim john As New DataSourceCredentials
....
john.DataSourceName = "datasourcename"
john.userName = "username"
john.password = "password"
fred.DataSourceCredentials = john


or when try:

john.DataSourceNameOccurs = False
john.userNameOccurs = False
john.passwordOccurs = False
fred.DataSourceCredentials = john


I have tried other combinations of getting john and fred to be equal,
but always get "Type mismatch: array or user-defined type expected"

I am sure it is something simple that I am over looking.

PocketSOAP's wsdl proxy generator's proxy has
ArrayOfDataSourceCredentials as an element of Render and
DataSourceCredentials is the only element of
ArrayOfDataSourceCredentials, with UserName, userNameOccurs, Password,
ect. as elements of DataSourceCredentials.

Thank you!
Mike



[quoted text, click to view]
AddThis Social Bookmark Button