| <html><head><!-- |
| |
| Licensed to the Apache Software Foundation (ASF) under one or more |
| contributor license agreements. See the NOTICE file distributed with |
| this work for additional information regarding copyright ownership. |
| The ASF licenses this file to You under the Apache License, Version 2.0 |
| (the "License"); you may not use this file except in compliance with |
| the License. You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, software |
| distributed under the License is distributed on an "AS IS" BASIS, |
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| See the License for the specific language governing permissions and |
| limitations under the License. |
| |
| --><!-- $Rev$ $Date$ --><title>ServiceMix SOAP Binding Example</title> |
| |
| |
| |
| |
| <script type="text/javascript"> |
| |
| function getHTTPObject() { |
| var xmlhttp = false; |
| |
| /* Compilation conditionnelle d'IE */ |
| /*@cc_on |
| @if (@_jscript_version >= 5) |
| try { |
| xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); |
| } catch (e) { |
| try { |
| xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); |
| } catch (E) { |
| xmlhttp = false; |
| } |
| } |
| @else |
| xmlhttp = false; |
| @end @*/ |
| |
| /* on essaie de cr�er l'objet si ce n'est pas d�j� fait */ |
| if (!xmlhttp && typeof XMLHttpRequest != 'undefined') { |
| try { |
| xmlhttp = new XMLHttpRequest(); |
| } catch (e) { |
| xmlhttp = false; |
| } |
| } |
| |
| if (xmlhttp) { |
| /* on d�finit ce qui doit se passer quand la page r�pondra */ |
| xmlhttp.onreadystatechange=function() { |
| if (xmlhttp.readyState == 4) { /* 4 : �tat "complete" */ |
| var response = document.getElementById("response"); |
| response.value = "STATUS: " + xmlhttp.status + "\n" + xmlhttp.responseText |
| } |
| } |
| } |
| return xmlhttp; |
| } |
| |
| function send(uri) { |
| var xmlhttp = getHTTPObject(); |
| if (!xmlhttp) { |
| alert('cound not create XMLHttpRequest object'); |
| return; |
| } |
| var request = document.getElementById("request"); |
| var response = document.getElementById("response"); |
| try { |
| netscape.security.PrivilegeManager.enablePrivilege("UniversalBrowserRead UniversalBrowserWrite"); |
| xmlhttp.open("POST", uri, true); |
| } catch (e) { |
| alert('error opening'); |
| } |
| xmlhttp.send(request.value); |
| } |
| |
| function sendCPP() { |
| send("http://localhost:8192/wsn/CreatePullPoint/"); |
| } |
| |
| function sendBroker() { |
| send("http://localhost:8192/wsn/Broker/"); |
| } |
| |
| var soapPre = "<env:Envelope\n" + |
| " xmlns:env=\"http://schemas.xmlsoap.org/soap/envelope/\">\n" + |
| " <env:Body>\n"; |
| var soapPost = " </env:Body>\n" + |
| "</env:Envelope>\n"; |
| |
| function createPullPoint() { |
| var request = document.getElementById("request"); |
| request.value = soapPre + |
| " <wsnt:CreatePullPoint\n" + |
| " xmlns:wsnt=\"http://docs.oasis-open.org/wsn/b-2\"\n" + |
| " xmlns:sm=\"http://servicemix.apache.org/wsn2005/1.0\">\n" + |
| " <sm:address>\n" + |
| " http://www.consumer.org/service/endpoint\n" + |
| " </sm:address>\n" + |
| " </wsnt:CreatePullPoint>\n" + |
| soapPost; |
| } |
| |
| function subscribe() { |
| var request = document.getElementById("request"); |
| request.value = soapPre + |
| " <wsnt:Subscribe\n" + |
| " xmlns:wsnt=\"http://docs.oasis-open.org/wsn/b-2\"\n" + |
| " xmlns:wsa=\"http://www.w3.org/2005/08/addressing\"\n" + |
| " xmlns:ncex=\"http://www.consumer.org\"\n" + |
| " xmlns:npex=\"http://www.producer.org\">\n" + |
| " <wsnt:ConsumerReference>\n" + |
| " <wsa:Address>\n" + |
| " http://www.consumer.org/service/endpoint\n" + |
| " </wsa:Address>\n" + |
| " </wsnt:ConsumerReference>\n" + |
| " <wsnt:Filter>\n" + |
| " <wsnt:TopicExpression\n" + |
| " Dialect=\"http://docs.oasis-open.org/wsn/t-1/TopicExpression/Simple\">\n" + |
| " myTopic\n" + |
| " </wsnt:TopicExpression>\n" + |
| " </wsnt:Filter>\n" + |
| " </wsnt:Subscribe>\n" + |
| soapPost; |
| } |
| function notify() { |
| var request = document.getElementById("request"); |
| request.value = "<env:Envelope xmlns:env=\"http://schemas.xmlsoap.org/soap/envelope/\"\n" + |
| " xmlns:wsa=\"http://www.w3.org/2005/08/addressing\">\n" + |
| "<env:Header>\n" + |
| "<wsa:To>\n" + |
| "http://www.consumer.org/service/endpoint\n" + |
| "</wsa:To>\n" + |
| "</env:Header>\n" + |
| |
| "<env:Body>\n" + |
| "<wsnt:Notify xmlns:wsnt=\"http://docs.oasis-open.org/wsn/b-2\">\n" + |
| "<wsnt:NotificationMessage>\n" + |
| "<wsnt:Topic Dialect=\"http://docs.oasis-open.org/wsn/t-1/TopicExpression/Simple\">\n" + |
| "BrewProcess\n" + |
| "</wsnt:Topic>\n" + |
| "<wsnt:Message>\n" + |
| "<alarm:Alarm xmlns:alarm=\"http://alarms.some-host\">\n" + |
| "<Name>Kettle Overfill</Name>\n" + |
| "<Desc>Kettle Overfill Alarm</Desc>\n" + |
| "<Date>2007-09-22-12:00:30:100</Date>\n" + |
| "<Severity>3</Severity>\n" + |
| "<Value>110.2</Value>\n" + |
| "<Ack>false</Ack>\n" + |
| "</alarm:Alarm>\n" + |
| "</wsnt:Message>\n" + |
| "</wsnt:NotificationMessage>\n" + |
| "</wsnt:Notify>\n" + |
| "</env:Body>\n" + |
| "</env:Envelope>" |
| } |
| function getMessages() { |
| var request = document.getElementById("request"); |
| request.value = "<env:Envelope xmlns:env=\"http://schemas.xmlsoap.org/soap/envelope/\"\n" + |
| "xmlns:wsnt=\"http://docs.oasis-open.org/wsn/b-2\"\n" + |
| "xmlns:wsa=\"http://www.w3.org/2005/08/addressing\">\n" + |
| "<env:Header>\n" + |
| "<wsa:To>\n" + |
| "http://www.consumer.org/service/endpoint\n" + |
| "</wsa:To>\n" + |
| "</env:Header>\n" + |
| "<env:Body>\n" + |
| "<wsnt:GetMessages>\n" + |
| "<wsnt:MaximumNumber>10</wsnt:MaximumNumber>\n" + |
| "</wsnt:GetMessages>\n" + |
| "</env:Body>\n" + |
| "</env:Envelope>" |
| } |
| |
| </script></head><body> |
| |
| <h1>ServiceMix WS-Notification Binding Example</h1> |
| |
| <p>Welcome to the WS-Notification example for ServiceMix</p> |
| |
| <table> |
| <tbody><tr> |
| <td> |
| <h2>Request</h2> |
| <textarea id="request" style="width: 600px; height: 300px;"> </textarea> |
| </td> |
| <td> |
| <h2>Response</h2> |
| <textarea id="response" style="width: 600px; height: 300px;"> </textarea> |
| </td> |
| </tr> |
| <tr> |
| <td colspan="2"> |
| <input value="CreatePullPoint" onclick="createPullPoint();" type="button"> |
| <input value="Send" onclick="sendCPP();" type="button"> |
| </td> |
| </tr> |
| <tr> |
| <td colspan="2"> |
| <input value="Subscribe" onclick="subscribe();" type="button"> |
| <input value="Send" onclick="sendBroker();" type="button"> |
| </td> |
| </tr> |
| <tr> |
| <td colspan="2"> |
| <input value="Notify" onclick="notify();" type="button"> |
| <input value="Send" onclick="sendBroker();" type="button"> |
| </td> |
| </tr> |
| <tr> |
| <td colspan="2"> |
| <input value="getMessages" onclick="getMessages();" type="button"> |
| <input value="Send" onclick="sendBroker();" type="button"> |
| </td> |
| |
| </tr> |
| </tbody></table> |
| |
| </body></html> |