2

我从我的客户那里收到了用于集成的 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>
4

1 回答 1

0

这作为 WS-I Profile 是绝对合法的,因此您的 IBM 收费也应该支持它

于 2013-04-27T08:57:48.057 回答