Как я могу остановить SharePoint от добавления <mso: CustomDocumentProperties> в мой вывод - PullRequest
4 голосов
/ 04 мая 2010

Я пытаюсь взломать дополнительную функцию поверх POC (демонстрация дыма и зеркал). POC на SPS 2007, и мне нужно интегрироваться с другой системой.

Для облегчения этой части мне нужно предоставить конечную точку JSONP.

Я хочу этот URL:

http://sharepoint:2024/Pages/SomeExternalSystem/Payload.aspx?callback=abc

Чтобы вернуть это:

abc({ sampleField1: "sampleData1", sampleField2: 234.56 });

В любом случае, это все дым и зеркало, поэтому я загрузил этот файл в SharePoint:

<%@ Page ContentType="text/javascript" Language="C#" %>
<%= Request.QueryString["callback"] %>({
  sampleField1: "sampleData1",
  sampleField2: 234.56
});

(И добавил правило синтаксического анализа страницы, чтобы позволить ему компилировать блоки кода.)

Независимо от того, что я, похоже, делаю, SharePoint вместо этого выдает:

abc({
    sampleField1: "sampleData1",
    sampleField2: 234.56
});
<html xmlns:mso="urn:schemas-microsoft-com:office:office" xmlns:msdt="uuid:C2F41010-65B3-11d1-A29F-00AA00C14882"><head>
<!--[if gte mso 9]><xml>
<mso:CustomDocumentProperties>
<mso:PublishingContactPicture msdt:dt="string"></mso:PublishingContactPicture>
<mso:PublishingRollupImage msdt:dt="string"></mso:PublishingRollupImage>
<mso:Audience msdt:dt="string"></mso:Audience>
<mso:PublishingContactName msdt:dt="string"></mso:PublishingContactName>
<mso:ContentType msdt:dt="string">Page</mso:ContentType>
<mso:Comments msdt:dt="string"></mso:Comments>
<mso:PublishingContactEmail msdt:dt="string"></mso:PublishingContactEmail>
</mso:CustomDocumentProperties>
</xml><![endif]-->
</head>

Это сложно для Google.

1 Ответ

3 голосов
/ 04 мая 2010

Как экстремальный хак, это работает:

<%@ Page ContentType="text/javascript" Language="C#" %>
<%
    Response.Clear();
    Response.Write(Request.QueryString["callback"]);
    Response.Write("({ sampleField1: \"sampleData1\", sampleField2: 234.56 });");
    Response.Flush();
    Response.End();
%>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...