【问题标题】:Consume web service with JavaScript - Passing the type apachesoap:Map使用 JavaScript 使用 Web 服务 - 传递类型 apachesoap:Map
【发布时间】:2013-01-10 03:06:54
【问题描述】:

我正在尝试使用使用 JavaScript 以 Java 构建的 Axis 服务。

一切都很好,除了一个要求apachesoap:Map 类型的搜索操作。这是操作的 WSDL 部分:

<wsdl:message name="queryRequest">
   <wsdl:part name="collection" type="xsd:string"/>
   <wsdl:part name="service"type="xsd:string"/>
   <wsdl:part name="lang" type="xsd:string"/>
   <wsdl:part name="nameToValsMap" type="apachesoap:Map"/>
   ...

有什么方法可以使用 JavaScript 传递这种类型的数据?

【问题讨论】:

    标签: javascript web-services apache soap


    【解决方案1】:

    apachesoap:Map 是一个复杂类型(一个元素),而 xsd:string 是一个值。

    如果我没记错的话,apachesoap 指的是http://xml.apache.org/xml-soap 命名空间。您可能正在调用一些直接公开 java.util.Map 的旧版 SOAP Web 服务(如果我没记错的话,对互操作性非常不利)。

    WSDL &lt;types&gt; 应该包含复杂类型 apachesoap:Map 的定义,并且在消息中应该看起来像这样(WSDL 应该告诉您确切的形式):

    <nameToValsMap>
      <item>
        <key>...</key> 
        <value>...</value> 
      </item>
      ....
      <item>
        <key>...</key> 
        <value>...</value> 
      </item>
    </nameToValsMap>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-04-10
      • 2015-01-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-12-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多