<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Consolas;
        panose-1:2 11 6 9 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;
        color:black;
        mso-fareast-language:EN-US;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:#0563C1;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:#954F72;
        text-decoration:underline;}
p
        {mso-style-priority:99;
        mso-margin-top-alt:auto;
        margin-right:0cm;
        mso-margin-bottom-alt:auto;
        margin-left:0cm;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;
        color:black;
        mso-fareast-language:EN-US;}
pre
        {mso-style-priority:99;
        mso-style-link:"HTML Preformatted Char";
        margin:0cm;
        margin-bottom:.0001pt;
        font-size:10.0pt;
        font-family:"Courier New";
        color:black;
        mso-fareast-language:FI;}
p.msonormal0, li.msonormal0, div.msonormal0
        {mso-style-name:msonormal;
        mso-margin-top-alt:auto;
        margin-right:0cm;
        mso-margin-bottom-alt:auto;
        margin-left:0cm;
        font-size:12.0pt;
        font-family:"Times New Roman",serif;
        color:black;
        mso-fareast-language:FI;}
span.HTMLPreformattedChar
        {mso-style-name:"HTML Preformatted Char";
        mso-style-priority:99;
        mso-style-link:"HTML Preformatted";
        font-family:Consolas;
        color:black;}
span.EmailStyle21
        {mso-style-type:personal;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
span.EmailStyle22
        {mso-style-type:personal-reply;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:70.85pt 2.0cm 70.85pt 2.0cm;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body bgcolor="white" lang="FI" link="#0563C1" vlink="#954F72">
<div class="WordSection1">
<p class="MsoNormal"><span lang="EN-US" style="color:windowtext">Hi Pavol, Ivan & Mikko<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:windowtext"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:windowtext">I tried REST API as per
<a href="https://wiki.evolveum.com/display/midPoint/REST+API#RESTAPI-CreateorUpdateobject">
https://wiki.evolveum.com/display/midPoint/REST+API#RESTAPI-CreateorUpdateobject</a><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:windowtext">ie. using curl with PUT method, see transcript below (some parts of transcript anonymized).<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:windowtext"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:windowtext">Have not tried Mikko’s idea using CDATA wrapping yet.
<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:windowtext"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:windowtext">Regards,<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:windowtext">Kari<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:windowtext"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:windowtext">$ curl --user administrator:TopSecretPassword  "Content-Type: application/xml" -X PUT https://our.midpoint.host/ws/rest/objectTemplates/b1567733-38de-4a18-b8b8-1eb365f34025 -d @./template-new-user.xml
 -v<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:windowtext">* About to connect() to our.midpoint.host port 443 (#0)<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:windowtext">*   Trying 10.11.12.13...<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:windowtext">* Connected to our.midpoint.host (10.11.12.13) port 443 (#0)<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:windowtext">* Initializing NSS with certpath: sql:/etc/pki/nssdb<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:windowtext">*   CAfile: /etc/pki/tls/certs/ca-bundle.crt<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:windowtext">  CApath: none<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:windowtext">* SSL connection using TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:windowtext">* Server certificate:<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:windowtext">*       subject: CN= our.midpoint.host,O=Company,L=Location,ST=LS,C=FI<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:windowtext">*       start date: Feb 02 05:50:15 2017 GMT<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:windowtext">*       expire date: Feb 02 05:50:15 2019 GMT<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:windowtext">*       common name: our.midpoint.host<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:windowtext">*       issuer: CN=Our-CA,DC=midpoint,DC=host<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:windowtext">* Server auth using Basic with user 'administrator'<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:windowtext">> PUT /ws/rest/objectTemplates/b1567733-38de-4a18-b8b8-1eb365f34025 HTTP/1.1<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:windowtext">> Authorization: Basic PlaaPlaaPlaaPlaaPlaa=<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:windowtext">> User-Agent: curl/7.29.0<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:windowtext">> Host: our.midpoint.host<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:windowtext">> Accept: */*<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:windowtext">> Content-Type: application/xml<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:windowtext">> Content-Length: 4986<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:windowtext">> Expect: 100-continue<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:windowtext">><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:windowtext">< HTTP/1.1 100 Continue<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:windowtext">< HTTP/1.1 201<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:windowtext">< Server: nginx/1.10.3<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:windowtext">< Date: Sun, 23 Apr 2017 13:51:18 GMT<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:windowtext">< Content-Length: 0<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:windowtext">< Connection: keep-alive<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:windowtext">< Location: http:// our.midpoint.host /ws/rest/objectTemplates/b1567733-38de-4a18-b8b8-1eb365f34025/b1567733-38de-4a18-b8b8-1eb365f34025<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:windowtext"><<o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:windowtext">* Connection #0 to host our.midpoint.host left intact<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:windowtext">[<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:windowtext"><o:p> </o:p></span></p>
<div>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0cm 0cm 0cm">
<p class="MsoNormal"><b><span lang="EN-US" style="color:windowtext;mso-fareast-language:FI">From:</span></b><span lang="EN-US" style="color:windowtext;mso-fareast-language:FI"> midPoint [mailto:midpoint-bounces@lists.evolveum.com]
<b>On Behalf Of </b>Pavol Mederly<br>
<b>Sent:</b> lauantai 22. huhtikuuta 2017 15.52<br>
<b>To:</b> midpoint@lists.evolveum.com<br>
<b>Subject:</b> Re: [midPoint] Objects uploaded via REST API, everything between <code></code> mangled into single<o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<p>I have the same experience (uploading XML files with groovy code via plugin without problems). Plugin uses PUT if the object has an OID and POST if it has none. Maybe if you could post here more details, like how exactly you try to upload the objects: e.g.
 the transcript of HTTP communication, or information on commands/libraries used, etc. Or maybe you could set up some logging to see where the newlines are being eaten.<span style="font-size:12.0pt;mso-fareast-language:FI"><o:p></o:p></span></p>
<pre>Pavol Mederly<o:p></o:p></pre>
<pre>Software developer<o:p></o:p></pre>
<pre>evolveum.com<o:p></o:p></pre>
<div>
<p class="MsoNormal">On 21.04.2017 10:07, Ivan Noris wrote:<o:p></o:p></p>
</div>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<p>Hi Kari,<o:p></o:p></p>
<p>this is interesting, as I'm using midPoint 3.5.1 with Eclipse plugin (which uses REST) and after uploading resource, I certainly see multiline code in Repository pages... Maybe that's different operation...
<o:p></o:p></p>
<p>Regards,<o:p></o:p></p>
<p>Ivan<o:p></o:p></p>
<p><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<p class="MsoNormal">On 04/20/2017 07:47 PM, Kari Heikkilä wrote:<o:p></o:p></p>
</div>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<p class="MsoNormal">Hi,<o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal"><span lang="EN-US">started to use midPoint REST API for updating objects I noticed that everything between <code></code> tags is reformatted into single line.</span><o:p></o:p></p>
<p class="MsoNormal"><span lang="EN-US">This means multiline groovy scripts will become very difficult to read (for human) in midPoint and if semicolons are missing, groovy code execution will most probably fail.</span><o:p></o:p></p>
<p class="MsoNormal"><span lang="EN-US"> </span><o:p></o:p></p>
<p class="MsoNormal"><span lang="EN-US">Used PUT method and .xml files with both nl and cr+lf line endings tried.</span><o:p></o:p></p>
<p class="MsoNormal"><span lang="EN-US"> </span><o:p></o:p></p>
<p class="MsoNormal"><span lang="EN-US">Is there anything to prevent this behavior?</span><o:p></o:p></p>
<p class="MsoNormal"><span lang="EN-US"> </span><o:p></o:p></p>
<p class="MsoNormal"><span lang="EN-US">Best regards,</span><o:p></o:p></p>
<p class="MsoNormal"><span lang="EN-US">Kari </span><o:p></o:p></p>
<p class="MsoNormal"><span lang="EN-US"> </span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:12.0pt;font-family:"Times New Roman",serif;mso-fareast-language:FI"><br>
<br>
<br>
<o:p></o:p></span></p>
<pre>_______________________________________________<o:p></o:p></pre>
<pre>midPoint mailing list<o:p></o:p></pre>
<pre><a href="mailto:midPoint@lists.evolveum.com">midPoint@lists.evolveum.com</a><o:p></o:p></pre>
<pre><a href="http://lists.evolveum.com/mailman/listinfo/midpoint">http://lists.evolveum.com/mailman/listinfo/midpoint</a><o:p></o:p></pre>
</blockquote>
<p class="MsoNormal"><span style="font-size:12.0pt;font-family:"Times New Roman",serif;mso-fareast-language:FI"><br>
<br>
<o:p></o:p></span></p>
<pre>-- <o:p></o:p></pre>
<pre>Ivan Noris<o:p></o:p></pre>
<pre>Senior Identity Engineer<o:p></o:p></pre>
<pre>evolveum.com<o:p></o:p></pre>
<p class="MsoNormal"><span style="font-size:12.0pt;font-family:"Times New Roman",serif;mso-fareast-language:FI"><br>
<br>
<br>
<o:p></o:p></span></p>
<pre>_______________________________________________<o:p></o:p></pre>
<pre>midPoint mailing list<o:p></o:p></pre>
<pre><a href="mailto:midPoint@lists.evolveum.com">midPoint@lists.evolveum.com</a><o:p></o:p></pre>
<pre><a href="http://lists.evolveum.com/mailman/listinfo/midpoint">http://lists.evolveum.com/mailman/listinfo/midpoint</a><o:p></o:p></pre>
</blockquote>
<p class="MsoNormal"><span style="font-size:12.0pt;font-family:"Times New Roman",serif;mso-fareast-language:FI"><o:p> </o:p></span></p>
</div>
</body>
</html>