none
http://schemas.microsoft.com/sqlserver/reporting/2010/01/reportdefinition RRS feed

  • Question

  • Hello,

    We have a 2008 R2 SP1 server which we are developing SSRS reports for.  We also have Report Builder 3.0 in this environment.  When getting ready to promote reports from dev to test (we are trying to deploy reports with rs.exe using RSS scripts), we found that reports developed in RB give the following sort of error:

    System.Web.Services.Protocols.SoapException: The report definition is not valid or supported by this version of Reporting Services. This could be the result of publishing a report definition of a later version of Reporting Ser
    vices, or that the report definition contains XML that is not well-formed or the XML is not valid based on the Report Definition schema. Details: '.', hexadecimal value 0x00, is an invalid character. Line 102, position 10.
       at Microsoft.ReportingServices.WebServer.ReportingService2005Impl.CreateReport(String Report, String Parent, Boolean Overwrite, Byte[] Definition, Property[] Properties, Warning[]& Warnings)
       at Microsoft.ReportingServices.WebServer.ReportingService2005.CreateReport(String Report, String Parent, Boolean Overwrite, Byte[] Definition, Property[] Properties, Warning[]& Warnings)

    Reports developed in BIDS deploy without error.  In fact, if we import an RB report into BIDS and deploy it manually, there are no issues.  Looking at the code page, there are a few differences, but the crux of it seems to be with the declaration.  If I create a report in BIDS (2008 R2 SP1), we get teh following on the code page:

    <

    Report xmlns="http://schemas.microsoft.com/sqlserver/reporting/2008/01/reportdefinition" xmlns:rd="http://schemas.microsoft.com/SQLServer/reporting/reportdesigner">

    While the code page from RB 3.0 looks like this:

    <

     

    Report xmlns:rd="http://schemas.microsoft.com/SQLServer/reporting/reportdesigner" xmlns:cl="http://schemas.microsoft.com/sqlserver/reporting/2010/01/componentdefinition" xmlns="http://schemas.microsoft.com/sqlserver/reporting/2010/01/reportdefinition">

    The report definition also contains a new node <ReportSections>, so there are definite schema differences.  I tried to take a look at the web site: http://schemas.microsoft.com/sqlserver/reporting/2010/01/reportdefinition  and the page is not found (the 2008 version exists.) 

    So what's the deal?  Why does it seem like BIDS is using an older report definition even with the latest version of BIDS?  How come RB is out of synch and how can I deploy these reports using rs.exe?  Has anyone run into this error yet?

    Thanks for any thoughts on this,

    Mark

    Update:  I created a new report in BIDS, confirmed that it was using the 2008 schema, dragged in an indicator (new in 2008 R2) and BAM! the schema updated to 2010.  So sweet, now it seems I can't deploy anything with a new feature in it via rss scripts?

     

    Friday, September 30, 2011 2:21 PM

Answers

  • It seems the byte array in PublishReport is being initialized with one too many elements, so the extra element at the end is causing issues on creation.  I tweaked the script below (the line I changed is bolded) and was able to successfully upload your report:

    Public Sub PublishReport(ByVal reportName As String, ByVal ReportFullPath As String, ByVal ReportFolderName As String)
        Try
            Dim stream As FileStream = File.OpenRead(ReportFullPath)
            definition = New [Byte](stream.Length - 1) {}
            stream.Read(definition, 0, CInt(stream.Length))
            stream.Close()

        Catch e As IOException
            Console.WriteLine(e.Message)
        End Try

        Try
            rs.CreateCatalogItem("Report", reportName, ReportFolderName, True, definition, Nothing, warnings)

            If Not (warnings Is Nothing) Then
                Dim warning As Warning
                For Each warning In warnings
                    Console.WriteLine(warning.Message)
                Next warning

            Else
                Console.WriteLine("Report: {0} published successfully with no warnings", reportName)
            End If

        Catch e As Exception
            Console.WriteLine(e.Message)
        End Try
    End Sub

    Friday, December 16, 2011 7:46 PM
    Moderator
  • I believe you need to use the ReportService2010 management endpoint to avoid the "invalid report definition" error you were hitting.  The old ReportService2005 endpoint does not support reports using the new report definition namespace.

    Regarding the other errors you are hitting, there were several API changes made between the 2005 and 2010 endpoints.  The CreateReport API was replaced with the more generic CreateCatalogItem API.  Also, a new parameter was introduced in the FindItems API.  You need to modify your RSS scripts to account for these changes.  Here is some info on those two particular APIs:

    http://msdn.microsoft.com/en-us/library/reportservice2010.reportingservice2010.createcatalogitem.aspx
    http://msdn.microsoft.com/en-us/library/reportservice2010.reportingservice2010.finditems.aspx 


    Wednesday, November 16, 2011 1:05 AM
    Moderator

All replies

  • Hi Mark Wojciechowicz,

    Report Builder 3.0 provides an intuitive report authoring environment for business and power users. It supports the full capabilities of SQL Server 2008 R2 Reporting Services. Have you tried to open reports that are developed in BIDS (SSRS 2008 R2) using Report Builder 3.0?  Please try to replace report definition schema with the following: http://msdn.microsoft.com/en-us/library/ee720565.aspx

    For more information about it, please see:
    Planning for Report Authoring and Report Deployment: http://msdn.microsoft.com/en-us/library/dd207009.aspx

    If you have any question, please feel free to ask.

    Thanks,
    Eileen

     

    Monday, October 3, 2011 7:53 AM
  • Eileen,

    Thank you for the reply and the links!

    The first link is exactly the schema that I am trying to deploy through rs.exe.  In fact, if you create a blank report in bids, then look at the code page, it will show the 2008 version.  Then if you add any of the new items (in R2), like an indicator or sparkline, the schema will be replaced with the 2010 version. 

    Whether I try to deploy a RB 3.0 report or a report with 2008 R2 features, each fails with the use of the schema. 

    One side note on the second link, it has links to each of the rdl schemas, of which 2010 version is a dead link:

    http://schemas.microsoft.com/sqlserver/reporting/2010/01/reportdefinition

    I would welcome any work arounds that would still allow me to use RS.exe.

    Mark

    Tuesday, October 4, 2011 1:46 AM
  • I somehow received feedback from another user on this (TPinney) in my email, not sure why the entry does not seem to be in here.

    In any case, I do not have a work around - but thank you for the reminder.  I put this up on connect, please give it a vote:

     

    https://connect.microsoft.com/SQLServer/feedback/details/704194/2010-report-definition-not-supported-with-rs-exe-utility

     

    Mark

    Tuesday, November 15, 2011 10:22 PM
  • What does your rs.exe command line look like?  Are you specifying the  -E Mgmt2010 option to use the 2010 management endpoint?
    Tuesday, November 15, 2011 10:44 PM
    Moderator
  • I did a quick test and it seems like it is not using the same methods.  I am getting errors like:

    error BC30456: 'CreateReport' is not a member of 'Microsoft.SqlServer.ReportingServices2010.ReportingService2010'.

    and

    error BC30332: Value of type '1-dimensional array of Microsoft.SqlServer.ReportingServices2010.SearchCondition' cannot be converted to '1-dimension
    al array of Microsoft.SqlServer.ReportingServices2
    010.Property' because 'Microsoft.SqlServer.ReportingServices2010.SearchCondition' is not derived from 'Microsoft.SqlServer.ReportingServices2010.Property'

    The above is for using the FindItems method

    error BC30456: 'Value' is not a member of 'Microsoft.SqlServer.ReportingServices2010.SearchCondition'.

    I'll hack around with it more tomorrow, but it doesn't seem to help,

    Mark

    Tuesday, November 15, 2011 11:28 PM
  • I believe you need to use the ReportService2010 management endpoint to avoid the "invalid report definition" error you were hitting.  The old ReportService2005 endpoint does not support reports using the new report definition namespace.

    Regarding the other errors you are hitting, there were several API changes made between the 2005 and 2010 endpoints.  The CreateReport API was replaced with the more generic CreateCatalogItem API.  Also, a new parameter was introduced in the FindItems API.  You need to modify your RSS scripts to account for these changes.  Here is some info on those two particular APIs:

    http://msdn.microsoft.com/en-us/library/reportservice2010.reportingservice2010.createcatalogitem.aspx
    http://msdn.microsoft.com/en-us/library/reportservice2010.reportingservice2010.finditems.aspx 


    Wednesday, November 16, 2011 1:05 AM
    Moderator
  • Hi Tristan,

    I think this is answer then, but I'm having a hard time converting the script to the 2010 version.  I'm wondering if any samples are available?

    Mark

    Thursday, November 17, 2011 5:57 PM
  • I did find this sample in another thread:
    http://social.msdn.microsoft.com/Forums/en-US/sqlreportingservices/thread/44369a1f-94c6-416c-83e4-76ca3285fac1/

    I'm not aware of any extensive collection of 2010-specific sample scripts.  Could you provide your scripts and the issues you're running into? 

    Thursday, November 17, 2011 6:55 PM
    Moderator
  • Thanks Tristan - I will check out the link.  I was able to get the finditems and publish report piece working.  My last challenge is the creation of the data source.  I will show you what I am doing in the meanwhile and the error that is being returned:

    Code:

    Public

     Sub CreateDataSource(ByVal name As String, ByVal extension As String, ByVal connectionString As String, ByVal CredentialType As Integer, ByVal connUser As String

    Dim definition As New

    Dim warnings As Warning() =

    definition.CredentialRetrieval = CredentialType

    definition.ConnectString = connectionString

    definition.Enabled =

    definition.EnabledSpecified =

    definition.Extension = extension

    definition.ImpersonateUser =

    definition.ImpersonateUserSpecified =

    definition.Prompt =

    definition.UserName = connUser

    definition.WindowsCredentials =

    warnings = rs.CreateCatalogItem(

    "DataSource", name, "/Data Sources", False, definition, Nothing

    If Not (warnings Is Nothing)

    Dim warning As

    For Each warning In

    Next

    Console.WriteLine(

    "Data source {0} created successfully"

    End

    Catch e As

    End  

    End

     

    Error:

    error BC30455: Argument not specified for parameter 'Warnings' of 'Public Function CreateCatalogItem(ItemType As String, Name As String, Parent A
    s String, Overwrite As Boolean, Definition() As Byte
    , Properties() As Microsoft.SqlServer.ReportingServices2010.Property, ByRef Warnings() As Microsoft.SqlServer.ReportingServices2010.Warning) As Microsoft.SqlServer.ReportingServices2010.CatalogItem'.

     

            warnings = rs.CreateCatalogItem("DataSource", name, "/Data Sources", False, definition, Nothing)

                       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

     error BC30311: Value of type 'Microsoft.SqlServer.ReportingServices2010.DataSourceDefinition' cannot be converted to '1-dimensional array of Byte
    '.

    warnings = rs.CreateCatalogItem("DataSource", name, "/Data Sources", False, definition, Nothing)

    The definition in this last line is being underlined.  But it seems unhappy about the way that I am setting warnings.  Thanks for any thoughts on this.

    Mark

     

    Sub

    Try

    Exception

    Console.WriteLine(e.Message)

    If

    , name)

    Else

    warning

    warnings

    Console.WriteLine(warning.Message)

    Warning

    Then

    )

    Try

    False

    Nothing

    'Use the default prompt string.

    True

    False

    True

    True

    Nothing

    DataSourceDefinition()

    'Define the data source definition.

    )

    Thursday, November 17, 2011 11:02 PM
  • For data sources, I would recommend that you continue using the CreateDataSource API, which still exists on the 2010 endpoint:
    http://msdn.microsoft.com/en-us/library/reportservice2010.reportingservice2010.createdatasource(v=SQL.105).aspx

    rs.CreateDataSource(name, "/Data Sources", False, definition, Nothing)
    

    Friday, November 18, 2011 8:33 AM
    Moderator
  • Tristan, the data source method you mentioned above works perfectly with old code - thanks for that.

    In another case, I was testing publishing one of the newer report versions and I encountered that error again.  Here are the details:

    The Script was run to deploy are report called ETL Dashboard in the DBA Reports folder:

    Public Sub PublishReport(ByVal reportName As String, ByVal ReportFullPath As String, ByVal ReportFolderName As String)
        Try
            Dim stream As FileStream = File.OpenRead(ReportFullPath)
            definition = New [Byte](stream.Length) {}
            stream.Read(definition, 0, CInt(stream.Length))
            stream.Close()

        Catch e As IOException
            Console.WriteLine(e.Message)
        End Try

        Try
            rs.CreateCatalogItem("Report", reportName, ReportFolderName, True, definition, Nothing, warnings)

            If Not (warnings Is Nothing) Then
                Dim warning As Warning
                For Each warning In warnings
                    Console.WriteLine(warning.Message)
                Next warning

            Else
                Console.WriteLine("Report: {0} published successfully with no warnings", reportName)
            End If

        Catch e As Exception
            Console.WriteLine(e.Message)
        End Try
    End Sub

    The following error was returned:

    System.Web.Services.Protocols.SoapException: The report definition is not valid or supported by this version of Reporting Services. This could be the result of publishing a report definition of a later version of Reporting Ser
    vices, or that the report definition contains XML that is not well-formed or the XML is not valid based on the Report Definition schema. Details: '.', hexadecimal value 0x00, is an invalid character. Line 7497, position 10.
       at Microsoft.ReportingServices.WebServer.ReportingService2010Impl.CreateReport(String Report, String Parent, Boolean Overwrite, Byte[] Definition, Property[] Properties, CatalogItem& ItemInfo, Warning[]& Warnings)
       at Microsoft.ReportingServices.WebServer.ReportingService2010Impl.CreateCatalogItem(String ItemType, String Name, String Parent, Boolean Overwrite, Byte[] Definition, Property[] Properties, CatalogItem& ItemInfo, Warning[]&
     Warnings)
       at Microsoft.ReportingServices.WebServer.ReportingService2010.CreateCatalogItem(String ItemType, String Name, String Parent, Boolean Overwrite, Byte[] Definition, Property[] Properties, CatalogItem& ItemInfo, Warning[]& War
    nings)

    This was using the CreateCatalogItem method and It's the same error as reported earlier.  I did use the -E Mgmt2010 swtich when running the command.

    Any thoughts on this would be greatly appreciated

    Mark

    Friday, November 18, 2011 6:31 PM
  • Hmm, this may not actually be an issue with the report definition namespace, so my previous answer might be inaccurate.  The error seems to be around the RDL content itself.  Would it be possible for you to provide the RDL content so we can see if anything sticks out?
    Friday, November 18, 2011 8:08 PM
    Moderator
  • Hi Tristan,

    Sorry for the delay in reply to this problem.  We have been focused on other parts of the project, but I would like to tie up this deployment issue.  In the following link, you will find an example rdl which I can deploy through bids, but I get errors for when using the rss script.  Also, I will attach the command and error message:

    Link to test file

    Command and error:

    cmd /c "C:\Windows\system32\WindowsPowerShell\v1.0\Modules\DeploymentUtilities\ssrs\rs.exe" -E Mgmt2010 -i C:\Windows\system32\WindowsPowerShell\v1.0\Modules\DeploymentUtilities\ssrs\Publish-SsrsReport.rss -s http://localhost/reportserver -v TargetServer=http://localhost/reportserver -v ReportServerPath="/DBA Reports" -v DataSourceServerPath="/Data Sources" -v ReportFilePath="C:\Temp\SSRS_2008_R2_Report.rdl" -v ReportName="SSRS_2008_R2_Report"
    System.Web.Services.Protocols.SoapException: The report definition is not valid or supported by this version of Reporting Services. This could be the result of publishing a report de
    finition of a later version of Reporting Services, or that the report definition contains XML that is not well-formed or the XML is not valid based on the Report Definition schema. D
    etails: '.', hexadecimal value 0x00, is an invalid character. Line 371, position 10.
       at Microsoft.ReportingServices.WebServer.ReportingService2010Impl.CreateReport(String Report, String Parent, Boolean Overwrite, Byte[] Definition, Property[] Properties, CatalogIt
    em& ItemInfo, Warning[]& Warnings)
       at Microsoft.ReportingServices.WebServer.ReportingService2010Impl.CreateCatalogItem(String ItemType, String Name, String Parent, Boolean Overwrite, Byte[] Definition, Property[] P
    roperties, CatalogItem& ItemInfo, Warning[]& Warnings)
       at Microsoft.ReportingServices.WebServer.ReportingService2010.CreateCatalogItem(String ItemType, String Name, String Parent, Boolean Overwrite, Byte[] Definition, Property[] Prope
    rties, CatalogItem& ItemInfo, Warning[]& Warnings)

    <ErrorCode xmlns="http://www.microsoft.com/sql/reportingservices">rsItemNotFound</ErrorCode><HttpStatus xmlns="http://www.microsoft.com/sql/reportingservices">400</HttpStatus><Messag
    e xmlns="http://www.microsoft.com/sql/reportingservices">The item '/DBA Reports/SSRS_2008_R2_Report' cannot be found.</Message><HelpLink xmlns="http://www.microsoft.com/sql/reporting
    services">http://go.microsoft.com/fwlink/?LinkId=20476&amp;EvtSrc=Microsoft.ReportingServices.Diagnostics.Utilities.ErrorStrings&amp;EvtID=rsItemNotFound&amp;ProdName=Microsoft%20SQL
    %20Server%20Reporting%20Services&amp;ProdVer=10.50.2500.0</HelpLink><ProductName xmlns="http://www.microsoft.com/sql/reportingservices">Microsoft SQL Server Reporting Services</Produ
    ctName><ProductVersion xmlns="http://www.microsoft.com/sql/reportingservices">10.50.2500.0</ProductVersion><ProductLocaleId xmlns="http://www.microsoft.com/sql/reportingservices">127
    </ProductLocaleId><OperatingSystem xmlns="http://www.microsoft.com/sql/reportingservices">OsIndependent</OperatingSystem><CountryLocaleId xmlns="http://www.microsoft.com/sql/reportin
    gservices">1033</CountryLocaleId><MoreInformation xmlns="http://www.microsoft.com/sql/reportingservices"><Source>ReportingServicesLibrary</Source><Message msrs:ErrorCode="rsItemNotFo
    und" msrs:HelpLink="http://go.microsoft.com/fwlink/?LinkId=20476&amp;EvtSrc=Microsoft.ReportingServices.Diagnostics.Utilities.ErrorStrings&amp;EvtID=rsItemNotFound&amp;ProdName=Micro
    soft%20SQL%20Server%20Reporting%20Services&amp;ProdVer=10.50.2500.0" xmlns:msrs="http://www.microsoft.com/sql/reportingservices">The item '/DBA Reports/SSRS_2008_R2_Report' cannot be
     found.</Message></MoreInformation><Warnings xmlns="http://www.microsoft.com/sql/reportingservices" />

    Thanks for help and thoughts on this,

    Mark

    Tuesday, December 13, 2011 10:52 AM
  • It seems the byte array in PublishReport is being initialized with one too many elements, so the extra element at the end is causing issues on creation.  I tweaked the script below (the line I changed is bolded) and was able to successfully upload your report:

    Public Sub PublishReport(ByVal reportName As String, ByVal ReportFullPath As String, ByVal ReportFolderName As String)
        Try
            Dim stream As FileStream = File.OpenRead(ReportFullPath)
            definition = New [Byte](stream.Length - 1) {}
            stream.Read(definition, 0, CInt(stream.Length))
            stream.Close()

        Catch e As IOException
            Console.WriteLine(e.Message)
        End Try

        Try
            rs.CreateCatalogItem("Report", reportName, ReportFolderName, True, definition, Nothing, warnings)

            If Not (warnings Is Nothing) Then
                Dim warning As Warning
                For Each warning In warnings
                    Console.WriteLine(warning.Message)
                Next warning

            Else
                Console.WriteLine("Report: {0} published successfully with no warnings", reportName)
            End If

        Catch e As Exception
            Console.WriteLine(e.Message)
        End Try
    End Sub

    Friday, December 16, 2011 7:46 PM
    Moderator
  • Tristan - this works on all newer and older version of reports - thank you for the fix!

    I have to ask, so I am smarter about this sort of thing in the future, how did you go about finding that the byte array had too many elements in it?  Also, when you say that it is being intialized with too many elements, is there something wrong in the way that I am calling the subroutine?

    Thank you again for the help and guidance on this,

    Mark

    Monday, December 19, 2011 1:43 PM
  • Hi Tristan,

    I am also facing a similar issue while upgrading my SSRS component from 2005 to 2012. Can you please help me out? Here is the description:

    We have an SSRS component to generate reports using:

     

    1. Report Server: Microsoft Windows Server 2003 R2, Standard Edition, SP2
    2. DB Server: Microsoft SQL Server 2005

     

    Currently, Reporting Services application based on the Web service is using the rsutility (RS.exe), the Reporting Services script environment. Our reporting service script is written in Visual Basic .NET and uses the “Mgmt2000” endpoint to access the various operations of Report Server Web Service. The Report Server is configured to “Native” mode. Current script attached (RunReportFromXML.rss).

     

     

    Going-to-be Setup:

     

    We have upgraded our Report Server and DB Server to the following versions of Windows and SQL Server:

     

    1. Report Server: Windows Server 2008 R2 Enterprise, SP1
    2. DB Server: Windows Server 2008 R2 Enterprise, SP1; Microsoft SQL Server 2012

     

    Now, after upgrading the Report Server and DB Server the Reporting Services VB script is failing at the rs.exe command.

     

    Here is the analysis and the steps that we have done so far to troubleshoot this issue:

     

    1. Ran the SSRS component using the endpoint “Mgmt2000” and got the error: Invalid Endpoint, so we changed it to “Mgmt2005” per http://msdn.microsoft.com/en-us/library/ms162839.aspx. After changing the endpoint when we execute the package we are getting the following error: error BC30456: 'Render' is not a member of 'Microsoft.SqlServer.ReportingServices2005.ReportingService2005'.
    2. Updated the Management Endpoint to “Mgmt2010” since this endpoint merges the functionalities of the endpoints Mgmt2005 and Mgmt2006 perhttp://msdn.microsoft.com/en-us/library/ms155398.aspx. After changing the endpoint when we execute the SSRS component we are getting the errors like:  error BC30451: Name 'ExecutionSettingEnum' is not declared, rs.SetExecutionOptions(reportPath, ExecutionSettingEnum.Snapshot, definition)
      error BC30456: 'Render' is not a member of 'Microsoft.SqlServer.ReportingServices2010.ReportingService2010'. results = rs.Render(reportPath, format, _ etc. etc.
    3. After going through the “ReportingService2010” Class Properties and Methods we realized that some of the methods that we were referring in our Reporting Service Script are obsolete. For e.g. “GetReportParameters” in ReportingService2005 class is changed to “GetItemParameters” in ReportingService2010. This way we are able to resolve all the errors except BC30456: 'Render' is not a member of 'Microsoft.SqlServer.ReportingServices2005.ReportingService2005'. It seems that this “Render” method which is a part of “ReportExecutionService” is not exposed by “ReportService2010” endpoint since it is a method which is exposed by an “Execution” Endpoint and not by a Management Endpoint.
    4. So, in order to access “Render” method through “ReportExecutionService” we ran the SSRS component using the endpoint “Exec2005” and got the list of errors like: error BC30456: 'SetExecutionOptions' is not a member of 'Microsoft.SqlServer.ReportingServices2005.Execution.ReportExecutionService'.rs.SetExecutionOptions(reportPath, ExecutionSettingEnum.Live, Nothing)
      error BC30456: 'GetReportParameters' is not a member of 'Microsoft.SqlServer.ReportingServices2005.Execution.ReportExecutionService'.reportParameters = rs.GetReportParameters(reportPath, historyID, forRendering, parameters, Nothing) etc.etc. In this case we are getting errors corresponding to all those methods which are not exposed by this endpoint but by “ReportService2010”, for e.g., “GetReportParameters” etc. as can be seen in the attached error log file.

     

    Now here are the questions / issues:

     

    1. What is the easiest & Microsoft Recommended way to upgrade SSRS (from 2005) when some the options/components/methods are obsolete in SSRS 2012?
    2. How can we use the methods exposed by both “ReportService2010” and “ReportExecutionService” using a single end point using the aforementioned Report Server and DB Server configuration? We tried to use the endpoints Mgmt2005 and Mgmt2010 but failed to access the methods exposed by Exec2005. When we use the endpoint Exec2005 we fail to access the methods exposed by the Management End Points (Mgmt 2005 and Mgmt2010).
    3. If the answer to #1 is NO, then, what are our options to execute the existing SSRS Package with the aforementioned Report Server and DB Server configuration?


    Abhinav Vohra.

    Thursday, May 17, 2012 7:07 PM
  • Thanks Tristan!  This worked for me as well!
    Thursday, March 14, 2013 7:07 PM
  • Thank you this was the solution

    Jim Vázquez Castán

    Thursday, June 25, 2015 6:31 PM