2013-11-07 3 views
0

Я пытаюсь восстановить рабочие элементы TFS с помощью ClientService.asmx с помощью JavaScript, и я могу получить доступ к веб-сервису, однако при использовании SOAP он дает мне следующую ошибку: «TF51612: запрос делает не содержат какие-либо групп или выражения имени параметров:. queryXml»Попытка получить рабочие элементы TFS с помощью ClientService.asmx

Ниже приведен код, который я использую, чтобы получить доступ к WorkItems:

<?xml version="1.0" encoding="utf-8"?> 
    <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> 
    <soap:Header> 
    <RequestHeader xmlns="http://schemas.microsoft.com/TeamFoundation/2005/06/WorkItemTracking/ClientServices/03"> 
    <Id></Id> 
    </RequestHeader> 
    </soap:Header> 
    <soap:Body> 
    <QueryWorkitems xmlns="http://schemas.microsoft.com/TeamFoundation/2005/06/WorkItemTracking/ClientServices/03"> 
    <psQuery> 
    <queryXml> 
    <Wiql>SELECT [System.Id], [System.WorkItemType], [System.Title], [System.AssignedTo], [System.State] FROM WorkItems WHERE [System.TeamProject] = @project AND [System.WorkItemType] &lt;&gt; '' AND [System.State] &lt;&gt; '' ORDER BY [System.Id] </Wiql> 
    </queryXml> 
    </psQuery> 
    </QueryWorkitems> 
    </soap:Body> 
    </soap:Envelope> 

Пожалуйста, дайте мне знать, что я делаю неправильно. Благодаря

ответ

0

Ваш заголовок SOAP необходимо contais информацию о вашем верительных, потому что ваш заголовок запроса является пустой, так что вы не авторизованы

Добавить это с Мыльный Extension в вашем веб-службы, зарегистрировать в конфигурационном файле

+0

SOAP становится проверкой подлинности во время выполнения, ошибки, которые я получаю для запроса параметров. – user2963796

0

После Много боли я выяснил, как сделать правильный запрос на эту услугу. Вот мой полный запрос. Простите меня за формат. Я, по-видимому, слишком глуп, чтобы понять, как сделать правильный список.

Пара заметок ...

* поле RequestHeader Id должен быть в формате UUID: GUID

* Элемент psQuery не на самом деле в Wiql, как другие веб-источники намекают. (Что вы получаете сообщение об ошибке)

* The FieldType для числовых полей 288

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns="http://schemas.microsoft.com/TeamFoundation/2005/06/WorkItemTracking/ClientServices/03"> 
<soapenv:Header> 
<ns:RequestHeader> 
<!--Optional:--> 
<ns:Id>uuid:262c6910-8394-11e3-baa7-0800200c9a67</ns:Id> 
</ns:RequestHeader> 
</soapenv:Header> 
<soapenv:Body> 
<ns:QueryWorkitems> 
<!--Optional:--> 
<ns:psQuery> 
<Group GroupOperator="And"> 
<Expression Column="System.TeamProject" FieldType="16" Operator="equals"><String>ProjectName</String></Expression> 
<Expression Column="System.AssignedTo" FieldType="16" Operator="equals"><String>Daniel West</String></Expression> 
<Expression Column="System.WorkItemType" FieldType="16" Operator="equals"><String>Anomaly</String></Expression> 
<Expression Column="System.State" FieldType="16" Operator="equals"><String>Validate</String></Expression> 
</Group> 
</ns:psQuery> 
<ns:sort> 
<!--Zero or more repetitions:--> 
<ns:QuerySortOrderEntry> 
<!--Optional:--> 
<ns:ColumnName>System.AssignedTo</ns:ColumnName> 
<ns:Ascending>1</ns:Ascending> 
</ns:QuerySortOrderEntry> 
</ns:sort> 
<ns:useMaster>1</ns:useMaster> 
</ns:QueryWorkitems> 
</soapenv:Body> 
</soapenv:Envelope> 
Смежные вопросы