How to call Web Service with empty soapAction definition?

ja jaaaa picture ja jaaaa · Apr 26, 2013 · Viewed 8k times · Source

I received WSDL file from my customer for integrations and that WSDL file was used for other customers and integrations also so it is valid and it won't be changed certainly.

I call Web Service from some IBM application (Java based) where I define in some application parameters:end point URL, Service Name and Soap Action. This definition is not done in code but on GUI. I also did many integrations before so this is how it works.

Now I am confused: I have end Point URL, I have Service Name (...HttpBinding) I have name of the operation in WSDL file (sendSMS) but field SOAP ACTION is empty? This Service has other operations too so I must call this operation sendSMS but how to define soapaction when it is blank?

Once again WSDL generation won't be changed it is valid and used by others before. I am confused if some one can give me answer. How to find out soap action name?

this is from WSDL:

    <operation name="sendSms">
<soap:operation soapAction=""/>

UPDATE:

This is the possible list of parameters which I can define in IBM Tivoli Maximo application. In previous integrations I defined only three at that was enough (ENDPOINTURL, SERVICENAME, SOAPACTION).

CFGXMLPATH
ENDPOINTURL
HTTPCONNTIMEOUT
HTTPREADTIMEOUT
HTTPVERSION
MEP
PASSWORD
SERVICENAME
SOAPACTION
SOAPVERSION
USERNAME
WSEXIT

That is the possible list of parameters which can be populate on GUI. Here is the part from WSDL just to show you that I have several operations.

<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>

Answer

Himanshu Mishra picture Himanshu Mishra · Apr 27, 2013

This is absolutely legal as the WS-I Profile, so it should be supported by your IBM toll also