Nachfolgend Beispiele, wie der Service Broker aus unterschiedlichen Web basierten, nicht Java Umgebungen heraus aufgerufen werden kann
Ein Service Modul über JavaScript und AJAX auf dem Service Broker aufrufen.
Input Daten: Service Version:
function ajaxDemo(){ var time = (new Date()).getTime(); var brokerUrl = "http://integrating-architecture.de/ServiceBroker"; var service = "isa.TestService:run[version="+document.getElementById("tfVersion").value+"]"; var inputData = document.getElementById("tfData").value; var request = $.ajax({ url: brokerUrl, type: "post", headers: {"isa.webrequest.type": "external"}, data: "service="+service+"data="+inputData }); request.done(function (response, textStatus, jqXHR){ time = (new Date()).getTime()-time; alert("Service Aufruf über JavaScript Ergebnis: "+response+"\nAusführungszeit: "+time); }); request.fail(function (jqXHR, textStatus, errorThrown){ alert("Es ist ein Fehler aufgetreten: "+textStatus, errorThrown); }); }
Ein Service Modul aus PHP aufrufen
mit als Input Daten
Diese Demo verbindet JavaScript/AJAX – PHP – und den Java Service Broker und zeigt wie einfach verschiedene Programmiersprachen und Plattformen über das Web Interface des Service Broker miteinander kommunizieren können. Der unten abgebildete Code liegt als ServiceBrokerBridge.php Datei auf dem Server und wird im Browser wie oben über JavaScript/AJAX aufgerufen.
function do_post_request($url, $data, $optional_headers = null) { $params = array('http' => array( 'method' => 'POST', 'content' => $data )); if ($optional_headers !== null) { $params['http']['header'] = $optional_headers; } $ctx = stream_context_create($params); $fp = @fopen($url, 'rb', false, $ctx); if (!$fp) { throw new Exception("Problem with $url, $php_errormsg"); } $response = @stream_get_contents($fp); if ($response === false) { throw new Exception("Problem reading data from $url, $php_errormsg"); } return $response; } $url = "http://localhost:8080/ServiceBrokerWebComponents/BrokerServlet"; $header = "isa.webrequest.type: external"; $data = $_POST['postdata']; $response = do_post_request($url, $data, $header); echo $response;