Return-Path: Delivered-To: apmail-ws-axis-cvs-archive@www.apache.org Received: (qmail 17088 invoked from network); 29 Jun 2005 14:05:29 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 29 Jun 2005 14:05:29 -0000 Received: (qmail 80629 invoked by uid 500); 29 Jun 2005 14:05:27 -0000 Delivered-To: apmail-ws-axis-cvs-archive@ws.apache.org Received: (qmail 80563 invoked by uid 500); 29 Jun 2005 14:05:27 -0000 Mailing-List: contact axis-cvs-help@ws.apache.org; run by ezmlm Precedence: bulk list-help: list-unsubscribe: List-Post: List-Id: Delivered-To: mailing list axis-cvs@ws.apache.org Received: (qmail 80548 invoked by uid 99); 29 Jun 2005 14:05:27 -0000 X-ASF-Spam-Status: No, hits=0.2 required=10.0 tests=NO_REAL_NAME X-Spam-Check-By: apache.org Received: from [209.237.227.194] (HELO minotaur.apache.org) (209.237.227.194) by apache.org (qpsmtpd/0.29) with SMTP; Wed, 29 Jun 2005 07:05:26 -0700 Received: (qmail 17045 invoked by uid 65534); 29 Jun 2005 14:05:24 -0000 Message-ID: <20050629140524.17044.qmail@minotaur.apache.org> Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r202378 - in /webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/jaxws/src: javax/xml/rpc/handler/soap/ org/apache/axis/jaxrpc/ Date: Wed, 29 Jun 2005 14:05:23 -0000 To: axis-cvs@ws.apache.org From: ashutosh@apache.org X-Mailer: svnmailer-1.0.2 X-Virus-Checked: Checked by ClamAV on apache.org X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N Author: ashutosh Date: Wed Jun 29 07:05:22 2005 New Revision: 202378 URL: http://svn.apache.org/viewcvs?rev=202378&view=rev Log: Implementation of JAXRPCContext, BindingProvider and related files. Added: webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/jaxws/src/javax/xml/rpc/handler/soap/SOAPMessageContext.java webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/jaxws/src/org/apache/axis/jaxrpc/BindingProviderImpl.java webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/jaxws/src/org/apache/axis/jaxrpc/JAXRPCContextImpl.java webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/jaxws/src/org/apache/axis/jaxrpc/JAXRPCRequestContext.java webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/jaxws/src/org/apache/axis/jaxrpc/JAXRPCResponseContext.java Modified: webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/jaxws/src/org/apache/axis/jaxrpc/ServiceFactoryImpl.java Added: webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/jaxws/src/javax/xml/rpc/handler/soap/SOAPMessageContext.java URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/jaxws/src/javax/xml/rpc/handler/soap/SOAPMessageContext.java?rev=202378&view=auto ============================================================================== --- webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/jaxws/src/javax/xml/rpc/handler/soap/SOAPMessageContext.java (added) +++ webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/jaxws/src/javax/xml/rpc/handler/soap/SOAPMessageContext.java Wed Jun 29 07:05:22 2005 @@ -0,0 +1,76 @@ +/* + * Copyright 2004,2005 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.handler.soap; + +import javax.xml.rpc.handler.MessageContext; +import javax.xml.rpc.JAXRPCException; + +/** + * public interface SOAPMessageContext + * extends MessageContext + *

+ * The interface javax.xml.rpc.handler.soap.SOAPMessageContext provides access to the SOAP message for either RPC + * request or response. The javax.xml.soap.SOAPMessage specifies the standard Java API for the representation of a SOAP + * 1.1 message with attachments. + * @version 1.0 + * @author shaas02 + * @see SOAPMessage + */ +public interface SOAPMessageContext extends MessageContext { + + /** + * Gets the SOAPMessage from this message context. Modifications to the returned SOAPMessage change the message + * in-place, there is no need to susequently call setMessage. + * @return Returns the SOAPMessage; returns null if no SOAPMessage is present in this message context + */ + javax.xml.soap.SOAPMessage getMessage(); + + /** + * Sets the SOAPMessage in this message context + * @param message - SOAP message + * @throws JAXRPCException - If any error during the setting of the SOAPMessage in this message context + * @throws java.lang.UnsupportedOperationException - If this operation is not supported + * + */ + void setMessage(javax.xml.soap.SOAPMessage message) throws JAXRPCException, java.lang.UnsupportedOperationException; + + /** + * Gets headers that have a particular qualified name from the message in the message context. Note that a SOAP message + * can contain multiple headers with the same qualified name. + * @param header - The XML qualified name of the SOAP header(s). + * @param context - The JAXBContext that should be used to unmarshall the header + * @param allRoles - If true then returns headers for all SOAP roles, if false then only returns headers targetted at the + * roles currently being played by this SOAP node, see getRoles. + * @return An array of unmarshalled headers; returns an empty array if no message is present in this message context or no + * headers match the supplied qualified name. + * @throws JAXRPCException - If an error occurs when using the supplied JAXBContext to unmarshall. The cause of the + * JAXRPCException is the original JAXBException. + */ + java.lang.Object[] getHeaders(javax.xml.namespace.QName header, + javax.xml.bind.JAXBContext context, + boolean allRoles) throws JAXRPCException; + + /** + * Gets the SOAP actor roles associated with an execution of the handler chain. Note that SOAP actor roles apply to the + * SOAP node and are managed using SOAPBinding.setRoles and SOAPBinding.getRoles. Handler instances in the + * handler chain use this information about the SOAP actor roles to process the SOAP header blocks. Note that the SOAP + * actor roles are invariant during the processing of SOAP message through the handler chain. + * @return Array of URIs for SOAP actor roles + * @see SOAPBinding.setRoles(java.util.Set) , SOAPBinding.getRoles() + */ + java.lang.String[] getRoles(); +} Added: webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/jaxws/src/org/apache/axis/jaxrpc/BindingProviderImpl.java URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/jaxws/src/org/apache/axis/jaxrpc/BindingProviderImpl.java?rev=202378&view=auto ============================================================================== --- webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/jaxws/src/org/apache/axis/jaxrpc/BindingProviderImpl.java (added) +++ webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/jaxws/src/org/apache/axis/jaxrpc/BindingProviderImpl.java Wed Jun 29 07:05:22 2005 @@ -0,0 +1,45 @@ +/* + * Copyright 2004,2005 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 org.apache.axis.jaxrpc; + +import javax.xml.rpc.Binding; +import javax.xml.rpc.BindingProvider; +import javax.xml.rpc.JAXRPCContext; + +public class BindingProviderImpl implements BindingProvider { + + protected JAXRPCRequestContext requestContext; + protected JAXRPCResponseContext responseContext; + + public JAXRPCContext getRequestContext() { + if(requestContext == null) + requestContext = new JAXRPCRequestContext(this); + return requestContext; + } + + public JAXRPCContext getResponseContext() { + if(responseContext == null) + responseContext = new JAXRPCResponseContext(this); + return null; + } + + public Binding getBinding() { + + return null; + } + +} Added: webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/jaxws/src/org/apache/axis/jaxrpc/JAXRPCContextImpl.java URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/jaxws/src/org/apache/axis/jaxrpc/JAXRPCContextImpl.java?rev=202378&view=auto ============================================================================== --- webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/jaxws/src/org/apache/axis/jaxrpc/JAXRPCContextImpl.java (added) +++ webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/jaxws/src/org/apache/axis/jaxrpc/JAXRPCContextImpl.java Wed Jun 29 07:05:22 2005 @@ -0,0 +1,81 @@ +/* + * Copyright 2004,2005 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 org.apache.axis.jaxrpc; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Map; + +import javax.xml.rpc.BindingProvider; +import javax.xml.rpc.JAXRPCContext; +import javax.xml.rpc.JAXRPCException; + +public class JAXRPCContextImpl implements JAXRPCContext { + + protected static List standardProperties; + protected static Map properties; + protected Object associatedObject; + + public JAXRPCContextImpl(BindingProvider provider){ + + associatedObject = provider; + + properties = new HashMap(); + + standardProperties = new ArrayList(); + standardProperties.add("javax.xml.rpc.binding.attachments"); + standardProperties.add("javax.xml.rpc.wsdl.description"); + standardProperties.add("javax.xml.rpc.wsdl.service"); + standardProperties.add("javax.xml.rpc.wsdl.port"); + standardProperties.add("javax.xml.rpc.wsdl.interface"); + standardProperties.add("javax.xml.rpc.wsdl.operation"); + } + + public void setProperty(String name, Object value) + throws IllegalArgumentException { + validateProperty(name, value); + properties.put(name, value); + } + + public void removeProperty(String name) throws IllegalArgumentException { + validateProperty(name, null); + properties.remove(name); + } + + public Object getProperty(String name) throws IllegalArgumentException { + validateProperty(name, null); + return properties.get(name); + } + + public Iterator getPropertyNames() { + if(properties != null) + return properties.keySet().iterator(); + else + return null; + } + + private void validateProperty(String name, Object value){ + if(name == null) + throw new JAXRPCException("User-defined property name can not be null"); + if(standardProperties.indexOf(name) == -1 && name.startsWith("javax.xml.rpc")) + throw new JAXRPCException("User-Defined property can not start with javax.ml.rpc"); + + } + +} Added: webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/jaxws/src/org/apache/axis/jaxrpc/JAXRPCRequestContext.java URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/jaxws/src/org/apache/axis/jaxrpc/JAXRPCRequestContext.java?rev=202378&view=auto ============================================================================== --- webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/jaxws/src/org/apache/axis/jaxrpc/JAXRPCRequestContext.java (added) +++ webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/jaxws/src/org/apache/axis/jaxrpc/JAXRPCRequestContext.java Wed Jun 29 07:05:22 2005 @@ -0,0 +1,27 @@ +/* + * Copyright 2004,2005 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 org.apache.axis.jaxrpc; + +import javax.xml.rpc.BindingProvider; + +public class JAXRPCRequestContext extends JAXRPCContextImpl { + + public JAXRPCRequestContext(BindingProvider provider){ + super(provider); + } + +} Added: webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/jaxws/src/org/apache/axis/jaxrpc/JAXRPCResponseContext.java URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/jaxws/src/org/apache/axis/jaxrpc/JAXRPCResponseContext.java?rev=202378&view=auto ============================================================================== --- webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/jaxws/src/org/apache/axis/jaxrpc/JAXRPCResponseContext.java (added) +++ webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/jaxws/src/org/apache/axis/jaxrpc/JAXRPCResponseContext.java Wed Jun 29 07:05:22 2005 @@ -0,0 +1,26 @@ +/* + * Copyright 2004,2005 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 org.apache.axis.jaxrpc; + +import javax.xml.rpc.BindingProvider; + +public class JAXRPCResponseContext extends JAXRPCContextImpl { + + public JAXRPCResponseContext(BindingProvider provider){ + super(provider); + } +} Modified: webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/jaxws/src/org/apache/axis/jaxrpc/ServiceFactoryImpl.java URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/jaxws/src/org/apache/axis/jaxrpc/ServiceFactoryImpl.java?rev=202378&r1=202377&r2=202378&view=diff ============================================================================== --- webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/jaxws/src/org/apache/axis/jaxrpc/ServiceFactoryImpl.java (original) +++ webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/jaxws/src/org/apache/axis/jaxrpc/ServiceFactoryImpl.java Wed Jun 29 07:05:22 2005 @@ -1,3 +1,19 @@ +/* + * Copyright 2004,2005 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 org.apache.axis.jaxrpc; import java.net.URL;