Гаджет WSO2 не может получить доступ к полезной нагрузке SOAP - PullRequest
0 голосов
/ 08 марта 2012

Я создал службу данных, которая правильно проверяет через TryIt и SoapUI. Однако, когда я пытаюсь включить его в гаджет, я всегда получаю эту ошибку:

"Ошибка при передаче полезной нагрузки SOAP в конечную точку https://data.stratoslive.wso2.com/services/t/inova8.com/ProductVendorDataService.SOAP11Endpoint/" Гаджет включает этот фрагмент: function doSOAPCall () {конечная точка var = "https://data.stratoslive.wso2.com/services/t/inova8.com/ProductVendorDataService.SOAP11Endpoint/"; var payload =" "; операция var =" urn: getproduct "; document.getElementById ("response-disp"). innerHTML = wso2.io.makeSOAPRequest (конечная точка, операция, полезная нагрузка); }

Служба данных основана на примере http://wso2.org/library/tutorials/2011/11/expose-your-cloud-data-as-rdf-data-model. Обратите внимание, что для операции не нужны параметры, но я пробовал каждый вариант полезной нагрузки без успеха.

1 Ответ

1 голос
/ 10 марта 2012

Я попытался выполнить ваши действия и обнаружил, что с вашим сегментом кода гаджета есть две проблемы для выполнения вызова SOAP.

Первый - поскольку операция, к которой вы обращаетесь из конечной точки службы данных, не требуетсялюбая полезная нагрузка, которую нужно передать ему. Так что внутри xml-гаджета необходимо установить полезную нагрузку как 'null' [NOT payload = ""].

Вторая проблема заключается в том, что определенное вами имя операции в xml-гаджетеНеправильно. После того, как я попробовал вашу службу данных с помощью опции try-it, я обнаружил, что имя вашей операции доступа - "_getProduct", а не "getProduct".

После устранения двух проблем гаджет SOAP хорошо работает сваша конечная точка и возможность получить ответ на гаджет от вашей операции доступа. Исправленный сегмент кода для функции doSOAPCall () показан ниже.

функция doSOAPCall () {var endpoint = "https://data.stratoslive.wso2.com/services/t/inova8.com/ProductVendorDataService.SOAP11Endpoint/"; var payload =null; var operation = "urn: _getproduct"; document.getElementById ("response-disp"). innerHTML = wso2.io.makeSOAPRequest (конечная точка, операция, полезная нагрузка);}

Спасибо;

Лаладжи

...