【问题标题】:Find SOAPAction from a WSDL从 WSDL 中查找 SOAPAction
【发布时间】:2013-01-11 08:56:24
【问题描述】:

我的要求是从 Android 调用 Web 服务并以良好的方式显示结果。

但在 Web 服务的 WSDL 中,我找不到 SOAPAction。 WSDL 如下所示:

<operation name="getStudentList">
 <soap:operation soapAction=""/>
 <input>
   <soap:body use="literal"/>
 </input>
 <output>
   <soap:body use="literal"/>
  </output>
</operation>

有没有办法在 WSDL 的其他地方找到SOAPAction?我可以在没有SOAPAction 的情况下调用 Web 服务并获得结果吗?

【问题讨论】:

    标签: android web-services soap wsdl android-ksoap2


    【解决方案1】:

    SOAPAction 是基于 HTTP 的 SOAP 1.1 所必需的,但如果您不发送正确的标头,则很难说您的 Web 服务的行为会是什么。如果 Web 服务缺少 SOAPAction(或者如果它有一个意外的值),它可能会返回一个错误,或者它可能什么都不做。

    WSDL 是在&lt;soap:operation&gt; 内查找用于SOAPAction 的值的地方。如果没有为操作指定它或者就像您发布的示例(soapAction="")一样,您通常需要将其添加到请求标头中:

    SOAPAction: ""
    

    尝试使用带引号的空字符串,它应该可以工作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-03-17
      相关资源
      最近更新 更多