У меня есть требование, чтобы иметь возможность извлекать данные из повторяющейся таблицы в форме InfoPath и помещать их в отчет. Я нашел файл решения на Codeplex, который будет считывать данные из повторяющейся таблицы и выводить их как XML через SOAP-запрос. Я пытаюсь прочитать SOAP-запрос и вывести его на веб-страницу через JQuery в CEWP. Я довольно новичок в этом, и я немного потерял, как подойти к этому. Веб-сервис представляет этот пример кода:чтение пользовательских веб-сервисов в SharePoint 2010
POST /_vti_bin/InfoPathDB/InfoPathDB.asmx HTTP/1.1
Host: 10.158.2.5
Content-Type: application/soap+xml; charset=utf-8
Content-Length: length
<?xml version="1.0" encoding="utf-8"?>
<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
<soap12:Body>
<QueryFormLibrary xmlns="http://infopathdb.codeplex.com/">
<SiteURL>string</SiteURL>
<FormLibraryTitle>string</FormLibraryTitle>
<OptionalContentType>string</OptionalContentType>
<OptionalCAMLFilter>string</OptionalCAMLFilter>
<OptionalBooleanIncludeAttachments>string</OptionalBooleanIncludeAttachments>
</QueryFormLibrary>
</soap12:Body>
</soap12:Envelope>
HTTP/1.1 200 OK
Content-Type: application/soap+xml; charset=utf-8
Content-Length: length
<?xml version="1.0" encoding="utf-8"?>
<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
<soap12:Body>
<QueryFormLibraryResponse xmlns="http://infopathdb.codeplex.com/">
<QueryFormLibraryResult>xml</QueryFormLibraryResult>
</QueryFormLibraryResponse>
</soap12:Body>
</soap12:Envelope>
Я немного запутался, по которому часть должна идти туда, где в моем коде JQuery. Код, который я пытаюсь адаптировать, это:
<script src="/Site_Assets/jquery-1.10.2.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
var soapEnv =
<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
<soap12:Body>
<QueryFormLibrary xmlns="http://infopathdb.codeplex.com/">
<SiteURL>http://255.255.255.1</SiteURL>
<FormLibraryTitle>List Entries</FormLibraryTitle>
<OptionalContentType></OptionalContentType>
<OptionalCAMLFilter></OptionalCAMLFilter>
<OptionalBooleanIncludeAttachments></OptionalBooleanIncludeAttachments>
</QueryFormLibrary>
</soap12:Body>
</soap12:Envelope>";
$.ajax({
url: "/_vti_bin/InfoPathDB/InfoPathDB.asmx HTTP/1.1",
type: "POST",
dataType: "xml",
data: soapEnv,
complete: processResult,
contentType: "text/xml; charset=\"utf-8\""
});
});
function processResult(xData, status) {
$(xData.responseXML).find("z\\:row").each(function() {
var iDesc=$(this).attr("FieldOne");
var iResp=$(this).attr("FieldTwo");
var iID=$(this).attr("ows_ID");
var liHtml = "<div class='question' id='"+iID+"'>" + iDesc + "</div><div class='answer' id='a"+iID+"'>"+ iResp +"</a></div>";
$("#entries").append(liHtml);
}</script>
<div id="entries"> </div>
Любые указания на то, что я делаю неправильно/правильно?