Java Script und AJAX Demo

Nachfolgend Beispiele, wie der Service Broker aus unterschiedlichen Web basierten, nicht Java Umgebungen heraus aufgerufen werden kann

  •  JavaScript und AJAX Beispiel
  •  PHP Beispiel

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;