Web サービスを作成し、サーバー側の Jaggery.js スクリプトから問題なく要求を送信できました。次に、WSO2 ESB 内に WSDL プロキシ サービスを作成し、「Try it!」を使用してテストしました。特徴。
サーバーサイド スクリプトを元の Web サービスから ESB 内のプロキシにリダイレクトした後、システム ログに次のエラーが記録されました。
Operation not found のエンドポイント参照 (EPR) は /services/BpmAdderProcessProxy.BpmAdderProcessProxyHttpSoap11Endpoint で、WSA Action = urn:anonOutInOpResponse です。この EPR が以前に到達可能であった場合は、サーバー管理者に連絡してください。
何が起こっているのかを詳しく見るために、ESB の「SOAP Message Tracer」をアクティブにしました。突然、サーバーサイド スクリプトが ESB プロキシ経由で Web サービスにアクセスできるようになりました。次に、「SOAP Message Tracer」を無効にすると、エラー メッセージが再び表示されました。私のサーバーサイドスクリプトは正しいですか? または、デバッグ ツールはデバッグされたコードの動作を変更しますか?
私は 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++];
}
);
}
%>