让SOAP :: Lite省略查询中的类型

时间:2014-06-26 10:06:47

标签: web-services perl soap soap-client soaplite

我正在尝试使用SOAP :: Lite与Web服务进行通信来获取Perl脚本。

我有一个服务的WSDL,但有些字段的类型定义为没有指定名称的complexType / simpleType。

服务器验证我随请求发送的输入信息,由于输入的类型不正确而失败。

我该如何克服这个问题?如果我在手动请求中省略了输入信息,似乎服务器很高兴,但我很难让SOAP :: Lite不发出类型(如果我没有指定一个,它会猜到一个)。另一种选择是提供服务器所期望的类型,但我无法弄清楚它是什么。 (提供原始XML也会起作用,但感觉很脏......)

此类字段的WSDL:

  <xs:element name="Description">
    <xs:annotation>
      <xs:documentation>Free text field</xs:documentation>
    </xs:annotation>
    <xs:simpleType>
      <xs:restriction base="xs:string">
        <xs:maxLength value="4000"/>
      </xs:restriction>
    </xs:simpleType>
  </xs:element>

我尝试将其标记为xs:string,但也不接受。

1 个答案:

答案 0 :(得分:1)

来自documentation

  

复写()

     

序列化程序的快捷方式 - &gt; autotype()。这允许您指定   序列化程序是否会尝试为您进行自动分型。   默认设置为true。

所以请关闭它。