如何使用空的soapAction定义调用Web服务?

问题描述 投票:0回答:1

我从客户那里收到了用于集成的 WSDL 文件,该 WSDL 文件也用于其他客户和集成,因此它是有效的,并且肯定不会更改。

我从一些 IBM 应用程序(基于 Java)调用 Web 服务,我在其中定义了一些应用程序参数:端点 URL、服务名称和 Soap 操作。这个定义不是在代码中完成的,而是在 GUI 上完成的。我之前也做过很多集成,所以这就是它的工作原理。

现在我很困惑: 我有端点 URL,我有服务名称 (...HttpBinding) 我有 WSDL 文件 (sendSMS) 中的操作名称,但 SOAP ACTION 字段为空?这个Service还有其他操作所以我必须调用这个操作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>
java web-services soap maximo
1个回答
0
投票

这与 WS-I Profile 一样绝对合法,因此您的 IBM 收费站也应该支持它

© www.soinside.com 2019 - 2024. All rights reserved.