0

我正在尝试调用 Windchill Odata 休息服务。HTTP GET 方法可以正常工作,但在发出 POST 请求时无法按预期工作。我也不确定如何将所需的参数传递给 URL。任何建议都会有很大帮助。

我试图调用的 URL

http://Hostname/Windchill/servlet/odata/v3/ProdMgmt/Parts('OR:wt.part.WTPart:123456')/PTC.ProdMgmt.GetPartStructure?$expand=Components($select=PartName,PartNumber;$expand=PartUse($select=FindNumber,LineNumber,Quantity,Unit);$levels=1)

需要传递给 URL 的参数是 ('OR:wt.part.WTPart:123456')。我在 C# .NET 中执行此操作。

我的 C# 代码

using (var client = new HttpClient())
 {
  client.DefaultRequestHeaders.Accept.Add(new 
 MediaTypeWithQualityHeaderValue("application/json"));

  var byteArray = Encoding.ASCII.GetBytes("abc:defg!");

  client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic", Convert.ToBase64String(byteArray));

  client.DefaultRequestHeaders.Add("CSRF_NONCE", a.NonceValue);

   var message = await client.PostAsync("hostname/Windchill/servlet/odata/v3/ProdMgmt/Parts('OR:wt.part.WTPart:123456')/PTC.ProdMgmt.GetPartStructure?$expand=Components($select=PartName,PartNumber;$expand=PartUse($select=FindNumber,LineNumber,Quantity,Unit);$levels=1)", null);
  }

非常感谢任何示例或示例代码。

4

0 回答 0