axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From sc...@apache.org
Subject svn commit: r420955 [1/8] - in /webservices/axis2/trunk/java/modules/jaxws: ./ src/javax/jws/ src/javax/xml/ws/handler/ src/org/apache/axis2/jaxws/ src/org/apache/axis2/jaxws/binding/ src/org/apache/axis2/jaxws/client/ src/org/apache/axis2/jaxws/core/ ...
Date Tue, 11 Jul 2006 19:33:22 GMT
Author: scheu
Date: Tue Jul 11 12:33:12 2006
New Revision: 420955

URL: http://svn.apache.org/viewvc?rev=420955&view=rev
Log:
Combined patch for the following JIRA Issues:

AXIS2-873: Nikhil - JAXB Wrapper SubComponent
AXIS2-874: Mike - Handler SubComponent Initial Drop
AXIS2-875: Nikhil - Proxy SubComponent Work 
AXIS2-876: Scheu - Message Model SubComponent Initial Drop
AXIS2-878: Jeff - Meta Data Abstraction SubComponent Initial Drop
AXIS2-881: Nick - Invocation and Context Refactoring
AXIS2-882: Sam - Endpoint Controller SubComponent Initial Drop
AXIS2-872: Dustin - MetaDataQuery thoughts

These issues effectively divide the JAX-WS implementation into smaller sub-components.
This will make it easier to develop the code (and avoid large drops of code).

I am simultaneously committing this patch to SVN.

We will be opening new JIRA issues soon.

Added:
    webservices/axis2/trunk/java/modules/jaxws/src/javax/jws/
    webservices/axis2/trunk/java/modules/jaxws/src/javax/jws/HandlerChain.java
    webservices/axis2/trunk/java/modules/jaxws/src/javax/jws/Oneway.java
    webservices/axis2/trunk/java/modules/jaxws/src/javax/jws/SOAPBinding.java
    webservices/axis2/trunk/java/modules/jaxws/src/javax/jws/WebMethod.java
    webservices/axis2/trunk/java/modules/jaxws/src/javax/jws/WebParam.java
    webservices/axis2/trunk/java/modules/jaxws/src/javax/jws/WebResult.java
    webservices/axis2/trunk/java/modules/jaxws/src/javax/jws/WebService.java
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/binding/
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/binding/BindingImpl.java
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/client/
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/client/BaseDispatch.java
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/client/JAXBDispatch.java
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/client/XMLDispatch.java
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/core/
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/core/InvocationContext.java
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/core/InvocationContextFactory.java
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/core/InvocationContextImpl.java
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/core/MessageContext.java
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/core/controller/
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/core/controller/AxisInvocationController.java
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/core/controller/InvocationController.java
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/EndpointDescription.java
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/EndpointInterfaceDescription.java
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/FaultDescription.java
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/OperationDescription.java
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/ParameterDescription.java
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/ServiceDescription.java
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/handler/HandlerChainProcessor.java
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/handler/HandlerResolverImpl.java
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/handler/LogicalMessageContext.java
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/handler/ProtectedMessageContext.java
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/handler/SoapMessageContext.java
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/mdq/
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/mdq/README.txt
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/mdq/annotations/
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/mdq/annotations/collector/
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/mdq/annotations/collector/README.txt
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/mdq/input/
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/mdq/input/README.txt
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/mdq/output/
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/mdq/output/README.txt
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/message/
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/message/Attachment.java
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/message/Block.java
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/message/Message.java
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/message/MessageException.java
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/message/MessageInternalException.java
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/message/Protocol.java
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/message/XMLPart.java
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/message/databinding/
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/message/databinding/JAXBBlock.java
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/message/databinding/OMBlock.java
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/message/databinding/SourceBlock.java
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/message/databinding/XMLStringBlock.java
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/message/databinding/impl/
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/message/databinding/impl/JAXBBlockFactoryImpl.java
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/message/databinding/impl/JAXBBlockImpl.java
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/message/databinding/impl/OMBlockFactoryImpl.java
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/message/databinding/impl/OMBlockImpl.java
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/message/databinding/impl/SourceBlockFactoryImpl.java
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/message/databinding/impl/SourceBlockImpl.java
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/message/databinding/impl/XMLStringBlockFactoryImpl.java
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/message/databinding/impl/XMLStringBlockImpl.java
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/message/factory/
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/message/factory/BlockFactory.java
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/message/factory/JAXBBlockFactory.java
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/message/factory/MessageFactory.java
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/message/factory/OMBlockFactory.java
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/message/factory/SAAJConverterFactory.java
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/message/factory/SourceBlockFactory.java
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/message/factory/XMLPartFactory.java
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/message/factory/XMLStringBlockFactory.java
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/message/impl/
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/message/impl/BlockFactoryImpl.java
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/message/impl/BlockImpl.java
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/message/impl/MessageFactoryImpl.java
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/message/impl/MessageImpl.java
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/message/impl/XMLPartBase.java
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/message/impl/XMLPartFactoryImpl.java
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/message/impl/XMLPartImpl.java
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/message/impl/XMLPartOptimizedImpl.java
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/message/impl/XMLSpine.java
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/message/impl/XMLSpineImpl.java
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/message/impl/XMLStreamReaderForXMLSpine.java
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/message/util/
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/message/util/DOMReader.java
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/message/util/Reader.java
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/message/util/Reader2Writer.java
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/message/util/ResettableReader.java
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/message/util/SAAJConverter.java
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/message/util/SOAPElementReader.java
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/message/util/StackableReader.java
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/message/util/XMLStreamReaderFilter.java
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/message/util/XMLStreamReaderSplitter.java
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/message/util/impl/
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/message/util/impl/NamespaceContextFromDOM.java
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/message/util/impl/SAAJConverterFactoryImpl.java
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/message/util/impl/SAAJConverterImpl.java
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/message/util/impl/XMLStreamReaderFromDOM.java
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/registry/
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/registry/FactoryRegistry.java
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/server/EndpointController.java
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/server/EndpointDispatcher.java
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/server/ProviderDispatcher.java
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/wrapper/
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/wrapper/JAXBWrapperTool.java
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/wrapper/impl/
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/wrapper/impl/JAXBWrapperException.java
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/wrapper/impl/JAXBWrapperToolImpl.java
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/wrapper/impl/PropertyInfo.java
    webservices/axis2/trunk/java/modules/jaxws/test-resources/provider/
    webservices/axis2/trunk/java/modules/jaxws/test-resources/provider/xml/
    webservices/axis2/trunk/java/modules/jaxws/test-resources/provider/xml/web.xml
    webservices/axis2/trunk/java/modules/jaxws/test-resources/wsdl/
    webservices/axis2/trunk/java/modules/jaxws/test-resources/wsdl/WSDLTests.wsdl
    webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/description/
    webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/description/ServiceDescriptionTests.java
    webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/description/WSDLDescriptionTests.java
    webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/description/WSDLTests.java
    webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/handler/
    webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/handler/HandlerChainProcessorTests.java
    webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/jaxb/
    webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/jaxb/mfquote/
    webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/jaxb/mfquote/GetPrice.java
    webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/jaxb/mfquote/ObjectFactory.java
    webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/jaxb/mfquote/StockPrice.java
    webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/jaxb/mfquote/StockQuote.java
    webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/jaxb/mfquote/StockQuoteIF.java
    webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/jaxb/mfquote/package-info.java
    webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/jaxb/stockquote/
    webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/jaxb/stockquote/GetPrice.java
    webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/jaxb/stockquote/ObjectFactory.java
    webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/jaxb/stockquote/StockPrice.java
    webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/jaxb/stockquote/StockQuote.java
    webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/jaxb/stockquote/StockQuoteIF.java
    webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/jaxb/stockquote/package-info.java
    webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/jaxb/wrapper/
    webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/jaxb/wrapper/WrapperToolTest.java
    webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/message/
    webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/message/BlockTests.java
    webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/message/MessageTests.java
    webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/message/SAAJConverterTests.java
    webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/message/XMLStreamReaderSplitterTests.java
    webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/provider/ProviderTestCase.java
    webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/provider/SourceProviderTests.java
    webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/provider/StringProviderTests.java
    webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/provider/source/
    webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/provider/source/META-INF/
    webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/provider/source/META-INF/MANIFEST.MF
    webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/provider/source/META-INF/services.xml
    webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/provider/source/SourceProvider.java
    webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/provider/string/
    webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/provider/string/META-INF/
    webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/provider/string/META-INF/MANIFEST.MF
    webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/provider/string/META-INF/services.xml
    webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/provider/string/StringProvider.java
Modified:
    webservices/axis2/trunk/java/modules/jaxws/maven.xml
    webservices/axis2/trunk/java/modules/jaxws/project.xml
    webservices/axis2/trunk/java/modules/jaxws/src/javax/xml/ws/handler/MessageContext.java
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/ClientMediator.java
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/Dispatch.java
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/JAXWSClientContext.java
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/handler/PortInfoImpl.java
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/param/ParameterUtils.java
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/server/JAXWSMessageReceiver.java
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/spi/ServiceDelegate.java
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/util/WSDL4JWrapper.java
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/util/WSDLWrapper.java
    webservices/axis2/trunk/java/modules/jaxws/test/client/EchoString.java
    webservices/axis2/trunk/java/modules/jaxws/test/client/EchoStringResponse.java
    webservices/axis2/trunk/java/modules/jaxws/test/client/ObjectFactory.java
    webservices/axis2/trunk/java/modules/jaxws/test/client/package-info.java
    webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/META-INF/services.xml
    webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/CallbackHandler.java
    webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/DOMSourceDispatch.java
    webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/DispatchTestConstants.java
    webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/DispatchTestSuite.java
    webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/JAXBCallbackHandler.java
    webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/JAXBDispatch.java
    webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/SAXSourceDispatch.java
    webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/SourceDispatch.java
    webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/StringDispatch.java
    webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/framework/JAXWSTest.java
    webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/framework/StartServer.java
    webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/framework/StopServer.java
    webservices/axis2/trunk/java/modules/jaxws/test/server/EchoServiceMessageReceiverInOut.java
    webservices/axis2/trunk/java/modules/jaxws/test/server/EchoServiceSkeleton.java
    webservices/axis2/trunk/java/modules/jaxws/test/server/EchoString.java
    webservices/axis2/trunk/java/modules/jaxws/test/server/EchoStringResponse.java

Modified: webservices/axis2/trunk/java/modules/jaxws/maven.xml
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/maven.xml?rev=420955&r1=420954&r2=420955&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/maven.xml (original)
+++ webservices/axis2/trunk/java/modules/jaxws/maven.xml Tue Jul 11 12:33:12 2006
@@ -1,197 +1,222 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!-- $Revision: 1.21 $ $Date: 2004-10-27 20:54:09 +0600 (Wed, 27 Oct 2004) $ -->
-
-<project default="jar"
-         xmlns:j="jelly:core" 
-         xmlns:u="jelly:util"
-         xmlns:maven="jelly:maven"
-         xmlns:util="jelly:util"
-         xmlns:deploy="deploy"
-         xmlns:ant="jelly:ant">
-
-    <preGoal name="itest:compile">
-        <u:file var="file" name="${maven.itest.src}"/>
-        <j:if test="${!file.exists()}">
-            <j:expr value="${context.setVariable('maven.itest.skip', 'true')}"/>
-        </j:if>
-    </preGoal>
-	
-	<preGoal name="test:test">
-		<ant:copy toDir="target/test-classes/services/EchoService/">
-			<ant:fileset dir="target/test-classes">
-				<ant:include name="server/**"/>
-			</ant:fileset>
-			<ant:fileset dir="test/server">
-				<ant:exclude name="**/*.java"/>
-			</ant:fileset>
-		</ant:copy>
-	</preGoal>
-
-    <!-- Create the API and Impl jars --> 
-    <postGoal name="jar">
-        <jar destfile="target/jaxws-api-${jaxws.version}.jar">
-            <ant:fileset dir="target/classes">
-            	<ant:exclude name="com/ibm/webservices/**"/>
-            </ant:fileset>
-        </jar>
-    	<jar destfile="target/jaxws-impl-${jaxws.version}.jar">
-    	    <ant:fileset dir="target/classes">
-                <ant:exclude name="javax/**"/>
-            </ant:fileset>
-    	</jar>
-        <ant:copy toDir="${maven.repo.local}/jaxws/jars">
-            <ant:fileset file="target/jaxws-impl-${jaxws.version}.jar"/>
-        	<ant:fileset file="target/jaxws-api-${jaxws.version}.jar"/>
-        </ant:copy>
-    </postGoal>
-
-    <goal name="jar">
-        <attainGoal name="jar:install"/>
-
-    </goal>
-
-    <goal name="release" prereqs="dist-bin,dist-src">
-
-
-    </goal>
-
-    <goal name="dist-bin" prereqs="jar">
-
-        <ant:echo>+----------------------------------------------</ant:echo>
-        <ant:echo>| Creating: JAXWS Binary Distribution</ant:echo>
-        <ant:echo>+----------------------------------------------</ant:echo>
-
-
-        <property name="dist" value="target/dist/temp"/>
-
-        <mkdir dir="${dist}"/>
-        <mkdir dir="${dist}/apidocs"/>
-        <mkdir dir="${dist}/build"/>
-        <!--<mkdir dir="${dist}/docs"/>-->
-        <mkdir dir="${dist}/lib"/>
-
-        <!--copy dependent jars-->
-        <maven:reactor basedir="${basedir}"
-                       postProcessing="true"
-                       includes="project.xml"
-                       banner="Executing (${goals}):"
-                       ignoreFailures="false"/>
-        <j:forEach var="x" items="${reactorProjects}">
-            <ant:echo message="Copying ${x} to ${dist}"/>
-            <deploy:copy-deps todir="${dist}/lib"
-                              projectDescriptor="${x.getFile()}"/>
-        </j:forEach>
-        <ant:delete file="${dist}/lib/xmlunit-${xmlunit.version}.jar"/>
-
-        <!--Add the licenses of jars-->
-        <ant:copy toDir="${dist}/lib">
-            <ant:fileset dir="legal"/>
-        </ant:copy>
-
-        <!--add api docs-->
-
-        <ant:javadoc packagenames="org.apache.jaxws.*"
-                     defaultexcludes="yes"
-                     destdir="${dist}/apidocs"
-                     author="true"
-                     breakiterator="true"
-                     version="true"
-                     use="true"
-                     windowtitle="JAXWS API">
-            <ant:arg
-                    line="-J-Dhttp.proxy.port=${maven.proxy.port} -J-Dhttp.proxy.host=${maven.proxy.host}"/>
-            <ant:sourcepath>
-                <ant:pathelement location="src"/>
-            </ant:sourcepath>
-            <ant:classpath>
-                <ant:fileset dir="${dist}/lib">
-                    <ant:include name="*.jar"/>
-                </ant:fileset>
-            </ant:classpath>
-        </ant:javadoc>
-
-        <!--add jars-->
-        <ant:copy toDir="${dist}/build">
-            <ant:fileset file="target/jaxws-api-${jaxws.version}.jar"/>
-            <ant:fileset file="target/jaxws-impl-${jaxws.version}.jar"/>
-        </ant:copy>
-
-        <!--add documents-->
-        <ant:copy toDir="${dist}/docs">
-            <ant:fileset dir="xdocs">
-                <ant:exclude name="**/.svn/**"/>
-            </ant:fileset>
-        </ant:copy>
-
-        <!--copy release notes, etc-->
-        <ant:copy toDir="${dist}">
-            <ant:fileset file="RELEASE-NOTE.txt"/>
-            <ant:fileset file="README.txt"/>
-            <ant:fileset file="NOTICE.txt"/>
-            <ant:fileset file="LICENSE.txt"/>
-        </ant:copy>
-
-
-        <!--create the zip-->
-        <ant:zip file="target/dist/jaxws-${jaxws.version}-bin.zip">
-            <ant:fileset dir="${dist}/"/>
-        </ant:zip>
-
-        <ant:delete dir="${dist}"/>
-
-    </goal>
-
-    <goal name="dist-src" prereqs="jar">
-
-        <ant:echo>+----------------------------------------------</ant:echo>
-        <ant:echo>| Creating: JAXWS Source Distribution</ant:echo>
-        <ant:echo>+----------------------------------------------</ant:echo>
-
-        <ant:property name="${dist}" value="target/dist/temp"/>
-
-        <ant:copy toDir="${dist}">
-            <ant:fileset dir=".">
-                <ant:exclude name="**/.svn/**"/>
-                <ant:include name="**/src/**"/>
-                <ant:include name="**/test/**"/>
-            </ant:fileset>
-        </ant:copy>
-
-        <!-- Copy the master maven files for the standard src distro -->
-        <ant:copy toDir="${dist}">
-            <ant:fileset file="maven.xml"/>
-            <ant:fileset file="project.xml"/>
-            <ant:fileset file="project.properties"/>
-            <ant:fileset file="RELEASE-NOTE.txt"/>
-            <ant:fileset file="NOTICE.txt"/>
-            <ant:fileset file="LICENSE.txt"/>
-        </ant:copy>
-
-        <ant:zip file="target/dist/jaxws-${jaxws.version}-src.zip">
-            <ant:fileset dir="${dist}/"/>
-        </ant:zip>
-        <ant:delete dir="${dist}"/>
-    </goal>
-
-    <goal name="javadocs">
-
-        <mkdir dir="target/apidocs"/>
-
-        <ant:javadoc packagenames="org.apache.jaxws.*"
-                     defaultexcludes="yes"
-                     destdir="target/apidocs"
-                     author="true"
-                     breakiterator="true"
-                     version="true"
-                     use="true"
-                     windowtitle="JAXWS API">
-            <ant:arg
-                    line="-J-Dhttp.proxy.port=${maven.proxy.port} -J-Dhttp.proxy.host=${maven.proxy.host}"/>
-            <ant:sourcepath>
-                <ant:pathelement location="src"/>
-            </ant:sourcepath>
-        </ant:javadoc>
-    </goal>
-
-</project>
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!-- $Revision: 1.21 $ $Date: 2004-10-27 20:54:09 +0600 (Wed, 27 Oct 2004) $ -->
+
+<project default="jar"
+         xmlns:j="jelly:core" 
+         xmlns:u="jelly:util"
+         xmlns:maven="jelly:maven"
+         xmlns:util="jelly:util"
+         xmlns:deploy="deploy"
+         xmlns:ant="jelly:ant">
+
+    <preGoal name="itest:compile">
+        <u:file var="file" name="${maven.itest.src}"/>
+        <j:if test="${!file.exists()}">
+            <j:expr value="${context.setVariable('maven.itest.skip', 'true')}"/>
+        </j:if>
+    </preGoal>
+	
+	<preGoal name="test:test">
+		<ant:copy toDir="target/test-classes/services/EchoService/">
+			<ant:fileset dir="target/test-classes">
+				<ant:include name="server/**"/>
+			</ant:fileset>
+			<ant:fileset dir="test/server">
+				<ant:exclude name="**/*.java"/>
+			</ant:fileset>
+		</ant:copy>
+        <!-- ================================================================ -->
+        <!--- Provider endpoint Service Samples -->
+        <!-- ================================================================ -->
+		<ant:copy toDir="target/test-classes/services/StringProviderService/">
+			<ant:fileset dir="target/test-classes">
+				<ant:include name="org/apache/axis2/jaxws/provider/string/**"/>
+			</ant:fileset>
+			<ant:fileset dir="test/org/apache/axis2/jaxws/provider/string">
+                <ant:include name="META-INF/**"/>
+			</ant:fileset>
+			<ant:fileset dir="target/classes">
+                <ant:include name="org/apache/axis2/jaxws/server/**"/>
+			</ant:fileset>
+		</ant:copy>
+		<ant:copy toDir="target/test-classes/services/SourceProviderService/">
+			<ant:fileset dir="target/test-classes">
+				<ant:include name="org/apache/axis2/jaxws/provider/source/**"/>
+			</ant:fileset>
+			<ant:fileset dir="test/org/apache/axis2/jaxws/provider/source">
+                <ant:include name="META-INF/**"/>
+			</ant:fileset>
+			<ant:fileset dir="target/classes">
+                <ant:include name="org/apache/axis2/jaxws/server/**"/>
+			</ant:fileset>
+		</ant:copy>
+	</preGoal>
+
+    <!-- Create the API and Impl jars --> 
+    <postGoal name="jar">
+        <jar destfile="target/jaxws-api-${jaxws.version}.jar">
+            <ant:fileset dir="target/classes">
+            	<ant:exclude name="com/ibm/webservices/**"/>
+            </ant:fileset>
+        </jar>
+    	<jar destfile="target/jaxws-impl-${jaxws.version}.jar">
+    	    <ant:fileset dir="target/classes">
+                <ant:exclude name="javax/**"/>
+            </ant:fileset>
+    	</jar>
+        <ant:copy toDir="${maven.repo.local}/jaxws/jars">
+            <ant:fileset file="target/jaxws-impl-${jaxws.version}.jar"/>
+        	<ant:fileset file="target/jaxws-api-${jaxws.version}.jar"/>
+        </ant:copy>
+    </postGoal>
+
+    <goal name="jar">
+        <attainGoal name="jar:install"/>
+
+    </goal>
+
+    <goal name="release" prereqs="dist-bin,dist-src">
+
+
+    </goal>
+
+    <goal name="dist-bin" prereqs="jar">
+
+        <ant:echo>+----------------------------------------------</ant:echo>
+        <ant:echo>| Creating: JAXWS Binary Distribution</ant:echo>
+        <ant:echo>+----------------------------------------------</ant:echo>
+
+
+        <property name="dist" value="target/dist/temp"/>
+
+        <mkdir dir="${dist}"/>
+        <mkdir dir="${dist}/apidocs"/>
+        <mkdir dir="${dist}/build"/>
+        <!--<mkdir dir="${dist}/docs"/>-->
+        <mkdir dir="${dist}/lib"/>
+
+        <!--copy dependent jars-->
+        <maven:reactor basedir="${basedir}"
+                       postProcessing="true"
+                       includes="project.xml"
+                       banner="Executing (${goals}):"
+                       ignoreFailures="false"/>
+        <j:forEach var="x" items="${reactorProjects}">
+            <ant:echo message="Copying ${x} to ${dist}"/>
+            <deploy:copy-deps todir="${dist}/lib"
+                              projectDescriptor="${x.getFile()}"/>
+        </j:forEach>
+        <ant:delete file="${dist}/lib/xmlunit-${xmlunit.version}.jar"/>
+
+        <!--Add the licenses of jars-->
+        <ant:copy toDir="${dist}/lib">
+            <ant:fileset dir="legal"/>
+        </ant:copy>
+
+        <!--add api docs-->
+
+        <ant:javadoc packagenames="org.apache.jaxws.*"
+                     defaultexcludes="yes"
+                     destdir="${dist}/apidocs"
+                     author="true"
+                     breakiterator="true"
+                     version="true"
+                     use="true"
+                     windowtitle="JAXWS API">
+            <ant:arg
+                    line="-J-Dhttp.proxy.port=${maven.proxy.port} -J-Dhttp.proxy.host=${maven.proxy.host}"/>
+            <ant:sourcepath>
+                <ant:pathelement location="src"/>
+            </ant:sourcepath>
+            <ant:classpath>
+                <ant:fileset dir="${dist}/lib">
+                    <ant:include name="*.jar"/>
+                </ant:fileset>
+            </ant:classpath>
+        </ant:javadoc>
+
+        <!--add jars-->
+        <ant:copy toDir="${dist}/build">
+            <ant:fileset file="target/jaxws-api-${jaxws.version}.jar"/>
+            <ant:fileset file="target/jaxws-impl-${jaxws.version}.jar"/>
+        </ant:copy>
+
+        <!--add documents-->
+        <ant:copy toDir="${dist}/docs">
+            <ant:fileset dir="xdocs">
+                <ant:exclude name="**/.svn/**"/>
+            </ant:fileset>
+        </ant:copy>
+
+        <!--copy release notes, etc-->
+        <ant:copy toDir="${dist}">
+            <ant:fileset file="RELEASE-NOTE.txt"/>
+            <ant:fileset file="README.txt"/>
+            <ant:fileset file="NOTICE.txt"/>
+            <ant:fileset file="LICENSE.txt"/>
+        </ant:copy>
+
+
+        <!--create the zip-->
+        <ant:zip file="target/dist/jaxws-${jaxws.version}-bin.zip">
+            <ant:fileset dir="${dist}/"/>
+        </ant:zip>
+
+        <ant:delete dir="${dist}"/>
+
+    </goal>
+
+    <goal name="dist-src" prereqs="jar">
+
+        <ant:echo>+----------------------------------------------</ant:echo>
+        <ant:echo>| Creating: JAXWS Source Distribution</ant:echo>
+        <ant:echo>+----------------------------------------------</ant:echo>
+
+        <ant:property name="${dist}" value="target/dist/temp"/>
+
+        <ant:copy toDir="${dist}">
+            <ant:fileset dir=".">
+                <ant:exclude name="**/.svn/**"/>
+                <ant:include name="**/src/**"/>
+                <ant:include name="**/test/**"/>
+            </ant:fileset>
+        </ant:copy>
+
+        <!-- Copy the master maven files for the standard src distro -->
+        <ant:copy toDir="${dist}">
+            <ant:fileset file="maven.xml"/>
+            <ant:fileset file="project.xml"/>
+            <ant:fileset file="project.properties"/>
+            <ant:fileset file="RELEASE-NOTE.txt"/>
+            <ant:fileset file="NOTICE.txt"/>
+            <ant:fileset file="LICENSE.txt"/>
+        </ant:copy>
+
+        <ant:zip file="target/dist/jaxws-${jaxws.version}-src.zip">
+            <ant:fileset dir="${dist}/"/>
+        </ant:zip>
+        <ant:delete dir="${dist}"/>
+    </goal>
+
+    <goal name="javadocs">
+
+        <mkdir dir="target/apidocs"/>
+
+        <ant:javadoc packagenames="org.apache.jaxws.*"
+                     defaultexcludes="yes"
+                     destdir="target/apidocs"
+                     author="true"
+                     breakiterator="true"
+                     version="true"
+                     use="true"
+                     windowtitle="JAXWS API">
+            <ant:arg
+                    line="-J-Dhttp.proxy.port=${maven.proxy.port} -J-Dhttp.proxy.host=${maven.proxy.host}"/>
+            <ant:sourcepath>
+                <ant:pathelement location="src"/>
+            </ant:sourcepath>
+        </ant:javadoc>
+    </goal>
+
+</project>

Modified: webservices/axis2/trunk/java/modules/jaxws/project.xml
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/project.xml?rev=420955&r1=420954&r2=420955&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/project.xml (original)
+++ webservices/axis2/trunk/java/modules/jaxws/project.xml Tue Jul 11 12:33:12 2006
@@ -58,7 +58,7 @@
             <organization>IBM</organization>
         </contributor>
         <contributor>
-            <name>Daniel Sedov</name>
+            <name>Dan Sedov</name>
             <organization>IBM</organization>
         </contributor>
         <contributor>
@@ -132,6 +132,11 @@
         <dependency>
             <groupId>ws-commons</groupId>
             <artifactId>axiom-impl</artifactId>
+            <version>${axiom.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>ws-commons</groupId>
+            <artifactId>axiom-dom</artifactId>
             <version>${axiom.version}</version>
         </dependency>
         <dependency>

Added: webservices/axis2/trunk/java/modules/jaxws/src/javax/jws/HandlerChain.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/src/javax/jws/HandlerChain.java?rev=420955&view=auto
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/src/javax/jws/HandlerChain.java (added)
+++ webservices/axis2/trunk/java/modules/jaxws/src/javax/jws/HandlerChain.java Tue Jul 11 12:33:12 2006
@@ -0,0 +1,16 @@
+/**
+ * 
+ */
+package javax.jws;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+@Target(ElementType.TYPE)
+@Retention(RetentionPolicy.RUNTIME)
+public @interface HandlerChain {
+	String file();
+	String name() default "";
+}

Added: webservices/axis2/trunk/java/modules/jaxws/src/javax/jws/Oneway.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/src/javax/jws/Oneway.java?rev=420955&view=auto
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/src/javax/jws/Oneway.java (added)
+++ webservices/axis2/trunk/java/modules/jaxws/src/javax/jws/Oneway.java Tue Jul 11 12:33:12 2006
@@ -0,0 +1,12 @@
+/**
+ * 
+ */
+package javax.jws;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+
+@Retention(RetentionPolicy.RUNTIME)
+public @interface Oneway {
+	
+}

Added: webservices/axis2/trunk/java/modules/jaxws/src/javax/jws/SOAPBinding.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/src/javax/jws/SOAPBinding.java?rev=420955&view=auto
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/src/javax/jws/SOAPBinding.java (added)
+++ webservices/axis2/trunk/java/modules/jaxws/src/javax/jws/SOAPBinding.java Tue Jul 11 12:33:12 2006
@@ -0,0 +1,20 @@
+/**
+ * 
+ */
+package javax.jws;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+@Target (ElementType.METHOD)
+@Retention(RetentionPolicy.RUNTIME)
+public @interface SOAPBinding {
+	public enum Style{DOCUMENT, RPC};
+	public enum Use {LITERAL, ENCODED};
+	public enum ParameterStyle{BARE, WRAPPED};
+	Style style() default Style.DOCUMENT;
+	Use use() default Use.LITERAL;
+	ParameterStyle parameterStyle() default ParameterStyle.WRAPPED;
+}

Added: webservices/axis2/trunk/java/modules/jaxws/src/javax/jws/WebMethod.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/src/javax/jws/WebMethod.java?rev=420955&view=auto
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/src/javax/jws/WebMethod.java (added)
+++ webservices/axis2/trunk/java/modules/jaxws/src/javax/jws/WebMethod.java Tue Jul 11 12:33:12 2006
@@ -0,0 +1,17 @@
+/**
+ * 
+ */
+package javax.jws;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+@Target (ElementType.METHOD)
+@Retention(RetentionPolicy.RUNTIME)
+public @interface WebMethod {
+	String OperationName() default "";
+	String action() default "";
+	String exclude() default "";
+}

Added: webservices/axis2/trunk/java/modules/jaxws/src/javax/jws/WebParam.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/src/javax/jws/WebParam.java?rev=420955&view=auto
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/src/javax/jws/WebParam.java (added)
+++ webservices/axis2/trunk/java/modules/jaxws/src/javax/jws/WebParam.java Tue Jul 11 12:33:12 2006
@@ -0,0 +1,20 @@
+/**
+ * 
+ */
+package javax.jws;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+@Target (ElementType.PARAMETER)
+@Retention(RetentionPolicy.RUNTIME)
+public @interface WebParam {
+	public enum Mode{IN, OUT, INOUT};
+	String name() default "";
+	String targetNamespace() default "";
+	Mode mode() default Mode.IN;
+	boolean header() default false;
+	String partName() default "";
+}

Added: webservices/axis2/trunk/java/modules/jaxws/src/javax/jws/WebResult.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/src/javax/jws/WebResult.java?rev=420955&view=auto
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/src/javax/jws/WebResult.java (added)
+++ webservices/axis2/trunk/java/modules/jaxws/src/javax/jws/WebResult.java Tue Jul 11 12:33:12 2006
@@ -0,0 +1,18 @@
+/**
+ * 
+ */
+package javax.jws;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+@Target (ElementType.METHOD)
+@Retention(RetentionPolicy.RUNTIME)
+public @interface WebResult {
+	String name() default "return";
+	String targetNamespace() default "";
+	boolean header() default false;
+	String partName() default "";
+}

Added: webservices/axis2/trunk/java/modules/jaxws/src/javax/jws/WebService.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/src/javax/jws/WebService.java?rev=420955&view=auto
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/src/javax/jws/WebService.java (added)
+++ webservices/axis2/trunk/java/modules/jaxws/src/javax/jws/WebService.java Tue Jul 11 12:33:12 2006
@@ -0,0 +1,17 @@
+package javax.jws;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+@Target(ElementType.TYPE)
+@Retention(RetentionPolicy.RUNTIME)
+public @interface WebService {
+	String name() default "";
+	String targetNamespace() default "";
+	String serviceName() default "";
+	String wsdlLocation() default "";
+	String endpointInterface() default "";
+	String portName() default "";
+}

Modified: webservices/axis2/trunk/java/modules/jaxws/src/javax/xml/ws/handler/MessageContext.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/src/javax/xml/ws/handler/MessageContext.java?rev=420955&r1=420954&r2=420955&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/src/javax/xml/ws/handler/MessageContext.java (original)
+++ webservices/axis2/trunk/java/modules/jaxws/src/javax/xml/ws/handler/MessageContext.java Tue Jul 11 12:33:12 2006
@@ -1,47 +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 javax.xml.ws.handler;
-
-import java.util.Map;
-
-public interface MessageContext
-        extends Map {
-
-    public enum Scope {
-        APPLICATION,  HANDLER}
-
-    public abstract void setScope(String s, Scope scope);
-
-    public abstract Scope getScope(String s);
-
-    public static final String MESSAGE_OUTBOUND_PROPERTY = "javax.xml.ws.handler.message.outbound";
-    public static final String INBOUND_MESSAGE_ATTACHMENTS="javax.xml.ws.binding.attachments.inbound";
-    public static final String OUTBOUND_MESSAGE_ATTACHMENTS = "javax.xml.ws.binding.attachments.outbound";
-    public static final String WSDL_DESCRIPTION = "javax.xml.ws.wsdl.description";
-    public static final String WSDL_SERVICE = "javax.xml.ws.wsdl.service";
-    public static final String WSDL_PORT = "javax.xml.ws.wsdl.port";
-    public static final String WSDL_INTERFACE = "javax.xml.ws.wsdl.interface";
-    public static final String WSDL_OPERATION = "javax.xml.ws.wsdl.operation";
-    public static final String HTTP_RESPONSE_CODE = "javax.xml.ws.http.response.code";
-    public static final String HTTP_REQUEST_HEADERS = "javax.xml.ws.http.request.headers";
-    public static final String PATH_INFO = "javax.xml.ws.http.request.pathinfo";
-    public static final String QUERY_STRING = "javax.xml.ws.http.request.querystring";
-    public static final String HTTP_RESPONSE_HEADERS = "javax.xml.ws.http.response.headers";
-    public static final String HTTP_REQUEST_METHOD = "javax.xml.ws.http.request.method";
-    public static final String SERVLET_REQUEST = "javax.xml.ws.servlet.request";
-    public static final String SERVLET_RESPONSE = "javax.xml.ws.servlet.response";
-    public static final String SERVLET_CONTEXT = "javax.xml.ws.servlet.context";
-}
+/*
+* 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.ws.handler;
+
+import java.util.Map;
+
+public interface MessageContext extends Map<String, Object> {
+
+    public enum Scope {
+        APPLICATION,  
+        HANDLER
+    }
+
+    public abstract void setScope(String s, Scope scope);
+
+    public abstract Scope getScope(String s);
+
+    public static final String MESSAGE_OUTBOUND_PROPERTY = "javax.xml.ws.handler.message.outbound";
+    public static final String MESSAGE_ATTACHMENTS = "javax.xml.ws.binding.attachments";
+    public static final String WSDL_DESCRIPTION = "javax.xml.ws.wsdl.description";
+    public static final String WSDL_SERVICE = "javax.xml.ws.wsdl.service";
+    public static final String WSDL_PORT = "javax.xml.ws.wsdl.port";
+    public static final String WSDL_INTERFACE = "javax.xml.ws.wsdl.interface";
+    public static final String WSDL_OPERATION = "javax.xml.ws.wsdl.operation";
+    public static final String HTTP_RESPONSE_CODE = "javax.xml.ws.http.response.code";
+    public static final String HTTP_REQUEST_HEADERS = "javax.xml.ws.http.request.headers";
+    public static final String HTTP_RESPONSE_HEADERS = "javax.xml.ws.http.response.headers";
+    public static final String HTTP_REQUEST_METHOD = "javax.xml.ws.http.request.method";
+    public static final String SERVLET_REQUEST = "javax.xml.ws.servlet.request";
+    public static final String SERVLET_RESPONSE = "javax.xml.ws.servlet.response";
+    public static final String SERVLET_CONTEXT = "javax.xml.ws.servlet.context";
+}

Modified: webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/ClientMediator.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/ClientMediator.java?rev=420955&r1=420954&r2=420955&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/ClientMediator.java (original)
+++ webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/ClientMediator.java Tue Jul 11 12:33:12 2006
@@ -17,11 +17,7 @@
 package org.apache.axis2.jaxws;
 
 import java.lang.reflect.Proxy;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.Iterator;
 
-import javax.wsdl.Definition;
 import javax.xml.namespace.QName;
 import javax.xml.ws.WebServiceException;
 
@@ -33,9 +29,9 @@
 import org.apache.axis2.description.AxisOperation;
 import org.apache.axis2.description.AxisService;
 import org.apache.axis2.description.AxisServiceGroup;
-import org.apache.axis2.engine.AxisConfiguration;
+import org.apache.axis2.jaxws.client.JAXBDispatch;
+import org.apache.axis2.jaxws.client.XMLDispatch;
 import org.apache.axis2.jaxws.handler.PortData;
-import org.apache.axis2.jaxws.util.Constants;
 import org.apache.axis2.jaxws.util.WSDLWrapper;
 /*
  * This class acts as a mediator to creating Proxy or Dispatch implementation when Client makes a call to Service.
@@ -49,7 +45,32 @@
 		super();
 	}
 
-	public <T> Dispatch<T> createDispatch(JAXWSClientContext<T> clientContext){
+    public <T> JAXBDispatch<T> createJAXBDispatch(JAXWSClientContext<T> clientContext){
+
+        if (clientContext == null) {
+            throw new WebServiceException(
+                    "Internal Error ... JAXWSClientContext not found");
+        }
+        this.clientContext = clientContext;
+        /*
+         * create Axis Controller, this will route all the calls from Dispatch to
+         * Axis Engine eiter using ServiceClient or instantiating
+         * AxisEngine.
+         */
+        try{
+            AxisController axisController = buildAxisController();
+            axisController.setClientContext(clientContext);
+            
+            JAXBDispatch<T> dispatch = new JAXBDispatch<T>(axisController);
+            dispatch.setMode(clientContext.getServiceMode());
+            dispatch.setJAXBContext(clientContext.getJAXBContext());
+            return dispatch;
+        }catch(AxisFault e){
+            throw new WebServiceException(e.getMessage());
+        }
+    }
+    
+    public <T> XMLDispatch<T> createXMLDispatch(JAXWSClientContext<T> clientContext){
 
 		if (clientContext == null) {
 			throw new WebServiceException(
@@ -64,7 +85,8 @@
 		try{
 			AxisController axisController = buildAxisController();
 			axisController.setClientContext(clientContext);
-			Dispatch<T> dispatch = new Dispatch<T>(axisController);
+			XMLDispatch<T> dispatch = new XMLDispatch<T>(axisController);
+            dispatch.setMode(clientContext.getServiceMode());
 			return dispatch;
 		}catch(AxisFault e){
 			throw new WebServiceException(e.getMessage());
@@ -143,18 +165,9 @@
 
 	private ServiceClient getServiceClient(ConfigurationContext axisConfig)
 			throws AxisFault {
-		
-		URL wsdlLocation = clientContext.getWSDLLocation();
-		if (wsdlLocation != null) {
-			Definition definition = clientContext.getWsdlContext().getDefinition();
-			if(definition!=null){
-				return new ServiceClient(axisConfig, definition,
-						getServiceName(), getPortName().getLocalPart());
-			}
-			return new ServiceClient(axisConfig, wsdlLocation,
-					getServiceName(), getPortName().getLocalPart());
-		}
-		return new ServiceClient(axisConfig, null);
+	
+		return new ServiceClient(axisConfig, 
+                clientContext.getServiceDescription().getAxisService());
 
 	}
 

Modified: webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/Dispatch.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/Dispatch.java?rev=420955&r1=420954&r2=420955&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/Dispatch.java (original)
+++ webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/Dispatch.java Tue Jul 11 12:33:12 2006
@@ -14,59 +14,161 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.axis2.jaxws;
 
 import java.util.concurrent.Future;
 
+import javax.xml.bind.JAXBContext;
+import javax.xml.namespace.QName;
 import javax.xml.ws.AsyncHandler;
 import javax.xml.ws.Response;
 import javax.xml.ws.WebServiceException;
+import javax.xml.ws.Service.Mode;
 
-
-import javax.xml.namespace.QName;
-
+import org.apache.axiom.om.OMElement;
+import org.apache.axiom.soap.SOAPBody;
+import org.apache.axiom.soap.SOAPEnvelope;
+import org.apache.axis2.jaxws.core.InvocationContext;
+import org.apache.axis2.jaxws.core.InvocationContextFactory;
+import org.apache.axis2.jaxws.core.MessageContext;
+import org.apache.axis2.jaxws.core.controller.AxisInvocationController;
+import org.apache.axis2.jaxws.core.controller.InvocationController;
+import org.apache.axis2.jaxws.param.JAXBParameter;
 import org.apache.axis2.jaxws.param.Parameter;
 import org.apache.axis2.jaxws.param.ParameterFactory;
+import org.apache.axis2.jaxws.param.ParameterUtils;
+import org.apache.axis2.jaxws.spi.ServiceDelegate;
 import org.apache.axis2.jaxws.util.Constants;
 import org.apache.axis2.jaxws.util.WSDLWrapper;
 
+/**
+ * Dispatch is an implementation of the {@link javax.xml.ws.Dispatch} interface.
+ * 
+ * The Dispatch is a client that can be used to invoke remote services that
+ * requires the programmer to operate at the raw XML level.  The XML payloads
+ * can be in two different formats, or Modes ({@link javax.xml.ws.Service.Mode}).
+ * 
+ * @param <T>
+ */
 public class Dispatch<T> extends BindingProvider implements javax.xml.ws.Dispatch {
-	
-    AxisController axisController = null;
+    
+    //FIXME: Remove the AxisController completely and replace with InvocationController
+    private AxisController axisController = null;
+    
+    private InvocationController ic;
+    private ServiceDelegate serviceDelegate;
+    private Mode mode;
+    private JAXBContext jaxbContext;
    
     public Dispatch() {
         super();
     }
     
     public Dispatch(AxisController axisController){
-    	super();
-    	this.axisController = axisController;
-    	setRequestContext();
+        super();
+        
+        //FIXME: Remove this when we remove the AxisController
+        this.axisController = axisController;
+        
+        ic = new AxisInvocationController();
+        setRequestContext();
     }
-  
+    
+    /**
+     * Sets the back pointer to the ServiceDelegate instance that created
+     * this Dispatch.
+     * 
+     * @param svcDlg
+     */
+    public void setServiceDelegate(ServiceDelegate svcDlg) {
+        serviceDelegate = svcDlg;
+    }
+    
+    /**
+     * Returns the back pointer to the Service Delegate instance that created
+     * this Dispatch.
+     * 
+     * @return
+     */
+    public ServiceDelegate getServiceDescription() {
+        return serviceDelegate;
+    }
+    
+    public Mode getMode() {
+        return mode;
+    }
+    
+    public void setMode(Mode m) {
+        mode = m;
+    }
+    
+    public JAXBContext getJAXBContext() {
+        return jaxbContext;
+    }
+    
+    public void setJAXBContext(JAXBContext jbc) {
+        jaxbContext = jbc;
+    }
+    
     public Object invoke(Object obj) throws WebServiceException {
-    	try{
-    		if(obj == null){
-    			throw new WebServiceException("Dispatch Cannot Invoke SEI with null object");
-    		}
-    		Parameter param = ParameterFactory.createParameter(obj);
-    		return axisController.invoke(param,requestContext);
-    	}catch(Exception e){
-    		throw new WebServiceException(e);
-    	}
-   }
+        // Create the InvocationContext instance for this request/response flow.
+        InvocationContext invocationContext = InvocationContextFactory.createInvocationContext(null);
+        invocationContext.setServiceClient(axisController.getServiceClient());
+        
+        // Create the MessageContext to hold the actual request message and its
+        // associated properties
+        MessageContext requestMsgCtx = new MessageContext();
+        invocationContext.setRequestMessageContext(requestMsgCtx);
+        
+        // FIXME: This is where the Message Model will be integrated instead of 
+        // the ParameterFactory/Parameter APIs.
+        Parameter param = ParameterFactory.createParameter(obj);
+        if (param instanceof JAXBParameter) {
+            JAXBParameter p = (JAXBParameter) param;
+            p.setJAXBContext(jaxbContext);
+        }
+        
+        OMElement reqEnvelope = toOM(param, axisController.getServiceClient().getOptions().getSoapVersionURI());
+        requestMsgCtx.setMessageAsOM(reqEnvelope);
+        
+        // Copy the properties from the request context into the MessageContext
+        requestMsgCtx.getProperties().putAll(requestContext);
+        
+        // Send the request using the InvocationController
+        ic.invoke(invocationContext);
+        
+        MessageContext responseMsgCtx = invocationContext.getResponseMessageContext();
+        
+        //FIXME: This is temporary until more of the Message model is available
+        OMElement rspEnvelope = responseMsgCtx.getMessageAsOM();
+        Parameter rspParam;
+        // Create a new Parameter class for the output based on in the 
+        // input Parameter type.
+        try {
+            rspParam = param.getClass().newInstance();
+            if (rspParam instanceof JAXBParameter) {
+                JAXBParameter p = (JAXBParameter) rspParam;
+                p.setJAXBContext(jaxbContext);
+            }
+        } catch (Exception e) {
+            throw new WebServiceException(e);
+        }
+        
+        rspParam = fromOM(rspEnvelope, rspParam, axisController.getServiceClient().getOptions().getSoapVersionURI());
+        
+        return rspParam.getValue();
+    }
     
    public void invokeOneWay(Object obj) throws WebServiceException{
        if(obj == null){
-			throw new WebServiceException("Dispatch Cannot Invoke SEI with null object");
-		}
-    	try{
-    		Parameter param = ParameterFactory.createParameter(obj);
+            throw new WebServiceException("Dispatch Cannot Invoke SEI with null object");
+        }
+        try{
+            Parameter param = ParameterFactory.createParameter(obj);
             axisController.invokeOneWay(param, requestContext);
-    	}catch(Exception e){
-    		throw new WebServiceException(e);
-    	}
+        }catch(Exception e){
+            throw new WebServiceException(e);
+        }
     }
    
     public Future<?> invokeAsync(Object obj, AsyncHandler asynchandler) throws WebServiceException {
@@ -82,35 +184,62 @@
     }
   
     public Response invokeAsync(Object obj)throws WebServiceException{
-    	if(obj == null){
-			throw new WebServiceException("Dispatch Cannot Invoke SEI with null object");
-		}
-    	try{
-    		Parameter param = ParameterFactory.createParameter(obj);
-    		return axisController.invokeAsync(param, requestContext);
-    	}catch(Exception e){
-    		throw new WebServiceException(e);
-    	}
+        if(obj == null){
+            throw new WebServiceException("Dispatch Cannot Invoke SEI with null object");
+        }
+        try{
+            Parameter param = ParameterFactory.createParameter(obj);
+            return axisController.invokeAsync(param, requestContext);
+        }catch(Exception e){
+            throw new WebServiceException(e);
+        }
     }    
 
     protected void setRequestContext(){
-    	String endPointAddress = axisController.getEndpointAddress();
-    	WSDLWrapper wsdl =  axisController.getWSDLContext();
-    	QName serviceName = axisController.getServiceName();
-    	QName portName = axisController.getPortName();
-    	if(endPointAddress != null && !"".equals(endPointAddress)){
-        	getRequestContext().put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY, endPointAddress);
+        String endPointAddress = axisController.getEndpointAddress();
+        WSDLWrapper wsdl =  axisController.getWSDLContext();
+        QName serviceName = axisController.getServiceName();
+        QName portName = axisController.getPortName();
+        if(endPointAddress != null && !"".equals(endPointAddress)){
+            getRequestContext().put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY, endPointAddress);
         }else if(wsdl != null){
-        	String soapAddress = wsdl.getSOAPAddress(serviceName, portName);
-        	getRequestContext().put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY, soapAddress);
+            String soapAddress = wsdl.getSOAPAddress(serviceName, portName);
+            getRequestContext().put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY, soapAddress);
         }
         
         if(wsdl != null){
-        	String soapAction = wsdl.getSOAPAction(serviceName, portName);
-    		getRequestContext().put(BindingProvider.SOAPACTION_URI_PROPERTY, soapAction);
+            String soapAction = wsdl.getSOAPAction(serviceName, portName);
+            getRequestContext().put(BindingProvider.SOAPACTION_URI_PROPERTY, soapAction);
         }
         
         getRequestContext().put(Constants.QOS_WSADDRESSING_ENABLE, Boolean.FALSE);
         getRequestContext().put(Constants.QOS_WSRM_ENABLE, Boolean.FALSE);
+    }
+    
+    /* 
+     * FIXME: This is temporary until more of the Message Model is available.
+     */
+    private OMElement toOM(Parameter param, String soapVersion){
+        SOAPEnvelope env = ParameterUtils.toEnvelope(mode, soapVersion, param);
+        System.out.println(">> Generated envelope [" + env.toString() + "]");
+        
+        SOAPBody body = env.getBody();
+        //SOAPHeader soapHeader = env.getHeader();
+        //addHeadersToServiceClient(soapHeader);
+        return body.getFirstElement();
+    }
+    
+    /*
+     * FIXME: This is temporary until more of the Message Model is available. 
+     */
+    private Parameter fromOM(OMElement element, Parameter response, String soapVersion){
+        response.fromOM(element);
+
+        // Convert param toEnvelope since ServiceClient always send xml string.
+        // toEnvelope() in Parameter is coded just to handle this.
+        SOAPEnvelope env = response.toEnvelope(null, soapVersion);
+        
+        response.fromEnvelope(mode, env);
+        return response;
     }
 }

Modified: webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/JAXWSClientContext.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/JAXWSClientContext.java?rev=420955&r1=420954&r2=420955&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/JAXWSClientContext.java (original)
+++ webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/JAXWSClientContext.java Tue Jul 11 12:33:12 2006
@@ -24,6 +24,7 @@
 import javax.xml.bind.JAXBContext;
 import javax.xml.ws.Service.Mode;
 
+import org.apache.axis2.jaxws.description.ServiceDescription;
 import org.apache.axis2.jaxws.handler.PortData;
 import org.apache.axis2.jaxws.util.WSDLWrapper;
 
@@ -32,7 +33,7 @@
 	private PortData port = null;
 	private Mode serviceMode = null;
 	private ExecutorService executor = null;
-	private WSDLWrapper wsdlContext = null;
+    private ServiceDescription serviceDescription;
 	private Class<T> clazz = null; //SEI class for Proxy or Implementation type for Dispatch
 	private JAXBContext jaxbContext = null;
     
@@ -54,14 +55,17 @@
 	public void setServiceMode(Mode serviceMode) {
 		this.serviceMode = serviceMode;
 	}
-	public WSDLWrapper getWsdlContext() {
-		return wsdlContext;
+	public ServiceDescription getServiceDescription() {
+        return serviceDescription;
+    }
+    public void setServiceDescription(ServiceDescription serviceDescription) {
+        this.serviceDescription = serviceDescription;
+    }
+    public WSDLWrapper getWsdlContext() {
+		return (serviceDescription != null) ? serviceDescription.getWSDLWrapper() : null;
 	}
-	public void setWsdlContext(WSDLWrapper wsdlContext) {
-		this.wsdlContext = wsdlContext;
-	}
-	public URL getWSDLLocation(){
-		return (wsdlContext != null)? wsdlContext.getWSLDLocation(): null; 	
+    public URL getWSDLLocation(){
+		return (serviceDescription != null) ? serviceDescription.getWSDLLocation() : null; 	
 	}
 	public Class<T> getClazz() {
 		return clazz;

Added: webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/binding/BindingImpl.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/binding/BindingImpl.java?rev=420955&view=auto
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/binding/BindingImpl.java (added)
+++ webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/binding/BindingImpl.java Tue Jul 11 12:33:12 2006
@@ -0,0 +1,49 @@
+/*
+ * Copyright 2004,2005 The Apache Software Foundation.
+ * Copyright 2006 International Business Machines Corp.
+ *
+ * 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.axis2.jaxws.binding;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import javax.xml.ws.Binding;
+import javax.xml.ws.handler.Handler;
+
+
+/**
+ * @author rott
+ * classes that would normally "implement javax.xml.ws.Binding"
+ * should extend this class instead.
+ */
+public class BindingImpl implements Binding {
+
+	// an unsorted list of handlers
+	private List<Handler> handlers;
+
+	public List<Handler> getHandlerChain() {
+		return handlers;
+	}
+
+	public void setHandlerChain(List<Handler> list) {
+		// handlers cannot be null so a client app can request and manipulate it
+		if (list == null)
+			handlers = new ArrayList<Handler>();
+		this.handlers = list;
+	}
+
+	
+}

Added: webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/client/BaseDispatch.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/client/BaseDispatch.java?rev=420955&view=auto
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/client/BaseDispatch.java (added)
+++ webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/client/BaseDispatch.java Tue Jul 11 12:33:12 2006
@@ -0,0 +1,199 @@
+/*
+ * Copyright 2006 The Apache Software Foundation.
+ * Copyright 2006 International Business Machines Corp.
+ *
+ * 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.axis2.jaxws.client;
+
+import java.util.concurrent.Future;
+
+import javax.xml.namespace.QName;
+import javax.xml.ws.AsyncHandler;
+import javax.xml.ws.Response;
+import javax.xml.ws.WebServiceException;
+import javax.xml.ws.Service.Mode;
+
+import org.apache.axiom.om.OMElement;
+import org.apache.axiom.soap.SOAPBody;
+import org.apache.axiom.soap.SOAPEnvelope;
+import org.apache.axis2.jaxws.AxisController;
+import org.apache.axis2.jaxws.BindingProvider;
+import org.apache.axis2.jaxws.core.InvocationContext;
+import org.apache.axis2.jaxws.core.InvocationContextFactory;
+import org.apache.axis2.jaxws.core.MessageContext;
+import org.apache.axis2.jaxws.core.controller.AxisInvocationController;
+import org.apache.axis2.jaxws.core.controller.InvocationController;
+import org.apache.axis2.jaxws.param.Parameter;
+import org.apache.axis2.jaxws.param.ParameterFactory;
+import org.apache.axis2.jaxws.param.ParameterUtils;
+import org.apache.axis2.jaxws.spi.ServiceDelegate;
+import org.apache.axis2.jaxws.util.Constants;
+import org.apache.axis2.jaxws.util.WSDLWrapper;
+
+public abstract class BaseDispatch<T> extends BindingProvider 
+    implements javax.xml.ws.Dispatch {
+
+    //FIXME: Remove the AxisController completely and replace with InvocationController
+    protected AxisController axisController = null;
+    
+    protected InvocationController ic;
+    protected ServiceDelegate serviceDelegate;
+    protected Mode mode;
+    
+    protected BaseDispatch() {
+        //do nothing
+    }
+    
+    protected BaseDispatch(AxisController ac) {
+        super();
+        
+        //FIXME: Remove this when we remove the AxisController
+        axisController = ac;
+        
+        ic = new AxisInvocationController();
+        setRequestContext();
+    }
+    
+    protected abstract OMElement createMessageFromValue(Object value);
+    
+    protected abstract Object getValueFromMessage(OMElement message);
+    
+    public Object invoke(Object obj) throws WebServiceException {
+        // Create the InvocationContext instance for this request/response flow.
+        InvocationContext invocationContext = InvocationContextFactory.createInvocationContext(null);
+        invocationContext.setServiceClient(axisController.getServiceClient());
+        
+        // Create the MessageContext to hold the actual request message and its
+        // associated properties
+        MessageContext requestMsgCtx = new MessageContext();
+        invocationContext.setRequestMessageContext(requestMsgCtx);
+        
+        OMElement reqEnvelope = createMessageFromValue(obj);
+        requestMsgCtx.setMessageAsOM(reqEnvelope);
+        
+        // Copy the properties from the request context into the MessageContext
+        requestMsgCtx.getProperties().putAll(requestContext);
+        
+        // Send the request using the InvocationController
+        ic.invoke(invocationContext);
+        
+        MessageContext responseMsgCtx = invocationContext.getResponseMessageContext();
+        
+        //FIXME: This is temporary until more of the Message model is available
+        OMElement rspEnvelope = responseMsgCtx.getMessageAsOM();
+        Object returnObj = getValueFromMessage(rspEnvelope);
+        
+        return returnObj;
+    }
+    
+   public void invokeOneWay(Object obj) throws WebServiceException{
+       if(obj == null){
+            throw new WebServiceException("Dispatch Cannot Invoke SEI with null object");
+        }
+        try{
+            Parameter param = ParameterFactory.createParameter(obj);
+            axisController.invokeOneWay(param, requestContext);
+        }catch(Exception e){
+            throw new WebServiceException(e);
+        }
+    }
+   
+    public Future<?> invokeAsync(Object obj, AsyncHandler asynchandler) throws WebServiceException {
+       if(obj == null){
+           throw new WebServiceException("Dispatch Cannot Invoke SEI with null object");
+       }
+       try{
+           Parameter param = ParameterFactory.createParameter(obj);
+           return axisController.invokeAsync(param, asynchandler, requestContext);
+       } catch(Exception e) {
+           throw new WebServiceException(e);
+       }
+    }
+  
+    public Response invokeAsync(Object obj)throws WebServiceException{
+        if(obj == null){
+            throw new WebServiceException("Dispatch Cannot Invoke SEI with null object");
+        }
+        try{
+            Parameter param = ParameterFactory.createParameter(obj);
+            return axisController.invokeAsync(param, requestContext);
+        }catch(Exception e){
+            throw new WebServiceException(e);
+        }
+    }
+    
+    protected void setRequestContext(){
+        String endPointAddress = axisController.getEndpointAddress();
+        WSDLWrapper wsdl =  axisController.getWSDLContext();
+        QName serviceName = axisController.getServiceName();
+        QName portName = axisController.getPortName();
+        if(endPointAddress != null && !"".equals(endPointAddress)){
+            getRequestContext().put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY, endPointAddress);
+        }else if(wsdl != null){
+            String soapAddress = wsdl.getSOAPAddress(serviceName, portName);
+            getRequestContext().put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY, soapAddress);
+        }
+        
+        if(wsdl != null){
+            String soapAction = wsdl.getSOAPAction(serviceName, portName);
+            getRequestContext().put(BindingProvider.SOAPACTION_URI_PROPERTY, soapAction);
+        }
+        
+        getRequestContext().put(Constants.QOS_WSADDRESSING_ENABLE, Boolean.FALSE);
+        getRequestContext().put(Constants.QOS_WSRM_ENABLE, Boolean.FALSE);
+    }
+    
+    public ServiceDelegate getServiceDelegate() {
+        return serviceDelegate;
+    }
+    
+    public void setServiceDelegate(ServiceDelegate sd) {
+        serviceDelegate = sd;
+    }
+    
+    public Mode getMode() {
+        return mode;
+    }
+    
+    public void setMode(Mode m) {
+        mode = m;
+    }    
+    
+    /* 
+     * FIXME: This is temporary until more of the Message Model is available.
+     */
+    protected OMElement toOM(Parameter param, String soapVersion){
+        SOAPEnvelope env = ParameterUtils.toEnvelope(mode, soapVersion, param);
+        System.out.println(">> Generated envelope [" + env.toString() + "]");
+        
+        SOAPBody body = env.getBody();
+        //SOAPHeader soapHeader = env.getHeader();
+        //addHeadersToServiceClient(soapHeader);
+        return body.getFirstElement();
+    }
+    
+    /*
+     * FIXME: This is temporary until more of the Message Model is available. 
+     */
+    protected Parameter fromOM(OMElement element, Parameter response, String soapVersion){
+        response.fromOM(element);
+
+        // Convert param toEnvelope since ServiceClient always send xml string.
+        // toEnvelope() in Parameter is coded just to handle this.
+        SOAPEnvelope env = response.toEnvelope(null, soapVersion);
+        
+        response.fromEnvelope(mode, env);
+        return response;
+    }
+}

Added: webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/client/JAXBDispatch.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/client/JAXBDispatch.java?rev=420955&view=auto
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/client/JAXBDispatch.java (added)
+++ webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/client/JAXBDispatch.java Tue Jul 11 12:33:12 2006
@@ -0,0 +1,67 @@
+/*
+ * Copyright 2006 The Apache Software Foundation.
+ * Copyright 2006 International Business Machines Corp.
+ *
+ * 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.axis2.jaxws.client;
+
+import javax.xml.bind.JAXBContext;
+
+import org.apache.axiom.om.OMElement;
+import org.apache.axis2.jaxws.AxisController;
+import org.apache.axis2.jaxws.param.JAXBParameter;
+import org.apache.axis2.jaxws.param.Parameter;
+
+public class JAXBDispatch<T> extends BaseDispatch<T> {
+
+    private JAXBContext jaxbContext;
+    
+    public JAXBDispatch() {
+        //do nothing
+    }
+    
+    public JAXBDispatch(AxisController ac) {
+        super(ac);
+    }
+    
+    public OMElement createMessageFromValue(Object value) {
+        // FIXME: This is where the Message Model will be integrated instead of 
+        // the ParameterFactory/Parameter APIs.
+        JAXBParameter param = new JAXBParameter();
+        param.setValue(value);
+        param.setJAXBContext(jaxbContext);
+        
+        OMElement envelope = toOM(param, 
+                axisController.getServiceClient().getOptions().getSoapVersionURI());
+        return envelope;
+    }
+
+    public Object getValueFromMessage(OMElement message) {
+        // FIXME: This is where the Message Model will be integrated instead of 
+        // the ParameterFactory/Parameter APIs.
+        JAXBParameter param = new JAXBParameter();
+        param.setJAXBContext(jaxbContext);
+        Parameter p = fromOM(message, param, 
+                axisController.getServiceClient().getOptions().getSoapVersionURI());
+        return p.getValue();
+    }
+
+    public JAXBContext getJAXBContext() {
+        return jaxbContext;
+    }
+    
+    public void setJAXBContext(JAXBContext jbc) {
+        jaxbContext = jbc;
+    }
+}

Added: webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/client/XMLDispatch.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/client/XMLDispatch.java?rev=420955&view=auto
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/client/XMLDispatch.java (added)
+++ webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/client/XMLDispatch.java Tue Jul 11 12:33:12 2006
@@ -0,0 +1,64 @@
+/*
+ * Copyright 2006 The Apache Software Foundation.
+ * Copyright 2006 International Business Machines Corp.
+ *
+ * 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.axis2.jaxws.client;
+
+import org.apache.axiom.om.OMElement;
+import org.apache.axis2.jaxws.AxisController;
+import org.apache.axis2.jaxws.param.Parameter;
+import org.apache.axis2.jaxws.param.ParameterFactory;
+
+public class XMLDispatch<T> extends BaseDispatch<T> {
+
+    public Class type;
+    
+    public XMLDispatch() {
+        super();
+    }
+    
+    public XMLDispatch(AxisController ac) {
+        super(ac);
+    }
+    
+    public OMElement createMessageFromValue(Object value) {
+        type = value.getClass();
+        
+        // FIXME: This is where the Message Model will be integrated instead of 
+        // the ParameterFactory/Parameter APIs.
+        Parameter param = ParameterFactory.createParameter(type);
+        param.setValue(value);
+        OMElement envelope = toOM(param, 
+                axisController.getServiceClient().getOptions().getSoapVersionURI());
+        return envelope;
+    }
+
+    public Object getValueFromMessage(OMElement message) {
+        // FIXME: This is where the Message Model will be integrated instead of 
+        // the ParameterFactory/Parameter APIs.
+        Parameter param = ParameterFactory.createParameter(type);
+        param = fromOM(message, param, 
+                axisController.getServiceClient().getOptions().getSoapVersionURI());
+        return param.getValue();
+    }
+    
+    public Class getType() {
+        return type;
+    }
+    
+    public void setType(Class c) {
+        type = c;
+    }
+}

Added: webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/core/InvocationContext.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/core/InvocationContext.java?rev=420955&view=auto
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/core/InvocationContext.java (added)
+++ webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/core/InvocationContext.java Tue Jul 11 12:33:12 2006
@@ -0,0 +1,49 @@
+/*
+ * Copyright 2006 The Apache Software Foundation.
+ * Copyright 2006 International Business Machines Corp.
+ *
+ * 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.axis2.jaxws.core;
+
+import java.util.List;
+
+import javax.xml.ws.handler.Handler;
+
+import org.apache.axis2.client.ServiceClient;
+
+/**
+ * The <code>InvocationContext</code> encapsulates all of the information 
+ * relevant to a particular invocation.  This ties the context of the 
+ * request back to the context of the response message (if applicable)
+ * through the use of the MessageContext API.  There is a separate 
+ * MessageContext for both the request and the response. *
+ */
+public interface InvocationContext {
+
+    public MessageContext getRequestMessageContext();
+   
+    public MessageContext getResponseMessageContext();
+    
+    public List<Handler> getHandlers();
+    
+    public void setRequestMessageContext(MessageContext ctx);
+    
+    public void setResponseMessageContext(MessageContext ctx);
+    
+    //FIXME: This is temporary.
+    public void setServiceClient(ServiceClient client);
+    
+    //FIXME: This is temporary.
+    public ServiceClient getServiceClient();
+}

Added: webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/core/InvocationContextFactory.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/core/InvocationContextFactory.java?rev=420955&view=auto
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/core/InvocationContextFactory.java (added)
+++ webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/core/InvocationContextFactory.java Tue Jul 11 12:33:12 2006
@@ -0,0 +1,39 @@
+/*
+ * Copyright 2006 The Apache Software Foundation.
+ * Copyright 2006 International Business Machines Corp.
+ *
+ * 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.axis2.jaxws.core;
+
+import javax.xml.ws.Binding;
+
+/**
+ * The InvocationContextFactory is used to create instances of an
+ * InvocationContext.  
+ */
+public class InvocationContextFactory {
+    
+    /**
+     * Creates an instance of an InvocationContext based on the Binding
+     * that was passed in.  
+     */
+    public static InvocationContext createInvocationContext(Binding binding) {
+        InvocationContextImpl ic = new InvocationContextImpl();
+        if (binding != null) {
+            ic.setHandlers(binding.getHandlerChain());        
+        }
+        
+        return ic;
+    }
+}

Added: webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/core/InvocationContextImpl.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/core/InvocationContextImpl.java?rev=420955&view=auto
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/core/InvocationContextImpl.java (added)
+++ webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/core/InvocationContextImpl.java Tue Jul 11 12:33:12 2006
@@ -0,0 +1,95 @@
+/*
+ * Copyright 2006 The Apache Software Foundation.
+ * Copyright 2006 International Business Machines Corp.
+ *
+ * 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.axis2.jaxws.core;
+
+import java.util.List;
+
+import javax.xml.ws.handler.Handler;
+
+import org.apache.axis2.client.ServiceClient;
+
+/**
+ * An implementation of the InvocationContext interface.
+ * 
+ * @see org.apache.axis2.jaxws.core.InvocationContext
+ */
+public class InvocationContextImpl implements InvocationContext {
+
+    private List<Handler> handlers;
+    private MessageContext requestMsgCtx;
+    private MessageContext responseMsgCtx;
+    
+    private ServiceClient serviceClient; //FIXME: This is temporary
+    
+    public InvocationContextImpl() {
+        //do nothing
+    }
+    
+    /**
+     * @see org.apache.axis2.jaxws.core.InvocationContext#getHandlers()
+     */
+    public List<Handler> getHandlers() {
+        return handlers;
+    }
+    
+    /**
+     * Sets the list of hanlders for this InvocationContext
+     * 
+     * @param list
+     */
+    public void setHandlers(List<Handler> list) {
+        handlers = list;
+    }
+
+    /**
+     * @see org.apache.axis2.jaxws.core.InvocationContext#setRequestMessageContext(MessageContext)
+     */
+    public void setRequestMessageContext(MessageContext ctx) {
+        requestMsgCtx = ctx;
+    }
+
+    /**
+     * @see org.apache.axis2.jaxws.core.InvocationContext#setResponseMessageContext(MessageContext)
+     */
+    public void setResponseMessageContext(MessageContext ctx) {
+        responseMsgCtx = ctx;
+    }
+
+    /**
+     * @see org.apache.axis2.jaxws.core.InvocationContext#getResponseMessageContext()
+     */
+    public MessageContext getResponseMessageContext() {
+        return responseMsgCtx;
+    }
+
+    /**
+     * @see org.apache.axis2.jaxws.core.InvocationContext#getRequestMessageContext()
+     */
+    public MessageContext getRequestMessageContext() {
+        return requestMsgCtx;
+    }
+    
+    // FIXME: This is temporary
+    public ServiceClient getServiceClient() {
+        return serviceClient;
+    }
+    
+    // FIXME: This is temporary
+    public void setServiceClient(ServiceClient client) {
+        serviceClient = client;
+    }
+}



---------------------------------------------------------------------
To unsubscribe, e-mail: axis-cvs-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-cvs-help@ws.apache.org


Mime
View raw message