You are viewing a plain text version of this content. The canonical link for it is here.
Posted to axis-cvs@ws.apache.org by sc...@apache.org on 2006/07/11 21:33:22 UTC
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/ ...
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