Java Web 服务向 .net 客户端返回 null 对象

2023-12-19

任何人都可以弄清楚我的问题是...

我正在从 .Net 客户端调用 Java Web 服务(Axis 1.4)的 webmethod。该方法返回一个 Map 对象,如果我从 Axis 客户端调用它,效果很好,但在我的 C# 代码中,它始终为 null。

这就是 WSDL:

<wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="urn:http.service.enlaces.portlet.ext.com" xmlns:intf="urn:http.service.enlaces.portlet.ext.com" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns1="http://model.enlaces.portlet.ext.com" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="urn:http.service.enlaces.portlet.ext.com">

<wsdl:types>

<schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://xml.apache.org/xml-soap">
<import namespace="urn:http.service.enlaces.portlet.ext.com"/>
<import namespace="http://model.enlaces.portlet.ext.com"/>
<import namespace="http://schemas.xmlsoap.org/soap/encoding/"/>
<complexType name="mapItem">
   <sequence>
 <element name="key" nillable="true" type="xsd:anyType"/>
 <element name="value" nillable="true" type="xsd:anyType"/>
   </sequence>
</complexType>
<complexType name="Map">
   <sequence>
   <element maxOccurs="unbounded" minOccurs="0" name="item" type="apachesoap:mapItem"/>
   </sequence>
</complexType>   
</schema>
 </wsdl:types>

<wsdl:message name="getFoldersAndBookmarksRequest" />
<wsdl:message name="getFoldersAndBookmarksResponse">
    <wsdl:part name="getFoldersAndBookmarksReturn" type="apachesoap:Map" />
</wsdl:message>

<wsdl:portType name="BookmarksEntryServiceSoap">
<wsdl:operation name="getFoldersAndBookmarks">
      <wsdl:input name="getFoldersAndBookmarksRequest"  message="intf:getFoldersAndBookmarksRequest" />
      <wsdl:output name="getFoldersAndBookmarksResponse" message="intf:getFoldersAndBookmarksResponse" />
    </wsdl:operation>
  </wsdl:portType>

<wsdl:binding name="Portlet_Bookmarks_BookmarksEntryServiceSoapBinding" type="intf:BookmarksEntryServiceSoap">
    <wsdlsoap:binding transport="http://schemas.xmlsoap.org/soap/http" style="rpc" />
  <wsdl:operation name="getFoldersAndBookmarks">
      <wsdlsoap:operation soapAction="" />
      <wsdl:input name="getFoldersAndBookmarksRequest">
        <wsdlsoap:body use="encoded" namespace="urn:http.service.enlaces.portlet.ext.com" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
      </wsdl:input>
      <wsdl:output name="getFoldersAndBookmarksResponse">
        <wsdlsoap:body use="encoded" namespace="urn:http.service.enlaces.portlet.ext.com" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
      </wsdl:output>
    </wsdl:operation>
</wsdl:binding>

和我的 C# 自动生成的代码:

[System.Web.Services.Protocols.SoapRpcMethodAttribute("", RequestNamespace="urn:http.service.enlaces.portlet.ext.com", ResponseNamespace="urn:http.service.enlaces.portlet.ext.com")]
[return: System.Xml.Serialization.SoapElementAttribute("getFoldersAndBookmarksReturn")]
public Map getFoldersAndBookmarks() {
    object[] results = this.Invoke("getFoldersAndBookmarks", new object[0]);
    return ((Map)(results[0]));
}

[System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "2.0.50727.3082")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
[System.Xml.Serialization.SoapTypeAttribute(Namespace="http://xml.apache.org/xml-soap")]
public partial class Map {

    private mapItem[] itemField;

    /// <comentarios/>
    public mapItem[] item {
        get {
            return this.itemField;
        }
        set {
            this.itemField = value;
        }
    }
}

不幸的是,我到处都看到了,但没有找到解决方案。 请问有谁知道吗?


不久前我也遇到过同样的问题。当您尝试使用 .net 客户端通过 axis Web 服务获取元素数组时,就会发生这种情况。

问题是 ”名称=项目” 这行的一部分:

<element maxOccurs="unbounded" minOccurs="0" name="item" type="apachesoap:mapItem"/>

尝试将该特定行中的“item”更改为“mapItem”。尝试其中之一:

<element maxOccurs="unbounded" minOccurs="0" name="mapItem" type="apachesoap:mapItem"/>

or

<element maxOccurs="unbounded" minOccurs="0" name="key" type="apachesoap:mapItem"/>

or

<element maxOccurs="unbounded" minOccurs="0" name="value" type="apachesoap:mapItem"/>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java Web 服务向 .net 客户端返回 null 对象 的相关文章

  • 如何对 IntStream 进行逆序排序

    我正在使用 txt 文件读取数字BufferedReader 我想颠倒该流中元素的顺序 以便在收集它们时 它们将从最高到最低排列 我不想在构建数组后进行排序 因为我不知道其中可能有多少元素 我只需要最高的 N 个元素 in new Buff
  • Google Inbox 类似 RecyclerView 项目打开动画

    目前 我正在尝试实现 Google Inbox 例如RecyclerView行为 我对电子邮件打开动画很好奇 我的问题是 该怎么做 我的意思是 他们使用了哪种方法 他们用过吗ItemAnimator dispatchChangeStarti
  • PropertySources 中各种源的优先级

    Spring引入了新的注释 PropertySources对于所有标记为的类 Configuration since 4 0 需要不同的 PropertySource作为论证 PropertySources PropertySource c
  • 如何在WebBrowser控件中注入Javascript?

    我试过这个 string newScript textBox1 Text HtmlElement head browserCtrl Document GetElementsByTagName head 0 HtmlElement scrip
  • 场景生成器删除 fxml 文件中的导入

    我使用场景构建器 Gluon Scene Builder JavaFX Scene Builder 8 1 1 来创建应用程序的 UI 并使用 Eclipse 开发 JavaFX 现在 每次我在场景生成器中保存某些内容时 它都会从 fxml
  • 所有junit测试后的清理

    在我的项目中 我必须在所有测试之前进行一些存储库设置 这是使用一些棘手的静态规则来完成的 然而 在所有测试之后我不知道如何进行清理 我不想保留一些神奇的静态数字来引用所有测试方法的数量 我应该一直维护它 最受赞赏的方法是添加一些侦听器 该侦
  • Activator.CreateInstance 缺少方法异常

    我在 C dll 中有一个类 其中包含以下类 public class RequiredTask Base BaseObject public string Name get set public string Description ge
  • WCF获取证书编码值

    我在 WCF 服务中使用证书 因此在 web Config 中有一个编码值
  • 找不到 Java 类型 myPackage.B 类和 MIME 媒体类型 application/octet-stream 的消息正文编写器

    我是 RESTful Web 服务的新手 正在尝试更新我的 OneToMany来自独立客户端应用程序的关系 但我无法做到这一点 我正在使用 Glassfish 3 1 1 附带的 JAX RS 的 Jersey 实现 我有课A有一个 One
  • 具有多种值类型的 Java 枚举

    基本上我所做的是为国家编写一个枚举 我希望不仅能够像国家一样访问它们 而且还能够访问它们的缩写以及它们是否是原始殖民地 public enum States MASSACHUSETTS Massachusetts MA true MICHI
  • 从java中的字符串数组中删除空值

    java中如何从字符串数组中删除空值 String firstArray test1 test2 test4 我需要像这样没有 null 空 值的 firstArray String firstArray test1 test2 test4
  • 如何移动图像(动画)?

    我正在尝试在 x 轴上移动船 还没有键盘 我如何将运动 动画与boat png而不是任何其他图像 public class Mama extends Applet implements Runnable int width height i
  • .NET 选项将视频文件流式传输为网络摄像头图像

    我有兴趣开发一个应用程序 它允许我从 xml 构建视频列表 包含视频标题 持续时间等 并将该列表作为我的网络摄像头流播放 这意味着 如果我要访问 ustream tv 或在实时通讯软件上激活我的网络摄像头 我的视频播放列表将注册为我的活动网
  • struts 教程或示例

    我正在尝试在 Struts 中制作一个登录页面 这个想法是验证用户是否存在等 然后如果有错误 则返回到登录页面 错误显示为红色 典型的登录或任何表单页面验证 我想知道是否有人知道 Struts 中的错误管理教程 我正在专门寻找有关的教程 或
  • Java中获取集合的幂集

    的幂集为 1 2 3 is 2 3 2 3 1 2 1 3 1 2 3 1 假设我有一个Set在爪哇中 Set
  • ListDictionary 类是否有通用替代方案?

    我正在查看一些示例代码 其中他们使用了ListDictionary对象来存储少量数据 大约 5 10 个对象左右 但这个数字可能会随着时间的推移而改变 我使用此类的唯一问题是 与我所做的其他所有事情不同 它不是通用的 这意味着 如果我在这里
  • 在 ASP.NET 中将事件冒泡为父级

    我已经说过 ASP NET 中的层次结构 page user control 1 user control 2 control 3 我想要做的是 当控件 3 它可以是任何类型的控件 我一般都想这样做 让用户用它做一些触发回发的事情时 它会向
  • Java 推断泛型类型

    我正在寻找类似的推断捕获泛型类型的概念 类似于以下方法片段 但不是捕获泛型类型的类 public
  • 使用 eclipse IDE 配置 angularjs

    我想开始使用 AngularJs 和 Java Spring 进行开发 我使用 Eclipse 作为 IDE 我想配置我的 Eclipse 以使这些框架无缝工作 我知道我可能要求太多 但相信我 我已经做了很多研究 你们是我最后的选择 任何帮
  • 尝试使用带有有效购买令牌的 Java Google Play Developer API v3 检索应用内购买信息时出现错误请求(无效值)

    当使用 Java Google Play Developer API 版本 3 并请求有效购买令牌的购买信息时 我收到以下异常 API 调用返回 400 Bad Request 响应以及以下消息 code 400 errors domain

随机推荐

  • 在 C 中将 PPM 从 RGB 转换为 HSL [关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 我需要有关 RGB 图像文件中的直方图均衡化的帮助来完成我的学术课程 我检查了之前有关直方图均衡的代码示例 但没有找到有关此问题的任何线索
  • 用ggplot填充R中两条黄土平滑线之间的区域

    我想知道如何填充 ggplot 中黄土平滑线之间的区域 以下数据框用于图片 x y ymin ymax grp ydiff 1 1 3 285614 3 285614 10 14177 min 6 8561586 2 1 10 141773
  • 使用 XAML 热重启部署 Xamarin.Forms iOS 应用程序时出错

    我尝试使用 Xamarin Forms 和热重启来开发 iOS 应用程序 但从 Visual Studio 运行该应用程序时不断出现以下错误 尝试部署应用程序 TestApp2 iOS app 时发生错误 详细信息 运行热重启时出错 将应用
  • 使用 python 将列表转换为字符串

    我有包含 int float 和 string 的列表 lists 10 test 10 5 如何将上面的列表转换为字符串 我努力了 val join lists print val 我收到这样的错误 sequence item 0 exp
  • C 职位面试 - 选角和比较

    我遇到了一个棘手的 IMO 问题 我需要比较两个MAC地址 http en wikipedia org wiki MAC address 以最有效的方式 那一刻我脑子里唯一的想法就是一个微不足道的解决方案 一个for循环 比较地点 我就这么
  • 如何在 iOS 应用程序中从蓝牙 LE 设备获取通知

    我正在开发 iOS 蓝牙 LE 应用程序 我能够正确且成功地遵循的功能如下 发现外围设备 连接到外围设备 获取服务和特征 单击读取按钮时能够从特性中读取数据 能够写入数据 在这里我面临一个问题 只有当 BLE 设备将传入数据传输到应用程序时
  • R - 使用 DT 按行格式化

    我有一个数据表 我想在闪亮的应用程序中显示 并按行显示不同的数字格式 我发现用户 NicE 之前提供了一个解决方案 该解决方案在所有列和行都是数字时有效 如下所示 R Shiny DataTables 不按列而是按行格式化数字 https
  • 在相同表名的插入查询中使用选择查询

    是否可以在 插入 查询中使用 选择 查询 但条件是我想对 选择 和 插入 查询使用相同的表名 例如mysql gt insert into sample elements name position ownerel values Names
  • 返回 Oracle 引用游标并附加多个结果

    我有这个问题 希望有人知道答案 我有一个 Oracle 存储过程 它接受客户 ID 并在 ref cursor 中返回所有客户的订单 过于简单化 这就是我所拥有的 Orders orderId siteID Customers siteID
  • 查找 Eclipse 项目中的错误数量

    如何以编程方式查找 Eclipse 项目中的错误数量 以红色标记 主要有两个步骤 您需要访问 Eclipse API 为 Eclipse 编写自己的插件或使用脚本插件 例如时髦的猴子 http groovy codehaus org Gro
  • 在 VIM 中重新打开上次会话缓冲区的替代方案?

    I know mksession 我也用它 但有时 它太多了 它保存了太多状态 这是一个问题 例如 当你更新一些插件 并且想要关闭 打开 VIM 以在新状态下启动它时 除非你只想保留当前打开文件的状态 有时什么 mksession保存与新更
  • 默认的 iPhone 相机应用程序如何能够如此快速地保存照片?

    到目前为止 我已经成功地为 iPhone 创建了一个应用程序 它可以拍摄多张图像 每张图像之间的间隔约为 3 秒 我正在一个单独的线程中异步处理每个图像 一切都很好 直到将图像保存到 iPhone 磁盘上 然后大约需要 12 秒才能使用 J
  • JavaScript 中变量的作用域是什么?

    javascript中变量的作用域是什么 它们在函数内部和外部具有相同的作用域吗 或者说这有什么关系吗 另外 如果全局定义变量 它们存储在哪里 TLDR JavaScript 具有词法 也称为静态 作用域和闭包 这意味着您可以通过查看源代码
  • WMQ Pub/Sub 主题到队列桥

    在其他队列管理器中 可以在队列和主题之间建立桥梁 以便发布者和订阅者不需要知道他们正在使用主题 示例中TIBCO EMS http www tibco com products soa messaging enterprise mesage
  • 如何设置每两周本地通知一次

    如何每两周触发一次本地通知 我所做的是 UILocalNotification localNotification UILocalNotification new localNotification repeatInterval 14 lo
  • 如何查看 Angular 2 应用程序的页面源

    我有网络应用程序 每当我使用浏览器查看页面源查看页面源时 我只能看到页面源中的index html内容 因为我能够看到检查元素中的所有html代码 但不能看到页面中的所有html代码来源 有谁如何查看页面源代码吗 下面是server ts
  • 使用 gopacket 发送 UDP 数据包到 127.0.0.1

    我正在尝试使用 gopacket 将 UDP 数据包发送到 127 0 0 1 这是我的代码 package main import fmt net github com google gopacket github com google
  • 防止 HTML 源代码窃取 [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 最近我为一个人做了一些网页设计工作 我继续向他展示了我的开发服务器上他的新网站的链接 向他展示了进展 临近完成时 他断绝了与我的所有联
  • 使用 Java 查找并替换文本文件中的单词

    我正在尝试使用 Java 查找并替换文本文件中的某些单词 我的代码在一定程度上有效 但是我得到的输出是错误的 我需要用用户输入替换文本文件中一行中的多个单词 但是 当我运行代码时 该行会为我尝试替换的每个单词复制一次 例如 如果我想替换以下
  • Java Web 服务向 .net 客户端返回 null 对象

    任何人都可以弄清楚我的问题是 我正在从 Net 客户端调用 Java Web 服务 Axis 1 4 的 webmethod 该方法返回一个 Map 对象 如果我从 Axis 客户端调用它 效果很好 但在我的 C 代码中 它始终为 null