Thu, 31 Aug 2017 15:18:52 +0800
merge
1 /*
2 * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved.
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * This code is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License version 2 only, as
7 * published by the Free Software Foundation. Oracle designates this
8 * particular file as subject to the "Classpath" exception as provided
9 * by Oracle in the LICENSE file that accompanied this code.
10 *
11 * This code is distributed in the hope that it will be useful, but WITHOUT
12 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14 * version 2 for more details (a copy is included in the LICENSE file that
15 * accompanied this code).
16 *
17 * You should have received a copy of the GNU General Public License version
18 * 2 along with this work; if not, write to the Free Software Foundation,
19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20 *
21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22 * or visit www.oracle.com if you need additional information or have any
23 * questions.
24 */
26 package com.sun.xml.internal.ws.api.databinding;
28 import java.io.IOException;
29 import java.io.InputStream;
30 import java.io.OutputStream;
31 import java.lang.reflect.Method;
33 import com.sun.xml.internal.ws.api.message.MessageContextFactory;
34 import com.sun.xml.internal.ws.api.message.Packet;
35 import com.sun.xml.internal.ws.api.pipe.ContentType;
36 import com.sun.xml.internal.ws.wsdl.DispatchException;
38 /**
39 * {@code Databinding} is the entry point for all the WebService databinding
40 * runtime functionality. Primarily, a Databinding is to serialize/deserialize an
41 * XML(SOAP) message to/from a JAVA method invocation and return value which
42 * are represented as <code>JavaCallInfo</code> instances.
43 * <p>
44 * </p>
45 * Each Databinding is associated with a <code>MessageFactory</code> instance
46 * which can be used to create <code>Message</code> instances that can be
47 * deserialized by the Databinding. The <code>MessageFactory</code> also supports
48 * the conversion of Oracle Fabric Normalized messages.
49 * <p>
50 * </p>
51 * <blockquote> Following is an example that creates a {@code Databinding} which
52 * provides the operations to serialize/deserialize a JavaCallInfo to/from a
53 * SOAP message:<br />
54 *
55 * <pre>
56 * DatabindingFactory wsfac = DatabindingFactory();
57 * Databinding rt = wsfac.createDatabinding(DatabindingConfig);
58 * </pre>
59 *
60 * </blockquote>
61 *
62 * @author shih-chang.chen@oracle.com
63 */
64 public interface Databinding extends com.oracle.webservices.internal.api.databinding.Databinding {
66 /**
67 * Gets the MessageFactory instance associated with this WsRuntime
68 *
69 * @return the MessageFactory instance associated with this WsRuntime
70 */
71 // MessageFactory getMessageFactory();
73 /**
74 * Deserializes a request XML(SOAP) message to a JavaCallInfo instance
75 * representing a JAVA method call.
76 *
77 * @param soap
78 * the request message
79 *
80 * @return the JavaCallInfo representing a method call
81 */
82 // JavaCallInfo deserializeRequest(Packet req);
84 EndpointCallBridge getEndpointBridge(Packet soap) throws DispatchException;
86 ClientCallBridge getClientBridge(Method method);
88 /**
89 * Serializes a JavaCallInfo instance representing a JAVA method call to a
90 * request XML(SOAP) message.
91 *
92 * @param call
93 * the JavaCallInfo representing a method call
94 *
95 * @return the request XML(SOAP) message
96 */
97 // Packet serializeRequest(JavaCallInfo call);
99 /**
100 * Serializes a JavaCallInfo instance representing the return value or
101 * exception of a JAVA method call to a response XML(SOAP) message.
102 *
103 * @param call
104 * the JavaCallInfo representing the return value or exception of
105 * a JAVA method call
106 *
107 * @return the response XML(SOAP) message
108 */
109 // Packet serializeResponse(JavaCallInfo call);
111 /**
112 * Deserializes a response XML(SOAP) message to a JavaCallInfo instance
113 * representing the return value or exception of a JAVA method call.
114 *
115 * @param soap
116 * the response message
117 *
118 * @param call
119 * the JavaCallInfo instance to be updated
120 *
121 * @return the JavaCallInfo updated with the return value or exception of a
122 * JAVA method call
123 */
124 // JavaCallInfo deserializeResponse(Packet res, JavaCallInfo call);
126 /**
127 * Gets the WSDL operation metadata of the specified JAVA method.
128 *
129 * @param method
130 * the JAVA method
131 * @return the operationMetadata
132 */
133 // OperationMetadata getOperationMetadata(java.lang.reflect.Method method);
135 /**
136 * Gets the WebServiceFeatures of this webservice endpoint.
137 *
138 * @return the features
139 */
140 // WebServiceFeature[] getFeatures();
142 void generateWSDL(WSDLGenInfo info);
144 /**
145 * @deprecated use MessageContextFactory
146 */
147 public ContentType encode( Packet packet, OutputStream out ) throws IOException ;
149 /**
150 * @deprecated use MessageContextFactory
151 */
152 public void decode( InputStream in, String ct, Packet packet ) throws IOException;
154 public MessageContextFactory getMessageContextFactory();
155 }