📄 call.java
字号:
/* * Copyright 2001-2004 The Apache Software Foundation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */package javax.xml.rpc;import javax.xml.namespace.QName;import java.util.Iterator;import java.util.List;import java.util.Map;/** * The <code>javax.xml.rpc.Call</code> interface provides support * for the dynamic invocation of a service endpoint. The * <code>javax.xml.rpc.Service</code> interface acts as a factory * for the creation of <code>Call</code> instances. * <p> * Once a <code>Call</code> instance is created, various setter * and getter methods may be used to configure this <code>Call</code> * instance. * * @version 1.0 */public interface Call { /** * Standard property: User name for authentication * <p>Type: <code>java.lang.String */ public static final String USERNAME_PROPERTY = "javax.xml.rpc.security.auth.username"; /** * Standard property: Password for authentication * <p>Type: <code>java.lang.String</code> */ public static final String PASSWORD_PROPERTY = "javax.xml.rpc.security.auth.password"; /** * Standard property for operation style. This property is * set to "rpc" if the operation style is rpc; "document" * if the operation style is document. * <p>Type: <code>java.lang.String</code> */ public static final String OPERATION_STYLE_PROPERTY = "javax.xml.rpc.soap.operation.style"; /** * Standard property for SOAPAction. This boolean property * indicates whether or not SOAPAction is to be used. The * default value of this property is false indicating that * the SOAPAction is not used. * <p>Type: <code>java.lang.Boolean</code> */ public static final String SOAPACTION_USE_PROPERTY = "javax.xml.rpc.soap.http.soapaction.use"; /** * Standard property for SOAPAction. Indicates the SOAPAction * URI if the <code>javax.xml.rpc.soap.http.soapaction.use</code> * property is set to <code>true</code>. * <p>Type: <code>java.lang.String</code> */ public static final String SOAPACTION_URI_PROPERTY = "javax.xml.rpc.soap.http.soapaction.uri"; /** * Standard property for encoding Style: Encoding style specified * as a namespace URI. The default value is the SOAP 1.1 encoding * <code>http://schemas.xmlsoap.org/soap/encoding/</code> * <p>Type: <code>java.lang.String</code> */ public static final String ENCODINGSTYLE_URI_PROPERTY = "javax.xml.rpc.encodingstyle.namespace.uri"; /** * Standard property: This boolean property is used by a service * client to indicate whether or not it wants to participate in * a session with a service endpoint. If this property is set to * true, the service client indicates that it wants the session * to be maintained. If set to false, the session is not maintained. * The default value for this property is <code>false</code>. * <p>Type: <code>java.lang.Boolean</code> */ public static final String SESSION_MAINTAIN_PROPERTY = "javax.xml.rpc.session.maintain"; /** * Indicates whether <code>addParameter</code> and * <code>setReturnType</code> methods * are to be invoked to specify the parameter and return type * specification for a specific operation. * * @param operationName Qualified name of the operation * * @return Returns true if the Call implementation class * requires addParameter and setReturnType to be * invoked in the client code for the specified * operation. This method returns false otherwise. */ public boolean isParameterAndReturnSpecRequired(QName operationName); /** * Adds a parameter type and mode for a specific operation. * Note that the client code may not call any * <code>addParameter</code> and <code>setReturnType</code> * methods before calling the <code>invoke</code> method. In * this case, the Call implementation class determines the * parameter types by using reflection on parameters, using * the WSDL description and configured type mapping registry. * * @param paramName Name of the parameter * @param xmlType XML datatype of the parameter * @param parameterMode Mode of the parameter-whether * <code>ParameterMode.IN</code>, * <code>ParameterMode.OUT</code>, * or <code>ParameterMode.INOUT * @throws JAXRPCException This exception may * be thrown if the method <code>isParameterAndReturnSpecRequired</code> * returns <code>false</code> for this operation. * @throws java.lang.IllegalArgumentException If any illegal * parameter name or XML type is specified */ public void addParameter(String paramName, QName xmlType, ParameterMode parameterMode); /** * Adds a parameter type and mode for a specific operation. * This method is used to specify the Java type for either * OUT or INOUT parameters. * * @param paramName Name of the parameter * @param xmlType XML datatype of the parameter * @param javaType The Java class of the parameter * @param parameterMode Mode of the parameter-whether * ParameterMode.IN, OUT or INOUT * @throws JAXRPCException <ul> * * <li>This exception may be thrown if this method is * invoked when the method <code>isParameterAndReturnSpecRequired</code> * returns <code>false</code>. * <li>If specified XML type and Java type mapping * is not valid. For example, <code>TypeMappingRegistry</code> * has no serializers for this mapping. * </ul> * @throws java.lang.IllegalArgumentException If any illegal * parameter name or XML type is specified * @throws java.lang.UnsupportedOperationException If this * method is not supported */ public void addParameter(String paramName, QName xmlType, Class javaType, ParameterMode parameterMode); /** * Gets the XML type of a parameter by name. * * @param paramName name of the parameter * * @return Returns XML type for the specified parameter */ public QName getParameterTypeByName(String paramName); /** * Sets the return type for a specific operation. Invoking * <code>setReturnType(null)</code> removes the return * type for this Call object. * * @param xmlType XML data type of the return value * @throws JAXRPCException This exception * may be thrown when the method * <code>isParameterAndReturnSpecRequired</code> returns * <code>false</code>. * @throws java.lang.IllegalArgumentException If an illegal * XML type is specified */ public void setReturnType(QName xmlType); /** * Sets the return type for a specific operation. * * @param xmlType XML data type of the return value * @param javaType Java class of the return value * @throws JAXRPCException <ul> * <li>This exception may be thrown if this method is * invoked when the method <code>isParameterAndReturnSpecRequired</code> * returns <code>false</code>. * <li>If XML type and Java type cannot be mapped * using the standard type mapping or TypeMapping * registry * </ul> * @throws java.lang.UnsupportedOperationException If this * method is not supported * @throws java.lang.IllegalArgumentException If an illegal * XML type is specified */ public void setReturnType(QName xmlType, Class javaType); /** * Gets the return type for a specific operation. * * @return the XML type for the return value */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -