0

JavaScript を使用して ClientService.asmx を使用して TFS ワークアイテムを取得しようとしていますが、Web サービスにアクセスできますが、SOAP を使用すると次のエラーが表示されます。

以下は、ワークアイテムにアクセスするために使用しているコードです。

  <?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>

私が間違っていることを教えてください。ありがとう

4

2 に答える 2

0

ヘッダー SOAP には資格情報に関する情報が含まれている必要があります。これは、クエリ ヘッダーが空で認証されていないためです。

これを Web サービスの SOAP 拡張機能で追加し、構成ファイルに登録します。

于 2013-11-08T14:41:46.973 に答える
0

苦労の末、このサービスに適切なリクエストを行う方法を見つけました。これが私の完全な要求です。フォーメーションを許してください。どうやら私は適切なリストを作成する方法を理解するにはあまりにも頭が悪いようです。

いくつかのメモ...

*RequestHeader Id フィールドは uuid:GUID の形式である必要があります

* psQuery 要素は、他の Web ソースが示唆しているように、実際には Wiql にはありません。(エラーを受け取っているのはどれですか)

*数値フィールドの 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>
于 2014-01-22T19:27:46.923 に答える