You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by ay...@apache.org on 2016/04/05 14:35:15 UTC
[6/8] cxf git commit: use a non-empty context-path for
samples/jax_rs/websocket sample
use a non-empty context-path for samples/jax_rs/websocket sample
Project: http://git-wip-us.apache.org/repos/asf/cxf/repo
Commit: http://git-wip-us.apache.org/repos/asf/cxf/commit/b52157a3
Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/b52157a3
Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/b52157a3
Branch: refs/heads/3.1.x-fixes
Commit: b52157a330d9ef4daab8d2826579cb68ca171c69
Parents: f12eb1a
Author: Akitoshi Yoshida <ay...@apache.org>
Authored: Wed Mar 23 14:23:03 2016 +0100
Committer: Akitoshi Yoshida <ay...@apache.org>
Committed: Tue Apr 5 13:36:58 2016 +0200
----------------------------------------------------------------------
.../release/samples/jax_rs/websocket/README.txt | 26 ++++++++---------
.../src/main/java/demo/jaxrs/client/Client.java | 29 ++++++++-----------
.../src/main/java/demo/jaxrs/server/Server.java | 4 ++-
.../websocket/src/main/resources/index.html | 4 +--
.../websocket/src/test/resources/client.js | 30 +++++++++++---------
5 files changed, 46 insertions(+), 47 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cxf/blob/b52157a3/distribution/src/main/release/samples/jax_rs/websocket/README.txt
----------------------------------------------------------------------
diff --git a/distribution/src/main/release/samples/jax_rs/websocket/README.txt b/distribution/src/main/release/samples/jax_rs/websocket/README.txt
index f1d3455..8df709e 100644
--- a/distribution/src/main/release/samples/jax_rs/websocket/README.txt
+++ b/distribution/src/main/release/samples/jax_rs/websocket/README.txt
@@ -3,7 +3,7 @@ JAX-RS WebSocket Demo
This is a websocket transport version of JAX-RS Basic Demo.
-A RESTful customer service is provided on URL ws://localhost:9000/customers.
+A RESTful customer service is provided on URL ws://localhost:9000/demo
Users access this URI to operate on customer.
This sample includes two convenient clients: a plain javascript browser client
@@ -13,12 +13,12 @@ and a node.js client based on atmosphere.
Connecting to the server
---------------------------------------
-Open a websocket to ws://localhost:9000/ and send requests over the websocket.
+Open a websocket to ws://localhost:9000/demo and send requests over the websocket.
-A GET request to path /customerservice/customers/123
+A GET request to path /demo/customerservice/customers/123
------------------------------------------------------------------------
-GET /customerservice/customers/123
+GET /demo/customerservice/customers/123
------------------------------------------------------------------------
returns a customer instance whose id is 123. The XML document returned:
@@ -30,10 +30,10 @@ returns a customer instance whose id is 123. The XML document returned:
</Customer>
------------------------------------------------------------------------
-A GET request to path /customerservice/orders/223/products/323
+A GET request to path /demo/customerservice/orders/223/products/323
------------------------------------------------------------------------
-GET /customerservice/orders/223/products/323
+GET /demo/customerservice/orders/223/products/323
------------------------------------------------------------------------
returns product 323 that belongs to order 223. The XML document returned:
@@ -48,7 +48,7 @@ returns product 323 that belongs to order 223. The XML document returned:
A POST request to path /customerservice/customers
------------------------------------------------------------------------
-POST /customerservice/customers
+POST /demo/customerservice/customers
Content-Type: text/xml; charset="utf-8"
------------------------------------------------------------------------
@@ -63,7 +63,7 @@ with the data:
adds a customer whose name is Jack
-A PUT request to path /customerservice/customers
+A PUT request to path /demo/customerservice/customers
------------------------------------------------------------------------
PUT /customerservice/customers
@@ -82,20 +82,20 @@ with the data:
updates the customer instance whose id is 123
-A GET request to path /monitor with id monitor-12345
+A GET request to path /demo/monitor with id monitor-12345
------------------------------------------------------------------------
-GET /customerservice/monitor
+GET /demo/customerservice/monitor
requestId: monitor-12345
------------------------------------------------------------------------
returns a continuous event stream on the customer
activities. Try invoking some customer related operations.
-A GET request to path /unmonitor with id monitor-12345
+A GET request to path /demo/unmonitor with id monitor-12345
------------------------------------------------------------------------
-GET /customerservice/unmonitor/monitor-12345
+GET /demo/customerservice/unmonitor/monitor-12345
------------------------------------------------------------------------
unregisters the event stream and returns its status.
@@ -141,7 +141,7 @@ the content. For example, the above POST example should use the Request
value:
------------------------------------------------------------------------
-POST /customerservice/customers
+POST /demo/customerservice/customers
Content-Type: text/xml; charset="utf-8"
<Customer>
http://git-wip-us.apache.org/repos/asf/cxf/blob/b52157a3/distribution/src/main/release/samples/jax_rs/websocket/src/main/java/demo/jaxrs/client/Client.java
----------------------------------------------------------------------
diff --git a/distribution/src/main/release/samples/jax_rs/websocket/src/main/java/demo/jaxrs/client/Client.java b/distribution/src/main/release/samples/jax_rs/websocket/src/main/java/demo/jaxrs/client/Client.java
index dbdc589..1b91019 100644
--- a/distribution/src/main/release/samples/jax_rs/websocket/src/main/java/demo/jaxrs/client/Client.java
+++ b/distribution/src/main/release/samples/jax_rs/websocket/src/main/java/demo/jaxrs/client/Client.java
@@ -19,6 +19,8 @@
package demo.jaxrs.client;
+import demo.jaxrs.server.Server;
+
import java.io.InputStream;
import java.util.List;
@@ -31,21 +33,14 @@ public final class Client {
}
public static void main(String args[]) throws Exception {
- // Sent HTTP GET request to query all customer info
- /*
- * URL url = new URL("http://localhost:9000/customers");
- * System.out.println("Invoking server through HTTP GET to query all
- * customer info"); InputStream in = url.openStream(); StreamSource
- * source = new StreamSource(in); printSource(source);
- */
// Create a websocket client and connect to the target service
- WebSocketTestClient client = new WebSocketTestClient("ws://localhost:9000/");
+ WebSocketTestClient client = new WebSocketTestClient(Server.HOST_URL + Server.CONTEXT_PATH);
client.connect();
// Sent GET request to query customer info
System.out.println("Sent GET request to query customer info");
- client.sendTextMessage("GET /customerservice/customers/123");
+ client.sendTextMessage("GET " + Server.CONTEXT_PATH + "/customerservice/customers/123");
client.await(5);
List<WebSocketTestClient.Response> responses = client.getReceivedResponses();
System.out.println(responses.get(0));
@@ -53,7 +48,7 @@ public final class Client {
// Sent GET request to query sub resource product info
client.reset(1);
System.out.println("Sent GET request to query sub resource product info");
- client.sendTextMessage("GET /customerservice/orders/223/products/323");
+ client.sendTextMessage("GET " + Server.CONTEXT_PATH + "/customerservice/orders/223/products/323");
client.await(5);
responses = client.getReceivedResponses();
System.out.println(responses.get(0));
@@ -62,8 +57,8 @@ public final class Client {
client.reset(1);
System.out.println("Sent PUT request to update customer info");
String inputData = getStringFromInputStream(Client.class.getResourceAsStream("/update_customer.xml"));
- client.sendTextMessage("PUT /customerservice/customers\r\nContent-Type: text/xml;"
- + " charset=ISO-8859-1\r\n\r\n"
+ client.sendTextMessage("PUT " + Server.CONTEXT_PATH + "/customerservice/customers\r\n"
+ + "Content-Type: text/xml; charset=ISO-8859-1\r\n\r\n"
+ inputData);
client.await(5);
responses = client.getReceivedResponses();
@@ -73,20 +68,20 @@ public final class Client {
client.reset(1);
System.out.println("Sent POST request to add customer");
inputData = getStringFromInputStream(Client.class.getResourceAsStream("/add_customer.xml"));
- client.sendTextMessage("POST /customerservice/customers\r\nContent-Type: text/xml; "
+ client.sendTextMessage("POST " + Server.CONTEXT_PATH + "/customerservice/customers\r\nContent-Type: text/xml; "
+ "charset=ISO-8859-1\r\nAccept: text/xml\r\n\r\n" + inputData);
client.await(5);
responses = client.getReceivedResponses();
System.out.println(responses.get(0));
// Create another websocket client and connect to the target service
- WebSocketTestClient client2 = new WebSocketTestClient("ws://localhost:9000/");
+ WebSocketTestClient client2 = new WebSocketTestClient(Server.HOST_URL + Server.CONTEXT_PATH);
client2.connect();
// Sent GET request to monitor the customer activities
client2.reset(1);
System.out.println("Sent GET request to monitor activities");
- client2.sendTextMessage("GET /customerservice/monitor");
+ client2.sendTextMessage("GET " + Server.CONTEXT_PATH + "/customerservice/monitor");
client2.await(5);
responses = client2.getReceivedResponses();
System.out.println(responses.get(0));
@@ -94,8 +89,8 @@ public final class Client {
// one retrieval, one delete
client2.reset(2);
client.reset(2);
- client.sendTextMessage("GET /customerservice/customers/123");
- client.sendTextMessage("DELETE /customerservice/customers/235");
+ client.sendTextMessage("GET " + Server.CONTEXT_PATH + "/customerservice/customers/123");
+ client.sendTextMessage("DELETE " + Server.CONTEXT_PATH + "/customerservice/customers/235");
client2.await(5);
responses = client2.getReceivedResponses();
http://git-wip-us.apache.org/repos/asf/cxf/blob/b52157a3/distribution/src/main/release/samples/jax_rs/websocket/src/main/java/demo/jaxrs/server/Server.java
----------------------------------------------------------------------
diff --git a/distribution/src/main/release/samples/jax_rs/websocket/src/main/java/demo/jaxrs/server/Server.java b/distribution/src/main/release/samples/jax_rs/websocket/src/main/java/demo/jaxrs/server/Server.java
index fe59dd0..851a512 100644
--- a/distribution/src/main/release/samples/jax_rs/websocket/src/main/java/demo/jaxrs/server/Server.java
+++ b/distribution/src/main/release/samples/jax_rs/websocket/src/main/java/demo/jaxrs/server/Server.java
@@ -23,13 +23,15 @@ import org.apache.cxf.jaxrs.JAXRSServerFactoryBean;
import org.apache.cxf.jaxrs.lifecycle.SingletonResourceProvider;
public class Server {
+ public static final String HOST_URL = "ws://localhost:9000";
+ public static final String CONTEXT_PATH = "/demo";
protected Server() throws Exception {
JAXRSServerFactoryBean sf = new JAXRSServerFactoryBean();
sf.setResourceClasses(CustomerService.class);
sf.setResourceProvider(CustomerService.class,
new SingletonResourceProvider(new CustomerService()));
- sf.setAddress("ws://localhost:9000/");
+ sf.setAddress(HOST_URL + CONTEXT_PATH);
sf.create();
}
http://git-wip-us.apache.org/repos/asf/cxf/blob/b52157a3/distribution/src/main/release/samples/jax_rs/websocket/src/main/resources/index.html
----------------------------------------------------------------------
diff --git a/distribution/src/main/release/samples/jax_rs/websocket/src/main/resources/index.html b/distribution/src/main/release/samples/jax_rs/websocket/src/main/resources/index.html
index 87c8eaf..e7d81f4 100644
--- a/distribution/src/main/release/samples/jax_rs/websocket/src/main/resources/index.html
+++ b/distribution/src/main/release/samples/jax_rs/websocket/src/main/resources/index.html
@@ -29,14 +29,14 @@
<div id="output">
<div id="config" style="float: left;">
<strong>Service Endpoint URL:</strong><br />
- <input id="wsUri" size="72" style="width: 100%" value="ws://localhost:9000/"/>
+ <input id="wsUri" size="72" style="width: 100%" value="ws://localhost:9000/demo"/>
<br/>
<button id="connect">Connect</button>
<button id="disconnect">Disconnect</button>
<br />
<br />
<strong>Request:</strong><br />
- <textarea id="request" rows="10" cols="72" style="width: 100%;">GET /customerservice/customers/123</textarea>
+ <textarea id="request" rows="10" cols="72" style="width: 100%;">GET /demo/customerservice/customers/123</textarea>
<br/>
<button id="send">Send</button>
</div>
http://git-wip-us.apache.org/repos/asf/cxf/blob/b52157a3/distribution/src/main/release/samples/jax_rs/websocket/src/test/resources/client.js
----------------------------------------------------------------------
diff --git a/distribution/src/main/release/samples/jax_rs/websocket/src/test/resources/client.js b/distribution/src/main/release/samples/jax_rs/websocket/src/test/resources/client.js
index 8e8d653..2df8d30 100644
--- a/distribution/src/main/release/samples/jax_rs/websocket/src/test/resources/client.js
+++ b/distribution/src/main/release/samples/jax_rs/websocket/src/test/resources/client.js
@@ -8,14 +8,16 @@
"use strict";
-var HOST_URL = 'http://localhost:9000/';
+// set the host url and path if the service runs at a different location
+var HOST_URL = 'http://localhost:9000';
+var CONTEXT_PATH = "/demo"
var reader = require('readline');
var prompt = reader.createInterface(process.stdin, process.stdout);
var atmosphere = require('atmosphere.js');
-var request = { url: HOST_URL,
+var request = { url: HOST_URL + CONTEXT_PATH,
transport : 'websocket',
trackMessageLength: false,
dropHeaders: false,
@@ -75,10 +77,10 @@ function doHelp() {
function doAdd(v) {
var req;
if (transport == 'websocket') {
- req = "POST /customerservice/customers\r\nContent-Type: text/xml; charset='utf-8'\r\nAccept: text/xml\r\n\r\n"
+ req = "POST " + CONTEXT_PATH + "/customerservice/customers\r\nContent-Type: text/xml; charset='utf-8'\r\nAccept: text/xml\r\n\r\n"
+ createAddCustomerPayload(v[0]);
} else if (transport == 'sse') {
- req = {"method": "POST", "url": HOST_URL + "customerservice/customers", "headers": {"content-type": "text/xml; charset=utf-8", "accept": "text/xml"}, "data": createAddCustomerPayload(v[0])}
+ req = {"method": "POST", "url": HOST_URL + CONTEXT_PATH + "/customerservice/customers", "headers": {"content-type": "text/xml; charset=utf-8", "accept": "text/xml"}, "data": createAddCustomerPayload(v[0])}
}
console.log("TRACE: sending ", req);
subSocket.push(req);
@@ -87,9 +89,9 @@ function doAdd(v) {
function doDelete(v) {
var req;
if (transport == 'websocket') {
- req = "DELETE /customerservice/customers/" + v[0];
+ req = "DELETE" + CONTEXT_PATH + "/customerservice/customers/" + v[0];
} else if (transport == 'sse') {
- req = {"method": "DELETE", "url": HOST_URL + "customerservice/customers/" + v[0]}
+ req = {"method": "DELETE", "url": HOST_URL + CONTEXT_PATH + "/customerservice/customers/" + v[0]}
}
console.log("TRACE: sending ", req);
subSocket.push(req);
@@ -98,9 +100,9 @@ function doDelete(v) {
function doGet(v) {
var req;
if (transport == 'websocket') {
- req = "GET /customerservice/customers/" + v[0];
+ req = "GET " + CONTEXT_PATH + "/customerservice/customers/" + v[0];
} else if (transport == 'sse') {
- req = {"method": "GET", "url": HOST_URL + "customerservice/customers/" + v[0]}
+ req = {"method": "GET", "url": HOST_URL + CONTEXT_PATH + "/customerservice/customers/" + v[0]}
}
console.log("TRACE: sending ", req);
subSocket.push(req);
@@ -109,9 +111,9 @@ function doGet(v) {
function doSubscribe() {
var req;
if (transport == 'websocket') {
- req = "GET /customerservice/monitor\r\nAccept: text/plain\r\n";
+ req = "GET " + CONTEXT_PATH + "/customerservice/monitor\r\nAccept: text/plain\r\n";
} else if (transport == 'sse') {
- req = {"method": "GET", "url": HOST_URL + "customerservice/monitor2", "headers": {"accept": "text/plain"}}
+ req = {"method": "GET", "url": HOST_URL + CONTEXT_PATH + "/customerservice/monitor", "headers": {"accept": "text/plain"}}
}
console.log("TRACE: sending ", req);
subSocket.push(req);
@@ -120,9 +122,9 @@ function doSubscribe() {
function doUnsubscribe() {
var req;
if (transport == 'websocket') {
- req = "GET /customerservice/unmonitor/*\r\nAccept: text/plain\r\n";
+ req = "GET " + CONTEXT_PATH + "/customerservice/unmonitor/*\r\nAccept: text/plain\r\n";
} else if (transport == 'sse') {
- req = {"method": "GET", "url": HOST_URL + "customerservice/unmonitor2/*", "headers": {"accept": "text/plain"}}
+ req = {"method": "GET", "url": HOST_URL + CONTEXT_PATH + "/customerservice/unmonitor/*", "headers": {"accept": "text/plain"}}
}
console.log("TRACE: sending ", req);
subSocket.push(req);
@@ -131,10 +133,10 @@ function doUnsubscribe() {
function doUpdate(v) {
var req;
if (transport == 'websocket') {
- req = "PUT /customerservice/customers\r\nContent-Type: text/xml; charset='utf-8'\r\nAccept: text/xml\r\n\r\n"
+ req = "PUT " + CONTEXT_PATH + "/customerservice/customers\r\nContent-Type: text/xml; charset='utf-8'\r\nAccept: text/xml\r\n\r\n"
+ createUpdateCustomerPayload(v[0], v[1]);
} else if (transport == 'sse') {
- req = {"method": "PUT", "url": HOST_URL + "customerservice/customers", "headers": {"content-type": "text/xml; charset=utf-8", "accept": "text/xml"}, "data": createUpdateCustomerPayload(v[0], v[1])}
+ req = {"method": "PUT", "url": HOST_URL + CONTEXT_PATH + "/customerservice/customers", "headers": {"content-type": "text/xml; charset=utf-8", "accept": "text/xml"}, "data": createUpdateCustomerPayload(v[0], v[1])}
}
console.log("TRACE: sending ", req);
subSocket.push(req);