我从我的客户那里收到了用于集成的 WSDL 文件,并且该 WSDL 文件也用于其他客户和集成,因此它是有效的并且肯定不会被更改。
我从一些 IBM 应用程序(基于 Java)调用 Web 服务,我在其中定义了一些应用程序参数:端点 URL、服务名称和 Soap 操作。此定义不是在代码中完成,而是在 GUI 上完成。我之前也做过很多集成,所以这就是它的工作原理。
现在我很困惑:我有端点 URL,我有服务名称 (...HttpBinding) 我在 WSDL 文件 (sendSMS) 中有操作名称,但 SOAP ACTION 字段为空?该服务也有其他操作,所以我必须调用这个操作 sendSMS 但是当它为空时如何定义soapaction?
再次,WSDL 生成不会被更改,它是有效的,并且以前被其他人使用过。如果有人可以给我答案,我很困惑。如何找出肥皂动作名称?
这是来自 WSDL:
<operation name="sendSms">
<soap:operation soapAction=""/>
更新:
这是我可以在 IBM Tivoli Maximo 应用程序中定义的可能参数列表。在以前的集成中,我只定义了三个就足够了(ENDPOINTURL, SERVICENAME, SOAPACTION).
CFGXMLPATH
ENDPOINTURL
HTTPCONNTIMEOUT
HTTPREADTIMEOUT
HTTPVERSION
MEP
PASSWORD
SERVICENAME
SOAPACTION
SOAPVERSION
USERNAME
WSEXIT
这是可以在 GUI 上填充的参数的可能列表。这是来自 WSDL 的部分,只是为了向您展示我有几个操作。
<binding name="CpaSmsSendServiceWSExport_SmsParlayxSHttpBinding" type="tns:SmsParlayxS">
<soap:binding style="document"
transport="http://schemas.xmlsoap.org/soap/http"/>>
<operation name="getRequestId">
<soap:operation soapAction=""/><input><soap:body parts="getRequestId"/>
<soap:header message="tns:SmsParlayx_getRequestId" part="potpis">
</soap:header></input><output><soap:body parts="getRequestIdResponse" use="literal"/></output></operation>
<operation name="sendBulkSms">
<soap:operation soapAction=""/><input><soap:body parts="sendBulkSms"/>
<soap:header message="tns:SmsParlayx_sendBulkSms" part="potpis">
</soap:header></input><output><soap:body parts="sendBulkSmsResponse" use="literal"/></output></operation>