Я создал веб-службу и смог без проблем отправлять к ней запросы из сценария Jaggery.js на стороне сервера. Затем я создал прокси-службу WSDL внутри WSO2 ESB и протестировал ее с помощью кнопки «Попробуй!». характерная черта.
После того, как я перенаправил свой серверный скрипт с исходного веб-сервиса на его прокси внутри ESB, я получил ошибку в системных журналах:
Ссылка на конечную точку (EPR) для операции не найдена: /services/BpmAdderProcessProxy.BpmAdderProcessProxyHttpSoap11Endpoint, а действие WSA = urn:anonOutInOpResponse. Если этот EPR ранее был доступен, обратитесь к администратору сервера.
Чтобы подробно увидеть, что происходит, я активировал "SOAP Message Tracer" ESB. Внезапно мой серверный скрипт смог получить доступ к веб-сервису через мой прокси-сервер ESB. Затем я деактивировал «Трассировщик сообщений SOAP», и сообщение об ошибке снова появилось. Верен ли мой серверный скрипт? Или средство отладки изменяет поведение отлаживаемого кода?
Я разработчик JavaScript. На самом деле Jaggery и UES нацелены на таких, как я. Я не должен заглядывать внутрь кода Java, не так ли? Есть ли форум, на котором разработчики JavaScript обсуждают WSO2 UES и Jaggery?
Мой серверный код выглядит следующим образом:
<%
var x = request.getParameter("x");
var y = request.getParameter("y");
//var sum = parseInt(x) + parseInt(y);
var sum = add(parseInt(x), parseInt(y));
response.content = {
success: true,
data: {
result: sum
}
};
function add(x, y) {
var ws = require('ws');
var stub = new ws.WSStub("http://02-128:8280/services/BpmAdderProcessProxy?wsdl");
var process = stub.services["BpmAdderProcessProxy"].operations["process"];
var payloadTemplate = process.payloadXML();
var payload = replaceQuestionMarks(payloadTemplate, arguments);
var resultXml = process.request(payload);
var resultValue = resultXml.children().text();
return parseInt(resultValue);
}
function replaceQuestionMarks(template, values) {
var i = 0;
return template.replace(
/\?/g,
function() {
return values[i++];
}
);
}
%>