android - 从 WSDL 中查找 SOAPAction

标签 android web-services soap wsdl android-ksoap2

我的要求是从 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 服务并获得结果吗?

最佳答案

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

WSDL 是查找用于 SOAPAction 的值的地方, 在 <soap:operation> 里面.如果没有为操作指定它或者它就像您发布的示例 (soapAction=""),您通常需要将其添加到请求 header 中:

SOAPAction: ""

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

关于android - 从 WSDL 中查找 SOAPAction,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14274644/

相关文章:

android - 证书固定不适用于 Android 上的 OkHttp

.net - Web 服务使用 ksoap 方法从应用程序接收空参数

javascript - Server2离线时Server1显示

ios - 在 Swift 3.0/ObjectiveC 中的现有 XML 字符串中添加 CDATA 部分

soap - 如何在不检查 Content-Type header 的情况下使 jaxws 解析响应

android - 错误 : Execution failed for task app:mergeDebugResources

android - 编辑文本 : Disable Paste/Replace menu pop-up on Text Selection Handler click event

android - 扩展 FileProvider 时出错

Android应用程序CursorWindow内存错误

java - 如何使用 java 发送带有用户名和密码的 SOAP 请求,就像在 SOAP UI 中一样