从 C# .NET Core(特别是 Workday)调用 Java Web 服务。如何在soap请求中获取xml属性

Posted

技术标签:

【中文标题】从 C# .NET Core(特别是 Workday)调用 Java Web 服务。如何在soap请求中获取xml属性【英文标题】:Calling a Java webservice from C# .NET Core (specifically Workday). How to get xml attributes in the soap request 【发布时间】:2021-12-13 00:23:33 【问题描述】:

我正在尝试在 .net core c# 中调用 Workday 的 Web 服务。该服务是用 Java 编写的。我在获取 xml 属性以显示在我的 soap 请求中时遇到问题。

示例:我希望它看起来像什么:

...       
<wd:Usage_Data wd:Public="true">
    <wd:Type_Data wd:Primary="true">
        <wd:Type_Reference>
...

它的样子:

...
<wd:Usage_Data>
   <wd:Type_Data>
      <wd:Type_Reference>
...

我无法让wd:Public="true" 出现在发送请求 xml 输出中。我在 c# 中设置它。

我所做的是为工作日创建一个 WCF 服务引用,并将 Reference.cs 修改为 https://hr.dovetailsoftware.com/gcox/2014/06/13/getting-started-workday-web-services-using-c/,并尝试使用 xml 序列化程序,但没有运气。其他没有任何属性的工作日服务也可以正常工作。

我确定这是一个简单的解决方法,但我找不到。如有必要,我可以发布更多代码。谢谢

【问题讨论】:

【参考方案1】:

想通了。我认为这是工作日的事情。在这里发帖以防万一。您实际上需要设置“指定”属性。

        phoneType.Usage_Data[0].Public = true; 
        //not good enough, you need to set this
        phoneType.Usage_Data[0].PublicSpecified = true;

【讨论】:

以上是关于从 C# .NET Core(特别是 Workday)调用 Java Web 服务。如何在soap请求中获取xml属性的主要内容,如果未能解决你的问题,请参考以下文章

如何从字节数组 c# MVC .NET Core 在 iframe 中显示 pdf

如何从 RSA 公钥 XML 文件 .net core c# 中获取 n 值

使用 .Net Core C# 从 Microsoft 验证 JWT

将结构数组从 C#(.NET Core) 传递到 C++(未管理)

极简入门:从Unity到Asp .net core!

如何使用.Net Core cookie中间件ticketdataformat将Jwt令牌从Api保存到c#中的cookie