blob: 0efac242c2d01384122d71bffa505910a9669afe (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
|
Features/Tests
==============
General Patterns
----------------
For simple synchronous tests:
Jaxws client -> (b.ws service) SCA Component (b.ws reference) -> Jaxws Service
/\ /\ |
| use | use | gen
| | \/
Java Interface<------------------Java Interface<---------gen----------WSDL
For message format the external service don't get involved in the varying message formats,
They are still doing doc/lit/wrapped:
TODO - we could extend testing to include JAXWS edpoints thatunderstand the different formats
JUnit client -> SCA Component (b.ws reference) -> (b.ws service) SCA component -> Jaxws Service
/\ /\ /\ /\ |
| | config | config | |
| use | | | use | gen
| -----------WSDL------- | |
| | \/
Java Interface<-------------------------------------------------Java Interface<----gen---WSDL
For SCA callback or asynchronous tests the external services don't get involved in the
callback or aysnc request:
JUnit client -> SCA Component (b.ws reference) -> (b.ws service) SCA component -> Jaxws Service
Java First
----------
implemenation.java
interface.java
simple
JAXB
SDO - TODO
?wsdl - gens wsdl
Java First with JAX-WS annotations
----------------------------------
WSDL -> wsimport -> implemenation.java
interface.java
?wsdl - re-gens wsdl
WSDL first
----------
implemenation.java -> wsgen -> wsdl
interface.wsdl
?wsld - provided wsdl
Callback
--------
Various combinations of specified callback and default configuration
WSCallback ws policy - TODO
WSDL Styles
-----------
rpc-lit - supported
WSDL configuration where
message parts use types - <part name="s" type="xsd:string"/>
binding style set to rpc - <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="rpc"/>
body uses literal - <soap:body use="literal" namespace="http://ws.binding.sca.tuscany.apache.org/rpclit/getGreetingsNamespace" />
Note the use of a namespace on the body element to set the namespace of the wrapper child of the body element
doc-lit(or bare) - supported (however see note below)
WS-I BP1.1 4.7.6 states that an operation signature is a
"fully qualified name of the child element of SOAP body of the SOAP input message"
to make this true for doc-lit encoding you have to design the WSDL to wrap the parameters
in an appropriate type. Hence doc-literal-wrapped is supported which encompasses this wrapping style.
For bare style interfaces you have to mark the Java service interface as follows
SOAP binding is set to - @SOAPBinding(parameterStyle = SOAPBinding.ParameterStyle.BARE)
WSDL configuration where
message parts use elements - <part name="parameters" element="tns:getGreetings"/>
the elements are directly implemented by the operation parameter type
binding style set to document - <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/>
body uses literal - <soap:body use="literal"/>
doc-lit-wrapped - supported
WSDL configuration where
message parts use elements - <part name="parameters" element="tns:getGreetings"/>
the elements are implemented by wrapper types following the name of the operation
binding style set to document - <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/>
body uses literal - <soap:body use="literal"/>
rpc-encoded - not supported
not WS-I compliant
doc-encoded - not supported
not WS-I compliant
================================== TODO below =========================
Policy
------
ws-policy (aac)
Java First
WSpolicy from Policy set in definitions.xml
?wsdl - gens wsdl + policy
WSDL first
WSpolicy from WSDL
?wsld - uses wsdl + policy
Policy signing
alternative bindings
--------------------
SOAP/HTTP
SOAP/HTTPS
SOAP/JMS
How to retrieve WSDL for non-http bindings (a SHOULD in the spec)
asynchInvocation Intent
-----------------------
Service
Client
noListener Intent
-----------------
ws-makeconnetion?
SOAP1.1 intent
--------------
SOAP1.2 intent
--------------
MTOM intent
--------------
Streaming
---------
Do we need to support?
|