01: package org.objectweb.celtix.bindings;
02:
03: import javax.jws.WebParam;
04: import javax.jws.WebResult;
05: import javax.jws.soap.SOAPBinding;
06: import javax.xml.namespace.QName;
07: import javax.xml.ws.Service;
08:
09: import org.objectweb.celtix.context.ObjectMessageContext;
10:
11: /**
12: * Callback used during IO for the bindings to figure out how to properly construct the messages.
13: */
14: public interface DataBindingCallback {
15:
16: public enum Mode {
17: MESSAGE(Service.Mode.MESSAGE), PAYLOAD(Service.Mode.PAYLOAD), PARTS(
18: null);
19:
20: Service.Mode jaxwsMode;
21:
22: Mode(Service.Mode m) {
23: jaxwsMode = m;
24: }
25:
26: public static Mode fromServiceMode(Service.Mode m) {
27: if (m == Service.Mode.PAYLOAD) {
28: return PAYLOAD;
29: }
30: return MESSAGE;
31: }
32:
33: public Service.Mode getServiceMode() {
34: return jaxwsMode;
35: }
36: };
37:
38: Mode getMode();
39:
40: Class<?>[] getSupportedFormats();
41:
42: <T> DataWriter<T> createWriter(Class<T> cls);
43:
44: <T> DataReader<T> createReader(Class<T> cls);
45:
46: SOAPBinding.Style getSOAPStyle();
47:
48: SOAPBinding.Use getSOAPUse();
49:
50: SOAPBinding.ParameterStyle getSOAPParameterStyle();
51:
52: boolean isOneWay();
53:
54: String getOperationName();
55:
56: String getTargetNamespace();
57:
58: String getSOAPAction();
59:
60: WebResult getWebResult();
61:
62: QName getWebResultQName();
63:
64: WebParam getWebParam(int index);
65:
66: int getParamsLength();
67:
68: QName getRequestWrapperQName();
69:
70: QName getResponseWrapperQName();
71:
72: void initObjectContext(ObjectMessageContext octx);
73:
74: }
|