5

我的要求是从 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>

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

4

1 回答 1

8

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

WSDL 是SOAPAction<soap:operation>. 如果没有为操作指定它,或者就像您发布的示例(soapAction="")一样,您通常需要将其添加到请求标头中:

SOAPAction: ""

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

于 2013-01-12T13:29:06.073 回答