IBM Worklight — невозможно обработать запрос без действительного параметра действия. Укажите действительное мыльное действие.

При тестировании кода процедуры адаптера HTTP, созданного с помощью «Создать объект данных из службы» с помощью редактора Worklight Application Framework, возникает следующая ошибка:

Невозможно обработать запрос без допустимого параметра действия. Укажите действительное мыльное действие.

Это URL-адрес веб-службы: http://wsf.cdyne.com/WeatherWS/Weather.asmx?WSDL

Результат вызова процедуры:

{
   "Envelope": {
      "Body": {
         "Fault": {
            "Code": {
               "Value": "soap:Sender"
            },
            "Detail": "",
            "Reason": {
               "Text": {
                  "CDATA": "Unable to handle request without a valid action parameter. Please supply a valid soap action.",
                  "lang": "en"
               }
            }
         }
      },
      "soap": "http:\/\/www.w3.org\/2003\/05\/soap-envelope",
      "xsd": "http:\/\/www.w3.org\/2001\/XMLSchema",
      "xsi": "http:\/\/www.w3.org\/2001\/XMLSchema-instance"
   },
   "errors": [
   ],
   "info": [
   ],
   "isSuccessful": true,
   "responseHeaders": {
      "Cache-Control": "private",
      "Content-Length": "500",
      "Content-Type": "application\/soap+xml; charset=utf-8",
      "Date": "Mon, 28 Apr 2014 07:56:34 GMT",
      "Server": "Microsoft-IIS\/7.5",
      "X-AspNet-Version": "2.0.50727",
      "X-Powered-By": "ASP.NET"
   },
   "responseTime": 1476,
   "statusCode": 500,
   "statusReason": "Internal Server Error",
   "totalTime": 1477,
   "warnings": [
   ]
}

person Nagendra    schedule 28.04.2014    source источник


Ответы (1)


Поддержка действий SOAP в заголовке HTTP рассматривается для будущего выпуска Worklight.

Если вы хотите вызвать сгенерированный адаптер в Worklight Studio v6.1, вам придется изменить сгенерированный адаптер SOAP и вручную добавить заголовок действия.

Например, для вызова операции GetWeatherInformation вы можете открыть сгенерированный JS-файл адаптера и добавить следующие строки:

headers = headers || {};
headers.SOAPAction = 'http://ws.cdyne.com/WeatherWS/GetWeatherInformation';

в функцию Weather_GetWeatherInformation непосредственно перед вызовом invokeWebService в конце этой функции.

person yossile    schedule 30.04.2014