Author: dblevins Date: Tue Feb 8 22:00:44 2005 New Revision: 153028 URL: http://svn.apache.org/viewcvs?view=rev&rev=153028 Log: Added more required J2EE libraries
Added: geronimo/trunk/specs/jaxrpc/ geronimo/trunk/specs/jaxrpc/LICENSE.txt geronimo/trunk/specs/jaxrpc/NOTICE.txt geronimo/trunk/specs/jaxrpc/project.xml geronimo/trunk/specs/jaxrpc/src/ geronimo/trunk/specs/jaxrpc/src/javax/ geronimo/trunk/specs/jaxrpc/src/javax/xml/ geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/ geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/Call.java geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/FactoryFinder.java geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/JAXRPCException.java geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/NamespaceConstants.java geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/ParameterMode.java geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/Service.java geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/ServiceException.java geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/ServiceFactory.java geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/Stub.java geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/encoding/ geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/encoding/DeserializationContext.java geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/encoding/Deserializer.java geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/encoding/DeserializerFactory.java geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/encoding/SerializationContext.java geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/encoding/Serializer.java geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/encoding/SerializerFactory.java geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/encoding/TypeMapping.java geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/encoding/TypeMappingRegistry.java geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/encoding/XMLType.java geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/handler/ geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/handler/GenericHandler.java geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/handler/Handler.java geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/handler/HandlerChain.java geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/handler/HandlerInfo.java geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/handler/HandlerRegistry.java geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/handler/MessageContext.java geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/handler/soap/ geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/handler/soap/SOAPMessageContext.java geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/holders/ geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/holders/BigDecimalHolder.java geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/holders/BigIntegerHolder.java geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/holders/BooleanHolder.java geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/holders/BooleanWrapperHolder.java geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/holders/ByteArrayHolder.java geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/holders/ByteHolder.java geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/holders/ByteWrapperHolder.java geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/holders/CalendarHolder.java geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/holders/DoubleHolder.java geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/holders/DoubleWrapperHolder.java geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/holders/FloatHolder.java geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/holders/FloatWrapperHolder.java geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/holders/Holder.java geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/holders/IntHolder.java geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/holders/IntegerWrapperHolder.java geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/holders/LongHolder.java geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/holders/LongWrapperHolder.java geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/holders/ObjectHolder.java geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/holders/QNameHolder.java geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/holders/ShortHolder.java geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/holders/ShortWrapperHolder.java geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/holders/StringHolder.java geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/server/ geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/server/ServiceLifecycle.java geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/server/ServletEndpointContext.java geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/soap/ geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/soap/SOAPFaultException.java geronimo/trunk/specs/qname/ geronimo/trunk/specs/qname/LICENSE.txt geronimo/trunk/specs/qname/NOTICE.txt geronimo/trunk/specs/qname/project.xml geronimo/trunk/specs/qname/src/ geronimo/trunk/specs/qname/src/javax/ geronimo/trunk/specs/qname/src/javax/xml/ geronimo/trunk/specs/qname/src/javax/xml/namespace/ geronimo/trunk/specs/qname/src/javax/xml/namespace/QName.java geronimo/trunk/specs/saaj/ geronimo/trunk/specs/saaj/LICENSE.txt geronimo/trunk/specs/saaj/NOTICE.txt geronimo/trunk/specs/saaj/project.xml geronimo/trunk/specs/saaj/src/ geronimo/trunk/specs/saaj/src/javax/ geronimo/trunk/specs/saaj/src/javax/xml/ geronimo/trunk/specs/saaj/src/javax/xml/soap/ geronimo/trunk/specs/saaj/src/javax/xml/soap/AttachmentPart.java geronimo/trunk/specs/saaj/src/javax/xml/soap/Detail.java geronimo/trunk/specs/saaj/src/javax/xml/soap/DetailEntry.java geronimo/trunk/specs/saaj/src/javax/xml/soap/FactoryFinder.java geronimo/trunk/specs/saaj/src/javax/xml/soap/MessageFactory.java geronimo/trunk/specs/saaj/src/javax/xml/soap/MimeHeader.java geronimo/trunk/specs/saaj/src/javax/xml/soap/MimeHeaders.java geronimo/trunk/specs/saaj/src/javax/xml/soap/Name.java geronimo/trunk/specs/saaj/src/javax/xml/soap/Node.java geronimo/trunk/specs/saaj/src/javax/xml/soap/SOAPBody.java geronimo/trunk/specs/saaj/src/javax/xml/soap/SOAPBodyElement.java geronimo/trunk/specs/saaj/src/javax/xml/soap/SOAPConnection.java geronimo/trunk/specs/saaj/src/javax/xml/soap/SOAPConnectionFactory.java geronimo/trunk/specs/saaj/src/javax/xml/soap/SOAPConstants.java geronimo/trunk/specs/saaj/src/javax/xml/soap/SOAPElement.java geronimo/trunk/specs/saaj/src/javax/xml/soap/SOAPElementFactory.java geronimo/trunk/specs/saaj/src/javax/xml/soap/SOAPEnvelope.java geronimo/trunk/specs/saaj/src/javax/xml/soap/SOAPException.java geronimo/trunk/specs/saaj/src/javax/xml/soap/SOAPFactory.java geronimo/trunk/specs/saaj/src/javax/xml/soap/SOAPFault.java geronimo/trunk/specs/saaj/src/javax/xml/soap/SOAPFaultElement.java geronimo/trunk/specs/saaj/src/javax/xml/soap/SOAPHeader.java geronimo/trunk/specs/saaj/src/javax/xml/soap/SOAPHeaderElement.java geronimo/trunk/specs/saaj/src/javax/xml/soap/SOAPMessage.java geronimo/trunk/specs/saaj/src/javax/xml/soap/SOAPPart.java geronimo/trunk/specs/saaj/src/javax/xml/soap/Text.java Modified: geronimo/trunk/etc/project.properties geronimo/trunk/specs/j2ee/project.xml Modified: geronimo/trunk/etc/project.properties URL: http://svn.apache.org/viewcvs/geronimo/trunk/etc/project.properties?view=diff&r1=153027&r2=153028 ============================================================================== --- geronimo/trunk/etc/project.properties (original) +++ geronimo/trunk/etc/project.properties Tue Feb 8 22:00:44 2005 @@ -84,10 +84,13 @@ geronimo_spec_j2ee_management_version=1.0-rc3 geronimo_spec_javamail_version=1.3.1-SNAPSHOT geronimo_spec_jaxr_version=1.0-rc3 +geronimo_spec_jaxrpc_version=1.1-rc3 geronimo_spec_jms_version=1.1-rc3 geronimo_spec_jsp_version=2.0-rc3 geronimo_spec_jta_version=1.0.1B-rc3 +geronimo_spec_saaj_version=1.1-rc3 geronimo_spec_servlet_version=2.4-rc3 +geronimo_spec_qname_version=1.1-rc3 activecluster_version=1.0-SNAPSHOT activemq_jetty_version=4.2.20RC0 Modified: geronimo/trunk/specs/j2ee/project.xml URL: http://svn.apache.org/viewcvs/geronimo/trunk/specs/j2ee/project.xml?view=diff&r1=153027&r2=153028 ============================================================================== --- geronimo/trunk/specs/j2ee/project.xml (original) +++ geronimo/trunk/specs/j2ee/project.xml Tue Feb 8 22:00:44 2005 @@ -142,18 +142,27 @@ </dependency> <dependency> - <groupId>axis</groupId> - <artifactId>axis-jaxrpc</artifactId> - <version>${axis_jaxrpc_version}</version> + <groupId>geronimo-spec</groupId> + <artifactId>geronimo-jaxrpc</artifactId> + <version>${geronimo_spec_jaxrpc_version}</version> <properties> <geronimo.spec.bundle>true</geronimo.spec.bundle> </properties> </dependency> <dependency> - <groupId>axis</groupId> - <artifactId>axis-saaj</artifactId> - <version>${axis_saaj_version}</version> + <groupId>geronimo-spec</groupId> + <artifactId>geronimo-spec-saaj</artifactId> + <version>${geronimo_spec_saaj_version}</version> + <properties> + <geronimo.spec.bundle>true</geronimo.spec.bundle> + </properties> + </dependency> + + <dependency> + <groupId>geronimo-spec</groupId> + <artifactId>geronimo-spec-qname</artifactId> + <version>${geronimo_spec_qname_version}</version> <properties> <geronimo.spec.bundle>true</geronimo.spec.bundle> </properties> Added: geronimo/trunk/specs/jaxrpc/LICENSE.txt URL: http://svn.apache.org/viewcvs/geronimo/trunk/specs/jaxrpc/LICENSE.txt?view=auto&rev=153028 ============================================================================== --- geronimo/trunk/specs/jaxrpc/LICENSE.txt (added) +++ geronimo/trunk/specs/jaxrpc/LICENSE.txt Tue Feb 8 22:00:44 2005 @@ -0,0 +1,203 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + 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. + Added: geronimo/trunk/specs/jaxrpc/NOTICE.txt URL: http://svn.apache.org/viewcvs/geronimo/trunk/specs/jaxrpc/NOTICE.txt?view=auto&rev=153028 ============================================================================== --- geronimo/trunk/specs/jaxrpc/NOTICE.txt (added) +++ geronimo/trunk/specs/jaxrpc/NOTICE.txt Tue Feb 8 22:00:44 2005 @@ -0,0 +1,3 @@ +This product includes software developed by +The Apache Software Foundation (http://www.apache.org/). + Added: geronimo/trunk/specs/jaxrpc/project.xml URL: http://svn.apache.org/viewcvs/geronimo/trunk/specs/jaxrpc/project.xml?view=auto&rev=153028 ============================================================================== --- geronimo/trunk/specs/jaxrpc/project.xml (added) +++ geronimo/trunk/specs/jaxrpc/project.xml Tue Feb 8 22:00:44 2005 @@ -0,0 +1,49 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + + Copyright 2003-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. +--> + + +<!-- $Rev: 46019 $ $Date: 2004-09-14 02:56:06 -0700 (Tue, 14 Sep 2004) $ --> + +<project> + <pomVersion>3</pomVersion> + <extend>../../etc/project.xml</extend> + + <name>Geronimo :: Java API for XML-Based RPC (JAXRPC)</name> + <groupId>geronimo-spec</groupId> + <id>geronimo-spec-jaxrpc</id> + <shortDescription>Java API for XML-Based RPC</shortDescription> + <description></description> + <siteDirectory></siteDirectory> + <distributionDirectory></distributionDirectory> + + <package>javax.xml.rpc</package> + + <currentVersion>${geronimo_spec_jaxrpc_version}</currentVersion> + + <!-- ============ --> + <!-- Dependencies --> + <!-- ============ --> + + <dependencies> + <dependency> + <groupId>geronimo-spec</groupId> + <artifactId>geronimo-spec-qname</artifactId> + <version>${geronimo_spec_qname_version}</version> + </dependency> + </dependencies> +</project> Added: geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/Call.java URL: http://svn.apache.org/viewcvs/geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/Call.java?view=auto&rev=153028 ============================================================================== --- geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/Call.java (added) +++ geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/Call.java Tue Feb 8 22:00:44 2005 @@ -0,0 +1,427 @@ +/* + * 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 + */ + public QName getReturnType(); + + /** + * Removes all specified parameters from this <code>Call</code> instance. + * Note that this method removes only the parameters and not + * the return type. The <code>setReturnType(null)</code> is + * used to remove the return type. + * + * @throws JAXRPCException This exception may be + * thrown If this method is called when the method + * <code>isParameterAndReturnSpecRequired</code> + * returns <code>false</code> for this Call's operation. + */ + public void removeAllParameters(); + + /** + * Gets the name of the operation to be invoked using this Call instance. + * + * @return Qualified name of the operation + */ + public QName getOperationName(); + + /** + * Sets the name of the operation to be invoked using this + * <code>Call</code> instance. + * + * @param operationName QName of the operation to be + * invoked using the Call instance + */ + public void setOperationName(QName operationName); + + /** + * Gets the qualified name of the port type. + * + * @return Qualified name of the port type + */ + public QName getPortTypeName(); + + /** + * Sets the qualified name of the port type. + * + * @param portType Qualified name of the port type + */ + public void setPortTypeName(QName portType); + + /** + * Sets the address of the target service endpoint. + * This address must correspond to the transport specified + * in the binding for this <code>Call</code> instance. + * + * @param address Address of the target service endpoint; + * specified as an URI + */ + public void setTargetEndpointAddress(String address); + + /** + * Gets the address of a target service endpoint. + * + * @return Endpoint address of the target service port as an URI + */ + public String getTargetEndpointAddress(); + + /** + * Sets the value for a named property. JAX-RPC specification + * specifies a standard set of properties that may be passed + * to the <code>Call.setProperty</code> method. + * + * @param name Name of the property + * @param value Value of the property + * @throws JAXRPCException <ul> + * <li>If an optional standard property name is + * specified, however this <code>Call</code> implementation + * class does not support the configuration of + * this property. + * <li>If an invalid (or unsupported) property name is + * specified or if a value of mismatched property + * type is passed. + * <li>If there is any error in the configuration of + * a valid property. + * </ul> + */ + public void setProperty(String name, Object value); + + /** + * Gets the value of a named property. + * + * @param name Name of the property + * + * @return Value of the named property + * @throws JAXRPCException if an invalid or + * unsupported property name is passed. + */ + public Object getProperty(String name); + + /** + * Removes a named property. + * + * @param name Name of the property + * @throws JAXRPCException if an invalid or + * unsupported property name is passed. + */ + public void removeProperty(String name); + + /** + * Gets the names of configurable properties supported by + * this <code>Call</code> object. + * + * @return Iterator for the property names + */ + public Iterator getPropertyNames(); + + // Remote Method Invocation methods + + /** + * Invokes a specific operation using a synchronous request-response + * interaction mode. + * + * @param inputParams Object[]--Parameters for this invocation. This + * includes only the input params + * + * @return Returns the return value or <code>null</code> + * + * @throws java.rmi.RemoteException if there is any error in the remote + * method invocation or if the Call + * object is not configured properly. + * @throws javax.xml.rpc.soap.SOAPFaultException Indicates a SOAP fault + * @throws JAXRPCException <ul> + * + * <li>If there is an error in the configuration of the + * <code>Call</code> object + * <li>If <code>inputParams</code> do not match the required parameter + * set (as specified through the <code>addParameter</code> + * invocations or in the corresponding WSDL) + * <li>If parameters and return type are incorrectly + * specified + * </ul> + */ + public Object invoke(Object[] inputParams) throws java.rmi.RemoteException; + + /** + * Invokes a specific operation using a synchronous request-response + * interaction mode. + * + * @param operationName QName of the operation + * @param inputParams Object[]--Parameters for this invocation. This + * includes only the input params. + * + * @return Return value or null + * + * @throws java.rmi.RemoteException if there is any error in the + * remote method invocation. + * @throws javax.xml.rpc.soap.SOAPFaultException Indicates a SOAP fault + * @throws JAXRPCException <ul> + * <li>If there is an error in the configuration of the + * <code>Cal</code>l object + * <li>If <code>inputParam</code>s do not match the required parameter + * set (as specified through the <code>addParameter</code> + * invocations or in the corresponding WSDL) + * <li>If parameters and return type are incorrectly + * specified + * </ul> + */ + public Object invoke(QName operationName, Object[] inputParams) + throws java.rmi.RemoteException; + + /** + * Invokes a remote method using the one-way interaction mode. The + * client thread does not block waiting for the completion of the + * server processing for this remote method invocation. This method + * must not throw any remote exceptions. This method may throw a + * <code>JAXRPCException</code> during the processing of the one-way + * remote call. + * + * @param params Object[]--Parameters for this invocation. This + * includes only the input params. + * + * @throws JAXRPCException if there is an error in the + * configuration of the <code>Call</code> object (example: a + * non-void return type has been incorrectly specified for the + * one-way call) or if there is any error during the + * invocation of the one-way remote call + */ + public void invokeOneWay(Object[] params); + + /** + * Returns a <code>Map</code> of {name, value} for the output parameters of + * the last invoked operation. The parameter names in the + * returned Map are of type <code>java.lang.String</code>. + * + * @return Map Output parameters for the last <code>Call.invoke()</code>. + * Empty <code>Map</code> is returned if there are no output + * parameters. + * @throws javax.xml.rpc.JAXRPCException If this method is invoked for a + * one-way operation or is invoked before any + * <code>invoke</code> method has been called. + */ + public Map getOutputParams(); + + /** + * Returns a <code>List</code> values for the output parameters + * of the last invoked operation. + * + * @return java.util.List Values for the output parameters. An + * empty <code>List</code> is returned if there are + * no output values. + * + * @throws JAXRPCException If this method is invoked for a + * one-way operation or is invoked before any + * <code>invoke</code> method has been called. + */ + public List getOutputValues(); +} + Added: geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/FactoryFinder.java URL: http://svn.apache.org/viewcvs/geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/FactoryFinder.java?view=auto&rev=153028 ============================================================================== --- geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/FactoryFinder.java (added) +++ geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/FactoryFinder.java Tue Feb 8 22:00:44 2005 @@ -0,0 +1,247 @@ +/* + * 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 java.io.BufferedReader; +import java.io.File; +import java.io.FileInputStream; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.lang.reflect.InvocationTargetException; +import java.lang.reflect.Method; +import java.util.Properties; + +/** + * This code is designed to implement the pluggability + * feature and is designed to both compile and run on JDK version 1.1 and + * later. The code also runs both as part of an unbundled jar file and + * when bundled as part of the JDK. + * + * This class is duplicated for each subpackage so keep it in sync. + * It is package private and therefore is not exposed as part of the JAXRPC + * API. + */ +class FactoryFinder { + /** Set to true for debugging. */ + private static final boolean debug = false; + + private static void debugPrintln(String msg) { + if (debug) { + System.err.println("JAXRPC: " + msg); + } + } + + /** + * Figure out which ClassLoader to use. For JDK 1.2 and later use + * the context ClassLoader. + * + * @return the <code>ClassLoader</code> + * @throws ConfigurationError if this class is unable to work with the + * host JDK + */ + private static ClassLoader findClassLoader() + throws ConfigurationError + { + Method m = null; + + try { + m = Thread.class.getMethod("getContextClassLoader", null); + } catch (NoSuchMethodException e) { + // Assume that we are running JDK 1.1, use the current ClassLoader + debugPrintln("assuming JDK 1.1"); + return FactoryFinder.class.getClassLoader(); + } + + try { + return (ClassLoader) m.invoke(Thread.currentThread(), null); + } catch (IllegalAccessException e) { + // assert(false) + throw new ConfigurationError("Unexpected IllegalAccessException", + e); + } catch (InvocationTargetException e) { + // assert(e.getTargetException() instanceof SecurityException) + throw new ConfigurationError("Unexpected InvocationTargetException", + e); + } + } + + /** + * Create an instance of a class using the specified + * <code>ClassLoader</code>, or if that fails from the + * <code>ClassLoader</code> that loaded this class. + * + * @param className the name of the class to instantiate + * @param classLoader a <code>ClassLoader</code> to load the class from + * + * @return a new <code>Object</code> that is an instance of the class of + * the given name from the given class loader + * @throws ConfigurationError if the class could not be found or + * instantiated + */ + private static Object newInstance(String className, + ClassLoader classLoader) + throws ConfigurationError + { + try { + if (classLoader != null) { + try { + return classLoader.loadClass(className).newInstance (); + } catch (ClassNotFoundException x) { + // try again + } + } + return Class.forName(className).newInstance(); + } catch (ClassNotFoundException x) { + throw new ConfigurationError( + "Provider " + className + " not found", x); + } catch (Exception x) { + throw new ConfigurationError( + "Provider " + className + " could not be instantiated: " + x, + x); + } + } + + /** + * Finds the implementation Class object in the specified order. Main + * entry point. + * @return Class object of factory, never null + * + * @param factoryId Name of the factory to find, same as + * a property name + * @param fallbackClassName Implementation class name, if nothing else + * is found. Use null to mean no fallback. + * + * @exception FactoryFinder.ConfigurationError + * + * Package private so this code can be shared. + */ + static Object find(String factoryId, String fallbackClassName) + throws ConfigurationError + { + debugPrintln("debug is on"); + + ClassLoader classLoader = findClassLoader(); + + // Use the system property first + try { + String systemProp = + System.getProperty( factoryId ); + if( systemProp!=null) { + debugPrintln("found system property " + systemProp); + return newInstance(systemProp, classLoader); + } + } catch (SecurityException se) { + } + + // try to read from $java.home/lib/xml.properties + try { + String javah=System.getProperty( "java.home" ); + String configFile = javah + File.separator + + "lib" + File.separator + "jaxrpc.properties"; + File f=new File( configFile ); + if( f.exists()) { + Properties props=new Properties(); + props.load( new FileInputStream(f)); + String factoryClassName = props.getProperty(factoryId); + debugPrintln("found java.home property " + factoryClassName); + return newInstance(factoryClassName, classLoader); + } + } catch(Exception ex ) { + if( debug ) ex.printStackTrace(); + } + + String serviceId = "META-INF/services/" + factoryId; + // try to find services in CLASSPATH + try { + InputStream is=null; + if (classLoader == null) { + is=ClassLoader.getSystemResourceAsStream( serviceId ); + } else { + is=classLoader.getResourceAsStream( serviceId ); + } + + if( is!=null ) { + debugPrintln("found " + serviceId); + + // Read the service provider name in UTF-8 as specified in + // the jar spec. Unfortunately this fails in Microsoft + // VJ++, which does not implement the UTF-8 + // encoding. Theoretically, we should simply let it fail in + // that case, since the JVM is obviously broken if it + // doesn't support such a basic standard. But since there + // are still some users attempting to use VJ++ for + // development, we have dropped in a fallback which makes a + // second attempt using the platform's default encoding. In + // VJ++ this is apparently ASCII, which is a subset of + // UTF-8... and since the strings we'll be reading here are + // also primarily limited to the 7-bit ASCII range (at + // least, in English versions), this should work well + // enough to keep us on the air until we're ready to + // officially decommit from VJ++. [Edited comment from + // jkesselm] + BufferedReader rd; + try { + rd = new BufferedReader(new InputStreamReader(is, "UTF-8")); + } catch (java.io.UnsupportedEncodingException e) { + rd = new BufferedReader(new InputStreamReader(is)); + } + + String factoryClassName = rd.readLine(); + rd.close(); + + if (factoryClassName != null && + ! "".equals(factoryClassName)) { + debugPrintln("loaded from services: " + factoryClassName); + return newInstance(factoryClassName, classLoader); + } + } + } catch( Exception ex ) { + if( debug ) ex.printStackTrace(); + } + + if (fallbackClassName == null) { + throw new ConfigurationError( + "Provider for " + factoryId + " cannot be found", null); + } + + debugPrintln("loaded from fallback value: " + fallbackClassName); + return newInstance(fallbackClassName, classLoader); + } + + static class ConfigurationError extends Error { + // fixme: should this be refactored to use the jdk1.4 exception + // wrapping? + + private Exception exception; + + /** + * Construct a new instance with the specified detail string and + * exception. + * + * @param msg the Message for this error + * @param x an Exception that caused this failure, or null + */ + ConfigurationError(String msg, Exception x) { + super(msg); + this.exception = x; + } + + Exception getException() { + return exception; + } + } +} Added: geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/JAXRPCException.java URL: http://svn.apache.org/viewcvs/geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/JAXRPCException.java?view=auto&rev=153028 ============================================================================== --- geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/JAXRPCException.java (added) +++ geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/JAXRPCException.java Tue Feb 8 22:00:44 2005 @@ -0,0 +1,90 @@ +/* + * 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; + +/** + * The <code>javax.xml.rpc.JAXRPCException</code> is thrown from + * the core JAX-RPC APIs to indicate an exception related to the + * JAX-RPC runtime mechanisms. + * + * @version 1.0 + */ +public class JAXRPCException extends RuntimeException { + + // fixme: Why doesn't this use the jdk1.4 exception wrapping APIs? + + /** The cause of this error. */ + Throwable cause; + + /** + * Constructs a new exception with <code>null</code> as its + * detail message. The cause is not initialized. + */ + public JAXRPCException() {} + + /** + * Constructs a new exception with the specified detail + * message. The cause is not initialized. + * + * @param message The detail message which is later + * retrieved using the getMessage method + */ + public JAXRPCException(String message) { + super(message); + } + + /** + * Constructs a new exception with the specified detail + * message and cause. + * + * @param message The detail message which is later retrieved + * using the getMessage method + * @param cause The cause which is saved for the later + * retrieval throw by the getCause method + */ + public JAXRPCException(String message, Throwable cause) { + super(message); + this.cause = cause; + } + + /** + * Constructs a new JAXRPCException with the specified cause + * and a detail message of <tt>(cause==null ? null : + * cause.toString())</tt> (which typically contains the + * class and detail message of <tt>cause</tt>). + * + * @param cause The cause which is saved for the later + * retrieval throw by the getCause method. + * (A <tt>null</tt> value is permitted, and + * indicates that the cause is nonexistent or + * unknown.) + */ + public JAXRPCException(Throwable cause) { + super( (cause == null) ? null : cause.toString() ); + this.cause = cause; + } + + /** + * Gets the linked cause. + * + * @return The cause of this Exception or <code>null</code> + * if the cause is noexistent or unknown + */ + public Throwable getLinkedCause() { + return cause; + } + +} Added: geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/NamespaceConstants.java URL: http://svn.apache.org/viewcvs/geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/NamespaceConstants.java?view=auto&rev=153028 ============================================================================== --- geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/NamespaceConstants.java (added) +++ geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/NamespaceConstants.java Tue Feb 8 22:00:44 2005 @@ -0,0 +1,63 @@ +/* + * 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; + +/** + * Constants used in JAX-RPC for namespace prefixes and URIs. + * + * @version 1.0 + */ +public class NamespaceConstants { + // fixme: we should have a private constructor and/or be final + + /** + * Constructor NamespaceConstants. + */ + public NamespaceConstants() {} + + /** Namespace prefix for SOAP Envelope. */ + public static final String NSPREFIX_SOAP_ENVELOPE = "soapenv"; + + /** Namespace prefix for SOAP Encoding. */ + public static final String NSPREFIX_SOAP_ENCODING = "soapenc"; + + /** Namespace prefix for XML schema XSD. */ + public static final String NSPREFIX_SCHEMA_XSD = "xsd"; + + /** Namespace prefix for XML Schema XSI. */ + public static final String NSPREFIX_SCHEMA_XSI = "xsi"; + + /** Nameapace URI for SOAP 1.1 Envelope. */ + public static final String NSURI_SOAP_ENVELOPE = + "http://schemas.xmlsoap.org/soap/envelope/"; + + /** Nameapace URI for SOAP 1.1 Encoding. */ + public static final String NSURI_SOAP_ENCODING = + "http://schemas.xmlsoap.org/soap/encoding/"; + + /** Nameapace URI for SOAP 1.1 next actor role. */ + public static final String NSURI_SOAP_NEXT_ACTOR = + "http://schemas.xmlsoap.org/soap/actor/next"; + + /** Namespace URI for XML Schema XSD. */ + public static final String NSURI_SCHEMA_XSD = + "http://www.w3.org/2001/XMLSchema"; + + /** Namespace URI for XML Schema XSI. */ + public static final String NSURI_SCHEMA_XSI = + "http://www.w3.org/2001/XMLSchema-instance"; +} + Added: geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/ParameterMode.java URL: http://svn.apache.org/viewcvs/geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/ParameterMode.java?view=auto&rev=153028 ============================================================================== --- geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/ParameterMode.java (added) +++ geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/ParameterMode.java Tue Feb 8 22:00:44 2005 @@ -0,0 +1,52 @@ +/* + * 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; + +/** + * The <code>javax.xml.rpc.ParameterMode</code> is a type-safe + * enumeration for parameter mode. This class is used in the + * <code>Call</code>API to specify parameter passing modes. + * + * @version 1.0 + */ +public class ParameterMode { + + /** Mode name. */ + private final String mode; + + /** The mode is 'IN'. */ + public static final ParameterMode IN = new ParameterMode("IN"); + + /** The mode is 'INOUT'. */ + public static final ParameterMode INOUT = new ParameterMode("INOUT"); + + /** The mode is 'OUT'. */ + public static final ParameterMode OUT = new ParameterMode("OUT"); + + /** + * Make a new mode. + * + * @param mode name for the mode + */ + private ParameterMode(String mode) { + this.mode = mode; + } + + public String toString() { + return mode; + } +} + Added: geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/Service.java URL: http://svn.apache.org/viewcvs/geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/Service.java?view=auto&rev=153028 ============================================================================== --- geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/Service.java (added) +++ geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/Service.java Tue Feb 8 22:00:44 2005 @@ -0,0 +1,224 @@ +/* + * 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 javax.xml.rpc.encoding.TypeMappingRegistry; +import javax.xml.rpc.handler.HandlerRegistry; + +/** + * <code>Service</code> class acts as a factory of the following: + * <ul> + * <li>Dynamic proxy for the target service endpoint. + * <li>Instance of the type <code>javax.xml.rpc.Call</code> for + * the dynamic invocation of a remote operation on the + * target service endpoint. + * <li>Instance of a generated stub class + * </ul> + * + * @version 1.0 + */ +public interface Service { + + /** + * The getPort method returns either an instance of a generated + * stub implementation class or a dynamic proxy. A service client + * uses this dynamic proxy to invoke operations on the target + * service endpoint. The <code>serviceEndpointInterface</code> + * specifies the service endpoint interface that is supported by + * the created dynamic proxy or stub instance. + * + * @param portName Qualified name of the service endpoint in + * the WSDL service description + * @param serviceEndpointInterface Service endpoint interface + * supported by the dynamic proxy or stub + * instance + * @return java.rmi.Remote Stub instance or dynamic proxy that + * supports the specified service endpoint + * interface + * @throws ServiceException This exception is thrown in the + * following cases: + * <ul> + * <li>If there is an error in creation of + * the dynamic proxy or stub instance + * <li>If there is any missing WSDL metadata + * as required by this method + * <li>Optionally, if an illegal + * <code>serviceEndpointInterface</code> + * or <code>portName</code> is specified + * </ul> + */ + public java.rmi + .Remote getPort(QName portName, Class serviceEndpointInterface) + throws ServiceException; + + /** + * The getPort method returns either an instance of a generated + * stub implementation class or a dynamic proxy. The parameter + * <code>serviceEndpointInterface</code> specifies the service + * endpoint interface that is supported by the returned stub or + * proxy. In the implementation of this method, the JAX-RPC + * runtime system takes the responsibility of selecting a protocol + * binding (and a port) and configuring the stub accordingly. + * The returned <code>Stub</code> instance should not be + * reconfigured by the client. + * + * @param serviceEndpointInterface Service endpoint interface + * @return Stub instance or dynamic proxy that supports the + * specified service endpoint interface + * + * @throws ServiceException <ul> + * <li>If there is an error during creation + * of stub instance or dynamic proxy + * <li>If there is any missing WSDL metadata + * as required by this method + * <li>Optionally, if an illegal + * <code>serviceEndpointInterface</code> + * + * is specified + * </ul> + */ + public java.rmi.Remote getPort(Class serviceEndpointInterface) + throws ServiceException; + + /** + * Gets an array of preconfigured <code>Call</code> objects for + * invoking operations on the specified port. There is one + * <code>Call</code> object per operation that can be invoked + * on the specified port. Each <code>Call</code> object is + * pre-configured and does not need to be configured using + * the setter methods on <code>Call</code> interface. + * + * <p>Each invocation of the <code>getCalls</code> method + * returns a new array of preconfigured <code>Call</code> + * + * objects + * + * <p>This method requires the <code>Service</code> implementation + * class to have access to the WSDL related metadata. + * + * @param portName Qualified name for the target service endpoint + * @return Call[] Array of pre-configured Call objects + * @throws ServiceException If this Service class does not + * have access to the required WSDL metadata + * or if an illegal <code>portName</code> is + * specified. + */ + public Call[] getCalls(QName portName) throws ServiceException; + + /** + * Creates a <code>Call</code> instance. + * + * @param portName Qualified name for the target service endpoint + * @return Call instance + * @throws ServiceException If any error in the creation of + * the <code>Call</code> object + */ + public Call createCall(QName portName) throws ServiceException; + + /** + * Creates a <code>Call</code> instance. + * + * @param portName Qualified name for the target service + * endpoint + * @param operationName Qualified Name of the operation for + * which this <code>Call</code> object is to + * be created. + * @return Call instance + * @throws ServiceException If any error in the creation of + * the <code>Call</code> object + */ + public Call createCall(QName portName, QName operationName) + throws ServiceException; + + /** + * Creates a <code>Call</code> instance. + * + * @param portName Qualified name for the target service + * endpoint + * @param operationName Name of the operation for which this + * <code>Call</code> object is to be + * created. + * @return Call instance + * @throws ServiceException If any error in the creation of + * the <code>Call</code> object + */ + public Call createCall(QName portName, String operationName) + throws ServiceException; + + /** + * Creates a <code>Call</code> object not associated with + * specific operation or target service endpoint. This + * <code>Call</code> object needs to be configured using the + * setter methods on the <code>Call</code> interface. + * + * @return Call object + * @throws ServiceException If any error in the creation of + * the <code>Call</code> object + */ + public Call createCall() throws ServiceException; + + /** + * Gets the name of this Service. + * + * @return Qualified name of this service + */ + public QName getServiceName(); + + /** + * Returns an <code>Iterator</code> for the list of + * <code>QName</code>s of service endpoints grouped by this + * service. + * + * @return Returns <code>java.util.Iterator</code> with elements + * of type <code>javax.xml.namespace.QName</code> + * @throws ServiceException If this Service class does not + * have access to the required WSDL metadata + */ + public java.util.Iterator getPorts() throws ServiceException; + + /** + * Gets location of the WSDL document for this Service. + * + * @return URL for the location of the WSDL document for + * this service + */ + public java.net.URL getWSDLDocumentLocation(); + + /** + * Gets the <code>TypeMappingRegistry</code> for this + * <code>Service</code> object. The returned + * <code>TypeMappingRegistry</code> instance is pre-configured + * to support the standard type mapping between XML and Java + * types types as required by the JAX-RPC specification. + * + * @return The TypeMappingRegistry for this Service object. + * @throws java.lang.UnsupportedOperationException if the <code>Service</code> class does not support + * the configuration of <code>TypeMappingRegistry</code>. + */ + public TypeMappingRegistry getTypeMappingRegistry(); + + /** + * Returns the configured <code>HandlerRegistry</code> instance + * for this <code>Service</code> instance. + * + * @return HandlerRegistry + * @throws java.lang.UnsupportedOperationException - if the <code>Service</code> class does not support + * the configuration of a <code>HandlerRegistry</code> + */ + public HandlerRegistry getHandlerRegistry(); +} + Added: geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/ServiceException.java URL: http://svn.apache.org/viewcvs/geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/ServiceException.java?view=auto&rev=153028 ============================================================================== --- geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/ServiceException.java (added) +++ geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/ServiceException.java Tue Feb 8 22:00:44 2005 @@ -0,0 +1,92 @@ +/* + * 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; + +/** + * The <code>javax.xml.rpc.ServiceException</code> is thrown from the + * methods in the <code>javax.xml.rpc.Service</code> interface and + * <code>ServiceFactory</code> class. + * + * + * @version 1.0 + */ +public class ServiceException extends Exception { + + // fixme: could we refactor this to use the jdk1.4 exception wrapping stuff? + + /** The cause of this exception. */ + Throwable cause; + + /** + * Constructs a new exception with <code>null</code> as its + * detail message. The cause is not initialized. + */ + public ServiceException() {} + + /** + * Constructs a new exception with the specified detail + * message. The cause is not initialized. + * + * @param message The detail message which is later + * retrieved using the <code>getMessage</code> method + */ + public ServiceException(String message) { + super(message); + } + + /** + * Constructs a new exception with the specified detail + * message and cause. + * + * @param message the detail message which is later retrieved + * using the <code>getMessage</code> method + * @param cause the cause which is saved for the later + * retrieval throw by the <code>getCause</code> + * method + */ + public ServiceException(String message, Throwable cause) { + super(message); + this.cause = cause; + } + + /** + * Constructs a new exception with the specified cause + * and a detail message of <tt>(cause==null ? null : + * cause.toString())</tt> (which typically contains the + * class and detail message of <tt>cause</tt>). + * + * @param cause the cause which is saved for the later + * retrieval throw by the getCause method. + * (A <tt>null</tt> value is permitted, and + * indicates that the cause is nonexistent or + * unknown.) + */ + public ServiceException(Throwable cause) { + super( (cause == null) ? null : cause.toString() ); + this.cause = cause; + } + + /** + * Gets the linked cause. + * + * @return the cause of this Exception or <code>null</code> + * if the cause is noexistent or unknown + */ + public Throwable getLinkedCause() { + return cause; + } + +} Added: geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/ServiceFactory.java URL: http://svn.apache.org/viewcvs/geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/ServiceFactory.java?view=auto&rev=153028 ============================================================================== --- geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/ServiceFactory.java (added) +++ geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/ServiceFactory.java Tue Feb 8 22:00:44 2005 @@ -0,0 +1,108 @@ +/* + * 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.net.URL; + +/** + * The <code>javax.xml.rpc.ServiceFactory</code> is an abstract class + * that provides a factory for the creation of instances of the type + * <code>javax.xml.rpc.Service</code>. This abstract class follows the + * abstract static factory design pattern. This enables a J2SE based + * client to create a <code>Service instance</code> in a portable manner + * without using the constructor of the <code>Service</code> + * implementation class. + * <p> + * The ServiceFactory implementation class is set using the + * system property <code>SERVICEFACTORY_PROPERTY</code>. + * + * @version 1.0 + */ +public abstract class ServiceFactory { + + /** Protected constructor. */ + protected ServiceFactory() {} + + /** + * A constant representing the property used to lookup the + * name of a <code>ServiceFactory</code> implementation + * class. + */ + public static final java.lang.String SERVICEFACTORY_PROPERTY = + "javax.xml.rpc.ServiceFactory"; + + /** + * Gets an instance of the <code>ServiceFactory</code> + * + * <p>Only one copy of a factory exists and is returned to the + * application each time this method is called. + * + * <p> The implementation class to be used can be overridden by + * setting the javax.xml.rpc.ServiceFactory system property. + * + * @return ServiceFactory. + * @throws ServiceException + */ + public static ServiceFactory newInstance() throws ServiceException { + + try { + return (ServiceFactory) FactoryFinder.find( + /* The default property name according to the JAXRPC spec */ + SERVICEFACTORY_PROPERTY, + /* The fallback implementation class name */ + "org.apache.axis.client.ServiceFactory"); + } catch (FactoryFinder.ConfigurationError e) { + throw new ServiceException(e.getException()); + } + } + + /** + * Create a <code>Service</code> instance. + * + * @param wsdlDocumentLocation URL for the WSDL document location + * @param serviceName QName for the service. + * @return Service. + * @throws ServiceException If any error in creation of the + * specified service + */ + public abstract Service createService( + URL wsdlDocumentLocation, QName serviceName) throws ServiceException; + + /** + * Create a <code>Service</code> instance. + * + * @param serviceName QName for the service + * @return Service. + * @throws ServiceException If any error in creation of the specified service + */ + public abstract Service createService(QName serviceName) + throws ServiceException; + + public abstract Service loadService(java.lang.Class class1) + throws ServiceException; + + public abstract Service loadService(java.net.URL url, + java.lang.Class class1, + java.util.Properties properties) + throws ServiceException; + + public abstract Service loadService(java.net.URL url, + QName qname, + java.util.Properties properties) + throws ServiceException; +} + Added: geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/Stub.java URL: http://svn.apache.org/viewcvs/geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/Stub.java?view=auto&rev=153028 ============================================================================== --- geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/Stub.java (added) +++ geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/Stub.java Tue Feb 8 22:00:44 2005 @@ -0,0 +1,119 @@ +/* + * 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 java.util.Iterator; + +/** + * The interface <code>javax.xml.rpc.Stub</code> is the common base interface + * for the stub classes. All generated stub classes are required to + * implement the <code>javax.xml.rpc.Stub</code> interface. An instance + * of a stub class represents a client side proxy or stub instance for + * the target service endpoint. + * + * <p>The <code>javax.xml.rpc.Stub</code> interface provides an + * extensible property mechanism for the dynamic configuration of + * a stub instance. + * + * @version 1.0 + */ +public interface Stub { + + // Constants for the standard properties + + /** + * Standard property: User name for authentication. + * <p>Type: java.lang.String + */ + public static final String USERNAME_PROPERTY = Call.USERNAME_PROPERTY; + + /** + * Standard property: Password for authentication. + * <p>Type: java.lang.String + */ + public static final String PASSWORD_PROPERTY = Call.PASSWORD_PROPERTY; + + /** + * Standard property: Target service endpoint address. The + * URI scheme for the endpoint address specification must + * correspond to the protocol/transport binding for this + * stub class. + * <p>Type: java.lang.String + */ + public static final String ENDPOINT_ADDRESS_PROPERTY = + "javax.xml.rpc.service.endpoint.address"; + + /** + * 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 false. + * <p>Type: java.lang.Boolean + */ + public static final String SESSION_MAINTAIN_PROPERTY = + Call.SESSION_MAINTAIN_PROPERTY; + + /** + * Sets the name and value of a configuration property + * for this Stub instance. If the Stub instances contains + * a value of the same property, the old value is replaced. + * <p>Note that the <code>_setProperty</code> method may not + * perform validity check on a configured property value. An + * example is the standard property for the target service + * endpoint address that is not checked for validity in the + * <code>_setProperty</code> method. + * In this case, stub configuration errors are detected at + * the remote method invocation. + * + * @param name Name of the configuration property + * @param value Value of the property + * @throws JAXRPCException <ul> + * <li>If an optional standard property name is + * specified, however this Stub implementation + * class does not support the configuration of + * this property. + * <li>If an invalid or unsupported property name is + * specified or if a value of mismatched property + * type is passed. + * <li>If there is any error in the configuration of + * a valid property. + * </ul> + */ + public void _setProperty(String name, Object value); + + /** + * Gets the value of a specific configuration property. + * + * @param name Name of the property whose value is to be + * retrieved + * @return Value of the configuration property + * @throws JAXRPCException if an invalid or + * unsupported property name is passed. + */ + public Object _getProperty(String name); + + /** + * Returns an <code>Iterator</code> view of the names of the properties + * that can be configured on this stub instance. + * + * @return Iterator for the property names of the type + * <code>java.lang.String</code> + */ + public Iterator _getPropertyNames(); +} // interface Stub + Added: geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/encoding/DeserializationContext.java URL: http://svn.apache.org/viewcvs/geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/encoding/DeserializationContext.java?view=auto&rev=153028 ============================================================================== --- geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/encoding/DeserializationContext.java (added) +++ geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/encoding/DeserializationContext.java Tue Feb 8 22:00:44 2005 @@ -0,0 +1,26 @@ +/* + * 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.encoding; + +/** + * The javax.xml.rpc.encoding.DeserializationContext interface is implemented by the JAX-RPC runtime system in an XML + * processing mechanism specific manner. A deserializer uses this interface to access and maintain context information + * during the deserialization.. + * + * @version 1.0 + */ +public interface DeserializationContext {} + Added: geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/encoding/Deserializer.java URL: http://svn.apache.org/viewcvs/geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/encoding/Deserializer.java?view=auto&rev=153028 ============================================================================== --- geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/encoding/Deserializer.java (added) +++ geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/encoding/Deserializer.java Tue Feb 8 22:00:44 2005 @@ -0,0 +1,37 @@ +/* + * 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.encoding; + +/** + * The javax.xml.rpc.encoding.Deserializer interface defines a + * base interface for deserializers. A Deserializer converts + * an XML representation to a Java object using a specific XML + * processing mechanism and based on the specified type + * mapping and encoding style. + * + * @version 1.0 + */ +public interface Deserializer extends java.io.Serializable { + + /** + * Gets the type of the XML processing mechanism and + * representation used by this Deserializer. + * + * @return XML processing mechanism type + */ + public String getMechanismType(); +} + Added: geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/encoding/DeserializerFactory.java URL: http://svn.apache.org/viewcvs/geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/encoding/DeserializerFactory.java?view=auto&rev=153028 ============================================================================== --- geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/encoding/DeserializerFactory.java (added) +++ geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/encoding/DeserializerFactory.java Tue Feb 8 22:00:44 2005 @@ -0,0 +1,50 @@ +/* + * 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.encoding; + +/** + * The javax.xml.rpc.encoding.DeserializerFactory is a factory of + * deserializers. A DeserializerFactory is registered with a + * TypeMapping instance as part of the TypeMappingRegistry. + * + * @version 1.0 + */ +public interface DeserializerFactory extends java.io.Serializable { + + /** + * Returns a Deserializer for the specified XML processing mechanism type. + * + * @param mechanismType XML processing mechanism type [TBD: definition of + * valid constants] + * + * @return a Deserializer for the specified XML processing mechanism type + * + * @throws javax.xml.rpc.JAXRPCException if DeserializerFactory does not + * support the specified XML processing mechanism + */ + public Deserializer getDeserializerAs(String mechanismType); + + /** + * Returns an <code>Iterator</code> over the list of all XML processing + * mechanism types supported by this <code>DeserializerFactory</code>. + * + * @return an <code>Iterator</code> over the unique identifiers for the + * supported XML processing mechanism types (as + * <code>String</code>s?) + */ + public java.util.Iterator getSupportedMechanismTypes(); +} + Added: geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/encoding/SerializationContext.java URL: http://svn.apache.org/viewcvs/geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/encoding/SerializationContext.java?view=auto&rev=153028 ============================================================================== --- geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/encoding/SerializationContext.java (added) +++ geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/encoding/SerializationContext.java Tue Feb 8 22:00:44 2005 @@ -0,0 +1,29 @@ +/* + * 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.encoding; + +/** + * The javax.xml.rpc.encoding.SerializationContext interface is + * implemented by the JAX-RPC runtime system in an XML processing + * mechanism specific manner. A serializer uses the + * SerializationContext interface during the serialization to get + * the context information related to the XML processing mechanism + * and to manage information specific to serialization. + * + * @version 1.0 + */ +public interface SerializationContext {} +