IxiRancid Posted February 29, 2008 Posted February 29, 2008 I'm need a solution that behaves something like this: (A) application (outside company) - this application is the front-end used as user data input (lots of webpages, one for each specific Report) - this application should use one common Web Service which hosts Crystal Reports and exports them (B) application (my Web Service) - hosts all Crystal Reports (at first 30, then should be an option to add more) - primary source for reports is DataSet or Class object (created with XSD.exe on DataSets for each report) - it exports Crystal Report as RPT file which is then used in application C. © application - an utility (DLL) I created that is set into client GAC which is used to print reports directly to printer (a very wanted solution I guess. When I tried to find something like that, there was none) Now the problem: (A) application is an outside solution that has no insight into (B) crystal reports and their datasources, thus I need to serve all Data objects (or DTO) for (A) so they can fill the data, send it to (B) which exports filled report. Here's how I do it (currently): (B) application (separate public Class generated by XSD.exe) Namespace nBCInspc <System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "2.0.50727.42"), _ System.SerializableAttribute(), _ System.Diagnostics.DebuggerStepThroughAttribute(), _ System.ComponentModel.DesignerCategoryAttribute("code"), _ System.Xml.Serialization.XmlTypeAttribute(AnonymousType:=True, [Namespace]:="http://tempuri.org/dsBCI.xsd")> _ Partial Public Class dsBCIB1_1 Private cusNameField As String '''<remarks/> Public Property cusName() As String Get Return Me.cusNameField End Get Set(ByVal value As String) Me.cusNameField = value End Set End Property End Class (B) Main class (service) <WebMethod()> _ <System.Xml.Serialization.XmlInclude(GetType(nBCInspc.dsBCIB1_1))> _ Public Function crSerRPT(ByVal myDTO As Object) 'processes IN parameter from (A) and exports filled RPT End Function --------------------------------------------------- (A) application calling (B) service Dim neS As New nPrint.dsBCIB1_1 neS.cusName = "Best Customer" Dim np As New nPrint.Service np.Credentials = System.Net.CredentialCache.DefaultNetworkCredentials Dim fname As String fname = np.crSerRPT(neS) ---------------------------------------------------- The main problem is that when I use this part of code neS.cusName = "Best Customer" I cannot fill more than one value. This of course is not good, because I need to fill multiple values (tables in reports etc.). When they write neS. intellisense gives them all available fields because of this line: <System.Xml.Serialization.XmlInclude(GetType(nBCInspc.dsBCIB1_1))> _ I need to: - (DONE) provide to (A) full list of parameters for each report so they can fill it and send it - allow them to fill multiple values Any ideas welcome, I can try to explain better if needed, or even a completely different hint for a solution! Thanks! Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.