ggrGroupshare Kit: Trying to upload a project template fails

Hello, 
 
I am trying to upload a project template to a Groupshare 2017 SR1 server using the Groupshare Kit and I receive error 400 in the response. Groupshare Kit version is the currently released one obtained through NuGets.
 
My code looks like this:
 
Dim ServerURI As New System.Uri("http://myserver" & "/Suborg")
Dim GSClient = AwaitGroupShareClient.AuthenticateClient("Test", "Test_01", ServerURI, GroupShareClient.AllScopes)
        Dim TemplateFileName As String = "Path to the project template goes here"
        Try
            'Reading template file into byte array
            Dim FS As FileStream
            FS = New FileStream(TemplateFileName, FileMode.Open, FileAccess.Read, FileShare.Read)
            Dim Buffer(FS.Length) As Byte
            If FS.Length > 0 Then
                FS.Read(Buffer, 0, FS.Length - 1)
                FS.Close()
                Dim UploadTemplate = Await GSClient.Project.UploadProjectTemplate(templateId:="7f976661-4186-41c7-8aba-dabcb4ef879b", projectTemplate:=Buffer, templateName:="TESTTPL")
                Buffer = Nothing
                FS = Nothing
            Else
                MsgBox("Template file was empty")
            End If
        Catch ex As Exception
               MsgBox(ex.ToString)
        End Try
 
If you look at the line in bold that is where the request to POST the new template is issued and where I receive a 400 error back. 
 
If I step through the groupshare kit code that is executed, I can see this is my request that is sent to Groupshare:
 
{Method: POST, RequestUri: 'winserv2016/.../upload', Version: 1.1, Content: System.Net.Http.MultipartFormDataContent, Headers:
{
  User-Agent: (WindowsRT 8+; unknown; de-DE; GroupShare kit)
  Authorization: Bearer AAIAAHPP-0pgxK9FCkBh8HAyfS8uuUFRP8l0u0PCv_xUJ11ovWbUT_jICRDLzGZF2vSkI-wTMiVUtyWovB3RDfTZJbTenhy7ljSBct_TRhUrNUhCGAUa3wVLohnaggsiZCnvL4IwvQ4qCQmB3O7pMQcQ2kf-pb6SpR43gQjFWbs3dxiT_b87i1CIsDqbeGyAZblzOtB20t7B7EXqL_8sBmdZdlgKMFbCuEMl14JvGQ6x48i40N-R0CwQILhqmJ37L-C8kqmVtcQU0F-g2DbQsC1FKX7kA7UDIza3s2KFx3OYC_TfIaoUwFZPolWbgD5jBQmplkagjtcVmK06I7q6EEs1_-VElljJkDieLBhV-C-40p7zysapKpcfTcHe3A9pRBoQGWzC3M5lyIM1q1bArH6CWsg9-955vrKEB6mVms1C2379Gg-plUO-Yx1_e1vsfKue1BqcWdJIaXrIMWLkPLAIpTo1MVxfGxEFHto0ur_pnesFIqjyGnRpZepy0R6h0IaDBSo2VmBBg5hFxe0Dlimre8vnJagwdo6MoTeuNNDaxjGCabetqABEDJR6OEMtE4vbI_SxkeaQnppflpi3FQCBnhWAkJtBP2PMBd2F3Zl3CJsSO-BEibfciXjzplk1zcpLkV66S34sG8R8xnESiWGmi74XSMhta_Ncq4j591ptvsowxAIAAAACAABynxhPEEePNppAyOJi22OOn1vueTivH4tKAWHIXF6EKeIXSmOEsk4gasxzNEZXkFTRz7_kmQ0H8jhMnwy1oTYES5ExpLmZ3oDOK5MligmUfMhqtDnx2M7zTF0l_OgsvER5HR_puXvgabS0EyUp3n_8Qb_Fpi-mXUau_8MSVnpWSWdypN9y1cQYQFFUd-ES9oolC2L7LWeH_tSLAAQtl-iEOZoGmkXCdLV8EcgaKvX6S6TvfkYqrVQxoa5eQZDLKS4XBuz-zjk9btnP2lyYeH13QFm_KfCPfnwn4tTS2ANjSlLeXGZQWH_3yzGnZiEDQSOVzZPZ-HFBTgXOrNifPFVwpyBtfoGPCOnR8zpA7mJmc38SecdIZjoibyqNUUpJWtDsnU8K12dSbGDIrqCCyp_Ahs2M0VQyn4xLJYdhrOoyeFBZ3Hp0f98di--okIKXU60VccGxMns1XdEV4V0Wtn9qoHbmN7CTP6EwiYL-ilBXsBKNUWc8ciG6M4RF5xOewsR0J7qk9v-kimOrx_uhiwmQBUhSmTielJf8pWbHSMpoMsxug9yVCL8R7wVieUlut55aUbGksid5xmCHZ3LCmxw0Ku4Inznwx5xYtvOOA5-WUMoR7r17Mz3uN_m93Qcw5HKkv1sXwvRk5cORePSKuUC-UmZoTDQAM7NCSNVT-dqMFBqXhuXL_VXpVHJx-v0LE0_CII0DUgAJdbSSa5DIc2PaWQ2TeYUMPzNbNspnFVjEOYvORR1BSMBRhk-uxO0adyIoEQTP4EkB75dZiw3vxExTPueyThgVmEnI4PO7GVote-grMrbaX47A9SFoCEWANTj24RhQXYxCIKHWKYbvWCQRG40z1meucj5ketQGG7lM8f5dqRAfrVn4GJmqst43BEmamafmkstPj8pofPnwxrA1VDTqvsTVavReaL9AvaYGHQ
  Accept: application/json
  Content-Type: multipart/form-data; boundary="eaf5cfc4-b53f-474b-a985-cfefbc87deb5"
}}
 
The Response looks like this:
 
{StatusCode: 400, ReasonPhrase: 'Bad Request', Version: 1.1, Content: System.Net.Http.StreamContent, Headers:
{
  Server: Microsoft-IIS/10.0
  X-Powered-By: ARR/3.0
  X-Powered-By: ASP.NET
  Date: Fri, 11 May 2018 08:27:54 GMT
  Content-Length: 246
  Content-Type: application/json; charset=utf-8
}}
 
"{\"Message\":\"Failed to load project template from 'C:\\\\Users\\\\Administrator\\\\AppData\\\\Local\\\\Temp\\\\tmp1ADF.tmp': \\r\\nThere is an error in XML document (87, 18).\\r\\n'\\u0000' is an unexpected token. The expected token is '>'. Line 87, position 18.\"}"
 
If I look at my template file, Line 87, position 18 is the closing > of the root element:
 
 
 
Can you tell me, why the Groupshare Kit returns this error?
 
Many thanks,
Tom 
 
1 Replies Latest Replies: 11 May 2018 9:54 AM by Tom Imhof
  • I have found the reason - the method I used for reading the byte array seems to have had an error. If I am using

    Dim Buffer = My.Computer.FileSystem.ReadAllBytes(TemplateFileName)

    instead of the previous method, I get status 200 back :-)

Related