Skip to content

Commit 1d8a9e2

Browse files
author
Marc Dutoo
committed
Merge remote branch 'upstream/master'
2 parents b897e68 + ca2ab81 commit 1d8a9e2

File tree

19 files changed

+283
-232
lines changed

19 files changed

+283
-232
lines changed

README.md

+35
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
# EasySOA PureAirFlowers Demo
2+
3+
## Introduction
4+
5+
PureAirFlowers is a small imaginary company that sold depolluting plants.
6+
7+
This demo contains a SOAP CXF server that provide a single operation web service to get the number of orders for a client. With the WSDl provided by the web service, a client HTML form can be automatically generated. A REST/SOAP proxy is charged to make the translation between the SOAP protocol used by the CXF server and the REST request send by the client. Additionnaly, the proxy can works with intents. Intents are triggered each time a request is send by the client and can do various tasks as logging, security check, filtering requests ...
8+
9+
This demo works with several technologies :
10+
11+
* Soap web service implemented by a CXF server.
12+
* REST/SOAP proxy implemented with Frascati.
13+
* WSDL2HTML xslt transformation to generate HTML form.
14+
15+
*NOTE: This demo code is neither fully functional nor stable.*
16+
17+
## Execution
18+
19+
There are three main part to launch separately :
20+
21+
* SOAP CXF server (first)
22+
* ServiceUiScaffolder proxy (second)
23+
* HTML form (third)
24+
25+
Check the readme's for each project to get installation and execution instructions.
26+
27+
## About the sources
28+
29+
The code is split into 3 main projects and 2 optional projects :
30+
31+
* `pureAirFlowers-easysoa-demo-cxf-server`: The SOAP CXF server.
32+
* `pureAirFlowers-ServiceUiScaffolderProxy`: The ServiceUiScaffolder proxy project.
33+
* `pureAirFlowers-ServiceUiScaffolder`: The WSDL2HTML xslt transformation project.
34+
* `pureAirFlowers-autoRearmFuseIntent`: The autorearm intent project.
35+
* `pureAirFlowers-logIntent`: The log intent project.

pureAirFlowers-ServiceUiScaffolder/PureAirFlowers.out.xml.html

+18-17
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,16 @@
11
<html xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/">
22
<head>
33
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
4-
<title>WS Form</title>
4+
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
5+
<title>EasySOA Core - PureAirFlowers Service</title>
56
<link rel="stylesheet" href="style.css">
67
</head>
78
<body>
8-
<h2>PureAirFlowers</h2>
9-
<h3>
10-
location : http://192.168.2.157:9010/PureAirFlowers</h3>
9+
<div id="header">
10+
<b>PureAirFlowers</b> Service</div>
11+
<div id="container">
12+
<h1>Service location</h1>
13+
<p>http://192.168.2.157:9010/PureAirFlowers</p>
1114

1215

1316

@@ -34,7 +37,8 @@ <h3>
3437

3538

3639

37-
<h3>Operation getOrdersNumber</h3>
40+
<h1>Operation <b>getOrdersNumber</b>
41+
</h1>
3842
<script type="text/javascript">
3943
function submitgetOrdersNumberForm(form){
4044
var xhr;
@@ -91,32 +95,28 @@ <h3>Operation getOrdersNumber</h3>
9195

9296
</script>
9397
<form name="getOrdersNumber" method="get" action="" enctype="text/plain">
94-
95-
Input fields : <br>
98+
<h2>Input fields</h2>
9699

97-
<table border="1">
100+
<table>
98101
<tr>
99-
<td>Field type</td><td>Name</td><td>Value</td>
102+
<th style="width: 20%">Field type</th><th style="width: 20%">Name</th><th>Value</th>
100103
</tr>
101104
<tr>
102-
<td>xs:string</td><td>ClientId : </td><td><input type="text" size="100" name="ClientId"></td>
105+
<td>xs:string</td><td>ClientId</td><td><input type="text" name="ClientId"></td>
103106
</tr>
104107
</table>
105-
<br>
106-
Output fields : <br>
108+
<h2>Output fields</h2>
107109

108-
<table border="1">
110+
<table>
109111
<tr>
110-
<td>Field type</td><td>Name</td><td>Value</td>
112+
<th style="width: 20%">Field type</th><th style="width: 20%">Name</th><th>Value</th>
111113
</tr>
112114
<tr>
113-
<td>xs:int</td><td>ordersNumber : </td><td><input type="text" size="100" name="ordersNumber" disabled=""></td>
115+
<td>xs:int</td><td>ordersNumber</td><td><input type="text" name="ordersNumber" disabled=""></td>
114116
</tr>
115117
</table>
116-
<br>
117118
</form>
118119
<input type="button" value="Submit" OnClick="submitgetOrdersNumberForm('getOrdersNumber');">
119-
<br>
120120

121121

122122

@@ -136,5 +136,6 @@ <h3>Operation getOrdersNumber</h3>
136136

137137

138138

139+
</div>
139140
</body>
140141
</html>

pureAirFlowers-ServiceUiScaffolder/readme.txt

+7-1
Original file line numberDiff line numberDiff line change
@@ -5,4 +5,10 @@ This example can work with the PureAirFlowers REST/SOAP proxy and with the PureA
55
To run this example, process the transformation and open the generated HTML file.
66
A click on the submit button send a rest request to the proxy server. The response is processed with an Ajax script.
77

8-
The proxy server must be started on the port 7001.
8+
The proxy server must be started on the port 7001.
9+
10+
************************
11+
12+
FOR DEVELOPERS
13+
14+
To generate the HTML file, you can use the following Eclipse plugin "Eclipse XSL Developer Tools".
+65-111
Original file line numberDiff line numberDiff line change
@@ -1,149 +1,103 @@
1-
/* EasySOA - Service Browser Demo Style Sheet */
2-
3-
/* Tags
4-
---- */
5-
61
* {
7-
margin: 0;
8-
padding: 0;
2+
margin: 0;
3+
padding: 0;
94
}
105

116
body {
12-
width: 100%;
13-
height: 820px;
14-
padding: 10px;
15-
background-color: #EEF5FA;
16-
font-family: Helvetica Neue, Helvetica, Arial, sans-serif;
7+
width: 100%;
8+
height: 820px;
9+
background-color: #EEF5FA;
10+
font-family: Helvetica Neue, Helvetica, Arial, sans-serif;
1711
}
1812

1913
h1 {
20-
margin: 10px;
21-
color: #005599;
22-
font: bold 20pt Arial;
14+
padding-top: 20px;
15+
margin-bottom: 5px;
16+
border-bottom: 1px solid grey;
17+
color: #446;
18+
font: 12pt Arial;
19+
}
20+
h1:first-child {
21+
padding-top: 10px;
2322
}
2423

2524
h2 {
26-
margin-bottom: 10px;
27-
border-bottom: 1px solid grey;
28-
color: #333333;
29-
font: 13pt Arial;
25+
font: 11pt Arial;
26+
font-weight: bold;
27+
padding-top: 15px;
3028
}
31-
32-
h3 {
33-
padding-top: 10px;
34-
margin-bottom: 5px;
35-
border-bottom: 1px solid grey;
36-
color: #555555;
37-
font: 11pt Arial;
29+
h2:first-child {
30+
padding-top: 10px;
3831
}
32+
3933

4034
div {
41-
float: left;
35+
float: left;
4236
}
4337

4438
li {
45-
margin-left: 20px;
46-
margin-bottom: 10px;
39+
margin-left: 20px;
40+
margin-bottom: 10px;
4741
}
4842

49-
/* Structure
50-
--------- */
51-
52-
#main {
53-
margin: auto;
54-
height: 100%;
55-
width: 90%;
43+
#header {
44+
width: 100%;
45+
padding-top: 23px;
46+
padding-left: 280px;
47+
font-size: 14pt;
48+
height: 47px;
49+
background: url('img/LogoLight50.png') white;
50+
background-repeat: no-repeat;
51+
background-position: 20px 10px;
52+
border-bottom: 2px solid #444;
5653
}
5754

58-
#content {
59-
width: 100%;
60-
height: 85%;
55+
#container {
56+
padding: 15px;
6157
}
6258

63-
#navigation {
64-
margin-left: 21px;
65-
width: 80%;
66-
height: 100%;
59+
p {
60+
font-size: 11pt;
6761
}
6862

69-
/* Navigation bar
70-
-------------- */
71-
72-
#navBar {
73-
padding: 5px;
74-
background-color: #DDDDEE;
75-
border: 1px solid gray;
76-
}
77-
#navBar input[type=text] {
78-
width: 500px;
63+
table {
64+
border-spacing: 0;
65+
border: 1px solid black;
66+
margin: 10px;
67+
width: 800px;
7968
}
80-
#navBar input[type=image] {
81-
vertical-align: middle;
82-
}
83-
84-
/* Page frame
85-
---------- */
8669

87-
#frameContainer {
88-
width: 100%;
89-
height: 100%;
90-
border: 1px solid gray;
70+
td {
71+
border: 1px solid grey;
72+
padding: 5px;
73+
background-color: white;
9174
}
9275

93-
#frame {
94-
width: 100%;
95-
height: 100%;
96-
border: none;
97-
background-color: #EEFAFD;
76+
th {
77+
border: 1px solid grey;
78+
padding: 5px;
79+
background-color: #cde;
9880
}
9981

100-
101-
/* Left menus
102-
---------- */
103-
104-
#menu {
105-
width: 17%;
106-
height: 100%;
107-
float: left;
108-
font-size: 10pt;
109-
}
110-
111-
#menuSubmitForm {
112-
width: 100%;
113-
border: 1px solid gray;
114-
padding: 10px;
115-
background-color: #DDDDDD;
116-
height: 270px;
82+
input[type=text] {
83+
padding: 3px;
84+
width: 100%;
85+
font-weight: bold;
86+
bolor: black;
11787
}
11888

119-
#submitSelectedWSDL {
120-
width: 100%;
89+
input[disabled] {
90+
color: #444;
12191
}
12292

123-
#submitSuccess {
124-
background-color: white;
125-
border: 1px solid darkgreen;
126-
color: darkgreen;
127-
padding: 3px;
93+
input[type=button] {
94+
font-size: 13pt;
95+
padding: 5px;
96+
width: 150px;
12897
}
12998

130-
#menuFoundList {
131-
width: 100%;
132-
border: 1px solid gray;
133-
padding: 10px;
134-
background-color: #EEEEEE;
135-
height: 422px;
136-
overflow: auto;
99+
a {
100+
color: darkblue;
101+
text-decoration: none;
102+
font-weight: bold;
137103
}
138-
139-
.inputLabel {
140-
width: 100%;
141-
}
142-
143-
/* Text
144-
---- */
145-
146-
.note {
147-
font-size: 10pt;
148-
font-style: italic;
149-
}

0 commit comments

Comments
 (0)