JBossWS SVN: r2897 - in trunk: build and 45 other directories.
by jbossws-commits@lists.jboss.org
Author: thomas.diesler(a)jboss.com
Date: 2007-04-23 02:12:12 -0400 (Mon, 23 Apr 2007)
New Revision: 2897
Added:
trunk/jbossws-api/
trunk/jbossws-api/.classpath
trunk/jbossws-api/.project
trunk/jbossws-api/build.xml
trunk/jbossws-api/src/
trunk/jbossws-api/src/java/
trunk/jbossws-api/src/java/javax/
trunk/jbossws-api/src/java/javax/annotation/
trunk/jbossws-api/src/java/javax/annotation/Resource.java
trunk/jbossws-api/src/java/javax/annotation/Resources.java
trunk/jbossws-api/src/java/javax/jws/
trunk/jbossws-api/src/java/javax/jws/HandlerChain.java
trunk/jbossws-api/src/java/javax/jws/Oneway.java
trunk/jbossws-api/src/java/javax/jws/WebMethod.java
trunk/jbossws-api/src/java/javax/jws/WebParam.java
trunk/jbossws-api/src/java/javax/jws/WebResult.java
trunk/jbossws-api/src/java/javax/jws/WebService.java
trunk/jbossws-api/src/java/javax/jws/soap/
trunk/jbossws-api/src/java/javax/jws/soap/InitParam.java
trunk/jbossws-api/src/java/javax/jws/soap/SOAPBinding.java
trunk/jbossws-api/src/java/javax/jws/soap/SOAPMessageHandler.java
trunk/jbossws-api/src/java/javax/jws/soap/SOAPMessageHandlers.java
trunk/jbossws-api/src/java/javax/xml/
trunk/jbossws-api/src/java/javax/xml/rpc/
trunk/jbossws-api/src/java/javax/xml/rpc/Call.java
trunk/jbossws-api/src/java/javax/xml/rpc/JAXRPCException.java
trunk/jbossws-api/src/java/javax/xml/rpc/NamespaceConstants.java
trunk/jbossws-api/src/java/javax/xml/rpc/ParameterMode.java
trunk/jbossws-api/src/java/javax/xml/rpc/Service.java
trunk/jbossws-api/src/java/javax/xml/rpc/ServiceException.java
trunk/jbossws-api/src/java/javax/xml/rpc/ServiceFactory.java
trunk/jbossws-api/src/java/javax/xml/rpc/Stub.java
trunk/jbossws-api/src/java/javax/xml/rpc/encoding/
trunk/jbossws-api/src/java/javax/xml/rpc/encoding/DeserializationContext.java
trunk/jbossws-api/src/java/javax/xml/rpc/encoding/Deserializer.java
trunk/jbossws-api/src/java/javax/xml/rpc/encoding/DeserializerFactory.java
trunk/jbossws-api/src/java/javax/xml/rpc/encoding/SerializationContext.java
trunk/jbossws-api/src/java/javax/xml/rpc/encoding/Serializer.java
trunk/jbossws-api/src/java/javax/xml/rpc/encoding/SerializerFactory.java
trunk/jbossws-api/src/java/javax/xml/rpc/encoding/TypeMapping.java
trunk/jbossws-api/src/java/javax/xml/rpc/encoding/TypeMappingRegistry.java
trunk/jbossws-api/src/java/javax/xml/rpc/encoding/XMLType.java
trunk/jbossws-api/src/java/javax/xml/rpc/handler/
trunk/jbossws-api/src/java/javax/xml/rpc/handler/GenericHandler.java
trunk/jbossws-api/src/java/javax/xml/rpc/handler/Handler.java
trunk/jbossws-api/src/java/javax/xml/rpc/handler/HandlerChain.java
trunk/jbossws-api/src/java/javax/xml/rpc/handler/HandlerInfo.java
trunk/jbossws-api/src/java/javax/xml/rpc/handler/HandlerRegistry.java
trunk/jbossws-api/src/java/javax/xml/rpc/handler/MessageContext.java
trunk/jbossws-api/src/java/javax/xml/rpc/handler/soap/
trunk/jbossws-api/src/java/javax/xml/rpc/handler/soap/SOAPMessageContext.java
trunk/jbossws-api/src/java/javax/xml/rpc/holders/
trunk/jbossws-api/src/java/javax/xml/rpc/holders/BigDecimalHolder.java
trunk/jbossws-api/src/java/javax/xml/rpc/holders/BigIntegerHolder.java
trunk/jbossws-api/src/java/javax/xml/rpc/holders/BooleanHolder.java
trunk/jbossws-api/src/java/javax/xml/rpc/holders/BooleanWrapperHolder.java
trunk/jbossws-api/src/java/javax/xml/rpc/holders/ByteArrayHolder.java
trunk/jbossws-api/src/java/javax/xml/rpc/holders/ByteHolder.java
trunk/jbossws-api/src/java/javax/xml/rpc/holders/ByteWrapperHolder.java
trunk/jbossws-api/src/java/javax/xml/rpc/holders/CalendarHolder.java
trunk/jbossws-api/src/java/javax/xml/rpc/holders/DoubleHolder.java
trunk/jbossws-api/src/java/javax/xml/rpc/holders/DoubleWrapperHolder.java
trunk/jbossws-api/src/java/javax/xml/rpc/holders/FloatHolder.java
trunk/jbossws-api/src/java/javax/xml/rpc/holders/FloatWrapperHolder.java
trunk/jbossws-api/src/java/javax/xml/rpc/holders/Holder.java
trunk/jbossws-api/src/java/javax/xml/rpc/holders/IntHolder.java
trunk/jbossws-api/src/java/javax/xml/rpc/holders/IntegerWrapperHolder.java
trunk/jbossws-api/src/java/javax/xml/rpc/holders/LongHolder.java
trunk/jbossws-api/src/java/javax/xml/rpc/holders/LongWrapperHolder.java
trunk/jbossws-api/src/java/javax/xml/rpc/holders/ObjectHolder.java
trunk/jbossws-api/src/java/javax/xml/rpc/holders/QNameHolder.java
trunk/jbossws-api/src/java/javax/xml/rpc/holders/ShortHolder.java
trunk/jbossws-api/src/java/javax/xml/rpc/holders/ShortWrapperHolder.java
trunk/jbossws-api/src/java/javax/xml/rpc/holders/StringHolder.java
trunk/jbossws-api/src/java/javax/xml/rpc/server/
trunk/jbossws-api/src/java/javax/xml/rpc/server/ServiceLifecycle.java
trunk/jbossws-api/src/java/javax/xml/rpc/server/ServletEndpointContext.java
trunk/jbossws-api/src/java/javax/xml/rpc/soap/
trunk/jbossws-api/src/java/javax/xml/rpc/soap/SOAPFaultException.java
trunk/jbossws-api/src/java/javax/xml/soap/
trunk/jbossws-api/src/java/javax/xml/soap/AttachmentPart.java
trunk/jbossws-api/src/java/javax/xml/soap/Detail.java
trunk/jbossws-api/src/java/javax/xml/soap/DetailEntry.java
trunk/jbossws-api/src/java/javax/xml/soap/FactoryLoader.java
trunk/jbossws-api/src/java/javax/xml/soap/MessageFactory.java
trunk/jbossws-api/src/java/javax/xml/soap/MimeHeader.java
trunk/jbossws-api/src/java/javax/xml/soap/MimeHeaders.java
trunk/jbossws-api/src/java/javax/xml/soap/Name.java
trunk/jbossws-api/src/java/javax/xml/soap/Node.java
trunk/jbossws-api/src/java/javax/xml/soap/SAAJMetaFactory.java
trunk/jbossws-api/src/java/javax/xml/soap/SAAJResult.java
trunk/jbossws-api/src/java/javax/xml/soap/SOAPBody.java
trunk/jbossws-api/src/java/javax/xml/soap/SOAPBodyElement.java
trunk/jbossws-api/src/java/javax/xml/soap/SOAPConnection.java
trunk/jbossws-api/src/java/javax/xml/soap/SOAPConnectionFactory.java
trunk/jbossws-api/src/java/javax/xml/soap/SOAPConstants.java
trunk/jbossws-api/src/java/javax/xml/soap/SOAPElement.java
trunk/jbossws-api/src/java/javax/xml/soap/SOAPElementFactory.java
trunk/jbossws-api/src/java/javax/xml/soap/SOAPEnvelope.java
trunk/jbossws-api/src/java/javax/xml/soap/SOAPException.java
trunk/jbossws-api/src/java/javax/xml/soap/SOAPFactory.java
trunk/jbossws-api/src/java/javax/xml/soap/SOAPFault.java
trunk/jbossws-api/src/java/javax/xml/soap/SOAPFaultElement.java
trunk/jbossws-api/src/java/javax/xml/soap/SOAPHeader.java
trunk/jbossws-api/src/java/javax/xml/soap/SOAPHeaderElement.java
trunk/jbossws-api/src/java/javax/xml/soap/SOAPMessage.java
trunk/jbossws-api/src/java/javax/xml/soap/SOAPPart.java
trunk/jbossws-api/src/java/javax/xml/soap/Text.java
trunk/jbossws-api/src/java/javax/xml/ws/
trunk/jbossws-api/src/java/javax/xml/ws/Action.java
trunk/jbossws-api/src/java/javax/xml/ws/AsyncHandler.java
trunk/jbossws-api/src/java/javax/xml/ws/Binding.java
trunk/jbossws-api/src/java/javax/xml/ws/BindingProvider.java
trunk/jbossws-api/src/java/javax/xml/ws/BindingType.java
trunk/jbossws-api/src/java/javax/xml/ws/Dispatch.java
trunk/jbossws-api/src/java/javax/xml/ws/Endpoint.java
trunk/jbossws-api/src/java/javax/xml/ws/EndpointReference.java
trunk/jbossws-api/src/java/javax/xml/ws/FaultAction.java
trunk/jbossws-api/src/java/javax/xml/ws/Holder.java
trunk/jbossws-api/src/java/javax/xml/ws/LogicalMessage.java
trunk/jbossws-api/src/java/javax/xml/ws/ProtocolException.java
trunk/jbossws-api/src/java/javax/xml/ws/Provider.java
trunk/jbossws-api/src/java/javax/xml/ws/RequestWrapper.java
trunk/jbossws-api/src/java/javax/xml/ws/RespectBinding.java
trunk/jbossws-api/src/java/javax/xml/ws/RespectBindingFeature.java
trunk/jbossws-api/src/java/javax/xml/ws/Response.java
trunk/jbossws-api/src/java/javax/xml/ws/ResponseWrapper.java
trunk/jbossws-api/src/java/javax/xml/ws/Service.java
trunk/jbossws-api/src/java/javax/xml/ws/ServiceMode.java
trunk/jbossws-api/src/java/javax/xml/ws/WebEndpoint.java
trunk/jbossws-api/src/java/javax/xml/ws/WebFault.java
trunk/jbossws-api/src/java/javax/xml/ws/WebServiceClient.java
trunk/jbossws-api/src/java/javax/xml/ws/WebServiceContext.java
trunk/jbossws-api/src/java/javax/xml/ws/WebServiceException.java
trunk/jbossws-api/src/java/javax/xml/ws/WebServiceFeature.java
trunk/jbossws-api/src/java/javax/xml/ws/WebServicePermission.java
trunk/jbossws-api/src/java/javax/xml/ws/WebServiceProvider.java
trunk/jbossws-api/src/java/javax/xml/ws/WebServiceRef.java
trunk/jbossws-api/src/java/javax/xml/ws/WebServiceRefs.java
trunk/jbossws-api/src/java/javax/xml/ws/addressing/
trunk/jbossws-api/src/java/javax/xml/ws/addressing/Action.java
trunk/jbossws-api/src/java/javax/xml/ws/addressing/ActionNotSupportedException.java
trunk/jbossws-api/src/java/javax/xml/ws/addressing/AddressingBuilder.java
trunk/jbossws-api/src/java/javax/xml/ws/addressing/AddressingConstants.java
trunk/jbossws-api/src/java/javax/xml/ws/addressing/AddressingException.java
trunk/jbossws-api/src/java/javax/xml/ws/addressing/AddressingProperties.java
trunk/jbossws-api/src/java/javax/xml/ws/addressing/AddressingType.java
trunk/jbossws-api/src/java/javax/xml/ws/addressing/AttributeExtensible.java
trunk/jbossws-api/src/java/javax/xml/ws/addressing/AttributedQName.java
trunk/jbossws-api/src/java/javax/xml/ws/addressing/AttributedURI.java
trunk/jbossws-api/src/java/javax/xml/ws/addressing/DestinationUnreachableException.java
trunk/jbossws-api/src/java/javax/xml/ws/addressing/ElementExtensible.java
trunk/jbossws-api/src/java/javax/xml/ws/addressing/EndpointReference.java
trunk/jbossws-api/src/java/javax/xml/ws/addressing/EndpointUnavailableException.java
trunk/jbossws-api/src/java/javax/xml/ws/addressing/FaultAction.java
trunk/jbossws-api/src/java/javax/xml/ws/addressing/InvalidMapException.java
trunk/jbossws-api/src/java/javax/xml/ws/addressing/JAXWSAConstants.java
trunk/jbossws-api/src/java/javax/xml/ws/addressing/MapRequiredException.java
trunk/jbossws-api/src/java/javax/xml/ws/addressing/Metadata.java
trunk/jbossws-api/src/java/javax/xml/ws/addressing/ReferenceParameters.java
trunk/jbossws-api/src/java/javax/xml/ws/addressing/Relationship.java
trunk/jbossws-api/src/java/javax/xml/ws/addressing/soap/
trunk/jbossws-api/src/java/javax/xml/ws/addressing/soap/SOAPAddressingBuilder.java
trunk/jbossws-api/src/java/javax/xml/ws/addressing/soap/SOAPAddressingElement.java
trunk/jbossws-api/src/java/javax/xml/ws/addressing/soap/SOAPAddressingProperties.java
trunk/jbossws-api/src/java/javax/xml/ws/handler/
trunk/jbossws-api/src/java/javax/xml/ws/handler/Handler.java
trunk/jbossws-api/src/java/javax/xml/ws/handler/HandlerResolver.java
trunk/jbossws-api/src/java/javax/xml/ws/handler/LogicalHandler.java
trunk/jbossws-api/src/java/javax/xml/ws/handler/LogicalMessageContext.java
trunk/jbossws-api/src/java/javax/xml/ws/handler/MessageContext.java
trunk/jbossws-api/src/java/javax/xml/ws/handler/PortInfo.java
trunk/jbossws-api/src/java/javax/xml/ws/handler/soap/
trunk/jbossws-api/src/java/javax/xml/ws/handler/soap/SOAPHandler.java
trunk/jbossws-api/src/java/javax/xml/ws/handler/soap/SOAPMessageContext.java
trunk/jbossws-api/src/java/javax/xml/ws/http/
trunk/jbossws-api/src/java/javax/xml/ws/http/HTTPBinding.java
trunk/jbossws-api/src/java/javax/xml/ws/http/HTTPException.java
trunk/jbossws-api/src/java/javax/xml/ws/soap/
trunk/jbossws-api/src/java/javax/xml/ws/soap/Addressing.java
trunk/jbossws-api/src/java/javax/xml/ws/soap/AddressingFeature.java
trunk/jbossws-api/src/java/javax/xml/ws/soap/MTOM.java
trunk/jbossws-api/src/java/javax/xml/ws/soap/MTOMFeature.java
trunk/jbossws-api/src/java/javax/xml/ws/soap/SOAPBinding.java
trunk/jbossws-api/src/java/javax/xml/ws/soap/SOAPFaultException.java
trunk/jbossws-api/src/java/javax/xml/ws/spi/
trunk/jbossws-api/src/java/javax/xml/ws/spi/Provider.java
trunk/jbossws-api/src/java/javax/xml/ws/spi/ServiceDelegate.java
trunk/jbossws-api/src/java/javax/xml/ws/spi/WebServiceFeatureAnnotation.java
trunk/jbossws-api/src/java/javax/xml/ws/wsaddressing/
trunk/jbossws-api/src/java/javax/xml/ws/wsaddressing/W3CEndpointReference.java
trunk/jbossws-api/src/java/javax/xml/ws/wsaddressing/W3CEndpointReferenceBuilder.java
trunk/jbossws-api/src/java/org/
trunk/jbossws-api/src/java/org/jboss/
trunk/jbossws-api/src/java/org/jboss/ws/
trunk/jbossws-api/src/java/org/jboss/ws/integration/
trunk/jbossws-api/src/java/org/jboss/ws/integration/deployment/
trunk/jbossws-api/src/java/org/jboss/ws/integration/management/
trunk/jbossws-api/src/java/org/jboss/ws/integration/message/
trunk/jbossws-api/src/resources/
trunk/jbossws-api/src/resources/jboss-jaxws.jar/
trunk/jbossws-api/src/resources/jboss-jaxws.jar/META-INF/
trunk/jbossws-api/src/resources/jboss-jaxws.jar/META-INF/services/
trunk/jbossws-api/src/resources/jboss-jaxws.jar/META-INF/services/javax.xml.ws.spi.Provider
trunk/jbossws-api/src/resources/jboss-saaj.jar/
trunk/jbossws-api/src/resources/jboss-saaj.jar/META-INF/
trunk/jbossws-api/src/resources/jboss-saaj.jar/META-INF/services/
trunk/jbossws-api/src/resources/jboss-saaj.jar/META-INF/services/javax.xml.soap.MessageFactory
trunk/jbossws-api/src/resources/jboss-saaj.jar/META-INF/services/javax.xml.soap.MetaFactory
trunk/jbossws-api/src/resources/jboss-saaj.jar/META-INF/services/javax.xml.soap.SOAPFactory
Removed:
trunk/jbossws-core/src/java/javax/
trunk/jbossws-core/src/java/org/jboss/ws/integration/
trunk/jbossws-core/src/resources/jboss-jaxws.jar/
trunk/jbossws-core/src/resources/jboss-saaj.jar/
Modified:
trunk/build/ant-import/build-deploy.xml
trunk/build/ant-import/build-setup.xml
trunk/build/build.xml
trunk/integration-jboss40/build.xml
trunk/integration-jboss42/build.xml
trunk/integration-jboss50/build.xml
trunk/integration-tomcat/build.xml
trunk/jbossws-core/.classpath
trunk/jbossws-core/build.xml
Log:
More work on general integration
Modified: trunk/build/ant-import/build-deploy.xml
===================================================================
--- trunk/build/ant-import/build-deploy.xml 2007-04-23 06:06:16 UTC (rev 2896)
+++ trunk/build/ant-import/build-deploy.xml 2007-04-23 06:12:12 UTC (rev 2897)
@@ -52,10 +52,12 @@
</fileset>
</copy>
<copy todir="${jboss50.home}/client" overwrite="true">
- <fileset dir="${core.output.lib.dir}">
+ <fileset dir="${api.output.lib.dir}">
<include name="jboss-jaxrpc.jar"/>
<include name="jboss-jaxws.jar"/>
<include name="jboss-saaj.jar"/>
+ </fileset>
+ <fileset dir="${core.output.lib.dir}">
<include name="jbossws-client.jar"/>
</fileset>
<fileset dir="${thirdparty.dir}">
@@ -67,7 +69,7 @@
</fileset>
</copy>
<copy todir="${jboss50.home}/server/${jboss.server.instance}/lib" overwrite="true">
- <fileset dir="${core.output.lib.dir}">
+ <fileset dir="${api.output.lib.dir}">
<include name="jboss-jaxrpc.jar"/>
<include name="jboss-jaxws.jar"/>
<include name="jboss-saaj.jar"/>
@@ -101,10 +103,12 @@
</fileset>
</copy>
<copy todir="${jboss42.home}/client" overwrite="true">
- <fileset dir="${core.output.lib.dir}">
+ <fileset dir="${api.output.lib.dir}">
<include name="jboss-jaxrpc.jar"/>
<include name="jboss-jaxws.jar"/>
<include name="jboss-saaj.jar"/>
+ </fileset>
+ <fileset dir="${core.output.lib.dir}">
<include name="jbossws-client.jar"/>
</fileset>
<fileset dir="${thirdparty.dir}">
@@ -115,12 +119,14 @@
</fileset>
</copy>
<copy todir="${jboss42.home}/server/${jboss.server.instance}/lib" overwrite="true">
- <fileset dir="${core.output.lib.dir}">
- <include name="jbossws-integration.jar"/>
+ <fileset dir="${api.output.lib.dir}">
<include name="jboss-jaxrpc.jar"/>
<include name="jboss-jaxws.jar"/>
<include name="jboss-saaj.jar"/>
</fileset>
+ <fileset dir="${integration.output.lib.dir}">
+ <include name="jbossws-integration.jar"/>
+ </fileset>
</copy>
<delete dir="${jboss42.home}/server/${jboss.server.instance}/deploy/jbossws.sar"/>
<mkdir dir="${jboss42.home}/server/${jboss.server.instance}/deploy/jbossws.sar"/>
@@ -148,10 +154,12 @@
</copy>
<delete file="${jboss40.home}/client/jbossws14-client.jar" />
<copy todir="${jboss40.home}/client" overwrite="true">
- <fileset dir="${core.output.lib.dir}">
+ <fileset dir="${api.output.lib.dir}">
<include name="jboss-jaxrpc.jar" />
<include name="jboss-jaxws.jar" />
<include name="jboss-saaj.jar" />
+ </fileset>
+ <fileset dir="${core.output.lib.dir}">
<include name="jbossws-client.jar" />
</fileset>
<!-- Only available on jdk1.5 -->
@@ -165,7 +173,7 @@
</fileset>
</copy>
<copy todir="${jboss40.home}/server/${jboss.server.instance}/lib" overwrite="true">
- <fileset dir="${core.output.lib.dir}">
+ <fileset dir="${api.output.lib.dir}">
<include name="jboss-jaxrpc.jar" />
<include name="jboss-jaxws.jar" />
<include name="jboss-saaj.jar" />
@@ -197,7 +205,7 @@
</copy>
<delete file="${jboss40.home}/client/jbossws-client.jar" />
<copy todir="${jboss40.home}/client" overwrite="true">
- <fileset dir="${core.output.lib.dir}">
+ <fileset dir="${api.output.lib.dir}">
<include name="jboss-jaxrpc.jar" />
<include name="jboss-saaj.jar" />
</fileset>
@@ -207,7 +215,7 @@
</copy>
<delete file="${jboss40.home}/server/${jboss.server.instance}/lib/jboss-jaxws.jar" />
<copy todir="${jboss40.home}/server/${jboss.server.instance}/lib" overwrite="true">
- <fileset dir="${core.output.lib.dir}">
+ <fileset dir="${api.output.lib.dir}">
<include name="jboss-jaxrpc.jar" />
<include name="jboss-saaj.jar" />
</fileset>
Modified: trunk/build/ant-import/build-setup.xml
===================================================================
--- trunk/build/ant-import/build-setup.xml 2007-04-23 06:06:16 UTC (rev 2896)
+++ trunk/build/ant-import/build-setup.xml 2007-04-23 06:12:12 UTC (rev 2897)
@@ -24,10 +24,12 @@
<property name="build.dir" value="${basedir}/../build"/>
<property name="build.output.dir" value="${build.dir}/output"/>
<property name="docs.dir" value="${basedir}/../jbossws-docs"/>
+ <property name="integration.dir" value="${basedir}/../integration"/>
<property name="integration.jboss40.dir" value="${basedir}/../integration-jboss40"/>
<property name="integration.jboss42.dir" value="${basedir}/../integration-jboss42"/>
<property name="integration.jboss50.dir" value="${basedir}/../integration-jboss50"/>
<property name="integration.tomcat.dir" value="${basedir}/../integration-tomcat"/>
+ <property name="api.dir" value="${basedir}/../jbossws-api"/>
<property name="core.dir" value="${basedir}/../jbossws-core"/>
<property name="tests.dir" value="${basedir}/../jbossws-tests"/>
Modified: trunk/build/build.xml
===================================================================
--- trunk/build/build.xml 2007-04-23 06:06:16 UTC (rev 2896)
+++ trunk/build/build.xml 2007-04-23 06:12:12 UTC (rev 2897)
@@ -18,10 +18,12 @@
<import file="${basedir}/ant-import/build-release.xml"/>
<import file="${basedir}/ant-import/build-samples.xml"/>
<import file="${basedir}/ant-import/build-hudson.xml"/>
+ <import file="${basedir}/../integration/build.xml"/>
<import file="${basedir}/../integration-jboss40/build.xml"/>
<import file="${basedir}/../integration-jboss42/build.xml"/>
<import file="${basedir}/../integration-jboss50/build.xml"/>
<import file="${basedir}/../integration-tomcat/build.xml"/>
+ <import file="${basedir}/../jbossws-api/build.xml"/>
<import file="${basedir}/../jbossws-core/build.xml"/>
<import file="${basedir}/../jbossws-tests/build.xml"/>
@@ -43,7 +45,9 @@
<target name="clean" depends="prepare" description="Cleans up most generated files.">
<delete dir="${build.dir}/output"/>
+ <ant antfile="${api.dir}/build.xml" target="clean" inheritall="false"/>
<ant antfile="${core.dir}/build.xml" target="clean" inheritall="false"/>
+ <ant antfile="${integration.dir}/build.xml" target="clean" inheritall="false"/>
<ant antfile="${integration.jboss40.dir}/build.xml" target="clean" inheritall="false"/>
<ant antfile="${integration.jboss42.dir}/build.xml" target="clean" inheritall="false"/>
<ant antfile="${integration.jboss50.dir}/build.xml" target="clean" inheritall="false"/>
Modified: trunk/integration-jboss40/build.xml
===================================================================
--- trunk/integration-jboss40/build.xml 2007-04-23 06:06:16 UTC (rev 2896)
+++ trunk/integration-jboss40/build.xml 2007-04-23 06:12:12 UTC (rev 2897)
@@ -68,8 +68,10 @@
<exclude name="org/jboss/ws/integration/jboss42/ServiceEndpointGeneratorEJB3.java"/>
<exclude name="org/jboss/ws/integration/jboss42/ServiceEndpointInvokerEJB3.java"/>
<classpath refid="jboss40.integration.classpath"/>
- <classpath path="${core.output.classes14.dir}"/>
<classpath path="${core.output.classes.dir}"/>
+ <classpath path="${api.output.classes14.dir}"/>
+ <classpath path="${api.output.classes.dir}"/>
+ <classpath path="${integration.output.classes.dir}"/>
</javac>
</target>
<target name="jboss40-compile-ejb3-classes" depends="jboss40-init,core-compile,jboss40-check-ejb3-classes" if="jboss40.ejb3.available">
@@ -82,8 +84,10 @@
<include name="org/jboss/ws/integration/jboss42/ServiceEndpointGeneratorEJB3.java"/>
<include name="org/jboss/ws/integration/jboss42/ServiceEndpointInvokerEJB3.java"/>
<classpath refid="jboss40.integration.classpath"/>
- <classpath path="${core.output.classes14.dir}"/>
<classpath path="${core.output.classes.dir}"/>
+ <classpath path="${api.output.classes14.dir}"/>
+ <classpath path="${api.output.classes.dir}"/>
+ <classpath path="${integration.output.classes.dir}"/>
</javac>
</target>
<target name="jboss40-check-ejb3-classes" depends="jboss40-init" unless="jboss40.ejb3.available">
Modified: trunk/integration-jboss42/build.xml
===================================================================
--- trunk/integration-jboss42/build.xml 2007-04-23 06:06:16 UTC (rev 2896)
+++ trunk/integration-jboss42/build.xml 2007-04-23 06:12:12 UTC (rev 2897)
@@ -54,8 +54,10 @@
<exclude name="org/jboss/ws/integration/jboss42/ServiceEndpointGeneratorEJB3.java"/>
<exclude name="org/jboss/ws/integration/jboss42/ServiceEndpointInvokerEJB3.java"/>
<classpath refid="jboss42.integration.classpath"/>
- <classpath path="${core.output.classes14.dir}"/>
<classpath path="${core.output.classes.dir}"/>
+ <classpath path="${api.output.classes14.dir}"/>
+ <classpath path="${api.output.classes.dir}"/>
+ <classpath path="${integration.output.classes.dir}"/>
</javac>
</target>
<target name="jboss42-compile-ejb3-classes" depends="jboss42-init,core-compile,jboss42-check-ejb3-classes" if="jboss42.ejb3.available">
@@ -66,8 +68,10 @@
<include name="org/jboss/ws/integration/jboss42/ServiceEndpointGeneratorEJB3.java"/>
<include name="org/jboss/ws/integration/jboss42/ServiceEndpointInvokerEJB3.java"/>
<classpath refid="jboss42.integration.classpath"/>
- <classpath path="${core.output.classes14.dir}"/>
<classpath path="${core.output.classes.dir}"/>
+ <classpath path="${api.output.classes14.dir}"/>
+ <classpath path="${api.output.classes.dir}"/>
+ <classpath path="${integration.output.classes.dir}"/>
</javac>
</target>
<target name="jboss42-check-ejb3-classes" depends="jboss42-init" unless="jboss42.ejb3.available">
Modified: trunk/integration-jboss50/build.xml
===================================================================
--- trunk/integration-jboss50/build.xml 2007-04-23 06:06:16 UTC (rev 2896)
+++ trunk/integration-jboss50/build.xml 2007-04-23 06:12:12 UTC (rev 2897)
@@ -50,8 +50,10 @@
deprecation="${javac.deprecation}" failonerror="${javac.fail.onerror}">
<include name="org/jboss/ws/integration/jboss50/**"/>
<classpath refid="jboss50.integration.classpath"/>
- <classpath path="${core.output.classes14.dir}"/>
<classpath path="${core.output.classes.dir}"/>
+ <classpath path="${api.output.classes14.dir}"/>
+ <classpath path="${api.output.classes.dir}"/>
+ <classpath path="${integration.output.classes.dir}"/>
</javac>
</target>
@@ -117,9 +119,11 @@
<fileset dir="${jboss50.output.lib.dir}">
<include name="jbossws-jboss50-integration.jar"/>
</fileset>
+ <fileset dir="${api.output.lib.dir}">
+ <include name="jboss-jaxws.jar"/>
+ </fileset>
<fileset dir="${core.output.lib.dir}">
<include name="jbossws-core.jar"/>
- <include name="jboss-jaxws.jar"/>
</fileset>
<fileset dir="${thirdparty.dir}">
<include name="wsdl4j.jar"/>
@@ -145,13 +149,15 @@
<ant antfile="../build/ant-import/build-deploy.xml" target="deploy-jboss50" inheritall="true"/>
<!-- The JBossAS testsuite references jbossws from thirdparty -->
<copy todir="${jboss50.home}/../../../thirdparty/jboss/jbossws/lib" overwrite="true">
- <fileset dir="${core.output.lib.dir}">
- <include name="jbossws-client.jar"/>
- <include name="jbossws-core.jar"/>
+ <fileset dir="${api.output.lib.dir}">
<include name="jboss-jaxrpc.jar"/>
<include name="jboss-jaxws.jar"/>
<include name="jboss-saaj.jar"/>
</fileset>
+ <fileset dir="${core.output.lib.dir}">
+ <include name="jbossws-client.jar"/>
+ <include name="jbossws-core.jar"/>
+ </fileset>
<fileset dir="${jboss50.output.lib.dir}">
<include name="jbossws-jboss50-integration.jar"/>
</fileset>
Modified: trunk/integration-tomcat/build.xml
===================================================================
--- trunk/integration-tomcat/build.xml 2007-04-23 06:06:16 UTC (rev 2896)
+++ trunk/integration-tomcat/build.xml 2007-04-23 06:12:12 UTC (rev 2897)
@@ -51,8 +51,10 @@
deprecation="${javac.deprecation}" failonerror="${javac.fail.onerror}">
<include name="org/jboss/ws/integration/tomcat/**"/>
<classpath refid="tomcat.integration.classpath"/>
- <classpath path="${core.output.classes14.dir}"/>
<classpath path="${core.output.classes.dir}"/>
+ <classpath path="${api.output.classes14.dir}"/>
+ <classpath path="${api.output.classes.dir}"/>
+ <classpath path="${integration.output.classes.dir}"/>
</javac>
</target>
Added: trunk/jbossws-api/.classpath
===================================================================
--- trunk/jbossws-api/.classpath (rev 0)
+++ trunk/jbossws-api/.classpath 2007-04-23 06:12:12 UTC (rev 2897)
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="src" path="src/main/java"/>
+ <classpathentry kind="src" path="src/test/java"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.junit.JUNIT_CONTAINER/3.8.1"/>
+ <classpathentry kind="lib" path="/build/thirdparty/jboss-common-core.jar"/>
+ <classpathentry kind="lib" path="/build/thirdparty/jboss-logging-log4j.jar"/>
+ <classpathentry kind="lib" path="/build/thirdparty/jboss-logging-spi.jar"/>
+ <classpathentry kind="output" path="output-eclipse"/>
+</classpath>
Added: trunk/jbossws-api/.project
===================================================================
--- trunk/jbossws-api/.project (rev 0)
+++ trunk/jbossws-api/.project 2007-04-23 06:12:12 UTC (rev 2897)
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>jbossws-api</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ </natures>
+</projectDescription>
Added: trunk/jbossws-api/build.xml
===================================================================
--- trunk/jbossws-api/build.xml (rev 0)
+++ trunk/jbossws-api/build.xml 2007-04-23 06:12:12 UTC (rev 2897)
@@ -0,0 +1,148 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!-- ====================================================================== -->
+<!-- -->
+<!-- JBoss, the OpenSource J2EE webOS -->
+<!-- -->
+<!-- Distributable under LGPL license. -->
+<!-- See terms of license at http://www.gnu.org. -->
+<!-- -->
+<!-- ====================================================================== -->
+
+<!-- $Id$ -->
+
+<project default="main" basedir="../jbossws-api" name="WebService API">
+
+ <import file="${basedir}/../build/ant-import/build-thirdparty.xml"/>
+ <import file="${basedir}/../build/ant-import/build-setup.xml"/>
+
+ <property name="api.src.dir" value="${api.dir}/src"/>
+ <property name="api.java.dir" value="${api.src.dir}/java"/>
+ <property name="api.resources.dir" value="${api.src.dir}/resources"/>
+ <property name="api.output.dir" value="${api.dir}/output"/>
+ <property name="api.output.apidocs.dir" value="${api.output.dir}/apidocs"/>
+ <property name="api.output.classes.dir" value="${api.output.dir}/classes"/>
+ <property name="api.output.classes14.dir" value="${api.output.dir}/classes14"/>
+ <property name="api.output.lib.dir" value="${api.output.dir}/lib"/>
+
+ <target name="api-init" depends="prepare, thirdparty">
+ </target>
+
+ <!-- ================================================================== -->
+ <!-- Compile -->
+ <!-- ================================================================== -->
+
+ <!--
+ | Compile everything.
+ |
+ | This target should depend on other compile-* targets for each
+ | different type of compile that needs to be performed, short of
+ | documentation compiles.
+ -->
+
+ <target name="api-compile" depends="api-init,api-compile-classes,api-compile-etc" description="Compile all source files."/>
+
+ <!-- Compile java sources -->
+ <target name="api-compile-classes" depends="api-init">
+
+ <!-- Compile interfaces with jdk1.4 -->
+ <mkdir dir="${api.output.classes14.dir}"/>
+ <javac srcdir="${api.java.dir}" destdir="${api.output.classes14.dir}" encoding="utf-8" debug="${javac.debug}" verbose="${javac.verbose}" deprecation="${javac.deprecation}"
+ failonerror="${javac.fail.onerror}" source="1.4" target="1.4">
+ <include name="javax/xml/rpc/**"/>
+ <include name="javax/xml/soap/**"/>
+ <classpath refid="core.classpath"/>
+ </javac>
+
+ <!-- Compile api classes with jdk1.5 -->
+ <mkdir dir="${api.output.classes.dir}"/>
+ <javac srcdir="${api.java.dir}" sourcepath="" destdir="${api.output.classes.dir}" encoding="utf-8" debug="${javac.debug}" verbose="${javac.verbose}"
+ deprecation="${javac.deprecation}" failonerror="${javac.fail.onerror}" source="1.5" target="1.5">
+ <include name="javax/annotation/**"/>
+ <include name="javax/xml/ws/**"/>
+ <include name="javax/jws/**"/>
+ <include name="org/jboss/annotation/**"/>
+ <include name="org/jboss/ws/**"/>
+ <classpath path="${api.output.classes14.dir}"/>
+ <classpath refid="core.classpath"/>
+ </javac>
+ </target>
+
+
+ <!-- Compile etc files (manifests and such) -->
+ <target name="api-compile-etc" depends="api-init">
+ <mkdir dir="${build.etc.dir}"/>
+ <copy todir="${build.etc.dir}" filtering="yes" overwrite="yes">
+ <fileset dir="${build.dir}/etc"/>
+ <filterset>
+ <filter token="java.vm.version" value="${java.vm.version}"/>
+ <filter token="java.vm.vendor" value="${java.vm.vendor}"/>
+ <filter token="build.id" value="${build.id}"/>
+ <filter token="implementation.version" value="jbossws-${version.id}"/>
+ <filtersfile file="${build.dir}/version.properties"/>
+ </filterset>
+ </copy>
+ </target>
+
+ <!-- ================================================================== -->
+ <!-- Archives -->
+ <!-- ================================================================== -->
+
+ <!--
+ | Build all jar files.
+ -->
+ <target name="api-jars" depends="api-compile,api-module-jars" description="Builds all jar files.">
+ </target>
+
+ <!--
+ | Build all jar files.
+ -->
+ <target name="api-module-jars">
+
+ <!-- Build jboss-jaxrpc.jar -->
+ <mkdir dir="${api.output.lib.dir}"/>
+ <jar jarfile="${api.output.lib.dir}/jboss-jaxrpc.jar" manifest="${build.etc.dir}/default.mf">
+ <fileset dir="${api.output.classes14.dir}">
+ <include name="javax/xml/rpc/**"/>
+ </fileset>
+ </jar>
+
+ <!-- Build jboss-saaj.jar -->
+ <mkdir dir="${api.output.lib.dir}"/>
+ <jar jarfile="${api.output.lib.dir}/jboss-saaj.jar" manifest="${build.etc.dir}/default.mf">
+ <fileset dir="${api.output.classes14.dir}">
+ <include name="javax/xml/soap/**"/>
+ </fileset>
+ <metainf dir="${api.resources.dir}/jboss-saaj.jar/META-INF"/>
+ </jar>
+
+ <!-- Build jboss-jaxws.jar -->
+ <mkdir dir="${api.output.lib.dir}"/>
+ <jar jarfile="${api.output.lib.dir}/jboss-jaxws.jar" manifest="${build.etc.dir}/default.mf">
+ <fileset dir="${api.output.classes.dir}">
+ <include name="javax/annotation/**"/>
+ <include name="javax/jws/**"/>
+ <include name="javax/xml/ws/**"/>
+ </fileset>
+ <metainf dir="${api.resources.dir}/jboss-jaxws.jar/META-INF"/>
+ </jar>
+
+ <!-- Build jbossws-api-src.zip -->
+ <zip zipfile="${api.output.lib.dir}/jbossws-api-src.zip" >
+ <fileset dir="${api.java.dir}"/>
+ </zip>
+
+ </target>
+
+ <target name="clean" depends="prepare" description="Cleans up most generated files.">
+ <delete dir="${api.output.dir}"/>
+ </target>
+
+ <target name="main" description="Executes the default target (most)." depends="most"/>
+
+ <target name="most" description="Builds almost everything." depends="api-jars"/>
+
+ <target name="all" description="Create a distribution zip file" depends="main">
+ </target>
+
+</project>
Property changes on: trunk/jbossws-api/build.xml
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/jbossws-api/src/java/javax/annotation/Resource.java
===================================================================
--- trunk/jbossws-api/src/java/javax/annotation/Resource.java (rev 0)
+++ trunk/jbossws-api/src/java/javax/annotation/Resource.java 2007-04-23 06:12:12 UTC (rev 2897)
@@ -0,0 +1,67 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package javax.annotation;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+/**
+ * The Resource annotation is used to express a dependency on an external
+ * resource in the bean’s environment. The name property refers to the name by
+ * which the resource is to be known in the environment; the type is the
+ * resource manager connection factory type. The authenticationType member
+ * specifies whether the container or bean is to perform authentication. The
+ * shareable member refers to the sharability of resource manager connections.
+ *
+ * @author <a href="mailto:bill@jboss.org">Bill Burke</a>
+ * @version $Revision$
+ */
+(a)Target({ElementType.METHOD, ElementType.TYPE, ElementType.FIELD, ElementType.PARAMETER}) @Retention(RetentionPolicy.RUNTIME)
+ public @interface Resource
+{
+ /**
+ * Enums for whether the container or bean is to perform authentication.
+ *
+ * @author <a href="mailto:bill@jboss.org">Bill Burke</a>
+ * @version $Revision$
+ */
+ public enum AuthenticationType
+ {
+ CONTAINER,
+ APPLICATION
+ }
+
+ String name() default "";
+
+ Class type() default Object.class;
+
+ AuthenticationType authenticationType() default AuthenticationType.CONTAINER;
+
+ boolean shareable() default true;
+
+ String description() default "";
+
+ String mappedName() default "";
+
+}
Property changes on: trunk/jbossws-api/src/java/javax/annotation/Resource.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/jbossws-api/src/java/javax/annotation/Resources.java
===================================================================
--- trunk/jbossws-api/src/java/javax/annotation/Resources.java (rev 0)
+++ trunk/jbossws-api/src/java/javax/annotation/Resources.java 2007-04-23 06:12:12 UTC (rev 2897)
@@ -0,0 +1,39 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package javax.annotation;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+/**
+ * Specify a collection of Resources on a bean class.
+ *
+ * @author <a href="mailto:bill@jboss.org">Bill Burke</a>
+ * @version $Revision$
+ */
+(a)Target({ElementType.TYPE}) @Retention(RetentionPolicy.RUNTIME)
+public @interface Resources
+{
+ Resource[] value();
+}
Property changes on: trunk/jbossws-api/src/java/javax/annotation/Resources.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/jbossws-api/src/java/javax/jws/HandlerChain.java
===================================================================
--- trunk/jbossws-api/src/java/javax/jws/HandlerChain.java (rev 0)
+++ trunk/jbossws-api/src/java/javax/jws/HandlerChain.java 2007-04-23 06:12:12 UTC (rev 2897)
@@ -0,0 +1,56 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package javax.jws;
+
+// $Id$
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+/**
+ * Associates the Web Service with an externally defined handler chain. This annotation is typically used in scenarios
+ * where embedding the handler configuration directly in the Java source is not appropriate; for example, where the
+ * handler configuration needs to be shared across multiple Web Services, or where the handler chain consists of
+ * handlers for multiple transports.
+ *
+ * @author thomas.diesler(a)jboss.org
+ * @since 26-Apr-2005
+ */
+@Retention(value = RetentionPolicy.RUNTIME)
+@Target(value = { ElementType.TYPE, ElementType.METHOD, ElementType.FIELD })
+public @interface HandlerChain
+{
+
+ /**
+ * Location of the handler chain file. The location is a URL, which may be relative or absolute. Relative URLs
+ * are relative to the location of the service implementation bean at the time of processing.
+ */
+ String file();
+
+ /**
+ * Name of the handler chain in the configuration file
+ * @deprecated
+ */
+ String name() default "";
+};
Property changes on: trunk/jbossws-api/src/java/javax/jws/HandlerChain.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/jbossws-api/src/java/javax/jws/Oneway.java
===================================================================
--- trunk/jbossws-api/src/java/javax/jws/Oneway.java (rev 0)
+++ trunk/jbossws-api/src/java/javax/jws/Oneway.java 2007-04-23 06:12:12 UTC (rev 2897)
@@ -0,0 +1,44 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package javax.jws;
+
+// $Id$
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+/**
+ * Indicates that the given @WebMethod has only an input message and no output. Typically, a oneway method returns
+ * the thread of control to the calling application prior to executing the actual business method. A 181 processor
+ * should report an error if an operation marked @Oneway has a return value or Holder parameters, or declares any
+ * checked exceptions.
+ *
+ * @author thomas.diesler(a)jboss.org
+ * @since 26-Apr-2005
+ */
+@Retention(value = RetentionPolicy.RUNTIME)
+@Target(value = { ElementType.METHOD })
+public @interface Oneway
+{
+}
Property changes on: trunk/jbossws-api/src/java/javax/jws/Oneway.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/jbossws-api/src/java/javax/jws/WebMethod.java
===================================================================
--- trunk/jbossws-api/src/java/javax/jws/WebMethod.java (rev 0)
+++ trunk/jbossws-api/src/java/javax/jws/WebMethod.java 2007-04-23 06:12:12 UTC (rev 2897)
@@ -0,0 +1,59 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package javax.jws;
+
+// $Id$
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+/**
+ * Specifies that the given method is exposed as a Web Service operation, making it part of the Web Service's public
+ * contract. A WebMethod annotation is required for each method that is published by the Web Service. The associated
+ * method must be public and its parameters return value, and exceptions must follow the rules defined in JAX-RPC 1.1,
+ * section 5. The method is not required to throw java.rmi.RemoteException.
+ *
+ * @author thomas.diesler(a)jboss.org
+ * @since 26-Apr-2005
+ */
+@Retention(value = RetentionPolicy.RUNTIME)
+@Target( { ElementType.METHOD })
+public @interface WebMethod
+{
+ /**
+ * Indicate that a method should not be exposed on the Web Service
+ */
+ boolean exclude() default false;
+
+ /**
+ * Name of the wsdl:operation matching this method. By default the WSDL operation name will be the same
+ * as the Java method name.
+ */
+ String operationName() default "";
+
+ /**
+ * The action for this operation. For SOAP bindings, this determines the value of the SOAPAction header.
+ */
+ String action() default "";
+};
Property changes on: trunk/jbossws-api/src/java/javax/jws/WebMethod.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/jbossws-api/src/java/javax/jws/WebParam.java
===================================================================
--- trunk/jbossws-api/src/java/javax/jws/WebParam.java (rev 0)
+++ trunk/jbossws-api/src/java/javax/jws/WebParam.java 2007-04-23 06:12:12 UTC (rev 2897)
@@ -0,0 +1,91 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package javax.jws;
+
+// $Id$
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+/**
+ * Customizes the mapping of an individual parameter to a Web Service message part and XML element.
+ *
+ * @author thomas.diesler(a)jboss.org
+ * @since 26-Apr-2005
+ */
+@Retention(value = RetentionPolicy.RUNTIME)
+@Target(value = { ElementType.PARAMETER })
+public @interface WebParam
+{
+ /**
+ * The direction in which the parameter flows
+ */
+ public enum Mode
+ {
+ IN, OUT, INOUT
+ };
+
+ /**
+ * Name of the parameter.
+ *
+ * If the operation is rpc style and @WebParam.partName has not been specified, this is name of the wsdl:part representing the parameter.
+ * If the operation is document style or the parameter maps to a header, this is the local name of the XML element representing the parameter.
+ *
+ * A name MUST be specified if the operation is document style, the parameter style is BARE, and the mode is OUT or INOUT.
+ *
+ * Specification Default:
+ * If the operation is document style and the parameter style is BARE, @WebMethod.operationName.
+ * Otherwise, argN, where N represents the index of the parameter in the method signature (starting at arg0).
+ */
+ String name() default "";
+
+ /**
+ * The name of the wsdl:part representing this return value.
+ * This is only used if the operation is rpc style, or if the operation is document style and the parameter style is BARE.
+ */
+ String partName() default "";
+
+ /**
+ * The XML namespace for the parameter.
+ *
+ * Only used if the operation is document style or the paramater maps to a header. If the target namespace is set to “”, this represents the empty namespace.
+ *
+ * Specification Default:
+ * If the operation is document style, the parameter style is WRAPPED, and the parameter does not map to a header, the empty namespace.
+ * Otherwise, the targetNamespace for the Web Service.
+ */
+ String targetNamespace() default "";
+
+ /**
+ * The direction in which the parameter is flowing. One of IN, OUT, or INOUT. The OUT and INOUT modes may only be
+ * specified for parameter types that conform to the JAX-RPC definition of Holder types. See JAX-RPC 1.1, section
+ * 4.3.5. OUT and INOUT modes are only supported for RPC bindings or for parameters that map to headers.
+ */
+ Mode mode() default Mode.IN;
+
+ /**
+ * If true, the parameter is pulled from a message header rather then the message body.
+ */
+ boolean header() default false;
+};
Property changes on: trunk/jbossws-api/src/java/javax/jws/WebParam.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/jbossws-api/src/java/javax/jws/WebResult.java
===================================================================
--- trunk/jbossws-api/src/java/javax/jws/WebResult.java (rev 0)
+++ trunk/jbossws-api/src/java/javax/jws/WebResult.java 2007-04-23 06:12:12 UTC (rev 2897)
@@ -0,0 +1,72 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package javax.jws;
+
+// $Id$
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+/**
+ * Customizes the mapping of the return value to a WSDL part and XML element.
+ *
+ * @author thomas.diesler(a)jboss.org
+ * @since 26-Apr-2005
+ */
+@Retention(value = RetentionPolicy.RUNTIME)
+@Target(value = { ElementType.METHOD })
+public @interface WebResult
+{
+ /**
+ * If true, the result is pulled from a message header rather then the message body.
+ */
+ boolean header() default false;
+
+ /**
+ * If the operation is rpc style and @WebResult.partName has not been specified, this is the name of the wsdl:part representing the return value.
+ * If the operation is document style or the return value maps to a header, this is the local name of the XML element representing the return value.
+ *
+ * Specification Default:
+ * If the operation is document style and the parameter style is BARE, @WebParam.operationName+”Response”.
+ * Otherwise, “return.”
+ */
+ String name() default "";
+
+ /**
+ * The name of the wsdl:part representing this return value.
+ * This is only used if the operation is rpc style, or if the operation is document style and the parameter style is BARE.
+ */
+ String partName() default "";
+
+ /**
+ * The XML namespace for the return value.
+ *
+ * Only used if the operation is document style or the return value maps to a header. If the target namespace is set to “”, this represents the empty namespace.
+ *
+ * Specification Default:
+ * If the operation is document style, the parameter style is WRAPPED, and the return value does not map to a header, the empty namespace.
+ * Otherwise, the targetNamespace for the Web Service.
+ */
+ String targetNamespace() default "";
+};
Property changes on: trunk/jbossws-api/src/java/javax/jws/WebResult.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/jbossws-api/src/java/javax/jws/WebService.java
===================================================================
--- trunk/jbossws-api/src/java/javax/jws/WebService.java (rev 0)
+++ trunk/jbossws-api/src/java/javax/jws/WebService.java 2007-04-23 06:12:12 UTC (rev 2897)
@@ -0,0 +1,112 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package javax.jws;
+
+// $Id$
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+/**
+ * Marks a Java class as implementing a Web Service, or a Java interface as defining a Web Service interface.
+ *
+ * @author thomas.diesler(a)jboss.org
+ * @since 26-Apr-2005
+ */
+@Retention(value = RetentionPolicy.RUNTIME)
+@Target(value = { ElementType.TYPE })
+public @interface WebService
+{
+
+ /**
+ * The name of the Web Service.
+ * Used as the name of the wsdl:portType when mapped to WSDL 1.1.
+ * Specification Default:
+ * The simple name of the Java class or interface.
+ */
+ String name() default "";
+
+ /**
+ * The port name of the Web Service.
+ * Used as the name of the wsdl:port when mapped to WSDL 1.1.
+ * This member-value is not allowed on endpoint interfaces.
+ * Specification Default:
+ * @WebService.name + ”Port”.
+ */
+ String portName() default "";
+
+ /**
+ * If the @WebService.targetNamespace annotation is on a service endpoint interface, the targetNamespace is used for the
+ * namespace for the wsdl:portType (and associated XML elements).
+ *
+ * If the @WebService.targetNamespace annotation is on a service implementation bean that does NOT reference a service
+ * endpoint interface (through the endpointInterface attribute), the targetNamespace is used for both the wsdl:portType
+ * and the wsdl:service (and associated XML elements).
+ *
+ * If the @WebService.targetNamespace annotation is on a service implementation bean that does reference a service
+ * endpoint interface (through the endpointInterface attribute), the targetNamespace is used for only the wsdl:service
+ * (and associated XML elements).
+ */
+ String targetNamespace() default "";
+
+ /**
+ * The service name of the Web Service.
+ *
+ * Used as the name of the wsdl:service when mapped to WSDL 1.1.
+ *
+ * This member-value is not allowed on endpoint interfaces.
+ *
+ * Specification Default:
+ * The simple name of the Java class + “Service".
+ */
+ String serviceName() default "";
+
+ /**
+ * The location of a pre-defined WSDL describing the service.
+ *
+ * The wsdlLocation is a URL (relative or absolute) that refers to a pre-existing WSDL file.
+ * The presence of a wsdlLocation value indicates that the service implementation bean is implementing a
+ * pre-defined WSDL contract. The JSR-181 tool MUST provide feedback if the service implementation bean is
+ * inconsistent with the portType and bindings declared in this WSDL. Note that a single WSDL file might
+ * contain multiple portTypes and multiple bindings. The annotations on the service implementation bean
+ * determine the specific portType and bindings that correspond to the Web Service.
+ */
+ String wsdlLocation() default "";
+
+ /**
+ * The complete name of the service endpoint interface defining the service’s abstract Web Service contract.
+ *
+ * This annotation allows the developer to separate the interface contract from the implementation.
+ * If this annotation is present, the service endpoint interface is used to determine the abstract
+ * WSDL contract (portType and bindings). The service endpoint interface MAY include JSR-181 annotations
+ * to customize the mapping from Java to WSDL.
+ *
+ * The service implementation bean MAY implement the service endpoint interface, but is not REQUIRED to do so.
+ * If this member-value is not present, the Web Service contract is generated from annotations on the service
+ * implementation bean. If a service endpoint interface is required by the target environment, it will be generated into an implementation-defined package with an implementation- defined name
+ *
+ * This member-value is not allowed on endpoint interfaces.
+ */
+ String endpointInterface() default "";
+};
Property changes on: trunk/jbossws-api/src/java/javax/jws/WebService.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/jbossws-api/src/java/javax/jws/soap/InitParam.java
===================================================================
--- trunk/jbossws-api/src/java/javax/jws/soap/InitParam.java (rev 0)
+++ trunk/jbossws-api/src/java/javax/jws/soap/InitParam.java 2007-04-23 06:12:12 UTC (rev 2897)
@@ -0,0 +1,43 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package javax.jws.soap;
+
+// $Id$
+
+/** An initialization parameter
+ *
+ * @author thomas.diesler(a)jboss.org
+ * @since 26-Apr-2005
+ */
+public @interface InitParam
+{
+
+ /**
+ * Name of the initialization parameter
+ */
+ String name();
+
+ /**
+ * Value of the initialization parameter
+ */
+ String value();
+};
Property changes on: trunk/jbossws-api/src/java/javax/jws/soap/InitParam.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/jbossws-api/src/java/javax/jws/soap/SOAPBinding.java
===================================================================
--- trunk/jbossws-api/src/java/javax/jws/soap/SOAPBinding.java (rev 0)
+++ trunk/jbossws-api/src/java/javax/jws/soap/SOAPBinding.java 2007-04-23 06:12:12 UTC (rev 2897)
@@ -0,0 +1,81 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package javax.jws.soap;
+
+// $Id$
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+/**
+ * Specifies the mapping of the Web Service onto the SOAP message protocol.
+ *
+ * @author thomas.diesler(a)jboss.org
+ * @since 26-Apr-2005
+ */
+@Retention(value = RetentionPolicy.RUNTIME)
+@Target(value = { ElementType.TYPE, ElementType.METHOD })
+public @interface SOAPBinding
+{
+
+ /**
+ * The SOAP binding style
+ */
+ public enum Style
+ {
+ DOCUMENT, RPC
+ };
+
+ /**
+ * The SOAP binding use
+ */
+ public enum Use
+ {
+ LITERAL, ENCODED
+ };
+
+ /**
+ * The style of mapping parameters onto SOAP messages
+ */
+ public enum ParameterStyle
+ {
+ BARE, WRAPPED
+ }
+
+ /**
+ * Defines the encoding style for messages send to and from the Web Service.
+ */
+ Style style() default Style.DOCUMENT;
+
+ /**
+ * Defines the formatting style for messages sent to and from the Web Service.
+ */
+ Use use() default Use.LITERAL;
+
+ /**
+ * Determines whether method parameters represent the entire message body, or whether the parameters are elements
+ * wrapped inside a top-level element named after the operation
+ */
+ ParameterStyle parameterStyle() default ParameterStyle.WRAPPED;
+}
Property changes on: trunk/jbossws-api/src/java/javax/jws/soap/SOAPBinding.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/jbossws-api/src/java/javax/jws/soap/SOAPMessageHandler.java
===================================================================
--- trunk/jbossws-api/src/java/javax/jws/soap/SOAPMessageHandler.java (rev 0)
+++ trunk/jbossws-api/src/java/javax/jws/soap/SOAPMessageHandler.java 2007-04-23 06:12:12 UTC (rev 2897)
@@ -0,0 +1,62 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package javax.jws.soap;
+
+// $Id$
+
+/**
+ * A single SOAP message handler
+ *
+ * @author thomas.diesler(a)jboss.org
+ * @since 26-Apr-2005
+ * @deprecated
+ */
+public @interface SOAPMessageHandler
+{
+
+ /**
+ * Name of the handler. Defaults to the name of the handler class.
+ */
+ String name() default "";
+
+ /**
+ * Name of the handler class.
+ */
+ String className();
+
+ /**
+ * Array of name/value pairs that should be passed to the handler during initialization.
+ */
+ InitParam[] initParams() default {};
+
+ /**
+ * List of SOAP roles/actors implemented by the handler
+ */
+ String[] roles() default {};
+
+ /**
+ * List of SOAP headers processed by the handler. Each element in this array contains a QName which defines the
+ * header element processed by the handler. The QNames are specified using the string notation described in the
+ * documentation for javax.xml.namespace.QName.valueOf(String qNameAsString)
+ */
+ String[] headers() default {};
+};
Property changes on: trunk/jbossws-api/src/java/javax/jws/soap/SOAPMessageHandler.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/jbossws-api/src/java/javax/jws/soap/SOAPMessageHandlers.java
===================================================================
--- trunk/jbossws-api/src/java/javax/jws/soap/SOAPMessageHandlers.java (rev 0)
+++ trunk/jbossws-api/src/java/javax/jws/soap/SOAPMessageHandlers.java 2007-04-23 06:12:12 UTC (rev 2897)
@@ -0,0 +1,47 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package javax.jws.soap;
+
+// $Id$
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+/**
+ * This annotation was originally used to create a JAX-RPC handler chain. In this version,
+ * the annotation is ALWAYS ignored.
+ *
+ * This annotation will be permanently removed in a future version of JSR-181.
+
+ * @author thomas.diesler(a)jboss.org
+ * @since 26-Apr-2005
+ * @deprecated
+ */
+@Retention(value = RetentionPolicy.RUNTIME)
+@Target(value = { ElementType.TYPE })
+public @interface SOAPMessageHandlers
+{
+
+ SOAPMessageHandler[] value();
+};
Property changes on: trunk/jbossws-api/src/java/javax/jws/soap/SOAPMessageHandlers.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/jbossws-api/src/java/javax/xml/rpc/Call.java
===================================================================
--- trunk/jbossws-api/src/java/javax/xml/rpc/Call.java (rev 0)
+++ trunk/jbossws-api/src/java/javax/xml/rpc/Call.java 2007-04-23 06:12:12 UTC (rev 2897)
@@ -0,0 +1,260 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package javax.xml.rpc;
+
+import java.rmi.RemoteException;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+
+import javax.xml.namespace.QName;
+
+/** The javax.xml.rpc.Call interface provides support for the dynamic invocation of a service endpoint.
+ * The javax.xml.rpc.Service interface acts as a factory for the creation of Call instances.
+ *
+ * Once a Call instance is created, various setter and getter methods may be used to configure this Call instance.
+ *
+ * @author Scott.Stark(a)jboss.org
+ * @version $Revision$
+ */
+public interface Call
+{
+ /** Standard property: User name for authentication Type: java.lang.String */
+ public static final String USERNAME_PROPERTY = "javax.xml.rpc.security.auth.username";
+ /** Standard property: Password for authentication Type: java.lang.String */
+ public static final String PASSWORD_PROPERTY = "javax.xml.rpc.security.auth.password";
+ /** Standard property for operation style. */
+ public static final String OPERATION_STYLE_PROPERTY = "javax.xml.rpc.soap.operation.style";
+ /** Standard property for SOAPAction. */
+ public static final String SOAPACTION_USE_PROPERTY = "javax.xml.rpc.soap.http.soapaction.use";
+ /** Standard property for SOAPAction. */
+ public static final String SOAPACTION_URI_PROPERTY = "javax.xml.rpc.soap.http.soapaction.uri";
+ /** Standard property for encoding Style: Encoding style specified as a namespace URI. */
+ public static final String ENCODINGSTYLE_URI_PROPERTY = "javax.xml.rpc.encodingstyle.namespace.uri";
+ /** Standard property: This boolean property is used by a service client to indicate whether or not it wants to participate in a session with a service endpoint. */
+ public static final String SESSION_MAINTAIN_PROPERTY = "javax.xml.rpc.session.maintain";
+
+ /** Indicates whether addParameter and setReturnType methods are to be invoked to specify the parameter and return
+ * type specification for a specific operation.
+ * @param operationName Qualified name of the operation
+ * @return Returns true if the Call implementation class requires addParameter and setReturnType to be invoked in the client code for the specified operation. This method returns false otherwise.
+ * @throws IllegalArgumentException If invalid operation name is specified
+ */
+ public boolean isParameterAndReturnSpecRequired(QName operationName);
+
+ /** Adds a parameter type and mode for a specific operation.
+ * Note that the client code may not call any addParameter and setReturnType methods before calling the invoke method.
+ * In this case, the Call implementation class determines the parameter types by using reflection on parameters,
+ * using the WSDL description and configured type mapping registry.
+ *
+ * @param paramName Name of the parameter
+ * @param xmlType XML type of the parameter
+ * @param parameterMode Mode of the parameter-whether ParameterMode.IN, ParameterMode.OUT, or ParameterMode.INOUT
+ * @throws JAXRPCException This exception may be thrown if the method isParameterAndReturnSpecRequired returns false for this operation.
+ * @throws IllegalArgumentException If any illegal parameter name or XML type is specified
+ */
+ public void addParameter(String paramName, QName xmlType, ParameterMode parameterMode);
+
+ /** Adds a parameter type and mode for a specific operation.
+ * This method is used to specify the Java type for either OUT or INOUT parameters.
+ *
+ * @param paramName Name of the parameter
+ * @param xmlType XML type of the parameter
+ * @param javaType Java class of the parameter
+ * @param parameterMode Mode of the parameter-whether ParameterMode.IN, ParameterMode.OUT, or ParameterMode.INOUT
+ * @throws JAXRPCException
+ * <ul>
+ * <li>This exception may be thrown if the method isParameterAndReturnSpecRequired returns false for this operation.
+ * <li>If specified XML type and Java type mapping is not valid. For example, TypeMappingRegistry has no serializers for this mapping.
+ * </ul>
+ * @throws IllegalArgumentException If any illegal parameter name or XML type is specified
+ * @throws UnsupportedOperationException If this method is not supported
+ */
+ public void addParameter(String paramName, QName xmlType, Class javaType, ParameterMode parameterMode);
+
+ /** Gets the XML type of a parameter by name.
+ *
+ * @param paramName - Name of the parameter
+ * @return Returns XML type for the specified parameter
+ */
+ public QName getParameterTypeByName(String paramName);
+
+ /** Sets the return type for a specific operation. Invoking setReturnType(null) removes the return type for this Call object.
+ *
+ * @param xmlType XML data type of the return value
+ * @throws JAXRPCException This exception may be thrown when the method isParameterAndReturnSpecRequired returns false.
+ * @throws IllegalArgumentException If an illegal XML type is specified
+ */
+ public void setReturnType(QName xmlType);
+
+ /** Sets the return type for a specific operation.
+ *
+ * @param xmlType XML data type of the return value
+ * @param javaType Java Class of the return value
+ * @throws JAXRPCException
+ * <ul>
+ * <li>This exception may be thrown if this method is invoked when the method isParameterAndReturnSpecRequired returns false.
+ * <li>If XML type and Java type cannot be mapped using the standard type mapping or TypeMapping registry
+ * </ul>
+ * @throws UnsupportedOperationException If this method is not supported
+ * @throws IllegalArgumentException If an illegal XML type is specified
+ */
+ public void setReturnType(QName xmlType, Class javaType);
+
+ /** Gets the return type for a specific operation
+ *
+ * @return Returns the XML type for the return value
+ */
+ public QName getReturnType();
+
+ /** Removes all specified parameters from this Call instance. Note that this method removes only the parameters and
+ * not the return type. The setReturnType(null) is used to remove the return type.
+ * @throws JAXRPCException This exception may be thrown If this method is called when the method isParameterAndReturnSpecRequired returns false for this Call's operation.
+ */
+ public void removeAllParameters();
+
+ /** Gets the name of the operation to be invoked using this Call instance.
+ * @return Qualified name of the operation
+ */
+ public QName getOperationName();
+
+ /** Sets the name of the operation to be invoked using this Call instance.
+ *
+ * @param operationName QName of the operation to be invoked using the Call instance
+ */
+ public void setOperationName(QName operationName);
+
+ /** Gets the qualified name of the port type.
+ * @return Qualified name of the port type
+ */
+ public QName getPortTypeName();
+
+ /** Sets the qualified name of the port type.
+ *
+ * @param portType - Qualified name of the port type
+ */
+ public void setPortTypeName(QName portType);
+
+ /** Sets the address of the target service endpoint. This address must correspond to the transport
+ * specified in the binding for this Call instance.
+ *
+ * @param address Address of the target service endpoint; specified as an URI
+ */
+ public void setTargetEndpointAddress(String address);
+
+ /** Gets the address of a target service endpoint.
+ * @return Address of the target service endpoint as an URI
+ */
+ public String getTargetEndpointAddress();
+
+ /** Sets the value for a named property.
+ * JAX-RPC specification specifies a standard set of properties that may be passed to the Call.setProperty method.
+ *
+ * @param name Name of the property
+ * @param value Value of the property
+ * @throws JAXRPCException
+ * <ul>
+ * <li> If an optional standard property name is specified, however this Call implementation class does not support the configuration of this property.
+ * <li> If an invalid (or unsupported) property name is specified or if a value of mismatched property type is passed.
+ * <li> If there is any error in the configuration of a valid property.
+ * </ul>
+ */
+ public void setProperty(String name, Object value);
+
+ /** Gets the value of a named property.
+ *
+ * @param name Name of the property
+ * @return Value of the named property
+ * @throws JAXRPCException if an invalid or unsupported property name is passed.
+ */
+ public Object getProperty(String name);
+
+ /** Removes a named property.
+ * @param name Name of the property
+ * @throws JAXRPCException if an invalid or unsupported property name is passed.
+ */
+ public void removeProperty(String name);
+
+ /** Gets the names of configurable properties supported by this Call object.
+ * @return Iterator for the property names
+ */
+ public Iterator getPropertyNames();
+
+ /** Invokes a specific operation using a synchronous request-response interaction mode.
+ *
+ * @param inputParams Object[]--Parameters for this invocation. This includes only the input params
+ * @return Returns the return value or null
+ * @throws RemoteException if there is any error in the remote method invocation
+ * @throws javax.xml.rpc.soap.SOAPFaultException Indicates a SOAP fault
+ * @throws JAXRPCException
+ * <ul>
+ * <li>If there is an error in the configuration of the Call object
+ * <li> If inputParams do not match the required parameter set (as specified through the addParameter invocations or in the corresponding WSDL)
+ * <li> If parameters and return type are incorrectly specified
+ * </ul>
+ */
+ public Object invoke(Object[] inputParams) throws RemoteException;
+
+ /** Invokes a specific operation using a synchronous request-response interaction mode.
+ *
+ * @param operationName QName of the operation
+ * @param inputParams Object[]--Parameters for this invocation. This includes only the input params.
+ * @return Return value or null
+ * @throws RemoteException if there is any error in the remote method invocation.
+ * @throws javax.xml.rpc.soap.SOAPFaultException - Indicates a SOAP fault
+ * @throws JAXRPCException
+ * <ul>
+ * <li> If there is an error in the configuration of the Call object
+ * <li> If inputParams do not match the required parameter set (as specified through the addParameter invocations or in the corresponding WSDL)
+ * <li> If parameters and return type are incorrectly specified
+ * </ul>
+ */
+ public Object invoke(QName operationName, Object[] inputParams) throws RemoteException;
+
+ /** Invokes a remote method using the one-way interaction mode.
+ * The client thread does not normally block waiting for the completion of the server processing for this
+ * remote method invocation. When the protocol in use is SOAP/HTTP, this method should block until an HTTP response
+ * code has been received or an error occurs. This method must not throw any remote exceptions.
+ * This method may throw a JAXRPCException during the processing of the one-way remote call.
+ *
+ * @param inputParams Object[]--Parameters for this invocation. This includes only the input params.
+ * @throws JAXRPCException if there is an error in the configuration of the Call object
+ * (example: a non-void return type has been incorrectly specified for the one-way call) or
+ * if there is any error during the invocation of the one-way remote call
+ */
+ public void invokeOneWay(Object[] inputParams);
+
+ /** Returns a Map of {name, value} for the output parameters of the last invoked operation.
+ * The parameter names in the returned Map are of type java.lang.String.
+ *
+ * @return Map Output parameters for the last Call.invoke(). Empty Map is returned if there are no output parameters.
+ * @throws JAXRPCException If this method is invoked for a one-way operation or is invoked before any invoke method has been called.
+ */
+ public Map getOutputParams();
+
+ /** Returns a List values for the output parameters of the last invoked operation.
+ *
+ * @return java.util.List Values for the output parameters. An empty List is returned if there are no output values.
+ * @throws JAXRPCException If this method is invoked for a one-way operation or is invoked before any invoke method has been called.
+ */
+ public List getOutputValues();
+}
Property changes on: trunk/jbossws-api/src/java/javax/xml/rpc/Call.java
___________________________________________________________________
Name: svn:executable
+ *
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/jbossws-api/src/java/javax/xml/rpc/JAXRPCException.java
===================================================================
--- trunk/jbossws-api/src/java/javax/xml/rpc/JAXRPCException.java (rev 0)
+++ trunk/jbossws-api/src/java/javax/xml/rpc/JAXRPCException.java 2007-04-23 06:12:12 UTC (rev 2897)
@@ -0,0 +1,54 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package javax.xml.rpc;
+
+
+/**
+ * @author Scott.Stark(a)jboss.org
+ * @version $Revision$
+ */
+public class JAXRPCException extends RuntimeException
+{
+ public JAXRPCException()
+ {
+ }
+
+ public JAXRPCException(String message)
+ {
+ super(message);
+ }
+
+ public JAXRPCException(String message, Throwable cause)
+ {
+ super(message, cause);
+ }
+
+ public JAXRPCException(Throwable cause)
+ {
+ super(cause);
+ }
+
+ public Throwable getLinkedCause()
+ {
+ return super.getCause();
+ }
+}
Property changes on: trunk/jbossws-api/src/java/javax/xml/rpc/JAXRPCException.java
___________________________________________________________________
Name: svn:executable
+ *
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/jbossws-api/src/java/javax/xml/rpc/NamespaceConstants.java
===================================================================
--- trunk/jbossws-api/src/java/javax/xml/rpc/NamespaceConstants.java (rev 0)
+++ trunk/jbossws-api/src/java/javax/xml/rpc/NamespaceConstants.java 2007-04-23 06:12:12 UTC (rev 2897)
@@ -0,0 +1,40 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package javax.xml.rpc;
+
+/** Constants used in JAX-RPC for namespace prefixes and URIs
+ *
+ * @author Scott.Stark(a)jboss.org
+ * @version $Revision$
+ */
+public class NamespaceConstants
+{
+ public static final String NSPREFIX_SOAP_ENVELOPE = "soapenv";
+ public static final String NSPREFIX_SOAP_ENCODING = "soapenc";
+ public static final String NSPREFIX_SCHEMA_XSD = "xsd";
+ public static final String NSPREFIX_SCHEMA_XSI = "xsi";
+ public static final String NSURI_SOAP_ENVELOPE = "http://schemas.xmlsoap.org/soap/envelope/";
+ public static final String NSURI_SOAP_ENCODING = "http://schemas.xmlsoap.org/soap/encoding/";
+ public static final String NSURI_SOAP_NEXT_ACTOR = "http://schemas.xmlsoap.org/soap/actor/next";
+ public static final String NSURI_SCHEMA_XSD = "http://www.w3.org/2001/XMLSchema";
+ public static final String NSURI_SCHEMA_XSI = "http://www.w3.org/2001/XMLSchema-instance";
+}
Property changes on: trunk/jbossws-api/src/java/javax/xml/rpc/NamespaceConstants.java
___________________________________________________________________
Name: svn:executable
+ *
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/jbossws-api/src/java/javax/xml/rpc/ParameterMode.java
===================================================================
--- trunk/jbossws-api/src/java/javax/xml/rpc/ParameterMode.java (rev 0)
+++ trunk/jbossws-api/src/java/javax/xml/rpc/ParameterMode.java 2007-04-23 06:12:12 UTC (rev 2897)
@@ -0,0 +1,46 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package javax.xml.rpc;
+
+/** A type-safe enumeration for parameter passing modes.
+ *
+ * @author Scott.Stark(a)jboss.org
+ * @version $Revision$
+ */
+public class ParameterMode
+{
+ private String mode;
+
+ public static final ParameterMode IN = new ParameterMode("IN");
+ public static final ParameterMode OUT = new ParameterMode("OUT");
+ public static final ParameterMode INOUT = new ParameterMode("INOUT");
+
+ private ParameterMode(String mode)
+ {
+ this.mode = mode;
+ }
+
+ public String toString()
+ {
+ return mode;
+ }
+}
Property changes on: trunk/jbossws-api/src/java/javax/xml/rpc/ParameterMode.java
___________________________________________________________________
Name: svn:executable
+ *
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/jbossws-api/src/java/javax/xml/rpc/Service.java
===================================================================
--- trunk/jbossws-api/src/java/javax/xml/rpc/Service.java (rev 0)
+++ trunk/jbossws-api/src/java/javax/xml/rpc/Service.java 2007-04-23 06:12:12 UTC (rev 2897)
@@ -0,0 +1,152 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package javax.xml.rpc;
+
+import java.net.URL;
+import java.rmi.Remote;
+import java.util.Iterator;
+
+import javax.xml.namespace.QName;
+import javax.xml.rpc.encoding.TypeMappingRegistry;
+import javax.xml.rpc.handler.HandlerRegistry;
+
+/** Service class acts as a factory for:
+ * <ul>
+ * <li>Dynamic proxy for the target service endpoint.
+ * <li>Instance of the type javax.xml.rpc.Call for the dynamic invocation of a remote operation on the target service endpoint.
+ * <li>Instance of a generated stub class
+ * </ul>
+ *
+ * @author Scott.Stark(a)jboss.org
+ * @author Thomas.Diesler(a)jboss.org
+ * @version $Revision$
+ */
+public interface Service
+{
+ /**
+ * The getPort method returns either an instance of a generated stub implementation class or a dynamic proxy.
+ * A service client uses this dynamic proxy to invoke operations on the target service endpoint.
+ * The serviceEndpointInterface specifies the service endpoint interface that is supported by the created dynamic proxy or stub instance.
+ *
+ * @param portName Qualified name of the service endpoint in the WSDL service descr
+ * @param seiClass Service endpoint interface supported by the dynamic proxy or stub instance
+ * @return Stub instance or dynamic proxy that supports the specified service endpoint interface
+ * @throws ServiceException This exception is thrown in the following cases:
+ * <ul>
+ * <li>If there is an error in creation of the dynamic proxy or stub instance
+ * <li>If there is any missing WSDL metadata as required by this method
+ * <li>Optionally, if an illegal serviceEndpointInterface or portName is specified
+ * </ul>
+ */
+ public Remote getPort(QName portName, Class seiClass) throws ServiceException;
+
+ /**
+ * The getPort method returns either an instance of a generated stub implementation class or a dynamic proxy.
+ * The parameter serviceEndpointInterface specifies the service endpoint interface that is supported by the returned stub or proxy.
+ * In the implementation of this method, the JAX-RPC runtime system takes the responsibility of selecting a protocol binding (and a port)
+ * and configuring the stub accordingly. The returned Stub instance should not be reconfigured by the client.
+ */
+ public Remote getPort(Class seiClass) throws ServiceException;
+
+ /** Gets an array of preconfigured Call objects for invoking operations on the specified port.
+ * There is one Call object per operation that can be invoked on the specified port.
+ * Each Call object is pre-configured and does not need to be configured using the setter methods on Call interface.
+ *
+ * Each invocation of the getCalls method returns a new array of preconfigured Call objects
+ *
+ * This method requires the Service implementation class to have access to the WSDL related metadata.
+ *
+ * @param portName Qualified name for the target service endpoint
+ * @return Call[] Array of pre-configured Call objects
+ * @throws ServiceException If this Service class does not have access to the required WSDL metadata or if an illegal portName is specified.
+ */
+ public Call[] getCalls(QName portName) throws ServiceException;
+
+ /** Creates a Call instance.
+ *
+ * @param portName Qualified name for the target service endpoint
+ * @return Call instance
+ * @throws ServiceException If any error in the creation of the Call object
+ */
+ public Call createCall(QName portName) throws ServiceException;
+
+ /** Creates a Call instance.
+ *
+ * @param portName Qualified name for the target service endpoint
+ * @param operationName Qualified name of the operation for which this Call object is to be created.
+ * @return Call instance
+ * @throws ServiceException If any error in the creation of the Call object
+ */
+ public Call createCall(QName portName, QName operationName) throws ServiceException;
+
+ /** Creates a Call instance.
+ *
+ * @param portName Qualified name for the target service endpoint
+ * @param operationName Name of the operation for which this Call object is to be created.
+ * @return Call instance
+ * @throws ServiceException If any error in the creation of the Call object
+ */
+ public Call createCall(QName portName, String operationName) throws ServiceException;
+
+ /**
+ * Creates a Call object not associated with specific operation or target service endpoint.
+ * This Call object needs to be configured using the setter methods on the Call interface.
+ *
+ * @return Call object
+ * @throws ServiceException If any error in the creation of the Call object
+ */
+ public Call createCall() throws ServiceException;
+
+ /** Gets the name of this service.
+ * @return Qualified name of this service
+ */
+ public QName getServiceName();
+
+ /** Returns an Iterator for the list of QNames of service endpoints grouped by this service
+ *
+ * @return Returns java.util.Iterator with elements of type javax.xml.namespace.QName
+ * @throws ServiceException If this Service class does not have access to the required WSDL metadata
+ */
+ public Iterator getPorts() throws ServiceException;
+
+ /** Gets the location of the WSDL document for this Service.
+ *
+ * @return URL for the location of the WSDL document for this service
+ */
+ public URL getWSDLDocumentLocation();
+
+ /** Gets the TypeMappingRegistry for this Service object. The returned TypeMappingRegistry instance is pre-configured
+ * to support the standard type mapping between XML and Java types types as required by the JAX-RPC specification.
+ *
+ * @return The TypeMappingRegistry for this Service object.
+ * @throws java.lang.UnsupportedOperationException if the Service class does not support the configuration of TypeMappingRegistry.
+ */
+ public TypeMappingRegistry getTypeMappingRegistry();
+
+ /** Returns the configured HandlerRegistry instance for this Service instance.
+ *
+ * @return HandlerRegistry
+ * @throws java.lang.UnsupportedOperationException if the Service class does not support the configuration of a HandlerRegistry
+ */
+ public HandlerRegistry getHandlerRegistry();
+
+}
Property changes on: trunk/jbossws-api/src/java/javax/xml/rpc/Service.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/jbossws-api/src/java/javax/xml/rpc/ServiceException.java
===================================================================
--- trunk/jbossws-api/src/java/javax/xml/rpc/ServiceException.java (rev 0)
+++ trunk/jbossws-api/src/java/javax/xml/rpc/ServiceException.java 2007-04-23 06:12:12 UTC (rev 2897)
@@ -0,0 +1,54 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package javax.xml.rpc;
+
+
+/**
+ * @author Scott.Stark(a)jboss.org
+ * @version $Revision$
+ */
+public class ServiceException extends Exception
+{
+ public ServiceException()
+ {
+ }
+
+ public ServiceException(String message)
+ {
+ super(message);
+ }
+
+ public ServiceException(String message, Throwable cause)
+ {
+ super(message, cause);
+ }
+
+ public ServiceException(Throwable cause)
+ {
+ super(cause);
+ }
+
+ public Throwable getLinkedCause()
+ {
+ return super.getCause();
+ }
+}
Property changes on: trunk/jbossws-api/src/java/javax/xml/rpc/ServiceException.java
___________________________________________________________________
Name: svn:executable
+ *
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/jbossws-api/src/java/javax/xml/rpc/ServiceFactory.java
===================================================================
--- trunk/jbossws-api/src/java/javax/xml/rpc/ServiceFactory.java (rev 0)
+++ trunk/jbossws-api/src/java/javax/xml/rpc/ServiceFactory.java 2007-04-23 06:12:12 UTC (rev 2897)
@@ -0,0 +1,193 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package javax.xml.rpc;
+
+import java.net.URL;
+import java.security.AccessController;
+import java.security.PrivilegedAction;
+import java.util.Properties;
+
+import javax.xml.namespace.QName;
+
+import org.jboss.logging.Logger;
+
+/** The javax.xml.rpc.ServiceFactory is an abstract class that provides a
+ * factory for the creation of instances of the type javax.xml.rpc.Service.
+ * This abstract class follows the abstract static factory design pattern.
+ * This enables a J2SE based client to create a Service instance in a portable
+ * manner without using the constructor of the Service implementation class.
+ *
+ * The ServiceFactory implementation class is set using the
+ * javax.xml.rpc.ServiceFactory System property.
+ *
+ * @author Scott.Stark(a)jboss.org
+ * @author Thomas.Diesler(a)jboss.org
+ * @version 1.1
+ */
+public abstract class ServiceFactory
+{
+ // provide logging
+ private static Logger log = Logger.getLogger(ServiceFactory.class);
+
+ // The singlton
+ private static ServiceFactory factory;
+
+ /** A constant representing the property used to lookup the name of a ServiceFactory implementation class. */
+ public static final String SERVICEFACTORY_PROPERTY = "javax.xml.rpc.ServiceFactory";
+
+ private static final String DEFAULT_SERVICE_FACTORY = "org.jboss.ws.core.jaxrpc.client.ServiceFactoryImpl";
+ private static final String[] alternativeFactories = new String[] {};
+
+ protected ServiceFactory()
+ {
+ }
+
+ /** Gets an instance of the ServiceFactory
+ * Only one copy of a factory exists and is returned to the application each time this method is called.
+ *
+ * The implementation class to be used can be overridden by setting the javax.xml.rpc.ServiceFactory system property.
+ *
+ * @return The ServiceFactory singleton
+ * @throws ServiceException on failure to instantiate the ServiceFactory impl
+ */
+ public static ServiceFactory newInstance() throws ServiceException
+ {
+ // Create the factory singleton if needed
+ if (factory == null)
+ {
+ PrivilegedAction action = new PropertyAccessAction(SERVICEFACTORY_PROPERTY, DEFAULT_SERVICE_FACTORY);
+ String factoryName = (String)AccessController.doPrivileged(action);
+
+ ClassLoader loader = Thread.currentThread().getContextClassLoader();
+ try
+ {
+ try
+ {
+ Class factoryClass = loader.loadClass(factoryName);
+ factory = (ServiceFactory)factoryClass.newInstance();
+ }
+ catch (ClassNotFoundException e)
+ {
+ // Throw the exception if the user asked for a specific factory
+ if (factoryName.equals(DEFAULT_SERVICE_FACTORY) == false)
+ throw e;
+
+ for (int i = 0; i < alternativeFactories.length; i++)
+ {
+ factoryName = alternativeFactories[i];
+ try
+ {
+ Class factoryClass = loader.loadClass(factoryName);
+ return (ServiceFactory)factoryClass.newInstance();
+ }
+ catch (ClassNotFoundException e1)
+ {
+ if(log.isDebugEnabled()) log.debug("Cannot load factory: " + factoryName);
+ }
+ }
+ }
+ }
+ catch (Throwable e)
+ {
+ throw new ServiceException("Failed to create factory: " + factoryName, e);
+ }
+ }
+
+ if (factory == null)
+ throw new ServiceException("Cannot find ServiceFactory implementation");
+
+ return factory;
+ }
+
+ /**
+ * Create a <code>Service</code> instance.
+ *
+ * @param wsdlDocumentLocation URL for the WSDL document location
+ * @param serviceName QName for the service.
+ * @return Service.
+ * @throws ServiceException If any error in creation of the
+ * specified service
+ */
+ public abstract Service createService(URL wsdlDocumentLocation, QName serviceName) throws ServiceException;
+
+ /**
+ * Create a <code>Service</code> instance.
+ *
+ * @param serviceName QName for the service
+ * @return Service.
+ * @throws ServiceException If any error in creation of the specified service
+ */
+ public abstract Service createService(QName serviceName) throws ServiceException;
+
+ /** Create an instance of the generated service implementation class for a given service interface, if available.
+ * @param serviceInterface Service interface
+ * @return A Service
+ * @throws ServiceException If there is any error while creating the specified service, including the case where a
+ * generated service implementation class cannot be located
+ */
+ public abstract Service loadService(Class serviceInterface) throws ServiceException;
+
+ /**
+ * Create an instance of the generated service implementation class for a given service interface, if available.
+ * An implementation may use the provided wsdlDocumentLocation and properties to help locate the generated implementation class.
+ * If no such class is present, a ServiceException will be thrown.
+ *
+ * @param wsdlDocumentLocation URL for the WSDL document location for the service or null
+ * @param serviceInterface Service interface
+ * @param props A set of implementation-specific properties to help locate the generated service implementation class
+ * @return A Service
+ * @throws ServiceException If there is any error while creating the specified service, including the case where a
+ * generated service implementation class cannot be located
+ */
+ public abstract Service loadService(URL wsdlDocumentLocation, Class serviceInterface, Properties props) throws ServiceException;
+
+ /**
+ * Create an instance of the generated service implementation class for a given service, if available.
+ * The service is uniquely identified by the wsdlDocumentLocation and serviceName arguments.
+ * An implementation may use the provided properties to help locate the generated implementation class.
+ * If no such class is present, a ServiceException will be thrown.
+ *
+ * @param wsdlDocumentLocation URL for the WSDL document location for the service or null
+ * @param serviceName Qualified name for the service
+ * @param props A set of implementation-specific properties to help locate the generated service implementation class
+ * @return A Service
+ * @throws ServiceException If there is any error while creating the specified service, including the case where a generated service implementation class cannot be located
+ */
+ public abstract Service loadService(URL wsdlDocumentLocation, QName serviceName, Properties props) throws ServiceException;
+
+ private static class PropertyAccessAction implements PrivilegedAction
+ {
+ private String name;
+ private String defaultValue;
+
+ PropertyAccessAction(String name, String defaultValue)
+ {
+ this.name = name;
+ this.defaultValue = defaultValue;
+ }
+
+ public Object run()
+ {
+ return System.getProperty(name, defaultValue);
+ }
+ }
+}
Property changes on: trunk/jbossws-api/src/java/javax/xml/rpc/ServiceFactory.java
___________________________________________________________________
Name: svn:executable
+ *
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/jbossws-api/src/java/javax/xml/rpc/Stub.java
===================================================================
--- trunk/jbossws-api/src/java/javax/xml/rpc/Stub.java (rev 0)
+++ trunk/jbossws-api/src/java/javax/xml/rpc/Stub.java 2007-04-23 06:12:12 UTC (rev 2897)
@@ -0,0 +1,75 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package javax.xml.rpc;
+
+import java.util.Iterator;
+
+/**
+ * The interface javax.xml.rpc.Stub is the common base interface for the stub classes.
+ * All generated stub classes are required to implement the javax.xml.rpc.Stub interface.
+ * An instance of a stub class represents a client side proxy or stub instance for the target service endpoint.
+ *
+ * The javax.xml.rpc.Stub interface provides an extensible property mechanism for the dynamic configuration of a stub instance.
+ *
+ * @author Scott.Stark(a)jboss.org
+ * @author Thomas.Diesler(a)jboss.org
+ * @version $Revision$
+ */
+public interface Stub
+{
+ /** Standard property: User name for authentication. */
+ public static final String USERNAME_PROPERTY = "javax.xml.rpc.security.auth.username";
+ /** Standard property: Password for authentication. */
+ public static final String PASSWORD_PROPERTY = "javax.xml.rpc.security.auth.password";
+ /** Standard property: Target service endpoint address. */
+ public static final String ENDPOINT_ADDRESS_PROPERTY = "javax.xml.rpc.service.endpoint.address";
+ /** Standard property: This boolean property is used by a service client to indicate whether or not it wants to participate in a session with a service endpoint. */
+ public static final String SESSION_MAINTAIN_PROPERTY = "javax.xml.rpc.session.maintain";
+
+ /** Sets the name and value of a configuration property for this Stub instance.
+ *
+ * If the Stub instances contains a value of the same property, the old value is replaced.
+ * Note that the _setProperty method may not perform validity check on a configured property value.
+ * An example is the standard property for the target service endpoint address that is not checked for validity in
+ * the _setProperty method. In this case, stub configuration errors are detected at the remote method invocation.
+ *
+ * @param name Name of the configuration property
+ * @param value Value of the property
+ * @throws JAXRPCException
+ * If an optional standard property name is specified, however this Stub implementation class does not support the configuration of this property.
+ * If an invalid or unsupported property name is specified or if a value of mismatched property type is passed.
+ * If there is any error in the configuration of a valid property.
+ */
+ public void _setProperty(String name, Object value);
+
+ /** Gets the value of a specific configuration property.
+ * @param name Name of the property whose value is to be retrieved
+ * @return Value of the configuration property
+ * @throws JAXRPCException if an invalid or unsupported property name is passed.
+ */
+ public Object _getProperty(String name);
+
+ /** Returns an Iterato view of the names of the properties that can be configured on this stub instance.
+ * @return Iterator for the property names of the type java.lang.String
+ */
+ public Iterator _getPropertyNames();
+}
Property changes on: trunk/jbossws-api/src/java/javax/xml/rpc/Stub.java
___________________________________________________________________
Name: svn:executable
+ *
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/jbossws-api/src/java/javax/xml/rpc/encoding/DeserializationContext.java
===================================================================
--- trunk/jbossws-api/src/java/javax/xml/rpc/encoding/DeserializationContext.java (rev 0)
+++ trunk/jbossws-api/src/java/javax/xml/rpc/encoding/DeserializationContext.java 2007-04-23 06:12:12 UTC (rev 2897)
@@ -0,0 +1,32 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package javax.xml.rpc.encoding;
+
+/** A deserializer uses this interface to access and maintain context
+ * information during the deserialization.
+ *
+ * @author Scott.Stark(a)jboss.org
+ * @version $Revision$
+ */
+public interface DeserializationContext
+{
+}
Property changes on: trunk/jbossws-api/src/java/javax/xml/rpc/encoding/DeserializationContext.java
___________________________________________________________________
Name: svn:executable
+ *
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/jbossws-api/src/java/javax/xml/rpc/encoding/Deserializer.java
===================================================================
--- trunk/jbossws-api/src/java/javax/xml/rpc/encoding/Deserializer.java (rev 0)
+++ trunk/jbossws-api/src/java/javax/xml/rpc/encoding/Deserializer.java 2007-04-23 06:12:12 UTC (rev 2897)
@@ -0,0 +1,36 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package javax.xml.rpc.encoding;
+
+import java.io.Serializable;
+
+/** A base interface for deserializers. A Deserializer converts an XML
+ * representation to a Java object using a specific XML processing mechanism
+ * and based on the specified type mapping and encoding style.
+ *
+ * @author Scott.Stark(a)jboss.org
+ * @version $Revision$
+ */
+public interface Deserializer extends Serializable
+{
+ public String getMechanismType();
+}
Property changes on: trunk/jbossws-api/src/java/javax/xml/rpc/encoding/Deserializer.java
___________________________________________________________________
Name: svn:executable
+ *
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/jbossws-api/src/java/javax/xml/rpc/encoding/DeserializerFactory.java
===================================================================
--- trunk/jbossws-api/src/java/javax/xml/rpc/encoding/DeserializerFactory.java (rev 0)
+++ trunk/jbossws-api/src/java/javax/xml/rpc/encoding/DeserializerFactory.java 2007-04-23 06:12:12 UTC (rev 2897)
@@ -0,0 +1,52 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package javax.xml.rpc.encoding;
+
+import java.io.Serializable;
+import java.util.Iterator;
+
+/** A factory of deserializers. A DeserializerFactory is registered with a
+ * TypeMapping instance as part of the TypeMappingRegistry.
+ *
+ * @see Deserializer
+ * @see TypeMapping
+ * @see TypeMappingRegistry
+ *
+ * @author Scott.Stark(a)jboss.org
+ * @version $Revision$
+ */
+public interface DeserializerFactory extends Serializable
+{
+ /**
+ * Returns a Deserializer for the specified XML processing mechanism type.
+ * @param mechanismType XML processing mechanism type [TBD: definition of valid constants]
+ * @return a Deserializer
+ * @throws javax.xml.rpc.JAXRPCException If DeserializerFactory does not support the specified XML processing mechanism
+ */
+ public Deserializer getDeserializerAs(String mechanismType);
+
+ /** Returns a list of all XML processing mechanism types supported by this DeserializerFactory.
+ *
+ * @return List of unique identifiers for the supported XML processing mechanism types
+ */
+ public Iterator getSupportedMechanismTypes();
+}
Property changes on: trunk/jbossws-api/src/java/javax/xml/rpc/encoding/DeserializerFactory.java
___________________________________________________________________
Name: svn:executable
+ *
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/jbossws-api/src/java/javax/xml/rpc/encoding/SerializationContext.java
===================================================================
--- trunk/jbossws-api/src/java/javax/xml/rpc/encoding/SerializationContext.java (rev 0)
+++ trunk/jbossws-api/src/java/javax/xml/rpc/encoding/SerializationContext.java 2007-04-23 06:12:12 UTC (rev 2897)
@@ -0,0 +1,37 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package javax.xml.rpc.encoding;
+
+/** This interface is implemented by the JAX-RPC runtime system in an XML
+ * processing mechanism specific manner. A serializer uses the
+ * SerializationContext interface during the serialization to get the context
+ * information related to the XML processing mechanism and to manage
+ * information specific to serialization.
+ *
+ * @see Serializer
+ *
+ * @author Scott.Stark(a)jboss.org
+ * @version $Revision$
+ */
+public interface SerializationContext
+{
+}
Property changes on: trunk/jbossws-api/src/java/javax/xml/rpc/encoding/SerializationContext.java
___________________________________________________________________
Name: svn:executable
+ *
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/jbossws-api/src/java/javax/xml/rpc/encoding/Serializer.java
===================================================================
--- trunk/jbossws-api/src/java/javax/xml/rpc/encoding/Serializer.java (rev 0)
+++ trunk/jbossws-api/src/java/javax/xml/rpc/encoding/Serializer.java 2007-04-23 06:12:12 UTC (rev 2897)
@@ -0,0 +1,37 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package javax.xml.rpc.encoding;
+
+import java.io.Serializable;
+
+/** This interface defines the base interface for serializers. A Serializer
+ * converts a Java object to an XML representation using a specific XML
+ * processing mechanism and based on the specified type mapping and encoding
+ * style.
+ *
+ * @author Scott.Stark(a)jboss.org
+ * @version $Revision$
+ */
+public interface Serializer extends Serializable
+{
+ public String getMechanismType();
+}
Property changes on: trunk/jbossws-api/src/java/javax/xml/rpc/encoding/Serializer.java
___________________________________________________________________
Name: svn:executable
+ *
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/jbossws-api/src/java/javax/xml/rpc/encoding/SerializerFactory.java
===================================================================
--- trunk/jbossws-api/src/java/javax/xml/rpc/encoding/SerializerFactory.java (rev 0)
+++ trunk/jbossws-api/src/java/javax/xml/rpc/encoding/SerializerFactory.java 2007-04-23 06:12:12 UTC (rev 2897)
@@ -0,0 +1,53 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package javax.xml.rpc.encoding;
+
+import java.io.Serializable;
+import java.util.Iterator;
+
+/**
+ * This is a factory of the serializers. A SerializerFactory is registered
+ * with a TypeMapping object as part of the TypeMappingRegistry.
+ *
+ * @see Serializer
+ * @see TypeMapping
+ * @see TypeMappingRegistry
+ *
+ * @author Scott.Stark(a)jboss.org
+ * @version $Revision$
+ */
+public interface SerializerFactory extends Serializable
+{
+ /** Returns a Serializer for the specified XML processing mechanism type.
+ *
+ * @param mechanismType XML processing mechanism type [TBD: definition of valid constants]
+ * @return A Serializer
+ * @throws javax.xml.rpc.JAXRPCException If SerializerFactory does not support the specified XML processing mechanism
+ * @throws IllegalArgumentException If an invalid mechanism type is specified.
+ */
+ public Serializer getSerializerAs(String mechanismType);
+
+ /** Returns a list of all XML processing mechanism types supported by this SerializerFactory.
+ * @return List of unique identifiers for the supported XML processing mechanism types
+ */
+ public Iterator getSupportedMechanismTypes();
+}
Property changes on: trunk/jbossws-api/src/java/javax/xml/rpc/encoding/SerializerFactory.java
___________________________________________________________________
Name: svn:executable
+ *
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/jbossws-api/src/java/javax/xml/rpc/encoding/TypeMapping.java
===================================================================
--- trunk/jbossws-api/src/java/javax/xml/rpc/encoding/TypeMapping.java (rev 0)
+++ trunk/jbossws-api/src/java/javax/xml/rpc/encoding/TypeMapping.java 2007-04-23 06:12:12 UTC (rev 2897)
@@ -0,0 +1,106 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package javax.xml.rpc.encoding;
+
+import javax.xml.namespace.QName;
+
+/**
+ * This is the base interface for the representation of a type mapping. A
+ * TypeMapping implementation class may support one or more encoding styles.
+ *
+ * For its supported encoding styles, a TypeMapping instance maintains a set of
+ * tuples of the type {Java Class, SerializerFactory, DeserializerFactory, XML type-QName}.
+ *
+ * @author Scott.Stark(a)jboss.org
+ * @version $Revision$
+ */
+public interface TypeMapping
+{
+
+ /**
+ * Gets the DeserializerFactory registered for the specified pair of Java type and XML data type.
+ * @param javaType Class of the Java type
+ * @param xmlType QName of the XML type
+ * @return Registered DeserializerFactory or null if there is no registered factory
+ */
+ public DeserializerFactory getDeserializer(Class javaType, QName xmlType);
+
+ /**
+ * Gets the SerializerFactory registered for the specified pair of Java type and XML data type.
+ * @param javaType Class of the Java type
+ * @param xmlType QName of the XML type
+ * @return Registered SerializerFactory or null if there is no registered factory
+ */
+ public SerializerFactory getSerializer(Class javaType, QName xmlType);
+
+ /**
+ * Returns the encodingStyle URIs (as String[]) supported by this TypeMapping instance.
+ * A TypeMapping that contains only encoding style independent serializers and deserializers
+ * returns null from this method.
+ *
+ * @return Array of encodingStyle URIs for the supported encoding styles
+ */
+ public String[] getSupportedEncodings();
+
+ /**
+ * Sets the encodingStyle URIs supported by this TypeMapping instance. A TypeMapping that contains only encoding
+ * independent serializers and deserializers requires null as the parameter for this method.
+ *
+ * @param encodingStyleURIs Array of encodingStyle URIs for the supported encoding styles
+ */
+ public void setSupportedEncodings(String[] encodingStyleURIs);
+
+ /**
+ * Checks whether or not type mapping between specified XML type and Java type is registered.
+ * @param javaType Class of the Java type
+ * @param xmlType QName of the XML type
+ * @return boolean; true if type mapping between the specified XML type and Java type is registered; otherwise false
+ */
+ public boolean isRegistered(Class javaType, QName xmlType);
+
+ /**
+ * Registers SerializerFactory and DeserializerFactory for a specific type mapping between an XML type and Java type.
+ * This method replaces any existing registered SerializerFactory DeserializerFactory instances.
+ * @param javaType Class of the Java type
+ * @param xmlType QName of the XML type
+ * @param sf SerializerFactory
+ * @param dsf DeserializerFactory
+ * @throws javax.xml.rpc.JAXRPCException If any error during the registration
+ */
+ public void register(Class javaType, QName xmlType, SerializerFactory sf, DeserializerFactory dsf);
+
+ /**
+ * Removes the DeserializerFactory registered for the specified pair of Java type and XML data type.
+ * @param javaType Class of the Java type
+ * @param xmlType QName of the XML type
+ * @throws javax.xml.rpc.JAXRPCException If there is error in removing the registered DeserializerFactory
+ */
+ public void removeDeserializer(Class javaType, QName xmlType);
+
+ /**
+ * Removes the SerializerFactory registered for the specified pair of Java type and XML data type.
+ * @param javaType Class of the Java type
+ * @param xmlType QName of the XML type
+ * @throws javax.xml.rpc.JAXRPCException If there is error in removing the registered SerializerFactory
+ */
+ public void removeSerializer(Class javaType, QName xmlType);
+}
Property changes on: trunk/jbossws-api/src/java/javax/xml/rpc/encoding/TypeMapping.java
___________________________________________________________________
Name: svn:executable
+ *
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/jbossws-api/src/java/javax/xml/rpc/encoding/TypeMappingRegistry.java
===================================================================
--- trunk/jbossws-api/src/java/javax/xml/rpc/encoding/TypeMappingRegistry.java (rev 0)
+++ trunk/jbossws-api/src/java/javax/xml/rpc/encoding/TypeMappingRegistry.java 2007-04-23 06:12:12 UTC (rev 2897)
@@ -0,0 +1,111 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package javax.xml.rpc.encoding;
+
+import java.io.Serializable;
+
+/**
+ * This defines a registry of TypeMapping instances for encoding styles.
+ *
+ * @author Scott.Stark(a)jboss.org
+ * @author Thomas.Diesler(a)jboss.org
+ * @version $Revision$
+ */
+public interface TypeMappingRegistry extends Serializable
+{
+ /**
+ * Removes all registered TypeMappings and encodingStyleURIs from this TypeMappingRegistry.
+ */
+ public void clear();
+
+ /**
+ * Gets the registered default TypeMapping instance.
+ * This method returns null if there is no registered default TypeMapping in the registry.
+ * @return The registered default TypeMapping instance or null
+ */
+ public TypeMapping getDefaultTypeMapping();
+
+ /**
+ * Registers the TypeMapping instance that is default for all encoding styles supported by the TypeMappingRegistry.
+ * A default TypeMapping should include serializers and deserializers that are independent of and usable with any
+ * encoding style. Successive invocations of the registerDefault method replace any existing default TypeMapping instance.
+ *
+ * If the default TypeMapping is registered, any other TypeMapping instances registered through the
+ * TypeMappingRegistry.register method (for a set of encodingStyle URIs) override the default TypeMapping.
+ *
+ * @param mapping TypeMapping instance
+ * @throws javax.xml.rpc.JAXRPCException If there is an error in the registration of the default TypeMapping
+ */
+ public void registerDefault(TypeMapping mapping);
+
+ /**
+ * Creates a new empty TypeMapping object.
+ * @return TypeMapping instance
+ */
+ public TypeMapping createTypeMapping();
+
+ /**
+ * Returns the registered TypeMapping for the specified encodingStyle URI. If there is no registered TypeMapping for
+ * the specified encodingStyleURI, this method returns null.
+ * @param encodingStyleURI Encoding style specified as an URI
+ * @return TypeMapping for the specified encodingStyleURI or null
+ */
+ public TypeMapping getTypeMapping(String encodingStyleURI);
+
+ /**
+ * Returns a list of registered encodingStyle URIs in this TypeMappingRegistry instance.
+ * @return Array of the registered encodingStyle URIs
+ */
+ public String[] getRegisteredEncodingStyleURIs();
+
+ /**
+ * Registers a TypeMapping instance with the TypeMappingRegistry.
+ * This method replaces any existing registered TypeMapping instance for the specified encodingStyleURI.
+ *
+ * @param encodingStyleURI An encoding style specified as an URI.
+ * @param mapping TypeMapping instance
+ * @return Previous TypeMapping associated with the specified encodingStyleURI, or null if there was no
+ * TypeMapping associated with the specified encodingStyleURI
+ * @throws javax.xml.rpc.JAXRPCException If there is an error in the registration of the TypeMapping for the specified encodingStyleURI.
+ */
+ public TypeMapping register(String encodingStyleURI, TypeMapping mapping);
+
+ /**
+ * Unregisters a TypeMapping instance, if present, from the specified encodingStyleURI.
+ * @param encodingStyleURI Encoding style specified as an URI
+ * @return TypeMapping instance that has been unregistered or null if there was no
+ * TypeMapping registered for the specified encodingStyleURI
+ */
+ public TypeMapping unregisterTypeMapping(String encodingStyleURI);
+
+ /**
+ * Removes a TypeMapping from the TypeMappingRegistry.
+ * A TypeMapping is associated with 1 or more encodingStyleURIs. This method unregisters the specified
+ * TypeMapping instance from all associated encodingStyleURIs and then removes this TypeMapping
+ * instance from the registry.
+ *
+ * @param mapping TypeMapping to be removed
+ * @return true if specified TypeMapping is removed from the TypeMappingRegistry;
+ * false if the specified TypeMapping was not in the TypeMappingRegistry
+ */
+ public boolean removeTypeMapping(TypeMapping mapping);
+}
Property changes on: trunk/jbossws-api/src/java/javax/xml/rpc/encoding/TypeMappingRegistry.java
___________________________________________________________________
Name: svn:executable
+ *
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/jbossws-api/src/java/javax/xml/rpc/encoding/XMLType.java
===================================================================
--- trunk/jbossws-api/src/java/javax/xml/rpc/encoding/XMLType.java (rev 0)
+++ trunk/jbossws-api/src/java/javax/xml/rpc/encoding/XMLType.java 2007-04-23 06:12:12 UTC (rev 2897)
@@ -0,0 +1,57 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package javax.xml.rpc.encoding;
+
+import javax.xml.namespace.QName;
+
+/** Constants for common XML Schema and SOAP 1.1 types.
+ *
+ * @author Scott.Stark(a)jboss.org
+ * @version $Revision$
+ */
+public class XMLType
+{
+ public static final QName SOAP_ARRAY = QName.valueOf("{SOAP-ENC}Array");
+ public static final QName SOAP_BASE64 = QName.valueOf("{SOAP-ENC}base64");
+ public static final QName SOAP_BOOLEAN = QName.valueOf("{SOAP-ENC}boolean");
+ public static final QName SOAP_BYTE = QName.valueOf("{SOAP-ENC}byte");
+ public static final QName SOAP_DOUBLE = QName.valueOf("{SOAP-ENC}double");
+ public static final QName SOAP_FLOAT = QName.valueOf("{SOAP-ENC}float");
+ public static final QName SOAP_INT = QName.valueOf("{SOAP-ENC}int");
+ public static final QName SOAP_LONG = QName.valueOf("{SOAP-ENC}long");
+ public static final QName SOAP_SHORT = QName.valueOf("{SOAP-ENC}short");
+ public static final QName SOAP_STRING = QName.valueOf("{SOAP-ENC}string");
+ public static final QName XSD_BASE64 = QName.valueOf("{SOAP-ENC}base64Binary");
+ public static final QName XSD_BOOLEAN = QName.valueOf("{SOAP-ENC}boolean");
+ public static final QName XSD_BYTE = QName.valueOf("{xsd}byte");
+ public static final QName XSD_DATETIME = QName.valueOf("{xsd}dateTime");
+ public static final QName XSD_DECIMAL = QName.valueOf("{xsd}decimal");
+ public static final QName XSD_DOUBLE = QName.valueOf("{xsd}double");
+ public static final QName XSD_FLOAT = QName.valueOf("{xsd}float");
+ public static final QName XSD_HEXBINARY = QName.valueOf("{xsd}hexBinary");
+ public static final QName XSD_INT = QName.valueOf("{xsd}int");
+ public static final QName XSD_INTEGER = QName.valueOf("{xsd}integer");
+ public static final QName XSD_LONG = QName.valueOf("{xsd}long");
+ public static final QName XSD_QNAME = QName.valueOf("{xsd}QName");
+ public static final QName XSD_SHORT = QName.valueOf("{xsd}short");
+ public static final QName XSD_STRING = QName.valueOf("{xsd}string");
+}
Property changes on: trunk/jbossws-api/src/java/javax/xml/rpc/encoding/XMLType.java
___________________________________________________________________
Name: svn:executable
+ *
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/jbossws-api/src/java/javax/xml/rpc/handler/GenericHandler.java
===================================================================
--- trunk/jbossws-api/src/java/javax/xml/rpc/handler/GenericHandler.java (rev 0)
+++ trunk/jbossws-api/src/java/javax/xml/rpc/handler/GenericHandler.java 2007-04-23 06:12:12 UTC (rev 2897)
@@ -0,0 +1,108 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package javax.xml.rpc.handler;
+
+import javax.xml.namespace.QName;
+
+/** The GenericHandler class implements the Handler interface. SOAP Message
+ * Handler developers should typically subclass GenericHandler class unless
+ * the Handler class needs another class as a superclass.
+ *
+ * The GenericHandler class is a convenience abstract class that makes writing
+ * Handlers easy. This class provides default implementations of the lifecycle
+ * methods init and destroy and also different handle methods. A Handler
+ * developer should only override methods that it needs to specialize as part
+ * of the derived Handler implementation class.
+ *
+ * @author Scott.Stark(a)jboss.org
+ * @author Rahul Sharma (javadoc)
+ * @version $Revision$
+ */
+public abstract class GenericHandler implements Handler
+{
+ /** Default constructor. */
+ protected GenericHandler()
+ {
+ }
+
+ /**
+ * Gets the header blocks processed by this Handler instance.
+ *
+ * @return Array of QNames of header blocks processed by this handler instance.
+ * QName is the qualified name of the outermost element of the Header block.
+ */
+ public abstract QName[] getHeaders();
+
+ /**
+ * The init method to enable the Handler instance to initialize itself. This method should be overridden if the
+ * derived Handler class needs to specialize implementation of this method.
+ * @param config handler configuration
+ */
+ public void init(HandlerInfo config)
+ {
+ }
+
+ /**
+ * The destroy method indicates the end of lifecycle for a Handler instance. This method should be overridden if
+ * the derived Handler class needs to specialize implementation of this method.
+ */
+ public void destroy()
+ {
+ }
+
+ /**
+ * The handleRequest method processes the request SOAP message. The default implementation of this method returns true.
+ * This indicates that the handler chain should continue processing of the request SOAP message.
+ * This method should be overridden if the derived Handler class needs to specialize implementation of this method.
+ * @param msgContext the message msgContext
+ * @return true/false
+ */
+ public boolean handleRequest(MessageContext msgContext)
+ {
+ return true;
+ }
+
+ /**
+ * The handleResponse method processes the response message. The default implementation of this method returns true.
+ * This indicates that the handler chain should continue processing of the response SOAP message.
+ * This method should be overridden if the derived Handler class needs to specialize implementation of this method.
+ * @param msgContext the message msgContext
+ * @return true/false
+ */
+ public boolean handleResponse(MessageContext msgContext)
+ {
+ return true;
+ }
+
+ /**
+ * The handleFault method processes the SOAP faults based on the SOAP message processing model.
+ * The default implementation of this method returns true. This indicates that the handler chain should continue
+ * processing of the SOAP fault. This method should be overridden if the derived Handler class needs to specialize
+ * implementation of this method.
+ * @param msgContext the message msgContext
+ * @return the message msgContext
+ */
+ public boolean handleFault(MessageContext msgContext)
+ {
+ return true;
+ }
+}
Property changes on: trunk/jbossws-api/src/java/javax/xml/rpc/handler/GenericHandler.java
___________________________________________________________________
Name: svn:executable
+ *
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/jbossws-api/src/java/javax/xml/rpc/handler/Handler.java
===================================================================
--- trunk/jbossws-api/src/java/javax/xml/rpc/handler/Handler.java (rev 0)
+++ trunk/jbossws-api/src/java/javax/xml/rpc/handler/Handler.java 2007-04-23 06:12:12 UTC (rev 2897)
@@ -0,0 +1,136 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package javax.xml.rpc.handler;
+
+import javax.xml.namespace.QName;
+import javax.xml.rpc.JAXRPCException;
+import javax.xml.rpc.soap.SOAPFaultException;
+
+/** This interface is required to be implemented by a SOAP message handler.
+ * The handleRequest, handleResponse and handleFault methods for a SOAP message
+ * handler get access to the SOAPMessage from the SOAPMessageContext. The
+ * implementation of these methods can modify the SOAPMessage including the
+ * headers and body elements.
+ *
+ * @author Scott.Stark(a)jboss.org
+ * @author Rahul Sharma (javadoc)
+ * @version $Revision$
+ */
+public interface Handler
+{
+ /** Gets the header blocks processed by this Handler instance.
+ *
+ * @return Array of QNames of header blocks processed by this handler instance.
+ * QName is the qualified name of the outermost element of the Header block.
+ */
+ public QName[] getHeaders();
+
+ /** The init method enables the Handler instance to initialize itself. The init method passes the handler
+ * configuration as a HandlerInfo instance. The HandlerInfo is used to configure the Handler (for example: setup
+ * access to an external resource or service) during the initialization.
+ * In the init method, the Handler class may get access to any resources
+ * (for example; access to a logging service or database) and maintain these as part of its instance variables.
+ * Note that these instance variables must not have any state specific to the SOAP message processing performed in
+ * the various handle method.
+ *
+ * @param config HandlerInfo configuration for the initialization of this handler
+ * @throws JAXRPCException - if initialization of the handler fails
+ */
+ public void init(HandlerInfo config) throws JAXRPCException;
+
+ /** The destroy method indicates the end of lifecycle for a Handler instance. The Handler implementation class should
+ * release its resources and perform cleanup in the implementation of the destroy method.
+ *
+ * @throws JAXRPCException - if there was any error during destroy
+ */
+ public void destroy() throws JAXRPCException;
+
+ /** The handleRequest method processes the request message.
+ *
+ * @param msgContext MessageContext parameter provides access to the request message.
+ * @return boolean boolean Indicates the processing mode
+ * <ul>
+ * <li> Return true to indicate continued processing of the request handler chain.
+ * The HandlerChain takes the responsibility of invoking the next entity.
+ * The next entity may be the next handler in the HandlerChain or if this handler is the last handler in the chain,
+ * the next entity is the service endpoint object. </li>
+ *
+ * <li> Return false to indicate blocking of the request handler chain. In this case, further processing of the request
+ * handler chain is blocked and the target service endpoint is not dispatched. The JAX-RPC runtime system takes the
+ * responsibility of invoking the response handler chain next with the SOAPMessageContext. The Handler implementation
+ * class has the the responsibility of setting the appropriate response SOAP message in either handleRequest and/or
+ * handleResponse method. In the default processing model, the response handler chain starts processing from the same
+ * Handler instance (that returned false) and goes backward in the execution sequence. </li>
+ * </ul>
+ *
+ * @throws JAXRPCException - indicates a handler-specific runtime error.
+ * If JAXRPCException is thrown by a handleRequest method, the HandlerChain terminates the further processing of this handler chain.
+ * On the server side, the HandlerChain generates a SOAP fault that indicates that the message could not be processed
+ * for reasons not directly attributable to the contents of the message itself but rather to a runtime error during
+ * the processing of the message. On the client side, the exception is propagated to the client code
+ *
+ * @throws SOAPFaultException - indicates a SOAP fault. The Handler implementation class has the the responsibility
+ * of setting the SOAP fault in the SOAP message in either handleRequest and/or handleFault method.
+ * If SOAPFaultException is thrown by a server-side request handler's handleRequest method, the HandlerChain
+ * terminates the further processing of the request handlers in this handler chain and invokes the handleFault
+ * method on the HandlerChain with the SOAP message msgContext. Next, the HandlerChain invokes the handleFault method
+ * on handlers registered in the handler chain, beginning with the Handler instance that threw the exception and
+ * going backward in execution. The client-side request handler's handleRequest method should not throw the SOAPFaultException.
+ */
+ public boolean handleRequest(MessageContext msgContext) throws JAXRPCException, SOAPFaultException;
+
+ /** The handleResponse method processes the response SOAP message.
+ *
+ * @param msgContext MessageContext parameter provides access to the response SOAP message
+ * @return boolean Indicates the processing mode
+ * <ul>
+ * <li> Return true to indicate continued processing ofthe response handler chain. The HandlerChain invokes the handleResponse method on the next Handler in the handler chain.</li>
+ * <li>Return false to indicate blocking of the response handler chain. In this case, no other response handlers in the handler chain are invoked.</li>
+ * </ul>
+ * @throws JAXRPCException - indicates a handler specific runtime error. If JAXRPCException is thrown by a
+ * handleResponse method, the HandlerChain terminates the further processing of this handler chain. On the server
+ * side, the HandlerChain generates a SOAP fault that indicates that the message could not be processed for reasons
+ * not directly attributable to the contents of the message itself but rather to a runtime error during the processing
+ * of the message. On the client side, the runtime exception is propagated to the client code.
+ */
+ public boolean handleResponse(MessageContext msgContext);
+
+ /** The handleFault method processes the SOAP faults based on the SOAP message processing model.
+ *
+ * @param msgContext MessageContext parameter provides access to the SOAP message
+ * @return boolean Indicates the processing mode
+ * <ul>
+ * <li> Return true to indicate continued processing of SOAP Fault. The HandlerChain invokes the handleFault method
+ * on the next Handler in the handler chain. </li>
+ * <li> Return false to indicate end of the SOAP fault processing. In this case, no other handlers in the handler
+ * chain are invoked. </li>
+ * </ul>
+ *
+ * @throws JAXRPCException - indicates handler specific runtime error.
+ * If JAXRPCException is thrown by a handleFault method, the HandlerChain terminates the further processing of this
+ * handler chain. On the server side, the HandlerChain generates a SOAP fault that indicates that the message could
+ * not be processed for reasons not directly attributable to the contents of the message itself but rather to a runtime
+ * error during the processing of the message. On the client side, the JAXRPCException is propagated to the client code.
+ */
+ public boolean handleFault(MessageContext msgContext);
+
+}
Property changes on: trunk/jbossws-api/src/java/javax/xml/rpc/handler/Handler.java
___________________________________________________________________
Name: svn:executable
+ *
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/jbossws-api/src/java/javax/xml/rpc/handler/HandlerChain.java
===================================================================
--- trunk/jbossws-api/src/java/javax/xml/rpc/handler/HandlerChain.java (rev 0)
+++ trunk/jbossws-api/src/java/javax/xml/rpc/handler/HandlerChain.java 2007-04-23 06:12:12 UTC (rev 2897)
@@ -0,0 +1,93 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package javax.xml.rpc.handler;
+
+import java.util.List;
+import java.util.Map;
+
+import javax.xml.rpc.JAXRPCException;
+
+/** This interface represents a list of handlers. All elements in the
+ * HandlerChain are of the type javax.xml.rpc.handler.Handler.
+ *
+ * An implementation class for the HandlerChain interface abstracts the policy
+ * and mechanism for the invocation of the registered handlers.
+ *
+ * @author Scott.Stark(a)jboss.org
+ * @author Rahul Sharma (javadoc)
+ * @version $Revision$
+ */
+public interface HandlerChain extends List
+{
+ /**
+ * Initializes the configuration for a HandlerChain.
+ * @param config Configuration for the initialization of this handler chain
+ * @throws JAXRPCException If any error during initialization
+ */
+ public void init(Map config);
+
+ /**
+ * Indicates the end of lifecycle for a HandlerChain.
+ * @throws JAXRPCException If any error during destroy
+ */
+ public void destroy();
+
+ /**
+ * Gets SOAP actor roles registered for this HandlerChain at this SOAP node. The returned array includes the
+ * special SOAP actor next.
+ * @return SOAP Actor roles as URIs
+ */
+ public String[] getRoles();
+
+ /**
+ * Sets SOAP Actor roles for this HandlerChain. This specifies the set of roles in which this HandlerChain is to act
+ * for the SOAP message processing at this SOAP node. These roles assumed by a HandlerChain must be invariant during
+ * the processing of an individual SOAP message through the HandlerChain.
+ * <p/>
+ * A HandlerChain always acts in the role of the special SOAP actor next. Refer to the SOAP specification for the
+ * URI name for this special SOAP actor. There is no need to set this special role using this method.
+ * @param soapActorNames URIs for SOAP actor name
+ */
+ public void setRoles(String[] soapActorNames);
+
+ /**
+ * The handleRequest method initiates the request processing for this handler chain.
+ * @param msgContext MessageContext parameter provides access to the request SOAP message.
+ * @return Returns true if all handlers in chain have been processed. Returns false if a handler in the chain returned false from its handleRequest method.
+ * @throws JAXRPCException if any processing error happens
+ */
+ public boolean handleRequest(MessageContext msgContext);
+
+ /**
+ * The handleResponse method initiates the response processing for this handler chain.
+ * @return Returns true if all handlers in chain have been processed. Returns false if a handler in the chain returned false from its handleRequest method.
+ * @throws JAXRPCException if any processing error happens
+ */
+ public boolean handleResponse(MessageContext msgContext);
+
+ /**
+ * The handleFault method initiates the SOAP fault processing for this handler chain.
+ * @return Returns true if all handlers in chain have been processed. Returns false if a handler in the chain returned false from its handleRequest method.
+ * @throws JAXRPCException if any processing error happens
+ */
+ public boolean handleFault(MessageContext msgContext);
+}
Property changes on: trunk/jbossws-api/src/java/javax/xml/rpc/handler/HandlerChain.java
___________________________________________________________________
Name: svn:executable
+ *
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/jbossws-api/src/java/javax/xml/rpc/handler/HandlerInfo.java
===================================================================
--- trunk/jbossws-api/src/java/javax/xml/rpc/handler/HandlerInfo.java (rev 0)
+++ trunk/jbossws-api/src/java/javax/xml/rpc/handler/HandlerInfo.java 2007-04-23 06:12:12 UTC (rev 2897)
@@ -0,0 +1,128 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package javax.xml.rpc.handler;
+
+import java.io.Serializable;
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import javax.xml.namespace.QName;
+
+/** This represents information about a handler in the HandlerChain. A
+ * HandlerInfo instance is passed in the Handler.init method to initialize a
+ * Handler instance.
+ *
+ * @author Scott.Stark(a)jboss.org
+ * @version $Revision$
+ */
+public class HandlerInfo implements Serializable
+{
+ private static final long serialVersionUID = -6735139577513563610L;
+
+ private Class handlerClass;
+ private Map configMap = new HashMap();
+ private QName[] headers;
+
+ /** Default constructor */
+ public HandlerInfo()
+ {
+ }
+
+ /** Constructor for HandlerInfo
+ *
+ * @param handlerClass Java Class for the Handler
+ * @param config Handler Configuration as a java.util.Map
+ * @param headers QNames for the header blocks processed by this Handler.
+ * QName is the qualified name of the outermost element of a header block
+ */
+ public HandlerInfo(Class handlerClass, Map config, QName[] headers)
+ {
+ this.handlerClass = handlerClass;
+ this.configMap = config;
+ this.headers = headers;
+ }
+
+ /** Gets the Handler class
+ *
+ * @return Returns null if no Handler class has been set; otherwise the set handler class
+ */
+ public Class getHandlerClass()
+ {
+ return handlerClass;
+ }
+
+ /** Sets the Handler class
+ *
+ * @param handlerClass Class for the Handler
+ */
+ public void setHandlerClass(Class handlerClass)
+ {
+ this.handlerClass = handlerClass;
+ }
+
+ /** Gets the Handler configuration
+ *
+ * @return Returns empty Map if no configuration map has been set; otherwise returns the set configuration map
+ */
+ public Map getHandlerConfig()
+ {
+ return new HashMap(configMap);
+ }
+
+ /** Sets the Handler configuration as java.util.Map
+ *
+ * @param config Configuration map
+ */
+ public void setHandlerConfig(Map config)
+ {
+ configMap.clear();
+ configMap.putAll(config);
+ }
+
+ /** Gets the header blocks processed by this Handler.
+ *
+ * @return Array of QNames for the header blocks. Returns null if no header blocks have been set using the setHeaders method.
+ */
+ public QName[] getHeaders()
+ {
+ return headers;
+ }
+
+ /** Sets the header blocks processed by this Handler.
+ *
+ * @param qnames QNames of the header blocks. QName is the qualified name of the outermost element of the SOAP header block
+ */
+ public void setHeaders(QName[] qnames)
+ {
+ headers = qnames;
+ }
+
+ /** Returns a string representation of the object.
+ */
+ public String toString()
+ {
+ List hlist = (headers != null ? Arrays.asList(headers) : null);
+ return "[class=" + handlerClass.getName() + ",headers=" + hlist + ",config=" + configMap + "]";
+ }
+}
Property changes on: trunk/jbossws-api/src/java/javax/xml/rpc/handler/HandlerInfo.java
___________________________________________________________________
Name: svn:executable
+ *
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/jbossws-api/src/java/javax/xml/rpc/handler/HandlerRegistry.java
===================================================================
--- trunk/jbossws-api/src/java/javax/xml/rpc/handler/HandlerRegistry.java (rev 0)
+++ trunk/jbossws-api/src/java/javax/xml/rpc/handler/HandlerRegistry.java 2007-04-23 06:12:12 UTC (rev 2897)
@@ -0,0 +1,48 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package javax.xml.rpc.handler;
+
+import java.io.Serializable;
+import java.util.List;
+
+import javax.xml.namespace.QName;
+
+/** This interface provides support for the programmatic configuration of
+ * handlers in a HandlerRegistry.
+ *
+ * A handler chain is registered per service endpoint, as indicated by the
+ * qualified name of a port. The getHandlerChain returns the handler chain
+ * (as a java.util.List) for the specified service endpoint. The returned
+ * handler chain is configured using the java.util.List interface. Each element
+ * in this list is required to be of the Java type
+ * javax.xml.rpc.handler.HandlerInfo.
+ *
+ * @author Scott.Stark(a)jboss.org
+ * @author Rahul Sharma (javadoc)
+ * @version $Revision$
+ */
+public interface HandlerRegistry extends Serializable
+{
+ public List getHandlerChain(QName portName);
+
+ public void setHandlerChain(QName portName, List chain);
+}
Property changes on: trunk/jbossws-api/src/java/javax/xml/rpc/handler/HandlerRegistry.java
___________________________________________________________________
Name: svn:executable
+ *
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/jbossws-api/src/java/javax/xml/rpc/handler/MessageContext.java
===================================================================
--- trunk/jbossws-api/src/java/javax/xml/rpc/handler/MessageContext.java (rev 0)
+++ trunk/jbossws-api/src/java/javax/xml/rpc/handler/MessageContext.java 2007-04-23 06:12:12 UTC (rev 2897)
@@ -0,0 +1,76 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package javax.xml.rpc.handler;
+
+import java.util.Iterator;
+
+/** This interface abstracts the message context that is processed by a handler
+ * in the handle method.
+ *
+ * The MessageContext interface provides methods to manage a property set.
+ * MessageContext properties enable handlers in a handler chain to share
+ * processing related state.
+ *
+ * @author Scott.Stark(a)jboss.org
+ * @author Rahul Sharma, Roberto Chinnici (javadoc)
+ * @version $Revision$
+ */
+public interface MessageContext
+{
+ /**
+ * Returns true if the MessageContext contains a property with the specified name.
+ * @param name Name of the property whose presense is to be tested
+ * @return Returns true if the MessageContext contains the property; otherwise false
+ */
+ public boolean containsProperty(String name);
+
+ /**
+ * Gets the value of a specific property from the MessageContext
+ * @param name Name of the property whose value is to be retrieved
+ * @return Value of the property
+ * @throws IllegalArgumentException if an illegal property name is specified
+ */
+ public Object getProperty(String name);
+
+ /**
+ * Returns an Iterator view of the names of the properties in this MessageContext
+ * @return Iterator for the property names
+ */
+ public Iterator getPropertyNames();
+
+ /**
+ * Removes a property (name-value pair) from the MessageContext
+ * @param name Name of the property to be removed
+ * @throws IllegalArgumentException if an illegal property name is specified
+ */
+ public void removeProperty(String name);
+
+ /**
+ * Sets the name and value of a property associated with the MessageContext.
+ * If the MessageContext contains a value of the same property, the old value is replaced.
+ * @param name Name of the property associated with the MessageContext
+ * @param value Value of the property
+ * @throws IllegalArgumentException If some aspect of the property is prevents it from being stored in the context
+ * @throws UnsupportedOperationException If this method is not supported.
+ */
+ public void setProperty(String name, Object value);
+}
Property changes on: trunk/jbossws-api/src/java/javax/xml/rpc/handler/MessageContext.java
___________________________________________________________________
Name: svn:executable
+ *
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/jbossws-api/src/java/javax/xml/rpc/handler/soap/SOAPMessageContext.java
===================================================================
--- trunk/jbossws-api/src/java/javax/xml/rpc/handler/soap/SOAPMessageContext.java (rev 0)
+++ trunk/jbossws-api/src/java/javax/xml/rpc/handler/soap/SOAPMessageContext.java 2007-04-23 06:12:12 UTC (rev 2897)
@@ -0,0 +1,42 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package javax.xml.rpc.handler.soap;
+
+import javax.xml.rpc.handler.MessageContext;
+import javax.xml.soap.SOAPMessage;
+
+/** This interface provides access to the SOAP message for either RPC request
+ * or response. The javax.xml.soap.SOAPMessage specifies the standard Java API
+ * for the representation of a SOAP 1.1 message with attachments.
+ *
+ * @author Scott.Stark(a)jboss.org
+ * @author Rahul Sharma (javadoc)
+ * @version $Revision$
+ */
+public interface SOAPMessageContext extends MessageContext
+{
+ public SOAPMessage getMessage();
+
+ public void setMessage(SOAPMessage message);
+
+ public String[] getRoles();
+}
Property changes on: trunk/jbossws-api/src/java/javax/xml/rpc/handler/soap/SOAPMessageContext.java
___________________________________________________________________
Name: svn:executable
+ *
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/jbossws-api/src/java/javax/xml/rpc/holders/BigDecimalHolder.java
===================================================================
--- trunk/jbossws-api/src/java/javax/xml/rpc/holders/BigDecimalHolder.java (rev 0)
+++ trunk/jbossws-api/src/java/javax/xml/rpc/holders/BigDecimalHolder.java 2007-04-23 06:12:12 UTC (rev 2897)
@@ -0,0 +1,44 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package javax.xml.rpc.holders;
+
+import java.math.BigDecimal;
+
+/** A holder for BigDecimals.
+ *
+ * @author Scott.Stark(a)jboss.org
+ * @version $Revision$
+ */
+public final class BigDecimalHolder implements Holder
+{
+ public BigDecimal value;
+
+ public BigDecimalHolder()
+ {
+
+ }
+
+ public BigDecimalHolder(BigDecimal value)
+ {
+ this.value = value;
+ }
+}
Property changes on: trunk/jbossws-api/src/java/javax/xml/rpc/holders/BigDecimalHolder.java
___________________________________________________________________
Name: svn:executable
+ *
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/jbossws-api/src/java/javax/xml/rpc/holders/BigIntegerHolder.java
===================================================================
--- trunk/jbossws-api/src/java/javax/xml/rpc/holders/BigIntegerHolder.java (rev 0)
+++ trunk/jbossws-api/src/java/javax/xml/rpc/holders/BigIntegerHolder.java 2007-04-23 06:12:12 UTC (rev 2897)
@@ -0,0 +1,44 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package javax.xml.rpc.holders;
+
+import java.math.BigInteger;
+
+/** A holder for BigIntegers.
+ *
+ * @author Scott.Stark(a)jboss.org
+ * @version $Revision$
+ */
+public final class BigIntegerHolder implements Holder
+{
+ public BigInteger value;
+
+ public BigIntegerHolder()
+ {
+
+ }
+
+ public BigIntegerHolder(BigInteger value)
+ {
+ this.value = value;
+ }
+}
Property changes on: trunk/jbossws-api/src/java/javax/xml/rpc/holders/BigIntegerHolder.java
___________________________________________________________________
Name: svn:executable
+ *
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/jbossws-api/src/java/javax/xml/rpc/holders/BooleanHolder.java
===================================================================
--- trunk/jbossws-api/src/java/javax/xml/rpc/holders/BooleanHolder.java (rev 0)
+++ trunk/jbossws-api/src/java/javax/xml/rpc/holders/BooleanHolder.java 2007-04-23 06:12:12 UTC (rev 2897)
@@ -0,0 +1,42 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package javax.xml.rpc.holders;
+
+/** A holder for booleans.
+ *
+ * @author Scott.Stark(a)jboss.org
+ * @version $Revision$
+ */
+public final class BooleanHolder implements Holder
+{
+ public boolean value;
+
+ public BooleanHolder()
+ {
+
+ }
+
+ public BooleanHolder(boolean value)
+ {
+ this.value = value;
+ }
+}
Property changes on: trunk/jbossws-api/src/java/javax/xml/rpc/holders/BooleanHolder.java
___________________________________________________________________
Name: svn:executable
+ *
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/jbossws-api/src/java/javax/xml/rpc/holders/BooleanWrapperHolder.java
===================================================================
--- trunk/jbossws-api/src/java/javax/xml/rpc/holders/BooleanWrapperHolder.java (rev 0)
+++ trunk/jbossws-api/src/java/javax/xml/rpc/holders/BooleanWrapperHolder.java 2007-04-23 06:12:12 UTC (rev 2897)
@@ -0,0 +1,42 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package javax.xml.rpc.holders;
+
+/** A holder for Booleans.
+ *
+ * @author Scott.Stark(a)jboss.org
+ * @version $Revision$
+ */
+public final class BooleanWrapperHolder implements Holder
+{
+ public Boolean value;
+
+ public BooleanWrapperHolder()
+ {
+
+ }
+
+ public BooleanWrapperHolder(Boolean value)
+ {
+ this.value = value;
+ }
+}
Property changes on: trunk/jbossws-api/src/java/javax/xml/rpc/holders/BooleanWrapperHolder.java
___________________________________________________________________
Name: svn:executable
+ *
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/jbossws-api/src/java/javax/xml/rpc/holders/ByteArrayHolder.java
===================================================================
--- trunk/jbossws-api/src/java/javax/xml/rpc/holders/ByteArrayHolder.java (rev 0)
+++ trunk/jbossws-api/src/java/javax/xml/rpc/holders/ByteArrayHolder.java 2007-04-23 06:12:12 UTC (rev 2897)
@@ -0,0 +1,42 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package javax.xml.rpc.holders;
+
+/** A holder for byte[]s.
+ *
+ * @author Scott.Stark(a)jboss.org
+ * @version $Revision$
+ */
+public final class ByteArrayHolder implements Holder
+{
+ public byte[] value;
+
+ public ByteArrayHolder()
+ {
+
+ }
+
+ public ByteArrayHolder(byte[] value)
+ {
+ this.value = value;
+ }
+}
Property changes on: trunk/jbossws-api/src/java/javax/xml/rpc/holders/ByteArrayHolder.java
___________________________________________________________________
Name: svn:executable
+ *
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/jbossws-api/src/java/javax/xml/rpc/holders/ByteHolder.java
===================================================================
--- trunk/jbossws-api/src/java/javax/xml/rpc/holders/ByteHolder.java (rev 0)
+++ trunk/jbossws-api/src/java/javax/xml/rpc/holders/ByteHolder.java 2007-04-23 06:12:12 UTC (rev 2897)
@@ -0,0 +1,42 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package javax.xml.rpc.holders;
+
+/** A holder for bytes.
+ *
+ * @author Scott.Stark(a)jboss.org
+ * @version $Revision$
+ */
+public final class ByteHolder implements Holder
+{
+ public byte value;
+
+ public ByteHolder()
+ {
+
+ }
+
+ public ByteHolder(byte value)
+ {
+ this.value = value;
+ }
+}
Property changes on: trunk/jbossws-api/src/java/javax/xml/rpc/holders/ByteHolder.java
___________________________________________________________________
Name: svn:executable
+ *
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/jbossws-api/src/java/javax/xml/rpc/holders/ByteWrapperHolder.java
===================================================================
--- trunk/jbossws-api/src/java/javax/xml/rpc/holders/ByteWrapperHolder.java (rev 0)
+++ trunk/jbossws-api/src/java/javax/xml/rpc/holders/ByteWrapperHolder.java 2007-04-23 06:12:12 UTC (rev 2897)
@@ -0,0 +1,42 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package javax.xml.rpc.holders;
+
+/** A holder for Bytes.
+ *
+ * @author Scott.Stark(a)jboss.org
+ * @version $Revision$
+ */
+public final class ByteWrapperHolder implements Holder
+{
+ public Byte value;
+
+ public ByteWrapperHolder()
+ {
+
+ }
+
+ public ByteWrapperHolder(Byte value)
+ {
+ this.value = value;
+ }
+}
Property changes on: trunk/jbossws-api/src/java/javax/xml/rpc/holders/ByteWrapperHolder.java
___________________________________________________________________
Name: svn:executable
+ *
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/jbossws-api/src/java/javax/xml/rpc/holders/CalendarHolder.java
===================================================================
--- trunk/jbossws-api/src/java/javax/xml/rpc/holders/CalendarHolder.java (rev 0)
+++ trunk/jbossws-api/src/java/javax/xml/rpc/holders/CalendarHolder.java 2007-04-23 06:12:12 UTC (rev 2897)
@@ -0,0 +1,44 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package javax.xml.rpc.holders;
+
+import java.util.Calendar;
+
+/** A holder for Calendars.
+ *
+ * @author Scott.Stark(a)jboss.org
+ * @version $Revision$
+ */
+public final class CalendarHolder implements Holder
+{
+ public Calendar value;
+
+ public CalendarHolder()
+ {
+
+ }
+
+ public CalendarHolder(Calendar value)
+ {
+ this.value = value;
+ }
+}
Property changes on: trunk/jbossws-api/src/java/javax/xml/rpc/holders/CalendarHolder.java
___________________________________________________________________
Name: svn:executable
+ *
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/jbossws-api/src/java/javax/xml/rpc/holders/DoubleHolder.java
===================================================================
--- trunk/jbossws-api/src/java/javax/xml/rpc/holders/DoubleHolder.java (rev 0)
+++ trunk/jbossws-api/src/java/javax/xml/rpc/holders/DoubleHolder.java 2007-04-23 06:12:12 UTC (rev 2897)
@@ -0,0 +1,42 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package javax.xml.rpc.holders;
+
+/** A holder for doubles.
+ *
+ * @author Scott.Stark(a)jboss.org
+ * @version $Revision$
+ */
+public final class DoubleHolder implements Holder
+{
+ public double value;
+
+ public DoubleHolder()
+ {
+
+ }
+
+ public DoubleHolder(double value)
+ {
+ this.value = value;
+ }
+}
Property changes on: trunk/jbossws-api/src/java/javax/xml/rpc/holders/DoubleHolder.java
___________________________________________________________________
Name: svn:executable
+ *
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/jbossws-api/src/java/javax/xml/rpc/holders/DoubleWrapperHolder.java
===================================================================
--- trunk/jbossws-api/src/java/javax/xml/rpc/holders/DoubleWrapperHolder.java (rev 0)
+++ trunk/jbossws-api/src/java/javax/xml/rpc/holders/DoubleWrapperHolder.java 2007-04-23 06:12:12 UTC (rev 2897)
@@ -0,0 +1,42 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package javax.xml.rpc.holders;
+
+/** A holder for Doubles.
+ *
+ * @author Scott.Stark(a)jboss.org
+ * @version $Revision$
+ */
+public final class DoubleWrapperHolder implements Holder
+{
+ public Double value;
+
+ public DoubleWrapperHolder()
+ {
+
+ }
+
+ public DoubleWrapperHolder(Double value)
+ {
+ this.value = value;
+ }
+}
Property changes on: trunk/jbossws-api/src/java/javax/xml/rpc/holders/DoubleWrapperHolder.java
___________________________________________________________________
Name: svn:executable
+ *
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/jbossws-api/src/java/javax/xml/rpc/holders/FloatHolder.java
===================================================================
--- trunk/jbossws-api/src/java/javax/xml/rpc/holders/FloatHolder.java (rev 0)
+++ trunk/jbossws-api/src/java/javax/xml/rpc/holders/FloatHolder.java 2007-04-23 06:12:12 UTC (rev 2897)
@@ -0,0 +1,42 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package javax.xml.rpc.holders;
+
+/** A holder for floats.
+ *
+ * @author Scott.Stark(a)jboss.org
+ * @version $Revision$
+ */
+public final class FloatHolder implements Holder
+{
+ public float value;
+
+ public FloatHolder()
+ {
+
+ }
+
+ public FloatHolder(float value)
+ {
+ this.value = value;
+ }
+}
Property changes on: trunk/jbossws-api/src/java/javax/xml/rpc/holders/FloatHolder.java
___________________________________________________________________
Name: svn:executable
+ *
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/jbossws-api/src/java/javax/xml/rpc/holders/FloatWrapperHolder.java
===================================================================
--- trunk/jbossws-api/src/java/javax/xml/rpc/holders/FloatWrapperHolder.java (rev 0)
+++ trunk/jbossws-api/src/java/javax/xml/rpc/holders/FloatWrapperHolder.java 2007-04-23 06:12:12 UTC (rev 2897)
@@ -0,0 +1,42 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package javax.xml.rpc.holders;
+
+/** A holder for Floats.
+ *
+ * @author Scott.Stark(a)jboss.org
+ * @version $Revision$
+ */
+public final class FloatWrapperHolder implements Holder
+{
+ public Float value;
+
+ public FloatWrapperHolder()
+ {
+
+ }
+
+ public FloatWrapperHolder(Float value)
+ {
+ this.value = value;
+ }
+}
Property changes on: trunk/jbossws-api/src/java/javax/xml/rpc/holders/FloatWrapperHolder.java
___________________________________________________________________
Name: svn:executable
+ *
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/jbossws-api/src/java/javax/xml/rpc/holders/Holder.java
===================================================================
--- trunk/jbossws-api/src/java/javax/xml/rpc/holders/Holder.java (rev 0)
+++ trunk/jbossws-api/src/java/javax/xml/rpc/holders/Holder.java 2007-04-23 06:12:12 UTC (rev 2897)
@@ -0,0 +1,34 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package javax.xml.rpc.holders;
+
+/** This interface represents the base interface for both standard and generated
+ * Holder classes. A generated Holder class is required to implement this Holder
+ * interface.
+ *
+ * @author Scott.Stark(a)jboss.org
+ * @author Rahul Sharma (javadoc)
+ * @version $Revision$
+ */
+public interface Holder
+{
+}
Property changes on: trunk/jbossws-api/src/java/javax/xml/rpc/holders/Holder.java
___________________________________________________________________
Name: svn:executable
+ *
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/jbossws-api/src/java/javax/xml/rpc/holders/IntHolder.java
===================================================================
--- trunk/jbossws-api/src/java/javax/xml/rpc/holders/IntHolder.java (rev 0)
+++ trunk/jbossws-api/src/java/javax/xml/rpc/holders/IntHolder.java 2007-04-23 06:12:12 UTC (rev 2897)
@@ -0,0 +1,42 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package javax.xml.rpc.holders;
+
+/** A holder for ints.
+ *
+ * @author Scott.Stark(a)jboss.org
+ * @version $Revision$
+ */
+public final class IntHolder implements Holder
+{
+ public int value;
+
+ public IntHolder()
+ {
+
+ }
+
+ public IntHolder(int value)
+ {
+ this.value = value;
+ }
+}
Property changes on: trunk/jbossws-api/src/java/javax/xml/rpc/holders/IntHolder.java
___________________________________________________________________
Name: svn:executable
+ *
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/jbossws-api/src/java/javax/xml/rpc/holders/IntegerWrapperHolder.java
===================================================================
--- trunk/jbossws-api/src/java/javax/xml/rpc/holders/IntegerWrapperHolder.java (rev 0)
+++ trunk/jbossws-api/src/java/javax/xml/rpc/holders/IntegerWrapperHolder.java 2007-04-23 06:12:12 UTC (rev 2897)
@@ -0,0 +1,42 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package javax.xml.rpc.holders;
+
+/** A holder for Integers.
+ *
+ * @author Scott.Stark(a)jboss.org
+ * @version $Revision$
+ */
+public final class IntegerWrapperHolder implements Holder
+{
+ public Integer value;
+
+ public IntegerWrapperHolder()
+ {
+
+ }
+
+ public IntegerWrapperHolder(Integer value)
+ {
+ this.value = value;
+ }
+}
Property changes on: trunk/jbossws-api/src/java/javax/xml/rpc/holders/IntegerWrapperHolder.java
___________________________________________________________________
Name: svn:executable
+ *
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/jbossws-api/src/java/javax/xml/rpc/holders/LongHolder.java
===================================================================
--- trunk/jbossws-api/src/java/javax/xml/rpc/holders/LongHolder.java (rev 0)
+++ trunk/jbossws-api/src/java/javax/xml/rpc/holders/LongHolder.java 2007-04-23 06:12:12 UTC (rev 2897)
@@ -0,0 +1,42 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package javax.xml.rpc.holders;
+
+/** A holder for longs.
+ *
+ * @author Scott.Stark(a)jboss.org
+ * @version $Revision$
+ */
+public final class LongHolder implements Holder
+{
+ public long value;
+
+ public LongHolder()
+ {
+
+ }
+
+ public LongHolder(long value)
+ {
+ this.value = value;
+ }
+}
Property changes on: trunk/jbossws-api/src/java/javax/xml/rpc/holders/LongHolder.java
___________________________________________________________________
Name: svn:executable
+ *
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/jbossws-api/src/java/javax/xml/rpc/holders/LongWrapperHolder.java
===================================================================
--- trunk/jbossws-api/src/java/javax/xml/rpc/holders/LongWrapperHolder.java (rev 0)
+++ trunk/jbossws-api/src/java/javax/xml/rpc/holders/LongWrapperHolder.java 2007-04-23 06:12:12 UTC (rev 2897)
@@ -0,0 +1,42 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package javax.xml.rpc.holders;
+
+/** A holder for Longs.
+ *
+ * @author Scott.Stark(a)jboss.org
+ * @version $Revision$
+ */
+public final class LongWrapperHolder implements Holder
+{
+ public Long value;
+
+ public LongWrapperHolder()
+ {
+
+ }
+
+ public LongWrapperHolder(Long value)
+ {
+ this.value = value;
+ }
+}
Property changes on: trunk/jbossws-api/src/java/javax/xml/rpc/holders/LongWrapperHolder.java
___________________________________________________________________
Name: svn:executable
+ *
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/jbossws-api/src/java/javax/xml/rpc/holders/ObjectHolder.java
===================================================================
--- trunk/jbossws-api/src/java/javax/xml/rpc/holders/ObjectHolder.java (rev 0)
+++ trunk/jbossws-api/src/java/javax/xml/rpc/holders/ObjectHolder.java 2007-04-23 06:12:12 UTC (rev 2897)
@@ -0,0 +1,42 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package javax.xml.rpc.holders;
+
+/** A holder for Objects.
+ *
+ * @author Scott.Stark(a)jboss.org
+ * @version $Revision$
+ */
+public final class ObjectHolder implements Holder
+{
+ public Object value;
+
+ public ObjectHolder()
+ {
+
+ }
+
+ public ObjectHolder(Object value)
+ {
+ this.value = value;
+ }
+}
Property changes on: trunk/jbossws-api/src/java/javax/xml/rpc/holders/ObjectHolder.java
___________________________________________________________________
Name: svn:executable
+ *
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/jbossws-api/src/java/javax/xml/rpc/holders/QNameHolder.java
===================================================================
--- trunk/jbossws-api/src/java/javax/xml/rpc/holders/QNameHolder.java (rev 0)
+++ trunk/jbossws-api/src/java/javax/xml/rpc/holders/QNameHolder.java 2007-04-23 06:12:12 UTC (rev 2897)
@@ -0,0 +1,44 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package javax.xml.rpc.holders;
+
+import javax.xml.namespace.QName;
+
+/** A holder for QNames.
+ *
+ * @author Scott.Stark(a)jboss.org
+ * @version $Revision$
+ */
+public final class QNameHolder implements Holder
+{
+ public QName value;
+
+ public QNameHolder()
+ {
+
+ }
+
+ public QNameHolder(QName value)
+ {
+ this.value = value;
+ }
+}
Property changes on: trunk/jbossws-api/src/java/javax/xml/rpc/holders/QNameHolder.java
___________________________________________________________________
Name: svn:executable
+ *
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/jbossws-api/src/java/javax/xml/rpc/holders/ShortHolder.java
===================================================================
--- trunk/jbossws-api/src/java/javax/xml/rpc/holders/ShortHolder.java (rev 0)
+++ trunk/jbossws-api/src/java/javax/xml/rpc/holders/ShortHolder.java 2007-04-23 06:12:12 UTC (rev 2897)
@@ -0,0 +1,42 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package javax.xml.rpc.holders;
+
+/** A holder for shorts.
+ *
+ * @author Scott.Stark(a)jboss.org
+ * @version $Revision$
+ */
+public final class ShortHolder implements Holder
+{
+ public short value;
+
+ public ShortHolder()
+ {
+
+ }
+
+ public ShortHolder(short value)
+ {
+ this.value = value;
+ }
+}
Property changes on: trunk/jbossws-api/src/java/javax/xml/rpc/holders/ShortHolder.java
___________________________________________________________________
Name: svn:executable
+ *
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/jbossws-api/src/java/javax/xml/rpc/holders/ShortWrapperHolder.java
===================================================================
--- trunk/jbossws-api/src/java/javax/xml/rpc/holders/ShortWrapperHolder.java (rev 0)
+++ trunk/jbossws-api/src/java/javax/xml/rpc/holders/ShortWrapperHolder.java 2007-04-23 06:12:12 UTC (rev 2897)
@@ -0,0 +1,42 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package javax.xml.rpc.holders;
+
+/** A holder for Shorts.
+ *
+ * @author Scott.Stark(a)jboss.org
+ * @version $Revision$
+ */
+public final class ShortWrapperHolder implements Holder
+{
+ public Short value;
+
+ public ShortWrapperHolder()
+ {
+
+ }
+
+ public ShortWrapperHolder(Short value)
+ {
+ this.value = value;
+ }
+}
Property changes on: trunk/jbossws-api/src/java/javax/xml/rpc/holders/ShortWrapperHolder.java
___________________________________________________________________
Name: svn:executable
+ *
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/jbossws-api/src/java/javax/xml/rpc/holders/StringHolder.java
===================================================================
--- trunk/jbossws-api/src/java/javax/xml/rpc/holders/StringHolder.java (rev 0)
+++ trunk/jbossws-api/src/java/javax/xml/rpc/holders/StringHolder.java 2007-04-23 06:12:12 UTC (rev 2897)
@@ -0,0 +1,42 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package javax.xml.rpc.holders;
+
+/** A holder for Strings.
+ *
+ * @author Scott.Stark(a)jboss.org
+ * @version $Revision$
+ */
+public final class StringHolder implements Holder
+{
+ public String value;
+
+ public StringHolder()
+ {
+
+ }
+
+ public StringHolder(String value)
+ {
+ this.value = value;
+ }
+}
Property changes on: trunk/jbossws-api/src/java/javax/xml/rpc/holders/StringHolder.java
___________________________________________________________________
Name: svn:executable
+ *
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/jbossws-api/src/java/javax/xml/rpc/server/ServiceLifecycle.java
===================================================================
--- trunk/jbossws-api/src/java/javax/xml/rpc/server/ServiceLifecycle.java (rev 0)
+++ trunk/jbossws-api/src/java/javax/xml/rpc/server/ServiceLifecycle.java 2007-04-23 06:12:12 UTC (rev 2897)
@@ -0,0 +1,59 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package javax.xml.rpc.server;
+
+import javax.xml.rpc.ServiceException;
+
+/** This interface defines a lifecycle interface for a JAX-RPC service endpoint.
+ * If the service endpoint class implements the ServiceLifeycle interface, the
+ * servlet container based JAX-RPC runtime system is required to manage the
+ * lifecycle of the corresponding service endpoint objects.
+ *
+ * @author Scott.Stark(a)jboss.org
+ * @author Rahul Sharma (javadoc)
+ * @version $Revision$
+ */
+public interface ServiceLifecycle
+{
+ /**
+ * Used for initialization of a service endpoint. After a service endpoint instance (an instance of a service endpoint class)
+ * is instantiated, the JAX-RPC runtime system invokes the init method.
+ * The service endpoint class uses the init method to initialize its configuration and setup access to any external resources.
+ * The context parameter in the init method enables the endpoint instance to access the endpoint context provided by
+ * the underlying JAX-RPC runtime system.
+ *
+ * The init method implementation should typecast the context parameter to an appropriate Java type.
+ * For service endpoints deployed on a servlet container based JAX-RPC runtime system, the context parameter is
+ * of the Java type javax.xml.rpc.server.ServletEndpointContext. The ServletEndpointContext provides an endpoint
+ * context maintained by the underlying servlet container based JAX-RPC runtime system
+ *
+ * @param context Endpoint context for a JAX-RPC service endpoint
+ * @throws ServiceException If any error in initialization of the service endpoint; or if any illegal context has been provided in the init method
+ */
+ public void init(Object context) throws ServiceException;
+
+ /**
+ * JAX-RPC runtime system ends the lifecycle of a service endpoint instance by invoking the destroy method.
+ * The service endpoint releases its resourcesin the implementation of the destroy method.
+ */
+ public void destroy();
+}
Property changes on: trunk/jbossws-api/src/java/javax/xml/rpc/server/ServiceLifecycle.java
___________________________________________________________________
Name: svn:executable
+ *
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/jbossws-api/src/java/javax/xml/rpc/server/ServletEndpointContext.java
===================================================================
--- trunk/jbossws-api/src/java/javax/xml/rpc/server/ServletEndpointContext.java (rev 0)
+++ trunk/jbossws-api/src/java/javax/xml/rpc/server/ServletEndpointContext.java 2007-04-23 06:12:12 UTC (rev 2897)
@@ -0,0 +1,101 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package javax.xml.rpc.server;
+
+import java.security.Principal;
+
+import javax.servlet.ServletContext;
+import javax.servlet.http.HttpSession;
+import javax.xml.rpc.handler.MessageContext;
+
+/**
+ * This interface provides an endpoint context maintained by the underlying
+ * servlet container based JAX-RPC runtime system. For service endpoints
+ * deployed on a servlet container based JAX-RPC runtime system, the context
+ * parameter in the ServiceLifecycle.init method is required to be of the Java
+ * type javax.xml.rpc.server.ServletEndpointContext.
+ *
+ * A servlet container based JAX-RPC runtime system implements the
+ * ServletEndpointContext interface. The JAX-RPC runtime system is required to
+ * provide appropriate session, message context, servlet context and user
+ * principal information per method invocation on the endpoint class.
+ *
+ * @author Scott.Stark(a)jboss.org
+ * @author Rahul Sharma, Roberto Chinnici (javadoc)
+ * @version $Revision$
+ */
+public interface ServletEndpointContext
+{
+ /**
+ * The getHttpSession method returns the current HTTP session (as a javax.servlet.http.HTTPSession).
+ * When invoked by the service endpoint within a remote method implementation, the getHttpSession returns the HTTP
+ * session associated currently with this method invocation. This method returns null if there is no HTTP session
+ * currently active and associated with this service endpoint. An endpoint class should not rely on an active HTTP
+ * session being always there; the underlying JAX-RPC runtime system is responsible for managing whether or not there
+ * is an active HTTP session.
+ *
+ * The getHttpSession method throws JAXRPCException if invoked by an non HTTP bound endpoint.
+ *
+ * @return The HTTP session associated with the current invocation or null if there is no active session.
+ */
+ public HttpSession getHttpSession();
+
+ /**
+ * The method getMessageContext returns the MessageContext targeted for this endpoint instance.
+ * This enables the service endpoint instance to acccess the MessageContext propagated by request HandlerChain
+ * (and its contained Handler instances) to the target endpoint instance and to share any SOAP message processing related context.
+ * The endpoint instance can access and manipulate the MessageContext and share the SOAP message processing related context with the response HandlerChain.
+ *
+ * @return MessageContext; If there is no associated MessageContext, this method returns null.
+ */
+ public MessageContext getMessageContext();
+
+ /**
+ * The method getServletContext returns the ServletContext associated with the web application that contain this endpoint.
+ * According to the Servlet specification, There is one context per web application (installed as a WAR) per JVM .
+ * A servlet based service endpoint is deployed as part of a web application.
+ * @return ServletContext
+ */
+ public ServletContext getServletContext();
+
+ /**
+ * Returns a java.security.Principal instance that contains the name of the authenticated user for the current method
+ * invocation on the endpoint instance. This method returns null if there is no associated principal yet.
+ * The underlying JAX-RPC runtime system takes the responsibility of providing the appropriate authenticated principal
+ * for a remote method invocation on the service endpoint instance.
+ *
+ * @return A java.security.Principal for the authenticated principal associated with the current invocation on the
+ * servlet endpoint instance; Returns null if there no authenticated user associated with a method invocation.
+
+ */
+ public Principal getUserPrincipal();
+
+ /**
+ * Returns a boolean indicating whether the authenticated user for the current method invocation on the endpoint
+ * instance is included in the specified logical "role".
+ *
+ * @param role a String specifying the name of the role
+ * @return a boolean indicating whether the authenticated user associated with the current method invocation belongs
+ * to a given role; false if the user has not been authenticated
+ */
+ public boolean isUserInRole(String role);
+}
Property changes on: trunk/jbossws-api/src/java/javax/xml/rpc/server/ServletEndpointContext.java
___________________________________________________________________
Name: svn:executable
+ *
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/jbossws-api/src/java/javax/xml/rpc/soap/SOAPFaultException.java
===================================================================
--- trunk/jbossws-api/src/java/javax/xml/rpc/soap/SOAPFaultException.java (rev 0)
+++ trunk/jbossws-api/src/java/javax/xml/rpc/soap/SOAPFaultException.java 2007-04-23 06:12:12 UTC (rev 2897)
@@ -0,0 +1,91 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package javax.xml.rpc.soap;
+
+// $Id$
+
+import javax.xml.namespace.QName;
+import javax.xml.soap.Detail;
+import javax.xml.soap.Name;
+
+import org.jboss.logging.Logger;
+
+/** The SOAPFaultException exception represents a SOAP fault.
+ *
+ * The message part in the SOAP fault maps to the contents of faultdetail
+ * element accessible through the getDetail method on the SOAPFaultException.
+ * The method createDetail on the javax.xml.soap.SOAPFactory creates an instance
+ * of the javax.xml.soap.Detail.
+ *
+ * The faultstring provides a human-readable description of the SOAP fault. The
+ * faultcode element provides an algorithmic mapping of the SOAP fault.
+ *
+ * Refer to SOAP 1.1 and WSDL 1.1 specifications for more details of the SOAP
+ * faults.
+ *
+ * @author Scott.Stark(a)jboss.org
+ * @author Thomas.Diesler(a)jboss.org
+ * @author Rahul Sharma (javadoc)
+ */
+public class SOAPFaultException extends RuntimeException
+{
+ // provide logging
+ private static Logger log = Logger.getLogger(SOAPFaultException.class);
+
+ private QName faultCode;
+ private String faultString;
+ private String faultActor;
+ private Detail faultDetail;
+
+ public SOAPFaultException(QName faultCode, String faultString, String faultActor, Detail faultDetail)
+ {
+ super(faultString);
+
+ Name detailName = faultDetail != null ? faultDetail.getElementName() : null;
+ if(log.isDebugEnabled()) log.debug("new SOAPFaultException [code=" + faultCode + ",string=" + faultString + ",actor=" + faultActor + ",detail=" + detailName + "]");
+
+ this.faultCode = faultCode;
+ this.faultString = faultString;
+ this.faultActor = faultActor;
+ this.faultDetail = faultDetail;
+ }
+
+ public QName getFaultCode()
+ {
+ return faultCode;
+ }
+
+ public String getFaultString()
+ {
+ return faultString;
+ }
+
+ public String getFaultActor()
+ {
+ return faultActor;
+ }
+
+ public Detail getDetail()
+ {
+ return faultDetail;
+ }
+}
Property changes on: trunk/jbossws-api/src/java/javax/xml/rpc/soap/SOAPFaultException.java
___________________________________________________________________
Name: svn:executable
+ *
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/jbossws-api/src/java/javax/xml/soap/AttachmentPart.java
===================================================================
--- trunk/jbossws-api/src/java/javax/xml/soap/AttachmentPart.java (rev 0)
+++ trunk/jbossws-api/src/java/javax/xml/soap/AttachmentPart.java 2007-04-23 06:12:12 UTC (rev 2897)
@@ -0,0 +1,352 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package javax.xml.soap;
+
+import java.io.InputStream;
+import java.util.Iterator;
+
+import javax.activation.DataHandler;
+
+/**
+ A single attachment to a SOAPMessage object. A SOAPMessage object may contain zero, one, or
+ many AttachmentPart objects. Each AttachmentPart object consists of two parts, applicationspecific
+ content and associated MIME headers. The MIME headers consists of name/value pairs that can
+ be used to identify and describe the content.
+
+ An AttachmentPart object must conform to certain standards.
+
+ 1. It must conform to MIME [RFC2045] standards (http://www.ietf.org/rfc/rfc2045.txt)
+ 2. It MUST contain content
+ 3. The header portion MUST include the following header:
+
+ Content-Type
+ This header identifies the type of data in the content of an AttachmentPart object and MUST
+ conform to [RFC2045]. The following is an example of a Content-Type header:
+
+ Content-Type: application/xml
+
+ The following line of code, in which ap is an AttachmentPart object, sets the header shown in the
+ previous example.
+
+ ap.setMimeHeader(“Content-Type”, “application/xml”);
+
+ There are no restrictions on the content portion of an AttachmentPart object. The content may be
+ anything from a simple plain text object to a complex XML document or image file.
+
+ An AttachmentPart object is created with the method
+ SOAPMessage.createAttachmentPart. After setting its MIME headers, the
+ AttachmentPart object is added to the message that created it with the method
+ SOAPMessage.addAttachmentPart.
+
+ The following code fragment, in which m is a SOAPMessage object and contentStringl is a
+ String, creates an instance of AttachmentPart, sets the AttachmentPart object with some
+ content and header information, and adds the AttachmentPart object to the SOAPMessage object.
+
+ AttachmentPart ap1 = m.createAttachmentPart();
+ ap1.setContent(contentString1, “text/plain”);
+ m.addAttachmentPart(ap1);
+
+ The following code fragment creates and adds a second AttachmentPart instance to the same
+ message. jpegData is a binary byte buffer representing the jpeg file.
+
+ AttachmentPart ap2 = m.createAttachmentPart();
+ byte[] jpegData = ...;
+ ap2.setContent(new ByteArrayInputStream(jpegData), “image/jpeg”);
+ m.addAttachmentPart(ap2);
+
+ The getContent method retrieves the contents and header from an AttachmentPart object.
+ Depending on the DataContentHandler objects present, the returned Object can either be a
+ typed Java object corresponding to the MIME type or an InputStream object that contains the
+ content as bytes.
+
+ String content1 = ap1.getContent();
+ java.io.InputStream content2 = ap2.getContent();
+
+ The method clearContent removes all the content from an AttachmentPart object but does not
+ affect its header information.
+
+ ap1.clearContent();
+
+ * @author Scott.Stark(a)jboss.org
+ * @version $Revision$
+ */
+public abstract class AttachmentPart
+{
+ private String contentId;
+ private String contentLocation;
+ private String contentType;
+
+ /**
+ * Adds a MIME header with the specified name and value to this AttachmentPart object.
+ *
+ * Note that RFC822 headers can contain only US-ASCII characters.
+ * @param name a String giving the name of the header to be added
+ * @param value a String giving the value of the header to be added
+ */
+ public abstract void addMimeHeader(String name, String value);
+
+ /**
+ * Clears out the content of this AttachmentPart object. The MIME header portion is left untouched.
+ */
+ public abstract void clearContent();
+
+ /**
+ * Retrieves all the headers for this AttachmentPart object as an iterator over the MimeHeader objects.
+ * @return an Iterator object with all of the Mime headers for this AttachmentPart object
+ */
+ public abstract Iterator getAllMimeHeaders();
+
+ /**
+ * Gets the content of this AttachmentPart object as a Java object.
+ * The type of the returned Java object depends on
+ * (1) the DataContentHandler object that is used to interpret the bytes and
+ * (2) the Content-Type given in the header.
+ *
+ * For the MIME content types "text/plain", "text/html" and "text/xml", the DataContentHandler object does the
+ * conversions to and from the Java types corresponding to the MIME types.
+ *
+ * For other MIME types,the DataContentHandler object can return an InputStream object that contains the content
+ * data as raw bytes.
+ *
+ * A SAAJ-compliant implementation must, as a minimum, return a java.lang.String object corresponding to any
+ * content stream with a Content-Type value of text/plain, a javax.xml.transform.stream.StreamSource object
+ * corresponding to a content stream with a Content-Type value of text/xml,
+ * a java.awt.Image object corresponding to a content stream with a Content-Type value of image/gif or image/jpeg.
+ *
+ * For those content types that an installed DataContentHandler object does not understand, the DataContentHandler
+ * object is required to return a java.io.InputStream object with the raw bytes.
+ *
+ * @return a Java object with the content of this AttachmentPart object
+ * @throws SOAPException if there is no content set into this AttachmentPart object or if there was a data transformation error
+ */
+ public abstract Object getContent() throws SOAPException;
+
+ /**
+ * Returns an InputStream which can be used to obtain the content of AttachmentPart as Base64 encoded character data,
+ * this method would base64 encode the raw bytes of the attachment and return.
+ *
+ * @return an InputStream from which the Base64 encoded AttachmentPart can be read.
+ * @throws SOAPException if there is no content set into this AttachmentPart object or if there was a data transformation error.
+ * @since SAAJ 1.3
+ */
+ public abstract InputStream getBase64Content() throws SOAPException;
+
+ /**
+ * Gets the content of this AttachmentPart object as an InputStream as if a call had been made to getContent and no DataContentHandler
+ * had been registered for the content-type of this AttachmentPart.
+ *
+ * Note that reading from the returned InputStream would result in consuming the data in the stream.
+ * It is the responsibility of the caller to reset the InputStream appropriately before calling a Subsequent API.
+ * If a copy of the raw attachment content is required then the getRawContentBytes() API should be used instead.
+ *
+ * @return an InputStream from which the raw data contained by the AttachmentPart can be accessed.
+ * @throws SOAPException if there is no content set into this AttachmentPart object or if there was a data transformation error.
+ * @since SAAJ 1.3
+ */
+ public abstract java.io.InputStream getRawContent() throws SOAPException;
+
+ /**
+ * Gets the content of this AttachmentPart object as a byte[] array as if a call had been
+ * made to getContent and no DataContentHandler had been registered for the content-type of this AttachmentPart.
+ *
+ * @return a byte[] array containing the raw data of the AttachmentPart.
+ * @throws SOAPException if there is no content set into this AttachmentPart object or if there was a data transformation error.
+ * @since SAAJ 1.3
+ */
+ public abstract byte[] getRawContentBytes() throws SOAPException;
+
+ /**
+ * Gets the DataHandler object for this AttachmentPart object.
+ * @return object associated with this AttachmentPart object
+ * @throws SOAPException if there is no data in this AttachmentPart object
+ */
+ public abstract DataHandler getDataHandler() throws SOAPException;
+
+ /**
+ * Retrieves all MimeHeader objects that match a name in the given array.
+ * @param names a String array with the name(s) of the MIME headers to be returned
+ * @return all of the MIME headers that match one of the names in the given array as an Iterator object
+ */
+ public abstract Iterator getMatchingMimeHeaders(String[] names);
+
+ /**
+ * Gets all the values of the header identified by the given String.
+ * @param name the name of the header; example: "Content-Type"
+ * @return a String array giving the value for the specified header
+ */
+ public abstract String[] getMimeHeader(String name);
+
+ /**
+ * Retrieves all MimeHeader objects whose name does not match a name in the given array.
+ * @param names a String array with the name(s) of the MIME headers not to be returned
+ * @return all of the MIME headers in this AttachmentPart object except those that match one of the names
+ * in the given array. The nonmatching MIME headers are returned as an Iterator object.
+ */
+ public abstract Iterator getNonMatchingMimeHeaders(String[] names);
+
+ /**
+ * Returns the number of bytes in this AttachmentPart object.
+ * @return the size of this AttachmentPart object in bytes or -1 if the size cannot be determined
+ * @throws SOAPException if the content of this attachment is corrupted of if there was an exception while trying to determine the size.
+ */
+ public abstract int getSize() throws SOAPException;
+
+ /**
+ * Removes all the MIME header entries.
+ */
+ public abstract void removeAllMimeHeaders();
+
+ /**
+ * Removes all MIME headers that match the given name.
+ * @param name the string name of the MIME header/s to be removed
+ */
+ public abstract void removeMimeHeader(String name);
+
+ /**
+ * Sets the content of this attachment part to that of the given Object and sets the value of the Content-Type header
+ * to the given type. The type of the Object should correspond to the value given for the Content-Type.
+ * This depends on the particular set of DataContentHandler objects in use.
+ *
+ * @param object the Java object that makes up the content for this attachment part
+ * @param contentType the MIME string that specifies the type of the content
+ * @throws IllegalArgumentException if the contentType does not match the type of the content object,
+ * or if there was no DataContentHandler object for this content object
+ */
+ public abstract void setContent(Object object, String contentType);
+
+ /**
+ * Sets the content of this attachment part to that contained by the InputStream content and sets the value of the Content-Type header to the value contained in contentType.
+ *
+ * A subsequent call to getSize() may not be an exact measure of the content size.
+ *
+ * @param content the raw data to add to the attachment part
+ * @param contentType the value to set into the Content-Type header
+ * @throws SOAPException if an there is an error in setting the content
+ * @throws NullPointerException if content is null
+ * @since SAAJ 1.3
+ */
+ public abstract void setRawContent(InputStream content, String contentType) throws SOAPException;
+
+ /**
+ * Sets the content of this attachment part to that contained by the byte[] array content and sets the value of the Content-Type
+ * header to the value contained in contentType.
+ *
+ * @param content the raw data to add to the attachment part
+ * @param contentType the value to set into the Content-Type header
+ * @param offset the offset in the byte array of the content
+ * @param len the number of bytes that form the content
+ * @throws SOAPException if an there is an error in setting the content or content is null
+ * @since SAAJ 1.3
+ */
+ public abstract void setRawContentBytes(byte[] content, int offset, int len, String contentType) throws SOAPException;
+
+ /**
+ * Sets the content of this attachment part from the Base64 source InputStream and sets the value of the Content-Type header
+ * to the value contained in contentType, This method would first decode the base64 input and write the resulting raw bytes to the attachment.
+ *
+ * A subsequent call to getSize() may not be an exact measure of the content size.
+ *
+ * @param content the base64 encoded data to add to the attachment part
+ * @param contentType the value to set into the Content-Type header
+ * @throws SOAPException if an there is an error in setting the content
+ * @throws NullPointerException if content is null
+ * @since SAAJ 1.3
+ */
+ public abstract void setBase64Content(InputStream content, String contentType) throws SOAPException;
+
+ /**
+ * Sets the given DataHandler object as the data handler for this AttachmentPart object.
+ * Typically, on an incoming message, the data handler is automatically set.
+ * When a message is being created and populated with content, the setDataHandler method can be used to get data
+ * from various data sources into the message.
+ * @param dataHandler the DataHandler object to be set
+ * @throws IllegalArgumentException if there was a problem with the specified DataHandler object
+ */
+ public abstract void setDataHandler(DataHandler dataHandler);
+
+ /**
+ * Changes the first header entry that matches the given name to the given value, adding a new header if no existing
+ * header matches. This method also removes all matching headers but the first.
+ *
+ * Note that RFC822 headers can only contain US-ASCII characters.
+ * @param name a String giving the name of the header for which to search
+ * @param value a String giving the value to be set for the header whose name matches the given name
+ * @throws IllegalArgumentException if there was a problem with the specified mime header name or value
+ */
+ public abstract void setMimeHeader(String name, String value);
+
+ /**
+ * Gets the value of the MIME header whose name is "Content-Id".
+ * @return a String giving the value of the "Content-Id" header or null if there is none
+ */
+ public String getContentId()
+ {
+ return contentId;
+ }
+
+ /**
+ * Sets the MIME header whose name is "Content-Id" with the given value.
+ * @param contentId a String giving the value of the "Content-Id" header
+ * @throws IllegalArgumentException if there was a problem with the specified contentId value
+ */
+ public void setContentId(String contentId)
+ {
+ this.contentId = contentId;
+ }
+
+ /**
+ * Gets the value of the MIME header whose name is "Content-Location".
+ * @return a String giving the value of the "Content-Location" header or null if there is none
+ */
+ public String getContentLocation()
+ {
+ return contentLocation;
+ }
+
+ /**
+ * Sets the MIME header whose name is "Content-Location" with the given value.
+ * @throws IllegalArgumentException if there was a problem with the specified content location
+ */
+ public void setContentLocation(String contentLocation)
+ {
+ this.contentLocation = contentLocation;
+ }
+
+ /**
+ * Gets the value of the MIME header whose name is "Content-Type".
+ * @return a String giving the value of the "Content-Type" header or null if there is none
+ */
+ public String getContentType()
+ {
+ return contentType;
+ }
+
+ /**
+ * Sets the MIME header whose name is "Content-Type" with the given value.
+ * @param contentType a String giving the value of the "Content-Type" header
+ * @throws IllegalArgumentException if there was a problem with the specified content type
+ */
+ public void setContentType(String contentType)
+ {
+ this.contentType = contentType;
+ }
+}
Property changes on: trunk/jbossws-api/src/java/javax/xml/soap/AttachmentPart.java
___________________________________________________________________
Name: svn:executable
+ *
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/jbossws-api/src/java/javax/xml/soap/Detail.java
===================================================================
--- trunk/jbossws-api/src/java/javax/xml/soap/Detail.java (rev 0)
+++ trunk/jbossws-api/src/java/javax/xml/soap/Detail.java 2007-04-23 06:12:12 UTC (rev 2897)
@@ -0,0 +1,74 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package javax.xml.soap;
+
+import java.util.Iterator;
+
+import javax.xml.namespace.QName;
+
+/**
+ A container for DetailEntry objects. DetailEntry objects give detailed error information that is
+ application-specific and related to the SOAPBody object that contains it.
+
+ A Detail object, which is part of a SOAPFault object, can be retrieved using the method
+ SOAPFault.getDetail. The Detail interface provides two methods. One creates a new
+ DetailEntry object and also automatically adds it to the Detail object. The second method gets a
+ list of the DetailEntry objects contained in a Detail object.
+
+ The following code fragment, in which sf is a SOAPFault object, gets its Detail object (d), adds a
+ new DetailEntry object to d, and then gets a list of all the DetailEntry objects in d. The code
+ also creates a Name object to pass to the method addDetailEntry. The variable se, used to create the
+ Name object, is a SOAPEnvelope object.
+
+ Detail d = sf.getDetail();
+ Name name = se.createName(“GetLastTradePrice”, “WOMBAT”, “http://www.wombat.org/trader”);
+ d.addDetailEntry(name);
+ Iterator it = d.getDetailEntries();
+
+ * @author Scott.Stark(a)jboss.org
+ * @version $Revision$
+ */
+public interface Detail extends SOAPFaultElement
+{
+ /**
+ * Creates a new DetailEntry object with the given name and adds it to this Detail object.
+ * @param name a Name object identifying the new DetailEntry object
+ * @throws SOAPException thrown when there is a problem in adding a DetailEntry object to this Detail object.
+ */
+ public DetailEntry addDetailEntry(Name name) throws SOAPException;
+
+ /**
+ * Creates a new DetailEntry object with the given QName and adds it to this Detail object.
+ * This method is the preferred over the one using Name.
+ *
+ * @param qname a QName object identifying the new DetailEntry object
+ * @throws SOAPException thrown when there is a problem in adding a DetailEntry object to this Detail object.
+ * @since SAAJ 1.3
+ */
+ public DetailEntry addDetailEntry(QName qname) throws SOAPException;
+
+ /**
+ * Gets an Iterator over all of the DetailEntrys in this Detail object.
+ * @return an Iterator object over the DetailEntry objects in this Detail object
+ */
+ public Iterator getDetailEntries();
+}
Property changes on: trunk/jbossws-api/src/java/javax/xml/soap/Detail.java
___________________________________________________________________
Name: svn:executable
+ *
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/jbossws-api/src/java/javax/xml/soap/DetailEntry.java
===================================================================
--- trunk/jbossws-api/src/java/javax/xml/soap/DetailEntry.java (rev 0)
+++ trunk/jbossws-api/src/java/javax/xml/soap/DetailEntry.java 2007-04-23 06:12:12 UTC (rev 2897)
@@ -0,0 +1,33 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package javax.xml.soap;
+
+/** The content for a Detail object, giving details for a SOAPFault object. A
+ * DetailEntry object, which carries information about errors related to the
+ * SOAPBody object that contains it, is application-specific.
+ *
+ * @author Scott.Stark(a)jboss.org
+ * @version $Revision$
+ */
+public interface DetailEntry extends SOAPElement
+{
+}
Property changes on: trunk/jbossws-api/src/java/javax/xml/soap/DetailEntry.java
___________________________________________________________________
Name: svn:executable
+ *
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/jbossws-api/src/java/javax/xml/soap/FactoryLoader.java
===================================================================
--- trunk/jbossws-api/src/java/javax/xml/soap/FactoryLoader.java (rev 0)
+++ trunk/jbossws-api/src/java/javax/xml/soap/FactoryLoader.java 2007-04-23 06:12:12 UTC (rev 2897)
@@ -0,0 +1,197 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package javax.xml.soap;
+
+import java.io.BufferedReader;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.security.AccessController;
+import java.security.PrivilegedAction;
+import java.util.Properties;
+
+import org.jboss.logging.Logger;
+
+// $Id$
+
+/**
+ * Load a factory using the factory lookup procedure
+ *
+ * @author Thomas.Diesler(a)jboss.com
+ * @since 14-Dec-2006
+ */
+public class FactoryLoader
+{
+ // provide logging
+ private static Logger log = Logger.getLogger(FactoryLoader.class);
+
+ private FactoryLoader()
+ {
+ }
+
+ /**
+ * Load a factory using this ordered lookup procedure
+ *
+ * 1. Use the system property
+ * 2. Use the properties file "lib/jaxm.properties" in the JRE directory
+ * 3. Use the Services API (as detailed in the JAR specification), if available, to determine the classname
+ * 4. Use the default factory implementation class
+ *
+ * @return the factory impl, or null
+ */
+ public static Object loadFactory(String propertyName, String defaultFactory)
+ {
+ Object factory = null;
+ ClassLoader loader = Thread.currentThread().getContextClassLoader();
+
+ // Use the system property
+ PrivilegedAction action = new PropertyAccessAction(propertyName);
+ String factoryName = (String)AccessController.doPrivileged(action);
+ if (factoryName != null)
+ {
+ try
+ {
+ if(log.isDebugEnabled()) log.debug("Load from system property: " + factoryName);
+ Class factoryClass = loader.loadClass(factoryName);
+ factory = factoryClass.newInstance();
+ }
+ catch (Throwable t)
+ {
+ throw new IllegalStateException("Failed to load " + propertyName + ": " + factoryName, t);
+ }
+ }
+
+ // Use the properties file "lib/jaxm.properties" in the JRE directory.
+ // This configuration file is in standard java.util.Properties format and contains the fully qualified name of the implementation class with the key being the system property defined above.
+ if (factory == null)
+ {
+ action = new PropertyAccessAction("java.home");
+ String javaHome = (String)AccessController.doPrivileged(action);
+ File jaxmFile = new File(javaHome + "/lib/jaxm.properties");
+ if (jaxmFile.exists())
+ {
+ try
+ {
+ action = new PropertyFileAccessAction(jaxmFile.getCanonicalPath());
+ Properties jaxmProperties = (Properties)AccessController.doPrivileged(action);
+ factoryName = jaxmProperties.getProperty(propertyName);
+ if (factoryName != null)
+ {
+ if(log.isDebugEnabled()) log.debug("Load from " + jaxmFile + ": " + factoryName);
+ Class factoryClass = loader.loadClass(factoryName);
+ factory = factoryClass.newInstance();
+ }
+ }
+ catch (Throwable t)
+ {
+ throw new IllegalStateException("Failed to load " + propertyName + ": " + factoryName, t);
+ }
+ }
+ }
+
+ // Use the Services API (as detailed in the JAR specification), if available, to determine the classname.
+ if (factory == null)
+ {
+ String filename = "META-INF/services/" + propertyName;
+ InputStream inStream = loader.getResourceAsStream(filename);
+ if (inStream != null)
+ {
+ try
+ {
+ BufferedReader br = new BufferedReader(new InputStreamReader(inStream, "UTF-8"));
+ factoryName = br.readLine();
+ br.close();
+ if (factoryName != null)
+ {
+ if(log.isTraceEnabled()) log.trace("Load from Service API " + filename + ": " + factoryName);
+ Class factoryClass = loader.loadClass(factoryName);
+ factory = factoryClass.newInstance();
+ }
+ }
+ catch (Throwable t)
+ {
+ throw new IllegalStateException("Failed to load " + propertyName + ": " + factoryName, t);
+ }
+ }
+ }
+
+ // Use the default factory implementation class.
+ if (factory == null && defaultFactory != null)
+ {
+ try
+ {
+ factoryName = defaultFactory;
+ if(log.isDebugEnabled()) log.debug("Load from default: " + factoryName);
+ Class factoryClass = loader.loadClass(factoryName);
+ factory = factoryClass.newInstance();
+ }
+ catch (Throwable t)
+ {
+ throw new IllegalStateException("Failed to load " + propertyName + ": " + factoryName, t);
+ }
+ }
+
+ return factory;
+ }
+
+ private static class PropertyAccessAction implements PrivilegedAction
+ {
+ private String name;
+
+ PropertyAccessAction(String name)
+ {
+ this.name = name;
+ }
+
+ public Object run()
+ {
+ return System.getProperty(name);
+ }
+ }
+
+ private static class PropertyFileAccessAction implements PrivilegedAction
+ {
+ private String filename;
+
+ PropertyFileAccessAction(String filename)
+ {
+ this.filename = filename;
+ }
+
+ public Object run()
+ {
+ try
+ {
+ InputStream inStream = new FileInputStream(filename);
+ Properties props = new Properties();
+ props.load(inStream);
+ return props;
+ }
+ catch (IOException ex)
+ {
+ throw new SecurityException("Cannot load properties: " + filename, ex);
+ }
+ }
+ }
+}
Property changes on: trunk/jbossws-api/src/java/javax/xml/soap/FactoryLoader.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/jbossws-api/src/java/javax/xml/soap/MessageFactory.java
===================================================================
--- trunk/jbossws-api/src/java/javax/xml/soap/MessageFactory.java (rev 0)
+++ trunk/jbossws-api/src/java/javax/xml/soap/MessageFactory.java 2007-04-23 06:12:12 UTC (rev 2897)
@@ -0,0 +1,138 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package javax.xml.soap;
+
+import java.io.IOException;
+import java.io.InputStream;
+
+/**
+ A factory for creating SOAPMessage objects.
+
+ A SAAJ client can create a MessageFactory object using the method newInstance, as shown in the following lines of code.
+
+ MessageFactory mf = MessageFactory.newInstance();
+ MessageFactory mf12 = MessageFactory.newInstance(SOAPConstants.SOAP_1_2_PROTOCOL);
+
+
+ All MessageFactory objects, regardless of how they are created, will produce SOAPMessage objects that have the following elements by default:
+
+ * A SOAPPart object
+ * A SOAPEnvelope object
+ * A SOAPBody object
+ * A SOAPHeader object
+
+ In some cases, specialized MessageFactory objects may be obtained that produce messages prepopulated with additional entries in the SOAPHeader object and the SOAPBody object. The content of a new SOAPMessage object depends on which of the two MessageFactory methods is used to create it.
+
+ * createMessage()
+ This is the method clients would normally use to create a request message.
+ * createMessage(MimeHeaders, java.io.InputStream) -- message has content from the InputStream object and headers from the MimeHeaders object
+ This method can be used internally by a service implementation to create a message that is a response to a request.
+
+ *
+ * @author Scott.Stark(a)jboss.org
+ * @version $Revision$
+ */
+public abstract class MessageFactory
+{
+
+ /**
+ * Creates a new MessageFactory object that is an instance of the default implementation (SOAP 1.1),
+ * This method uses the following ordered lookup procedure to determine the MessageFactory implementation class to load:
+ *
+ * Use the javax.xml.soap.MessageFactory system property.
+ * Use the properties file "lib/jaxm.properties" in the JRE directory. This configuration file is in standard java.util.Properties format and contains the fully qualified name of the implementation class with the key being the system property defined above.
+ * Use the Services API (as detailed in the JAR specification), if available, to determine the classname. The Services API will look for a classname in the file META-INF/services/javax.xml.soap.MessageFactory in jars available to the runtime.
+ * Use the SAAJMetaFactory instance to locate the MessageFactory implementation class.
+ * @throws SOAPException if there was an error in creating the default implementation of the MessageFactory.
+ */
+ public static MessageFactory newInstance() throws SOAPException
+ {
+ MessageFactory factory = null;
+ try
+ {
+ String propertyName = "javax.xml.soap.MessageFactory";
+ factory = (MessageFactory)FactoryLoader.loadFactory(propertyName, null);
+ }
+ catch (RuntimeException rte)
+ {
+ throw new SOAPException(rte);
+ }
+
+ // Use the SAAJMetaFactory instance to locate the MessageFactory implementation class.
+ if (factory == null)
+ {
+ SAAJMetaFactory saajFactory = SAAJMetaFactory.getInstance();
+ factory = saajFactory.newMessageFactory(SOAPConstants.DYNAMIC_SOAP_PROTOCOL);
+ }
+
+ if (factory == null)
+ throw new SOAPException("Failed to to determine the MessageFactory implementation class");
+
+ return factory;
+ }
+
+ /**
+ * Creates a new MessageFactory object that is an instance of the specified implementation.
+ * May be a dynamic message factory, a SOAP 1.1 message factory, or a SOAP 1.2 message factory.
+ * A dynamic message factory creates messages based on the MIME headers specified as arguments to the createMessage method.
+ * This method uses the SAAJMetaFactory to locate the implementation class and create the MessageFactory instance.
+ *
+ * @param protocol a string constant representing the class of the specified message factory implementation.
+ * May be either DYNAMIC_SOAP_PROTOCOL, DEFAULT_SOAP_PROTOCOL (which is the same as) SOAP_1_1_PROTOCOL, or SOAP_1_2_PROTOCOL.
+ * @throws SOAPException if there was an error in creating the specified implementation of MessageFactory.
+ * @since SAAJ 1.3
+ */
+ public static MessageFactory newInstance(String protocol) throws SOAPException
+ {
+ SAAJMetaFactory saajFactory = SAAJMetaFactory.getInstance();
+ MessageFactory factory = saajFactory.newMessageFactory(protocol);
+
+ if (factory == null)
+ throw new SOAPException("Failed to to determine the MessageFactory implementation class");
+
+ return factory;
+ }
+
+ /**
+ * Creates a new SOAPMessage object with the default SOAPPart, SOAPEnvelope, SOAPBody, and SOAPHeader objects.
+ * Profile-specific message factories can choose to prepopulate the SOAPMessage object with profile-specific headers.
+ *
+ * Content can be added to this message's SOAPPart object, and the message can be sent "as is" when a message
+ * containing only a SOAP part is sufficient. Otherwise, the SOAPMessage object needs to create one or more
+ * AttachmentPart objects and add them to itself. Any content that is not in XML format must be in an AttachmentPart object.
+ *
+ * @return a new SOAPMessage object
+ * @throws SOAPException if a SOAP error occurs
+ */
+ public abstract SOAPMessage createMessage() throws SOAPException;
+
+ /**
+ * Internalizes the contents of the given InputStream object into a new SOAPMessage object and returns the SOAPMessage object.
+ *
+ * @param headers the transport-specific headers passed to the message in a transport-independent fashion for creation of the message
+ * @param in the InputStream object that contains the data for a message
+ * @return a new SOAPMessage object containing the data from the given InputStream object
+ * @throws IOException if there is a problem in reading data from the input stream
+ * @throws SOAPException if the message is invalid
+ */
+ public abstract SOAPMessage createMessage(MimeHeaders headers, InputStream in) throws IOException, SOAPException;
+}
Property changes on: trunk/jbossws-api/src/java/javax/xml/soap/MessageFactory.java
___________________________________________________________________
Name: svn:executable
+ *
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/jbossws-api/src/java/javax/xml/soap/MimeHeader.java
===================================================================
--- trunk/jbossws-api/src/java/javax/xml/soap/MimeHeader.java (rev 0)
+++ trunk/jbossws-api/src/java/javax/xml/soap/MimeHeader.java 2007-04-23 06:12:12 UTC (rev 2897)
@@ -0,0 +1,68 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package javax.xml.soap;
+
+/** An object that stores a MIME header name and its value. One or more
+ * MimeHeader objects may be contained in a MimeHeaders object.
+ *
+ * @author Scott.Stark(a)jboss.org
+ * @version $Revision$
+ */
+public class MimeHeader
+{
+ private String name;
+ private String value;
+
+ public MimeHeader(String name, String value)
+ {
+ this.name = name;
+ this.value = value;
+ }
+
+ public String getName()
+ {
+ return name;
+ }
+
+ public String getValue()
+ {
+ return value;
+ }
+
+ public int hashCode()
+ {
+ return toString().hashCode();
+ }
+
+ public boolean equals(Object obj)
+ {
+ if (!(obj instanceof MimeHeader))
+ return false;
+ MimeHeader other = (MimeHeader)obj;
+ return toString().equals(other.toString());
+ }
+
+ public String toString()
+ {
+ return "[" + name + "=" + value + "]";
+ }
+}
Property changes on: trunk/jbossws-api/src/java/javax/xml/soap/MimeHeader.java
___________________________________________________________________
Name: svn:executable
+ *
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/jbossws-api/src/java/javax/xml/soap/MimeHeaders.java
===================================================================
--- trunk/jbossws-api/src/java/javax/xml/soap/MimeHeaders.java (rev 0)
+++ trunk/jbossws-api/src/java/javax/xml/soap/MimeHeaders.java 2007-04-23 06:12:12 UTC (rev 2897)
@@ -0,0 +1,230 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package javax.xml.soap;
+
+// $Id$
+
+import java.util.ArrayList;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.LinkedList;
+
+/** A container for MimeHeader objects, which represent the MIME headers present
+ * in a MIME part of a message.
+ *
+ * This class is used primarily when an application wants to retrieve specific
+ * attachments based on certain MIME headers and values. This class will most
+ * likely be used by implementations of AttachmentPart and other MIME dependent
+ * parts of the SAAJ API.
+ *
+ * @author Scott.Stark(a)jboss.org
+ * @author Thomas.Diesler(a)jboss.org
+ */
+public class MimeHeaders
+{
+ private LinkedList headers = new LinkedList();
+
+ /**
+ * Adds a MimeHeader object with the specified name and value to this MimeHeaders object's list of headers.
+ *
+ * Note that RFC822 headers can contain only US-ASCII characters.
+ *
+ * @param name a String with the name of the header to be added
+ * @param value a String with the value of the header to be added
+ * @throws IllegalArgumentException - if there was a problem in the mime header name or value being added
+ */
+ public void addHeader(String name, String value) throws IllegalArgumentException
+ {
+ if (name == null || name.length() == 0)
+ throw new IllegalArgumentException("Invalid null or empty header name");
+
+ MimeHeader header = new MimeHeader(name, value);
+ headers.add(header);
+ }
+
+ /**
+ * Returns all the MimeHeaders in this MimeHeaders object.
+ * @return an Iterator object over this MimeHeaders object's list of MimeHeader objects
+ */
+ public Iterator getAllHeaders()
+ {
+ return headers.iterator();
+ }
+
+ /**
+ * Returns all of the values for the specified header as an array of String objects.
+ *
+ * @param name the name of the header for which values will be returned
+ * @return a String array with all of the values for the specified header
+ */
+ public String[] getHeader(String name)
+ {
+ ArrayList tmp = new ArrayList();
+ for (int n = 0; n < headers.size(); n++)
+ {
+ MimeHeader mh = (MimeHeader)headers.get(n);
+ if (mh.getName().equalsIgnoreCase(name))
+ tmp.add(mh.getValue());
+ }
+ String[] values = null;
+ if (tmp.size() > 0)
+ {
+ values = new String[tmp.size()];
+ tmp.toArray(values);
+ }
+ return values;
+ }
+
+ /**
+ * Returns all the MimeHeader objects whose name matches a name in the given array of names.
+ * @param names an array of String objects with the names for which to search
+ * @return an Iterator object over the MimeHeader objects whose name matches one of the names in the given list
+ */
+ public Iterator getMatchingHeaders(String[] names)
+ {
+ MatchingIterator iter = new MatchingIterator(headers, names, true);
+ return iter;
+ }
+
+ /**
+ * Returns all of the MimeHeader objects whose name does not match a name in the given array of names.
+ * @param names an array of String objects with the names for which to search
+ * @return an Iterator object over the MimeHeader objects whose name does not match one of the names in the given list
+ */
+ public Iterator getNonMatchingHeaders(String[] names)
+ {
+ MatchingIterator iter = new MatchingIterator(headers, names, false);
+ return iter;
+ }
+
+ /**
+ * Removes all the header entries from this MimeHeaders object.
+ */
+ public void removeAllHeaders()
+ {
+ headers.clear();
+ }
+
+ /**
+ * Remove all MimeHeader objects whose name matches the given name.
+ * @param name a String with the name of the header for which to search
+ */
+ public void removeHeader(String name)
+ {
+ Iterator iter = headers.iterator();
+ while (iter.hasNext())
+ {
+ MimeHeader mh = (MimeHeader)iter.next();
+ if (mh.getName().equalsIgnoreCase(name))
+ iter.remove();
+ }
+ }
+
+ /**
+ * Replaces the current value of the first header entry whose name matches
+ * the given name with the given value, adding a new header if no existing
+ * header name matches. This method also removes all matching headers after
+ * the first one.
+ *
+ * Note that RFC822 headers can contain only US-ASCII characters.
+ *
+ * @param name a String with the name of the header for which to search
+ * @param value a String with the value that will replace the current value of the specified header
+ * @throws IllegalArgumentException if there was a problem in the mime header name or the value being set
+ */
+ public void setHeader(String name, String value)
+ {
+ boolean didSet = false;
+ for (int n = 0; n < headers.size(); n++)
+ {
+ MimeHeader mh = (MimeHeader)headers.get(n);
+ if (mh.getName().equalsIgnoreCase(name))
+ {
+ if (didSet == true)
+ {
+ headers.remove(n);
+ n--;
+ }
+ else
+ {
+ mh = new MimeHeader(name, value);
+ headers.set(n, mh);
+ didSet = true;
+ }
+ }
+ }
+
+ if (didSet == false)
+ {
+ this.addHeader(name, value);
+ }
+ }
+
+ public String toString()
+ {
+ return "[MimeHeaders=" + headers + "]";
+ }
+
+ private static class MatchingIterator implements Iterator
+ {
+ private LinkedList headers;
+ private HashSet names;
+ private boolean match;
+ private int index;
+ private MimeHeader mh;
+
+ MatchingIterator(LinkedList headers, String[] names, boolean match)
+ {
+ this.headers = headers;
+ this.index = 0;
+ this.names = new HashSet();
+ for (int n = 0; n < names.length; n++)
+ this.names.add(names[n].toLowerCase());
+ this.match = match;
+ }
+
+ public boolean hasNext()
+ {
+ boolean hasNext = index < headers.size();
+ while (hasNext == true)
+ {
+ mh = (MimeHeader)headers.get(index);
+ index++;
+ String name = mh.getName().toLowerCase();
+ if (names.contains(name) == match)
+ break;
+ hasNext = index < headers.size();
+ }
+ return hasNext;
+ }
+
+ public Object next()
+ {
+ return mh;
+ }
+
+ public void remove()
+ {
+ headers.remove(index - 1);
+ }
+ }
+}
Property changes on: trunk/jbossws-api/src/java/javax/xml/soap/MimeHeaders.java
___________________________________________________________________
Name: svn:executable
+ *
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/jbossws-api/src/java/javax/xml/soap/Name.java
===================================================================
--- trunk/jbossws-api/src/java/javax/xml/soap/Name.java (rev 0)
+++ trunk/jbossws-api/src/java/javax/xml/soap/Name.java 2007-04-23 06:12:12 UTC (rev 2897)
@@ -0,0 +1,86 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package javax.xml.soap;
+
+/** A representation of an XML name. This interface provides methods for
+ getting the local and namespace-qualified names and also for getting the
+ prefix associated with the namespace for the name. It is also possible to get
+ the URI of the namespace.
+
+ The following is an example of a namespace declaration in an element.
+
+ <wombat:GetLastTradePrice xmlns:wombat="http://www.wombat.org/trader">
+
+ ("xmlns" stands for "XML namespace".) The following shows what the methods in
+ the Name interface will return.
+
+ getQualifiedName will return "prefix:LocalName" = "WOMBAT:GetLastTradePrice"
+ getURI will return "http://www.wombat.org/trader"
+ getLocalName will return "GetLastTracePrice"
+ getPrefix will return "WOMBAT"
+ XML namespaces are used to disambiguate SOAP identifiers from
+ application-specific identifiers.
+ Name objects are created using the method SOAPEnvelope.createName, which has
+ two versions. One method creates Name objects with a local name, a namespace
+ prefix, and a namespace URI. and the second creates Name objects with just a
+ local name. The following line of code, in which se is a SOAPEnvelope object,
+ creates a new Name object with all three.
+
+ Name name = se.createName("GetLastTradePrice", "WOMBAT",
+ "http://www.wombat.org/trader");
+
+ The following line of code gives an example of how a Name object can be used.
+ The variable element is a SOAPElement object. This code creates a new
+ SOAPElement object with the given name and adds it to element.
+
+ element.addChildElement(name);
+
+ @author Scott.Stark(a)jboss.org
+ @version $Revision$
+ */
+public interface Name
+{
+ /** Gets the local name part of the XML name that this Name object represents.
+ *
+ * @return a string giving the local name
+ */
+ public String getLocalName();
+
+ /** Returns the prefix that was specified when this Name object was initialized.
+ * This prefix is associated with the namespace for the XML name that this Name object represents.
+ *
+ * @return the prefix as a string
+ */
+ public String getPrefix();
+
+ /** Gets the namespace-qualified name of the XML name that this Name object represents.
+ *
+ * @return the namespace-qualified name as a string
+ */
+ public String getQualifiedName();
+
+ /** Returns the URI of the namespace for the XML name that this Name object represents.
+ *
+ * @return the URI as a string
+ */
+ public String getURI();
+}
Property changes on: trunk/jbossws-api/src/java/javax/xml/soap/Name.java
___________________________________________________________________
Name: svn:executable
+ *
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/jbossws-api/src/java/javax/xml/soap/Node.java
===================================================================
--- trunk/jbossws-api/src/java/javax/xml/soap/Node.java (rev 0)
+++ trunk/jbossws-api/src/java/javax/xml/soap/Node.java 2007-04-23 06:12:12 UTC (rev 2897)
@@ -0,0 +1,79 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package javax.xml.soap;
+
+/** A representation of a node (element) in an XML document. This interface
+ * extnends the standard DOM Node interface with methods for getting and setting
+ * the value of a node, for getting and setting the parent of a node, and for
+ * removing a node
+ *
+ * @author Scott.Stark(a)jboss.org
+ * @version $Revision$
+ */
+public interface Node extends org.w3c.dom.Node
+{
+
+ /**
+ * Removes this Node object from the tree.
+ */
+ public void detachNode();
+
+ /**
+ * Returns the parent element of this Node object.
+ * This method can throw an UnsupportedOperationException if the tree is not kept in memory.
+ * @return the SOAPElement object that is the parent of this Node object or null if this Node object is root
+ */
+ public SOAPElement getParentElement();
+
+ /**
+ * Sets the parent of this Node object to the given SOAPElement object.
+ * @param parent the SOAPElement object to be set as the parent of this Node object
+ * @throws SOAPException if there is a problem in setting the parent to the given element
+ */
+ public void setParentElement(SOAPElement parent) throws SOAPException;
+
+ /**
+ * Returns the value of this node if this is a Text node or the value of the immediate child of this node otherwise.
+ * If there is an immediate child of this Node that it is a Text node then it's value will be returned.
+ * If there is more than one Text node then the value of the first Text Node will be returned.
+ * Otherwise null is returned.
+ * @return a String with the text of this node if this is a Text node or the text contained by the first immediate
+ * child of this Node object that is a Text object if such a child exists; null otherwise.
+ */
+ public String getValue();
+
+ /**
+ * If this is a Text node then this method will set its value, otherwise it sets the value of the immediate (Text)
+ * child of this node. The value of the immediate child of this node can be set only if, there is one child node and
+ * that node is a Text node, or if there are no children in which case a child Text node will be created.
+ * @param value A value string
+ * @throws IllegalStateException if the node is not a Text node and either has more than one child node or has a child node that is not a Text node.
+ */
+ public void setValue(String value);
+
+ /**
+ * Notifies the implementation that this Node object is no longer being used by the application and that the
+ * implementation is free to reuse this object for nodes that may be created later.
+ * Calling the method recycleNode implies that the method detachNode has been called previously.
+ */
+ public void recycleNode();
+}
Property changes on: trunk/jbossws-api/src/java/javax/xml/soap/Node.java
___________________________________________________________________
Name: svn:executable
+ *
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/jbossws-api/src/java/javax/xml/soap/SAAJMetaFactory.java
===================================================================
--- trunk/jbossws-api/src/java/javax/xml/soap/SAAJMetaFactory.java (rev 0)
+++ trunk/jbossws-api/src/java/javax/xml/soap/SAAJMetaFactory.java 2007-04-23 06:12:12 UTC (rev 2897)
@@ -0,0 +1,82 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package javax.xml.soap;
+
+
+// $Id$
+
+/**
+ * The access point for the implementation classes of the factories defined in the SAAJ API.
+ * All of the newInstance methods defined on factories in SAAJ 1.3 defer to instances of this class to do the actual object creation.
+ * The implementations of newInstance() methods (in SOAPFactory and MessageFactory) that existed in SAAJ 1.2
+ * have been updated to also delegate to the SAAJMetaFactory when the SAAJ 1.2 defined lookup fails to locate the Factory implementation class name.
+ *
+ * SAAJMetaFactory is a service provider interface. There are no public methods on this class.
+ *
+ * @since SAAJ 1.3
+ */
+public abstract class SAAJMetaFactory
+{
+ protected SAAJMetaFactory()
+ {
+ }
+
+ /**
+ * Creates a new instance of a concrete SAAJMetaFactory object. The SAAJMetaFactory is an SPI,
+ * it pulls the creation of the other factories together into a single place. Changing out the SAAJMetaFactory
+ * has the effect of changing out the entire SAAJ implementation. Service providers provide the name of their SAAJMetaFactory
+ * implementation. This method uses the following ordered lookup procedure to determine the SAAJMetaFactory implementation class to load:
+ *
+ * - Use the javax.xml.soap.MetaFactory system property.
+ * - Use the properties file "lib/jaxm.properties" in the JRE directory. This configuration file is in standard java.util.Properties format and contains the fully qualified name of the implementation class with the key being the system property defined above.
+ * - Use the Services API (as detailed in the JAR specification), if available, to determine the classname. The Services API will look for a classname in the file META-INF/services/javax.xml.soap.MetaFactory in jars available to the runtime.
+ * - Default to com.sun.xml.messaging.saaj.soap.SAAJMetaFactoryImpl.
+ *
+ * @return a concrete SAAJMetaFactory object
+ * @throws SOAPException if there is an error in creating the SAAJMetaFactory
+ */
+ static SAAJMetaFactory getInstance() throws SOAPException
+ {
+ String propertyName = "javax.xml.soap.MetaFactory";
+ String defaultImpl = "org.jboss.ws.core.soap.SAAJMetaFactoryImpl";
+ SAAJMetaFactory factory = (SAAJMetaFactory)FactoryLoader.loadFactory(propertyName, defaultImpl);
+
+ if (factory == null)
+ throw new SOAPException("Failed to to determine the implementation class for: " + propertyName);
+
+ return factory;
+ }
+
+ /**
+ * Creates a MessageFactory object for the given String protocol.
+ * @param protocol a String indicating the protocol (SOAPConstants.SOAP_1_1_PROTOCOL, SOAPConstants.SOAP_1_2_PROTOCOL, SOAPConstants.DYNAMIC_SOAP_PROTOCOL)
+ * @throws SOAPException if there is an error in creating the MessageFactory
+ */
+ protected abstract MessageFactory newMessageFactory(String protocol) throws SOAPException;
+
+ /**
+ * Creates a SOAPFactory object for the given String protocol.
+ * @param protocol a String indicating the protocol (SOAPConstants.SOAP_1_1_PROTOCOL, SOAPConstants.SOAP_1_2_PROTOCOL, SOAPConstants.DYNAMIC_SOAP_PROTOCOL)
+ * @throws SOAPException if there is an error in creating the SOAPFactory
+ */
+ protected abstract SOAPFactory newSOAPFactory(String protocol) throws SOAPException;
+}
Property changes on: trunk/jbossws-api/src/java/javax/xml/soap/SAAJMetaFactory.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/jbossws-api/src/java/javax/xml/soap/SAAJResult.java
===================================================================
--- trunk/jbossws-api/src/java/javax/xml/soap/SAAJResult.java (rev 0)
+++ trunk/jbossws-api/src/java/javax/xml/soap/SAAJResult.java 2007-04-23 06:12:12 UTC (rev 2897)
@@ -0,0 +1,130 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package javax.xml.soap;
+
+// $Id$
+
+import javax.xml.transform.dom.DOMResult;
+
+import org.w3c.dom.Element;
+
+/**
+ * Acts as a holder for the results of a JAXP transformation or a JAXB marshalling, in the form of a SAAJ tree.
+ * These results should be accessed by using the getResult() method. The DOMResult.getNode() method should be avoided in almost all cases.
+ *
+ * @author Thomas.Diesler(a)jboss.org
+ * @since SAAJ 1.3
+ */
+public class SAAJResult extends DOMResult
+{
+ private SOAPElement rootElement;
+
+ /**
+ * Creates a SAAJResult that will present results in the form of a SAAJ tree that supports the default (SOAP 1.1) protocol.
+ *
+ * This kind of SAAJResult is meant for use in situations where the results will be used as a parameter to a method that
+ * takes a parameter whose type, such as SOAPElement, is drawn from the SAAJ API. When used in a transformation,
+ * the results are populated into the SOAPPart of a SOAPMessage that is created internally.
+ * The SOAPPart returned by DOMResult.getNode() is not guaranteed to be well-formed.
+ *
+ * @throws SOAPException if there is a problem creating a SOAPMessage
+ * @since SAAJ 1.3
+ */
+ public SAAJResult() throws SOAPException
+ {
+ }
+
+ /**
+ * Creates a SAAJResult that will present results in the form of a SAAJ tree that supports the specified protocol.
+ * The DYNAMIC_SOAP_PROTOCOL is ambiguous in this context and will cause this constructor to throw an UnsupportedOperationException.
+ *
+ * This kind of SAAJResult is meant for use in situations where the results will be used as a parameter to a method that takes a parameter whose type, such as SOAPElement, is drawn from the SAAJ API. When used in a transformation the results are populated into the SOAPPart of a SOAPMessage that is created internally. The SOAPPart returned by DOMResult.getNode() is not guaranteed to be well-formed.
+ *
+ * @param protocol the name of the SOAP protocol that the resulting SAAJ tree should support
+ * @throws SOAPException if a SOAPMessage supporting the specified protocol cannot be created
+ * @since SAAJ 1.3
+ */
+ public SAAJResult(String protocol) throws SOAPException
+ {
+ }
+
+ /**
+ * Creates a SAAJResult that will write the results into the SOAPPart of the supplied SOAPMessage.
+ * In the normal case these results will be written using DOM APIs and, as a result, the finished SOAPPart
+ * will not be guaranteed to be well-formed unless the data used to create it is also well formed. When used in a
+ * transformation the validity of the SOAPMessage after the transformation can be guaranteed only by means outside SAAJ specification.
+ *
+ * @param message the message whose SOAPPart will be populated as a result of some transformation or marshalling operation
+ * @since SAAJ 1.3
+ */
+ public SAAJResult(SOAPMessage message)
+ {
+ try
+ {
+ rootElement = message.getSOAPPart().getEnvelope();
+ }
+ catch (SOAPException ex)
+ {
+ throw new IllegalArgumentException("Cannot create SAAJ result", ex);
+ }
+ }
+
+ /**
+ * Creates a SAAJResult that will write the results as a child node of the SOAPElement specified.
+ * In the normal case these results will be written using DOM APIs and as a result may invalidate the structure of the SAAJ tree.
+ * This kind of SAAJResult should only be used when the validity of the incoming data can be guaranteed by means outside of the SAAJ specification.
+ *
+ * @param rootNode the root to which the results will be appended
+ * @since SAAJ 1.3
+ */
+ public SAAJResult(SOAPElement rootNode)
+ {
+ rootElement = rootNode;
+ }
+
+ /**
+ * @return the resulting Tree that was created under the specified root Node.
+ * @since SAAJ 1.3
+ */
+ public Node getResult()
+ {
+ return rootElement;
+ }
+
+ public void setNode(org.w3c.dom.Node node)
+ {
+ rootElement = null;
+ if (node instanceof Element)
+ {
+ try
+ {
+ SOAPFactory factory = SOAPFactory.newInstance();
+ rootElement = factory.createElement((Element)node);
+ }
+ catch (SOAPException ex)
+ {
+ throw new IllegalArgumentException("Cannot set node: " + node, ex);
+ }
+ }
+ }
+}
+
Property changes on: trunk/jbossws-api/src/java/javax/xml/soap/SAAJResult.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/jbossws-api/src/java/javax/xml/soap/SOAPBody.java
===================================================================
--- trunk/jbossws-api/src/java/javax/xml/soap/SOAPBody.java (rev 0)
+++ trunk/jbossws-api/src/java/javax/xml/soap/SOAPBody.java 2007-04-23 06:12:12 UTC (rev 2897)
@@ -0,0 +1,170 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package javax.xml.soap;
+
+import java.util.Locale;
+
+import javax.xml.namespace.QName;
+
+import org.w3c.dom.Document;
+
+/** An object that represents the contents of the SOAP body element in a SOAP
+ * message. A SOAP body element consists of XML data that affects the way the
+ * application-specific content is processed.
+ *
+ * A SOAPBody object contains SOAPBodyElement objects, which have the content
+ * for the SOAP body. A SOAPFault object, which carries status and/or error
+ * information, is an example of a SOAPBodyElement object.
+
+ * @author Scott.Stark(a)jboss.org
+ * @version $Revision$
+ */
+public interface SOAPBody extends SOAPElement
+{
+ /** Creates a new SOAPBodyElement object with the specified name and adds it to this SOAPBody object.
+ *
+ * @param name a Name object with the name for the new SOAPBodyElement object
+ * @return the new SOAPBodyElement object
+ * @throws SOAPException if a SOAP error occurs
+ */
+ public abstract SOAPBodyElement addBodyElement(Name name) throws SOAPException;
+
+ /**
+ * Creates a new SOAPBodyElement object with the specified QName and adds it to this SOAPBody object.
+ * @param qname a QName object with the qname for the new SOAPBodyElement object
+ * @return the new SOAPBodyElement object
+ * @throws SOAPException if a SOAP error occurs
+ * @since SAAJ 1.3
+ */
+ public abstract SOAPBodyElement addBodyElement(QName qname) throws SOAPException;
+
+ /** Adds the root node of the DOM Document to this SOAPBody object.
+ *
+ * Calling this method invalidates the document parameter.
+ * The client application should discard all references to this Document and its contents upon calling addDocument.
+ * The behavior of an application that continues to use such references is undefined.
+ *
+ * @param doc the Document object whose root node will be added to this SOAPBody.
+ * @return the SOAPBodyElement that represents the root node that was added.
+ * @throws SOAPException if the Document cannot be added
+ */
+ public abstract SOAPBodyElement addDocument(Document doc) throws SOAPException;
+
+ /** Creates a new SOAPFault object and adds it to this SOAPBody object.
+ *
+ * The new SOAPFault will have default values set for the mandatory child elements faultcode and faultstring.
+ * A SOAPBody may contain at most one SOAPFault child element
+ *
+ * @return the new SOAPFault object
+ * @throws SOAPException if there is a SOAP error
+ */
+ public abstract SOAPFault addFault() throws SOAPException;
+
+ /** Creates a new SOAPFault object and adds it to this SOAPBody object.
+ *
+ * The new SOAPFault will have a faultcode element that is set to the faultCode parameter and a faultstring
+ * set to faultString.
+ *
+ * A SOAPBody may contain at most one SOAPFault child element
+ *
+ * @param faultCode a Name object giving the fault code to be set; must be one of the fault codes defined in the SOAP 1.1 specification and of type QName
+ * @param faultString a String giving an explanation of the fault
+ * @return the new SOAPFault object
+ * @throws SOAPException if there is a SOAP error
+ */
+ public abstract SOAPFault addFault(Name faultCode, String faultString) throws SOAPException;
+
+ /**
+ * Creates a new SOAPFault object and adds it to this SOAPBody object. The type of the SOAPFault will be a SOAP 1.1 or a SOAP 1.2 SOAPFault
+ * depending on the protocol specified while creating the MessageFactory instance.
+ *
+ * For SOAP 1.2 the faultCode parameter is the value of the Fault/Code/Value element and the faultString parameter is the value
+ * of the Fault/Reason/Text element. For SOAP 1.1 the faultCode parameter is the value of the faultcode element and the
+ * faultString parameter is the value of the faultstring element.
+ *
+ * In case of a SOAP 1.2 fault, the default value for the mandatory xml:lang attribute on the Fault/Reason/Text element will be
+ * set to java.util.Locale.getDefault()
+ *
+ * A SOAPBody may contain at most one SOAPFault child element
+ *
+ * @param faultCode a QName object giving the fault code to be set; must be one of the fault codes defined in the version of SOAP specification in use
+ * @param faultString a String giving an explanation of the fault
+ * @throws SOAPException if there is a SOAP error
+ * @since SAAJ 1.3
+ */
+ public abstract SOAPFault addFault(QName faultCode, String faultString) throws SOAPException;
+
+ /** Creates a new SOAPFault object and adds it to this SOAPBody object.
+ *
+ * The new SOAPFault will have a faultcode element that is set to the faultCode parameter and a faultstring
+ * set to faultString and localized to locale.
+ *
+ * A SOAPBody may contain at most one SOAPFault child element
+ *
+ * @param faultCode a Name object giving the fault code to be set; must be one of the fault codes defined in the SOAP 1.1 specification and of type QName
+ * @param faultString a String giving an explanation of the fault
+ * @param locale a Locale object indicating the native language of the faultString
+ * @return the new SOAPFault object
+ * @throws SOAPException if there is a SOAP error
+ */
+ public abstract SOAPFault addFault(Name faultCode, String faultString, Locale locale) throws SOAPException;
+
+ /**
+ * Creates a new SOAPFault object and adds it to this SOAPBody object. The type of the SOAPFault will be a SOAP 1.1 or a SOAP 1.2
+ * SOAPFault depending on the protocol specified while creating the MessageFactory instance.
+ *
+ * For SOAP 1.2 the faultCode parameter is the value of the Fault/Code/Value element and the faultString parameter is
+ * the value of the Fault/Reason/Text element. For SOAP 1.1 the faultCode parameter is the value of the faultcode element
+ * and the faultString parameter is the value of the faultstring element.
+ *
+ * A SOAPBody may contain at most one SOAPFault child element.
+ *
+ * @param faultCode a QName object giving the fault code to be set; must be one of the fault codes defined in the version of SOAP specification in use
+ * @param faultString a String giving an explanation of the fault
+ * @param locale a Locale object indicating the native language of the faultString
+ * @return the new SOAPFault object
+ * @throws SOAPException if there is a SOAP error
+ * @since SAAJ 1.3
+ */
+ public abstract SOAPFault addFault(QName faultCode, String faultString, Locale locale) throws SOAPException;
+
+ /** Returns the SOAPFault object in this SOAPBody object.
+ *
+ * @return the SOAPFault object in this SOAPBody object
+ */
+ public abstract SOAPFault getFault();
+
+ /** Indicates whether a SOAPFault object exists in this SOAPBody object.
+ *
+ * @return true if a SOAPFault object exists in this SOAPBody object; false otherwise
+ */
+ public abstract boolean hasFault();
+
+ /**
+ * Creates a new DOM Document and sets the first child of this SOAPBody as it's document element.
+ * The child SOAPElement is removed as part of the process.
+ * @return the Document representation of the SOAPBody content.
+ * @throws SOAPException if there is not exactly one child SOAPElement of the SOAPBody.
+ * @since SAAJ 1.3
+ */
+ public Document extractContentAsDocument() throws SOAPException;
+}
Property changes on: trunk/jbossws-api/src/java/javax/xml/soap/SOAPBody.java
___________________________________________________________________
Name: svn:executable
+ *
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/jbossws-api/src/java/javax/xml/soap/SOAPBodyElement.java
===================================================================
--- trunk/jbossws-api/src/java/javax/xml/soap/SOAPBodyElement.java (rev 0)
+++ trunk/jbossws-api/src/java/javax/xml/soap/SOAPBodyElement.java 2007-04-23 06:12:12 UTC (rev 2897)
@@ -0,0 +1,38 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package javax.xml.soap;
+
+/** A SOAPBodyElement object represents the contents in a SOAPBody object.
+ * The SOAPFault interface is a SOAPBodyElement object that has been defined.
+ *
+ * A new SOAPBodyElement object can be created and added to a SOAPBody object
+ * with the SOAPBody method addBodyElement. In the following line of code, sb
+ * is a SOAPBody object, and myName is a Name object.
+
+ SOAPBodyElement sbe = sb.addBodyElement(myName);
+
+ * @author Scott.Stark(a)jboss.org
+ * @version $Revision$
+ */
+public interface SOAPBodyElement extends SOAPElement
+{
+}
Property changes on: trunk/jbossws-api/src/java/javax/xml/soap/SOAPBodyElement.java
___________________________________________________________________
Name: svn:executable
+ *
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/jbossws-api/src/java/javax/xml/soap/SOAPConnection.java
===================================================================
--- trunk/jbossws-api/src/java/javax/xml/soap/SOAPConnection.java (rev 0)
+++ trunk/jbossws-api/src/java/javax/xml/soap/SOAPConnection.java 2007-04-23 06:12:12 UTC (rev 2897)
@@ -0,0 +1,73 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package javax.xml.soap;
+
+import org.jboss.util.NotImplementedException;
+
+/** A point-to-point connection that a client can use for sending messages directly to a remote
+ * party (represented by a URL, for instance).
+ *
+ * The SOAPConnection class is optional. Some implementations may not implement this interface in which case the call
+ * to SOAPConnectionFactory.newInstance() (see below) will throw an UnsupportedOperationException.
+ *
+ * A client can obtain a SOAPConnection object using a SOAPConnectionFactory object as in the following example:
+ *
+ * SOAPConnectionFactory factory = SOAPConnectionFactory.newInstance();
+ * SOAPConnection con = factory.createConnection();
+ *
+ * A SOAPConnection object can be used to send messages directly to a URL following the request/response paradigm.
+ * That is, messages are sent using the method call, which sends the message and then waits until it gets a reply.
+ *
+ * @author Scott.Stark(a)jboss.org
+ * @version $Revision$
+ */
+public abstract class SOAPConnection
+{
+ public SOAPConnection()
+ {
+ }
+
+ /** Sends the given message to the specified endpoint and blocks until it has returned the response.
+ *
+ * @param request the SOAPMessage object to be sent
+ * @param to an Object that identifies where the message should be sent.
+ * It is required to support Objects of type java.lang.String, java.net.URL, and when JAXM is present javax.xml.messaging.URLEndpoint
+ * @return the SOAPMessage object that is the response to the message that was sent
+ * @throws SOAPException if there is a SOAP error
+ */
+ public abstract SOAPMessage call(SOAPMessage request, Object to) throws SOAPException;
+
+ /**
+ * Gets a message from a specific endpoint and blocks until it receives,
+ * @param to an Object that identifies where the request should be sent. Objects of type java.lang.String and java.net.URL must be supported.
+ * @return the SOAPMessage object that is the response to the get message request
+ * @throws SOAPException if there is a SOAP error
+ * @since SAAJ 1.3
+ */
+ public abstract SOAPMessage get(Object to) throws SOAPException;
+
+ /** Closes this SOAPConnection object.
+ *
+ * @throws SOAPException if there is a SOAP error
+ */
+ public abstract void close() throws SOAPException;
+}
Property changes on: trunk/jbossws-api/src/java/javax/xml/soap/SOAPConnection.java
___________________________________________________________________
Name: svn:executable
+ *
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/jbossws-api/src/java/javax/xml/soap/SOAPConnectionFactory.java
===================================================================
--- trunk/jbossws-api/src/java/javax/xml/soap/SOAPConnectionFactory.java (rev 0)
+++ trunk/jbossws-api/src/java/javax/xml/soap/SOAPConnectionFactory.java 2007-04-23 06:12:12 UTC (rev 2897)
@@ -0,0 +1,115 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package javax.xml.soap;
+
+import java.security.AccessController;
+import java.security.PrivilegedAction;
+
+import org.jboss.logging.Logger;
+
+/** A factory for creating SOAPConnection objects. Implementation of this class
+ * is optional. If SOAPConnectionFactory.newInstance() throws an
+ * UnsupportedOperationException then the implementation does not support the
+ * SAAJ communication infrastructure. Otherwise SOAPConnection objects can be
+ * created by calling createConnection() on the newly created
+ * SOAPConnectionFactory object.
+ *
+ * @author Scott.Stark(a)jboss.org
+ * @author Thomas.Diesler(a)jboss.org
+ * @version $Revision$
+ */
+public abstract class SOAPConnectionFactory
+{
+ // provide logging
+ private static Logger log = Logger.getLogger(SOAPConnectionFactory.class);
+
+ private static final String DEFAULT_SOAP_CONNECTION_FACTORY = "org.jboss.ws.core.soap.SOAPConnectionFactoryImpl";
+ private static final String[] alternativeFactories = new String[] { "org.jboss.webservice.soap.SOAPConnectionFactoryImpl",
+ "org.jboss.axis.soap.SOAPConnectionFactoryImpl" };
+
+ /** Creates an instance of the default SOAPConnectionFactory object.
+ *
+ * @return
+ * @throws SOAPException
+ * @throws UnsupportedOperationException
+ */
+ public static SOAPConnectionFactory newInstance() throws SOAPException, UnsupportedOperationException
+ {
+ PrivilegedAction action = new PropertyAccessAction(SOAPConnectionFactory.class.getName(), DEFAULT_SOAP_CONNECTION_FACTORY);
+ String factoryName = (String)AccessController.doPrivileged(action);
+
+ ClassLoader loader = Thread.currentThread().getContextClassLoader();
+ try
+ {
+ try
+ {
+ Class factoryClass = loader.loadClass(factoryName);
+ return (SOAPConnectionFactory)factoryClass.newInstance();
+ }
+ catch (ClassNotFoundException e)
+ {
+ // Throw the exception if the user asked for a specific factory
+ if (factoryName.equals(DEFAULT_SOAP_CONNECTION_FACTORY) == false)
+ throw e;
+
+ for (int i = 0; i < alternativeFactories.length; i++)
+ {
+ factoryName = alternativeFactories[i];
+ try
+ {
+ Class factoryClass = loader.loadClass(factoryName);
+ return (SOAPConnectionFactory)factoryClass.newInstance();
+ }
+ catch (ClassNotFoundException e1)
+ {
+ if(log.isDebugEnabled()) log.debug("Cannot load factory: " + factoryName);
+ }
+ }
+ }
+ }
+ catch (Throwable t)
+ {
+ throw new SOAPException("Failed to create SOAPConnectionFactory: " + factoryName, t);
+ }
+
+ throw new SOAPException("Cannot find SOAPConnectionFactory implementation");
+ }
+
+ public abstract SOAPConnection createConnection() throws SOAPException;
+
+ private static class PropertyAccessAction implements PrivilegedAction
+ {
+ private String name;
+ private String defaultValue;
+
+ PropertyAccessAction(String name, String defaultValue)
+ {
+ this.name = name;
+ this.defaultValue = defaultValue;
+ }
+
+ public Object run()
+ {
+ return System.getProperty(name, defaultValue);
+ }
+ }
+}
Property changes on: trunk/jbossws-api/src/java/javax/xml/soap/SOAPConnectionFactory.java
___________________________________________________________________
Name: svn:executable
+ *
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/jbossws-api/src/java/javax/xml/soap/SOAPConstants.java
===================================================================
--- trunk/jbossws-api/src/java/javax/xml/soap/SOAPConstants.java (rev 0)
+++ trunk/jbossws-api/src/java/javax/xml/soap/SOAPConstants.java 2007-04-23 06:12:12 UTC (rev 2897)
@@ -0,0 +1,75 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package javax.xml.soap;
+
+import javax.xml.namespace.QName;
+
+/** The definition of constants pertaining to the SOAP protocol.
+ * @author Scott.Stark(a)jboss.org
+ * @author Thomas.Diesler(a)jboss.org
+ * @version $Revision$
+ */
+public interface SOAPConstants
+{
+ /** The default protocol: SOAP 1.1 for backwards compatibility. */
+ String DEFAULT_SOAP_PROTOCOL = "SOAP 1.1 Protocol";
+ /** Used to create MessageFactory instances that create SOAPMessages whose concrete type is based on the Content-Type MIME header passed to the createMessage method. */
+ String DYNAMIC_SOAP_PROTOCOL = "Dynamic Protocol";
+ /** The media type of the Content-Type MIME header in SOAP 1.1. */
+ String SOAP_1_1_CONTENT_TYPE = "text/xml";
+ /** Used to create MessageFactory instances that create SOAPMessages whose behavior supports the SOAP 1.1 specification */
+ String SOAP_1_1_PROTOCOL = "SOAP 1.1 Protocol";
+ /** The media type of the Content-Type MIME header in SOAP 1.2. */
+ String SOAP_1_2_CONTENT_TYPE = "application/soap+xml";
+ /** Used to create MessageFactory instances that create SOAPMessages whose behavior supports the SOAP 1.2 specification */
+ String SOAP_1_2_PROTOCOL = "SOAP 1.2 Protocol";
+ /** The default namespace prefix for http://www.w3.org/2003/05/soap-envelope */
+ String SOAP_ENV_PREFIX = "env";
+ /** The namespace identifier for the SOAP 1.1 envelope. */
+ String URI_NS_SOAP_1_1_ENVELOPE = "http://schemas.xmlsoap.org/soap/envelope/";
+ /** The namespace identifier for the SOAP 1.2 encoding. */
+ String URI_NS_SOAP_1_2_ENCODING = "http://www.w3.org/2003/05/soap-encoding";
+ /** The namespace identifier for the SOAP 1.2 envelope. */
+ String URI_NS_SOAP_1_2_ENVELOPE = "http://www.w3.org/2003/05/soap-envelope";
+ /** The namespace identifier for the SOAP 1.1 encoding. */
+ String URI_NS_SOAP_ENCODING = "http://schemas.xmlsoap.org/soap/encoding/";
+ /** The namespace identifier for the SOAP 1.1 envelope, All SOAPElements in this namespace are defined by the SOAP 1.1 specification. */
+ String URI_NS_SOAP_ENVELOPE = URI_NS_SOAP_1_1_ENVELOPE;
+ /** The URI identifying the next application processing a SOAP request as the intended role for a SOAP 1.2 header entry (see section 2.2 of part 1 of the SOAP 1.2 specification). */
+ String URI_SOAP_1_2_ROLE_NEXT = "http://www.w3.org/2003/05/soap-envelope/role/next";
+ /** The URI specifying the role None in SOAP 1.2. */
+ String URI_SOAP_1_2_ROLE_NONE = "http://www.w3.org/2003/05/soap-envelope/role/none";
+ /** The URI identifying the ultimate receiver of the SOAP 1.2 message. */
+ String URI_SOAP_1_2_ROLE_ULTIMATE_RECEIVER = "http://www.w3.org/2003/05/soap-envelope/role/ultimateReceiver";
+ /** The URI identifying the next application processing a SOAP request as the intended actor for a SOAP 1.1 header entry (see section 4.2.2 of the SOAP 1.1 specification). */
+ String URI_SOAP_ACTOR_NEXT = "http://schemas.xmlsoap.org/soap/actor/next";
+ /** SOAP 1.2 VersionMismatch Fault */
+ QName SOAP_VERSIONMISMATCH_FAULT = new QName(URI_NS_SOAP_1_2_ENVELOPE, "VersionMismatch", SOAP_ENV_PREFIX);
+ /** SOAP 1.2 MustUnderstand Fault */
+ QName SOAP_MUSTUNDERSTAND_FAULT = new QName(URI_NS_SOAP_1_2_ENVELOPE, "MustUnderstand", SOAP_ENV_PREFIX);
+ /** SOAP 1.2 DataEncodingUnknown Fault */
+ QName SOAP_DATAENCODINGUNKNOWN_FAULT = new QName(URI_NS_SOAP_1_2_ENVELOPE, "DataEncodingUnknown", SOAP_ENV_PREFIX);
+ /** SOAP 1.2 Sender Fault */
+ QName SOAP_SENDER_FAULT = new QName(URI_NS_SOAP_1_2_ENVELOPE, "Sender", SOAP_ENV_PREFIX);
+ /** SOAP 1.2 Receiver Fault */
+ QName SOAP_RECEIVER_FAULT = new QName(URI_NS_SOAP_1_2_ENVELOPE, "Receiver", SOAP_ENV_PREFIX);
+}
Property changes on: trunk/jbossws-api/src/java/javax/xml/soap/SOAPConstants.java
___________________________________________________________________
Name: svn:executable
+ *
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/jbossws-api/src/java/javax/xml/soap/SOAPElement.java
===================================================================
--- trunk/jbossws-api/src/java/javax/xml/soap/SOAPElement.java (rev 0)
+++ trunk/jbossws-api/src/java/javax/xml/soap/SOAPElement.java 2007-04-23 06:12:12 UTC (rev 2897)
@@ -0,0 +1,321 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package javax.xml.soap;
+
+import java.util.Iterator;
+
+import javax.xml.namespace.QName;
+
+import org.w3c.dom.Element;
+
+/** An object representing an element of a SOAP message that is allowed but not
+ * specifically prescribed by a SOAP specification. This interface serves as the
+ * base interface for those objects that are specifically prescribed by a SOAP
+ * specification.
+ *
+ * Methods in this interface that are required to return SAAJ specific objects
+ * may "silently" replace nodes in the tree as required to successfully return
+ * objects of the correct type. See getChildElements() and javax.xml.soap for
+ * details.
+ *
+ * @author Scott.Stark(a)jboss.org
+ * @version $Revision$
+ */
+public interface SOAPElement extends Node, Element
+{
+ /** Adds an attribute with the specified name and value to this SOAPElement object.
+ *
+ * @param name a Name object with the name of the attribute
+ * @param value a String giving the value of the attribute
+ * @return the SOAPElement object into which the attribute was inserted
+ * @throws SOAPException if there is an error in creating the Attribute
+ */
+ SOAPElement addAttribute(Name name, String value) throws SOAPException;
+
+ /**
+ * Adds an attribute with the specified name and value to this SOAPElement object.
+ * @param qname a QName object with the name of the attribute
+ * @param value a String giving the value of the attribute
+ * @return the SOAPElement object into which the attribute was inserted
+ * @throws SOAPException if there is an error in creating the Attribute, or it is invalid to set an attribute with QName qname on this SOAPElement.
+ * @since SAAJ 1.3
+ */
+ SOAPElement addAttribute(QName qname, String value) throws SOAPException;
+
+ /** Creates a new SOAPElement object initialized with the specified local name and adds the new element to this SOAPElement object.
+ *
+ * @param name a String giving the local name for the element
+ * @return the new SOAPElement object that was created
+ * @throws SOAPException if there is an error in creating the SOAPElement object
+ */
+ SOAPElement addChildElement(String name) throws SOAPException;
+
+ /**
+ * Creates a new SOAPElement object initialized with the given QName object and adds the new element to this SOAPElement object.
+ * The namespace, localname and prefix of the new SOAPElement are all taken from the qname argument.
+ * @param qname a QName object with the XML name for the new element
+ * @return the new SOAPElement object that was created
+ * @throws SOAPException if there is an error in creating the SOAPElement object
+ * @since SAAJ 1.3
+ */
+ SOAPElement addChildElement(QName qname) throws SOAPException;
+
+ /** Creates a new SOAPElement object initialized with the specified local name and prefix and adds the new element to this SOAPElement object.
+ *
+ * @param localName a String giving the local name for the new element
+ * @param prefix a String giving the namespace prefix for the new element
+ * @return the new SOAPElement object that was created
+ * @throws SOAPException if there is an error in creating the SOAPElement object
+ */
+ SOAPElement addChildElement(String localName, String prefix) throws SOAPException;
+
+ /** Creates a new SOAPElement object initialized with the specified local name, prefix, and URI and adds the new element to this SOAPElement object.
+ *
+ * @param localName a String giving the local name for the new element
+ * @param prefix a String giving the namespace prefix for the new element
+ * @param uri a String giving the URI of the namespace to which the new element belongs
+ * @return the new SOAPElement object that was created
+ * @throws SOAPException if there is an error in creating the SOAPElement object
+ */
+ SOAPElement addChildElement(String localName, String prefix, String uri) throws SOAPException;
+
+ /** Creates a new SOAPElement object initialized with the given Name object and adds the new element to this SOAPElement object.
+ *
+ * @param name a Name object with the XML name for the new element
+ * @return the new SOAPElement object that was created
+ * @throws SOAPException if there is an error in creating the SOAPElement object
+ */
+ SOAPElement addChildElement(Name name) throws SOAPException;
+
+ /** Add a SOAPElement as a child of this SOAPElement instance. The SOAPElement is expected to be created by a SOAPElementFactory.
+ *
+ * Callers should not rely on the element instance being added as is into the XML tree.
+ * Implementations could end up copying the content of the SOAPElement passed into an instance of a different SOAPElement
+ * implementation. For instance if addChildElement() is called on a SOAPHeader, element will be copied into an instance of a SOAPHeaderElement.
+ *
+ * The fragment rooted in element is either added as a whole or not at all, if there was an error.
+ *
+ * The fragment rooted in element cannot contain elements named "Envelope", "Header" or "Body" and in the SOAP namespace.
+ * Any namespace prefixes present in the fragment should be fully resolved using appropriate namespace declarations within the fragment itself.
+ *
+ * @param child the SOAPElement to be added as a new child
+ * @return an instance representing the new SOAP element that was actually added to the tree.
+ * @throws SOAPException if there was an error in adding this element as a child
+ */
+ SOAPElement addChildElement(SOAPElement child) throws SOAPException;
+
+ /** Adds a namespace declaration with the specified prefix and URI to this SOAPElement object.
+ *
+ * @param prefix a String giving the prefix of the namespace
+ * @param uri a String giving the uri of the namespace
+ * @return the SOAPElement object into which this namespace declaration was inserted.
+ * @throws SOAPException if there is an error in creating the namespace
+ */
+ SOAPElement addNamespaceDeclaration(String prefix, String uri) throws SOAPException;
+
+ /** Creates a new Text object initialized with the given String and adds it to this SOAPElement object.
+ *
+ * @param text a String object with the textual content to be added
+ * @return the SOAPElement object into which the new Text object was inserted
+ * @throws SOAPException if there is an error in creating the new Text object
+ */
+ SOAPElement addTextNode(String text) throws SOAPException;
+
+ /**
+ * Creates a QName whose namespace URI is the one associated with the parameter, prefix, in the context of this SOAPElement.
+ * The remaining elements of the new QName are taken directly from the parameters, localName and prefix.
+ * @param localName a String containing the local part of the name.
+ * @param prefix a String containing the prefix for the name.
+ * @return a QName with the specified localName and prefix, and with a namespace that is associated with the prefix in the context of this SOAPElement.
+ * This namespace will be the same as the one that would be returned by getNamespaceURI(String) if it were given prefix as it's parameter.
+ * @throws SOAPException if the QName cannot be created.
+ * @since SAAJ 1.3
+ */
+ QName createQName(String localName, String prefix) throws SOAPException;
+
+ /** Returns an Iterator over all of the attribute Name objects in this SOAPElement object.
+ *
+ * The iterator can be used to get the attribute names, which can then be passed to the method getAttributeValue to
+ * retrieve the value of each attribute.
+ *
+ * @return an iterator over the names of the attributes
+ */
+ Iterator getAllAttributes();
+
+ /**
+ * Returns an Iterator over all of the attributes in this SOAPElement as QName objects.
+ * The iterator can be used to get the attribute QName, which can then be passed to the method getAttributeValue to retrieve the value of each attribute.
+ * @return an iterator over the QNames of the attributes
+ * @since SAAJ 1.3
+ */
+ Iterator getAllAttributesAsQNames();
+
+ /** Returns the value of the attribute with the specified name.
+ *
+ * @param name a Name object with the name of the attribute
+ * @return a String giving the value of the specified attribute
+ */
+ String getAttributeValue(Name name);
+
+ /**
+ * Returns the value of the attribute with the specified qname.
+ * @param qname a QName object with the qname of the attribute
+ * @return a String giving the value of the specified attribute, Null if there is no such attribute
+ * @since SAAJ 1.3
+ */
+ String getAttributeValue(QName qname);
+
+ /** Returns an Iterator over all the immediate child Nodes of this element.
+ *
+ * This includes javax.xml.soap.Text objects as well as SOAPElement objects.
+ * Calling this method may cause child Element, SOAPElement and org.w3c.dom.Text nodes to be replaced by SOAPElement,
+ * SOAPHeaderElement, SOAPBodyElement or javax.xml.soap.Text nodes as appropriate for the type of this parent node.
+ * As a result the calling application must treat any existing references to these child nodes that have been obtained
+ * through DOM APIs as invalid and either discard them or refresh them with the values returned by this Iterator.
+ * This behavior can be avoided by calling the equivalent DOM APIs. See javax.xml.soap for more details.
+ *
+ * @return an iterator with the content of this SOAPElement object
+ */
+ Iterator getChildElements();
+
+ /** Returns an Iterator over all the immediate child Nodes of this element with the specified name.
+ *
+ * All of these children will be SOAPElement nodes.
+ * Calling this method may cause child Element, SOAPElement and org.w3c.dom.Text nodes to be replaced by SOAPElement,
+ * SOAPHeaderElement, SOAPBodyElement or javax.xml.soap.Text nodes as appropriate for the type of this parent node.
+ * As a result the calling application must treat any existing references to these child nodes that have been obtained
+ * through DOM APIs as invalid and either discard them or refresh them with the values returned by this Iterator.
+ * This behavior can be avoided by calling the equivalent DOM APIs. See javax.xml.soap for more details.
+ *
+ * @param name a Name object with the name of the child elements to be returned
+ * @return an Iterator object over all the elements in this SOAPElement object with the specified name
+ */
+ Iterator getChildElements(Name name);
+
+ /**
+ * Returns an Iterator over all the immediate child Nodes of this element with the specified qname.
+ * All of these children will be SOAPElement nodes.
+ *
+ * Calling this method may cause child Element, SOAPElement and org.w3c.dom.Text nodes to be replaced by
+ * SOAPElement, SOAPHeaderElement, SOAPBodyElement or javax.xml.soap.Text nodes as appropriate for the type of this parent node.
+ * As a result the calling application must treat any existing references to these child nodes that have been obtained through
+ * DOM APIs as invalid and either discard them or refresh them with the values returned by this Iterator.
+ * This behavior can be avoided by calling the equivalent DOM APIs. See javax.xml.soap for more details.
+ * @param qname a QName object with the qname of the child elements to be returned
+ * @return an Iterator object over all the elements in this SOAPElement object with the specified qname
+ * @since SAAJ 1.3
+ */
+ Iterator getChildElements(QName qname);
+
+ /** Returns the name of this SOAPElement object.
+ *
+ * @return a Name object with the name of this SOAPElement object
+ */
+ Name getElementName();
+
+ /**
+ * Returns the qname of this SOAPElement object.
+ * @return a QName object with the qname of this SOAPElement object
+ * @since SAAJ 1.3
+ */
+ QName getElementQName();
+
+ /**
+ * Changes the name of this Element to newName if possible. SOAP Defined elements such as SOAPEnvelope, SOAPHeader, SOAPBody etc. cannot
+ * have their names changed using this method. Any attempt to do so will result in a SOAPException being thrown.
+ *
+ * Callers should not rely on the element instance being renamed as is.
+ * Implementations could end up copying the content of the SOAPElement to a renamed instance.
+ * @param qname the new name for the Element.
+ * @return The renamed Node
+ * @throws SOAPException if changing the name of this Element is not allowed.
+ * @since SAAJ 1.3
+ */
+ SOAPElement setElementQName(QName qname) throws SOAPException;
+
+ /** Returns the encoding style for this SOAPElement object.
+ *
+ * @return a String giving the encoding style
+ */
+ String getEncodingStyle();
+
+ /** Returns an Iterator over the namespace prefix Strings declared by this element.
+ *
+ * The prefixes returned by this iterator can be passed to the method getNamespaceURI to retrieve the URI of each namespace.
+ *
+ * @return an iterator over the namespace prefixes in this SOAPElement object
+ */
+ Iterator getNamespacePrefixes();
+
+ /** Returns the URI of the namespace that has the given prefix.
+ *
+ * @param prefix a String giving the prefix of the namespace for which to search
+ * @return a String with the uri of the namespace that has the given prefix
+ */
+ String getNamespaceURI(String prefix);
+
+ /** Returns an Iterator over the namespace prefix Strings visible to this element.
+ *
+ * The prefixes returned by this iterator can be passed to the method getNamespaceURI to retrieve the URI of each namespace.
+ *
+ * @return an iterator over the namespace prefixes are within scope of this SOAPElement object
+ */
+ Iterator getVisibleNamespacePrefixes();
+
+ /** Removes the attribute with the specified name.
+ *
+ * @param name the Name object with the name of the attribute to be removed
+ * @return true if the attribute was removed successfully; false if it was not
+ */
+ boolean removeAttribute(Name name);
+
+ /**
+ * Removes the attribute with the specified qname.
+ * @param qname the QName object with the qname of the attribute to be removed
+ * @return true if the attribute was removed successfully; false if it was not
+ * @since SAAJ 1.3
+ */
+ boolean removeAttribute(QName qname);
+
+ /** Detaches all children of this SOAPElement.
+ *
+ * This method is useful for rolling back the construction of partially completed SOAPHeaders and SOAPBodys in
+ * preparation for sending a fault when an error condition is detected.
+ * It is also useful for recycling portions of a document within a SOAP message.
+ */
+ void removeContents();
+
+ /** Removes the namespace declaration corresponding to the given prefix.
+ *
+ * @param prefix a String giving the prefix for which to search
+ * @return true if the namespace declaration was removed successfully; false if it was not
+ */
+ boolean removeNamespaceDeclaration(String prefix);
+
+ /** Sets the encoding style for this SOAPElement object to one specified.
+ *
+ * @param encodingStyle a String giving the encoding style
+ * @throws SOAPException if there was a problem in the encoding style being set.
+ */
+ void setEncodingStyle(String encodingStyle) throws SOAPException;
+
+}
Property changes on: trunk/jbossws-api/src/java/javax/xml/soap/SOAPElement.java
___________________________________________________________________
Name: svn:executable
+ *
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/jbossws-api/src/java/javax/xml/soap/SOAPElementFactory.java
===================================================================
--- trunk/jbossws-api/src/java/javax/xml/soap/SOAPElementFactory.java (rev 0)
+++ trunk/jbossws-api/src/java/javax/xml/soap/SOAPElementFactory.java 2007-04-23 06:12:12 UTC (rev 2897)
@@ -0,0 +1,88 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package javax.xml.soap;
+
+/** SOAPElementFactory is a factory for XML fragments that will eventually end
+ * up in the SOAP part. These fragments can be inserted as children of the
+ * SOAPHeader or SOAPBody or SOAPEnvelope.
+ *
+ * Elements created using this factory do not have the properties of an element
+ * that lives inside a SOAP header document. These elements are copied into the
+ * XML document tree when they are inserted.
+
+ * @author Scott.Stark(a)jboss.org
+ * @version $Revision$
+ */
+public class SOAPElementFactory
+{
+ private SOAPFactory soapFactory;
+
+ /**
+ *
+ * @return
+ * @throws SOAPException
+ */
+ public static SOAPElementFactory newInstance() throws SOAPException
+ {
+ SOAPFactory factory = SOAPFactory.newInstance();
+ return new SOAPElementFactory(factory);
+ }
+
+ /**
+ * @deprecated Use javax.xml.soap.SOAPFactory.createElement(javax.xml.soap.Name)
+ * @return
+ * @throws SOAPException
+ */
+ public SOAPElement create(String localName) throws SOAPException
+ {
+ return soapFactory.createElement(localName);
+ }
+
+ /**
+ * @deprecated Use javax.xml.soap.SOAPFactory.createElement(String localName, String prefix, String uri) instead
+ * @param localName
+ * @param prefix
+ * @param uri
+ * @return
+ * @throws SOAPException
+ */
+ public SOAPElement create(String localName, String prefix, String uri) throws SOAPException
+ {
+ return soapFactory.createElement(localName, prefix, uri);
+ }
+
+ /**
+ * @deprecated Use javax.xml.soap.SOAPFactory.createElement(javax.xml.soap.Name)
+ * @param name
+ * @return
+ * @throws SOAPException
+ */
+ public SOAPElement create(Name name) throws SOAPException
+ {
+ return soapFactory.createElement(name);
+ }
+
+ private SOAPElementFactory(SOAPFactory soapFactory)
+ {
+ this.soapFactory = soapFactory;
+ }
+}
Property changes on: trunk/jbossws-api/src/java/javax/xml/soap/SOAPElementFactory.java
___________________________________________________________________
Name: svn:executable
+ *
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/jbossws-api/src/java/javax/xml/soap/SOAPEnvelope.java
===================================================================
--- trunk/jbossws-api/src/java/javax/xml/soap/SOAPEnvelope.java (rev 0)
+++ trunk/jbossws-api/src/java/javax/xml/soap/SOAPEnvelope.java 2007-04-23 06:12:12 UTC (rev 2897)
@@ -0,0 +1,90 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package javax.xml.soap;
+
+/** The container for the SOAPHeader and SOAPBody portions of a SOAPPart object.
+ * By default, a SOAPMessage object is created with a SOAPPart object that has a SOAPEnvelope object.
+ * The SOAPEnvelope object by default has an empty SOAPBody object and an empty SOAPHeader object.<p>
+ * The SOAPBody object is required, and the SOAPHeader object, though optional,
+ * is used in the majority of cases. If the SOAPHeader object is not needed, it can be deleted, which is shown later.<p>
+ * A client can access the SOAPHeader and SOAPBody objects by calling the methods SOAPEnvelope.getHeader and SOAPEnvelope.getBody.
+ * The following lines of code use these two methods after starting with the SOAPMessage object message to get the SOAPPart object
+ * sp, which is then used to get the SOAPEnvelope object se.<p>
+ *
+ * <code>
+ * SOAPPart sp = message.getSOAPPart();<br>
+ * SOAPEnvelope se = sp.getEnvelope();<br>
+ * SOAPHeader sh = se.getHeader();<br>
+ * SOAPBody sb = se.getBody(); <br>
+ * </code>
+ * <p>
+ * It is possible to change the body or header of a SOAPEnvelope object by retrieving the current one,
+ * deleting it, and then adding a new body or header.
+ * The javax.xml.soap.Node method deleteNode deletes the XML element (node) on which it is called.
+ * For example, the following line of code deletes the SOAPBody object that is retrieved by the method getBody.
+ * <p>
+ * <code>se.getBody().detachNode();</code>
+ * <p>
+ * To create a SOAPHeader object to replace the one that was removed,
+ * a client uses the method SOAPEnvelope.addHeader, which creates a new header and adds it to the SOAPEnvelope object.
+ * Similarly, the method addBody creates a new SOAPBody object and adds it to the SOAPEnvelope object.
+ * The following code fragment retrieves the current header, removes it, and adds a new one.
+ * Then it retrieves the current body, removes it, and adds a new one.
+ * <p>
+ * <code>
+ * SOAPPart sp = message.getSOAPPart();<br>
+ * SOAPEnvelope se = sp.getEnvelope();<br>
+ * se.getHeader().detachNode(); <br>
+ * SOAPHeader sh = se.addHeader();<br>
+ * se.getBody().detachNode(); <br>
+ * SOAPBody sb = se.addBody();<br>
+ * </code>
+ * <p>
+ * <b>It is an error to add a SOAPBody or SOAPHeader object if one already exists.</b>
+ * The SOAPEnvelope interface provides three methods for creating Name objects.
+ * One method creates Name objects with a local name, a namespace prefix, and a namesapce URI.
+ * The second method creates Name objects with a local name and a namespace prefix,
+ * and the third creates Name objects with just a local name.
+ * <p>
+ * The following line of code, in which se is a SOAPEnvelope object, creates a new Name object with all three.
+ * <code>
+ * Name name = se.createName("GetLastTradePrice", "WOMBAT", "http://www.wombat.org/trader");
+ * </code>
+ *
+ * @author Scott.Stark(a)jboss.org
+ * @version $Revision$
+ */
+public interface SOAPEnvelope extends SOAPElement
+{
+ public abstract SOAPBody addBody() throws SOAPException;
+
+ public abstract SOAPHeader addHeader() throws SOAPException;
+
+ public abstract Name createName(String localName) throws SOAPException;
+
+ public abstract Name createName(String localName, String prefix, String uri) throws SOAPException;
+
+ public abstract SOAPBody getBody() throws SOAPException;
+
+ public abstract SOAPHeader getHeader() throws SOAPException;
+
+}
Property changes on: trunk/jbossws-api/src/java/javax/xml/soap/SOAPEnvelope.java
___________________________________________________________________
Name: svn:executable
+ *
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/jbossws-api/src/java/javax/xml/soap/SOAPException.java
===================================================================
--- trunk/jbossws-api/src/java/javax/xml/soap/SOAPException.java (rev 0)
+++ trunk/jbossws-api/src/java/javax/xml/soap/SOAPException.java 2007-04-23 06:12:12 UTC (rev 2897)
@@ -0,0 +1,49 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package javax.xml.soap;
+
+
+/**
+ * @author Scott.Stark(a)jboss.org
+ * @version $Revision$
+ */
+public class SOAPException extends Exception
+{
+ public SOAPException()
+ {
+ }
+
+ public SOAPException(String message)
+ {
+ super(message);
+ }
+
+ public SOAPException(String message, Throwable cause)
+ {
+ super(message, cause);
+ }
+
+ public SOAPException(Throwable cause)
+ {
+ super(cause);
+ }
+}
Property changes on: trunk/jbossws-api/src/java/javax/xml/soap/SOAPException.java
___________________________________________________________________
Name: svn:executable
+ *
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/jbossws-api/src/java/javax/xml/soap/SOAPFactory.java
===================================================================
--- trunk/jbossws-api/src/java/javax/xml/soap/SOAPFactory.java (rev 0)
+++ trunk/jbossws-api/src/java/javax/xml/soap/SOAPFactory.java 2007-04-23 06:12:12 UTC (rev 2897)
@@ -0,0 +1,202 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package javax.xml.soap;
+
+// $Id$
+
+import javax.xml.namespace.QName;
+
+import org.w3c.dom.Element;
+
+/** SOAPFactory is a factory for creating various objects that exist in the SOAP XML tree.
+ *
+ * SOAPFactory can be used to create XML fragments that will eventually end up in the SOAP part.
+ * These fragments can be inserted as children of the SOAPHeaderElement or SOAPBodyElement or
+ * SOAPEnvelope or other SOAPElement objects.
+ *
+ * SOAPFactory also has methods to create javax.xml.soap.Detail objects as well as java.xml.soap.Name objects.
+ *
+ * @author Scott.Stark(a)jboss.org
+ * @version $Revision$
+ */
+public abstract class SOAPFactory
+{
+ private static SOAPFactory soapFactory;
+
+ /**
+ * Creates a new SOAPFactory object that is an instance of the default implementation (SOAP 1.1),
+ * This method uses the following ordered lookup procedure to determine the SOAPFactory implementation class to load:
+ *
+ * Use the javax.xml.soap.SOAPFactory system property.
+ * Use the properties file "lib/jaxm.properties" in the JRE directory. This configuration file is in standard java.util.Properties format and contains the fully qualified name of the implementation class with the key being the system property defined above.
+ * Use the Services API (as detailed in the JAR specification), if available, to determine the classname. The Services API will look for a classname in the file META-INF/services/javax.xml.soap.SOAPFactory in jars available to the runtime.
+ * Use the SAAJMetaFactory instance to locate the SOAPFactory implementation class.
+ *
+ * @return a new instance of a SOAPFactory
+ * @throws SOAPException if there was an error creating the default SOAPFactory
+ */
+ public static SOAPFactory newInstance() throws SOAPException
+ {
+ if (soapFactory == null)
+ {
+ try
+ {
+ String propertyName = "javax.xml.soap.SOAPFactory";
+ soapFactory = (SOAPFactory)FactoryLoader.loadFactory(propertyName, null);
+ }
+ catch (RuntimeException rte)
+ {
+ throw new SOAPException(rte);
+ }
+
+ // Use the SAAJMetaFactory instance to locate the MessageFactory implementation class.
+ if (soapFactory == null)
+ {
+ SAAJMetaFactory saajFactory = SAAJMetaFactory.getInstance();
+ soapFactory = saajFactory.newSOAPFactory(SOAPConstants.DYNAMIC_SOAP_PROTOCOL);
+ }
+
+ if (soapFactory == null)
+ throw new SOAPException("Failed to to determine the SOAPFactory implementation class");
+ }
+ return soapFactory;
+ }
+
+
+ /**
+ * Creates a new SOAPFactory object that is an instance of the specified implementation, this method uses the SAAJMetaFactory
+ * to locate the implementation class and create the SOAPFactory instance.
+ *
+ * @param protocol a string constant representing the class of the specified message factory implementation.
+ * May be either DYNAMIC_SOAP_PROTOCOL, DEFAULT_SOAP_PROTOCOL (which is the same as) SOAP_1_1_PROTOCOL, or SOAP_1_2_PROTOCOL.
+ * @throws SOAPException if there was an error creating the specified SOAPFactory
+ * @since SAAJ 1.3
+ */
+ public static SOAPFactory newInstance(String protocol) throws SOAPException
+ {
+ SAAJMetaFactory saajFactory = SAAJMetaFactory.getInstance();
+ SOAPFactory factory = saajFactory.newSOAPFactory(protocol);
+
+ if (factory == null)
+ throw new SOAPException("Failed to to determine the SOAPFactory implementation class");
+
+ return factory;
+ }
+
+ /** Creates a new Detail object which serves as a container for DetailEntry objects.
+ *
+ * This factory method creates Detail objects for use in situations where it is not practical to use the SOAPFault abstraction.
+ *
+ * @return a Detail object
+ * @throws SOAPException if there is a SOAP error
+ */
+ public abstract Detail createDetail() throws SOAPException;
+
+ /**
+ * Creates a SOAPElement object from an existing DOM Element. If the DOM Element that is passed in as an argument is already a
+ * SOAPElement then this method must return it unmodified without any further work. Otherwise, a new SOAPElement is created and
+ * a deep copy is made of the domElement argument. The concrete type of the return value will depend on the name of the domElement
+ * argument. If any part of the tree rooted in domElement violates SOAP rules, a SOAPException will be thrown.
+ * @param domElement the Element to be copied.
+ * @return a new SOAPElement that is a copy of domElement.
+ * @throws SOAPException if there is an error in creating the SOAPElement object
+ * @since SAAJ 1.3
+ */
+ public abstract SOAPElement createElement(Element domElement) throws SOAPException;
+
+ /** Create a SOAPElement object initialized with the given local name.
+ *
+ * @param localName a String giving the local name for the new element
+ * @return the new SOAPElement object that was created
+ * @throws SOAPException if there is an error in creating the SOAPElement object
+ */
+ public abstract SOAPElement createElement(String localName) throws SOAPException;
+
+ /** Create a new SOAPElement object with the given local name, prefix and uri.
+ *
+ * @param localName a String giving the local name for the new element
+ * @param prefix the prefix for this SOAPElement
+ * @param uri a String giving the URI of the namespace to which the new element belongs
+ * @return the new SOAPElement object that was created
+ * @throws SOAPException if there is an error in creating the SOAPElement object
+ */
+ public abstract SOAPElement createElement(String localName, String prefix, String uri) throws SOAPException;
+
+ /** Create a SOAPElement object initialized with the given Name object.
+ *
+ * @param name a Name object with the XML name for the new element
+ * @return the new SOAPElement object that was created
+ * @throws SOAPException if there is an error in creating the SOAPElement object
+ */
+ public abstract SOAPElement createElement(Name name) throws SOAPException;
+
+ /**
+ * Creates a SOAPElement object initialized with the given QName object.
+ * The concrete type of the return value will depend on the name given to the new SOAPElement.
+ * For instance, a new SOAPElement with the name "{http://www.w3.org/2003/05/soap-envelope}Envelope" would
+ * cause a SOAPEnvelope that supports SOAP 1.2 behavior to be created.
+ * @param qname a QName object with the XML name for the new element
+ * @return the new SOAPElement object that was created
+ * @throws SOAPException if there is an error in creating the SOAPElement object
+ * @since SAAJ 1.3
+ */
+ public abstract SOAPElement createElement(QName qname) throws SOAPException;
+
+ /**
+ * Creates a new SOAPFault object initialized with the given reasonText and faultCode
+ * @param reasonText the ReasonText/FaultString for the fault
+ * @param faultCode the FaultCode for the fault
+ * @return a SOAPFault object
+ * @throws SOAPException if there is a SOAP error
+ * @since SAAJ 1.3
+ */
+ public abstract SOAPFault createFault(String reasonText, QName faultCode) throws SOAPException;
+
+ /**
+ * Creates a new default SOAPFault object
+ * @return a SOAPFault object
+ * @throws SOAPException if there is a SOAP error
+ * @since SAAJ 1.3
+ */
+ public abstract SOAPFault createFault() throws SOAPException;
+
+ /** Creates a new Name object initialized with the given local name.
+ *
+ * This factory method creates Name objects for use in situations where it is not practical to use the
+ * SOAPEnvelope abstraction.
+ * @return
+ * @throws SOAPException
+ */
+ public abstract Name createName(String localName) throws SOAPException;
+
+ /** Creates a new Name object initialized with the given local name, namespace prefix, and namespace URI.
+ *
+ * This factory method creates Name objects for use in situations where it is not practical to use the SOAPEnvelope abstraction.
+ *
+ * @param localName a String giving the local name
+ * @param prefix a String giving the prefix of the namespace
+ * @param uri a String giving the URI of the namespace
+ * @return a Name object initialized with the given local name, namespace prefix, and namespace URI
+ * @throws SOAPException if there is a SOAP error
+ */
+ public abstract Name createName(String localName, String prefix, String uri) throws SOAPException;
+}
Property changes on: trunk/jbossws-api/src/java/javax/xml/soap/SOAPFactory.java
___________________________________________________________________
Name: svn:executable
+ *
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/jbossws-api/src/java/javax/xml/soap/SOAPFault.java
===================================================================
--- trunk/jbossws-api/src/java/javax/xml/soap/SOAPFault.java (rev 0)
+++ trunk/jbossws-api/src/java/javax/xml/soap/SOAPFault.java 2007-04-23 06:12:12 UTC (rev 2897)
@@ -0,0 +1,290 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package javax.xml.soap;
+
+import java.util.Iterator;
+import java.util.Locale;
+
+import javax.xml.namespace.QName;
+
+/** An element in the SOAPBody object that contains error and/or status
+ * information. This information may relate to errors in the SOAPMessage
+ * object or to problems that are not related to the content in the message
+ * itself. Problems not related to the message itself are generally errors in
+ * processing, such as the inability to communicate with an upstream server.
+ *
+ * Depending on the protocol specified while creating the MessageFactory instance, a
+ * SOAPFault has sub-elements as defined in the SOAP 1.1/SOAP 1.2 specification.
+ *
+ * @author Scott.Stark(a)jboss.org
+ * @author Thomas.Diesler(a)jboss.org
+ * @version $Revision$
+ */
+public interface SOAPFault extends SOAPBodyElement
+{
+ /**
+ * Creates an optional Detail object and sets it as the Detail object for this SOAPFault object.
+ *
+ * It is illegal to add a detail when the fault already contains a detail.
+ * Therefore, this method should be called only after the existing detail has been removed.
+ * @return the new Detail object
+ * @throws SOAPException if this SOAPFault object already contains a valid Detail object
+ */
+ Detail addDetail() throws SOAPException;
+
+ /**
+ * Appends or replaces a Reason Text item containing the specified text message and an xml:lang derived from locale.
+ * If a Reason Text item with this xml:lang already exists its text value will be replaced with text.
+ * The locale parameter should not be null
+ *
+ * Code sample:
+ *
+ * SOAPFault fault = ...;
+ * fault.addFaultReasonText("Version Mismatch", Locale.ENGLISH);
+ *
+ * @param text reason message string
+ * @param locale Locale object representing the locale of the message
+ * @throws SOAPException if there was an error in adding the Reason text or the locale passed was null.
+ * @throws UnsupportedOperationException if this message does not support the SOAP 1.2 concept of Fault Reason.
+ * @since SAAJ 1.3
+ */
+ void addFaultReasonText(String text, Locale locale) throws SOAPException;
+
+ /**
+ * Adds a Subcode to the end of the sequence of Subcodes contained by this SOAPFault.
+ * Subcodes, which were introduced in SOAP 1.2, are represented by a recursive sequence of
+ * subelements rooted in the mandatory Code subelement of a SOAP Fault.
+ *
+ * @param subcode a QName containing the Value of the Subcode
+ * @throws SOAPException if there was an error in setting the Subcode
+ * @throws UnsupportedOperationException if this message does not support the SOAP 1.2 concept of Subcode.
+ * @since SAAJ 1.3
+ */
+ void appendFaultSubcode(javax.xml.namespace.QName subcode) throws SOAPException;
+
+ /**
+ * Returns the optional detail element for this SOAPFault object.
+ *
+ * A Detail object carries application-specific error information related to SOAPBodyElement objects.
+ *
+ * @return a Detail object with application-specific error information
+ */
+ Detail getDetail();
+
+ /**
+ * Gets the fault actor for this SOAPFault object.
+ * @return a String giving the actor in the message path that caused this SOAPFault object
+ */
+ String getFaultActor();
+
+ /**
+ * Gets the fault code for this SOAPFault object.
+ * @return a String with the fault code
+ */
+ String getFaultCode();
+
+ /**
+ * Gets the mandatory SOAP 1.1 fault code for this SOAPFault object as a SAAJ Name object.
+ * The SOAP 1.1 specification requires the value of the "faultcode" element to be of type QName.
+ * This method returns the content of the element as a QName in the form of a SAAJ Name object.
+ * This method should be used instead of the getFaultCode method since it allows applications to
+ * easily access the namespace name without additional parsing.
+ *
+ * In the future, a QName object version of this method may also be added.
+ *
+ * @return a Name representing the faultcode
+ */
+ Name getFaultCodeAsName();
+
+ /**
+ * Gets the fault code for this SOAPFault object as a QName object.
+ * @return a QName representing the faultcode
+ * @since SAAJ 1.3
+ */
+ QName getFaultCodeAsQName();
+
+ /**
+ * Returns the optional Node element value for this SOAPFault object. The Node element is optional in SOAP 1.2.
+ * @return Content of the env:Fault/env:Node element as a String or null if none
+ * @throws UnsupportedOperationException if this message does not support the SOAP 1.2 concept of Fault Node.
+ * @since SAAJ 1.3
+ */
+ String getFaultNode();
+
+ /**
+ * Returns an Iterator over a distinct sequence of Locales for which there are associated Reason Text items.
+ * Any of these Locales can be used in a call to getFaultReasonText in order to obtain a localized version of the Reason Text string.
+ * @return an Iterator over a sequence of Locale objects for which there are associated Reason Text items.
+ * @throws SOAPException if there was an error in retrieving the fault Reason locales.
+ * @throws UnsupportedOperationException if this message does not support the SOAP 1.2 concept of Fault Reason.
+ * @since SAAJ 1.3
+ */
+ Iterator getFaultReasonLocales() throws SOAPException;
+
+ /**
+ * Returns an Iterator over a sequence of String objects containing all of the Reason Text items for this SOAPFault.
+ * @return an Iterator over env:Fault/env:Reason/env:Text items.
+ * @throws SOAPException if there was an error in retrieving the fault Reason texts.
+ * @throws UnsupportedOperationException if this message does not support the SOAP 1.2 concept of Fault Reason.
+ * @since SAAJ 1.3
+ */
+ Iterator getFaultReasonTexts() throws SOAPException;
+
+ /**
+ * Returns the Reason Text associated with the given Locale. If more than one such Reason Text exists the first matching Text is returned
+ * @param locale the Locale for which a localized Reason Text is desired
+ * @return the Reason Text associated with locale
+ * @throws SOAPException if there was an error in retrieving the fault Reason text for the specified locale .
+ * @throws UnsupportedOperationException if this message does not support the SOAP 1.2 concept of Fault Reason.
+ * @since SAAJ 1.3
+ */
+ String getFaultReasonText(Locale locale) throws SOAPException;
+
+ /**
+ * Creates or replaces any existing Node element value for this SOAPFault object. The Node element is optional in SOAP 1.2.
+ * @throws SOAPException f there was an error in setting the Node for this SOAPFault object.
+ * @throws UnsupportedOperationException if this message does not support the SOAP 1.2 concept of Fault Node.
+ * @since SAAJ 1.3
+ */
+ void setFaultNode(String uri) throws SOAPException;
+
+ /**
+ * Returns the optional Role element value for this SOAPFault object. The Role element is optional in SOAP 1.2.
+ * @return Content of the env:Fault/env:Role element as a String or null if none
+ * @throws UnsupportedOperationException if this message does not support the SOAP 1.2 concept of Fault Role.
+ * @since SAAJ 1.3
+ */
+ String getFaultRole();
+
+ /**
+ * Creates or replaces any existing Role element value for this SOAPFault object. The Role element is optional in SOAP 1.2.
+ * @throws SOAPException f there was an error in setting the Role for this SOAPFault object.
+ * @throws UnsupportedOperationException if this message does not support the SOAP 1.2 concept of Fault Role.
+ * @since SAAJ 1.3
+ */
+ void setFaultRole(String uri) throws SOAPException;
+ /**
+ * Gets the fault string for this SOAPFault object.
+ * @return a String giving an explanation of the fault
+ */
+ String getFaultString();
+
+ /**
+ * Gets the locale of the fault string for this SOAPFault object.
+ * @return a Locale object indicating the native language of the fault string or null if no locale was specified
+ */
+ Locale getFaultStringLocale();
+
+ /**
+ * Gets the Subcodes for this SOAPFault as an iterator over QNames.
+ * @return an Iterator that accesses a sequence of QNames. This Iterator should not support the optional remove method.
+ * The order in which the Subcodes are returned reflects the hierarchy of Subcodes present in the fault from top to bottom.
+ * @throws UnsupportedOperationException if this message does not support the SOAP 1.2 concept of Subcode.
+ * @since SAAJ 1.3
+ */
+ Iterator getFaultSubcodes();
+
+ /**
+ * Removes any Subcodes that may be contained by this SOAPFault. Subsequent calls to getFaultSubcodes will return an empty
+ * iterator until a call to appendFaultSubcode is made.
+ * @throws UnsupportedOperationException if this message does not support the SOAP 1.2 concept of Subcode.
+ * @since SAAJ 1.3
+ */
+ void removeAllFaultSubcodes();
+
+ /**
+ * Returns true if this SOAPFault has a Detail subelement and false otherwise. Equivalent to (getDetail()!=null).
+ * @return true if this SOAPFault has a Detail subelement and false otherwise.
+ * @since SAAJ 1.3
+ */
+ boolean hasDetail();
+
+ /**
+ * Sets this SOAPFault object with the given fault actor.
+ *
+ * The fault actor is the recipient in the message path who caused the fault to happen.
+ *
+ * @param faultActor a String identifying the actor that caused this SOAPFault object
+ * @throws SOAPException if there was an error in adding the faultActor to the underlying XML tree.
+ */
+ void setFaultActor(String faultActor) throws SOAPException;
+
+ /**
+ * Sets this SOAPFault object with the give fault code.
+ *
+ * Fault codes, which given information about the fault, are defined in the SOAP 1.1 specification.
+ * This element is mandatory in SOAP 1.1. Because the fault code is required to be a QName
+ * it is preferable to use the setFaultCode(Name) form of this method.
+ *
+ * @param faultCode a String giving the fault code to be set.
+ * It must be of the form "prefix:localName" where the prefix has been defined in a namespace declaration.
+ * @throws SOAPException if there was an error in adding the faultCode to the underlying XML tree.
+ */
+ void setFaultCode(String faultCode) throws SOAPException;
+
+ /**
+ * Sets this SOAPFault object with the given fault code.
+ *
+ * Fault codes, which give information about the fault, are defined in the SOAP 1.1 specification.
+ * A fault code is mandatory and must be of type QName. This method provides a convenient way to set a fault code.
+ * For example,
+ *
+ * SOAPEnvelope se = ...;
+ * //Create a qualified name in the SOAP namespace with a localName
+ * // of "Client". Note that prefix parameter is optional and is null
+ * // here which causes the implementation to use an appropriate prefix.
+ * Name qname = se.createName("Client", null, SOAPConstants.URI_NS_SOAP_ENVELOPE);
+ * SOAPFault fault = ...;
+ * fault.setFaultCode(qname);
+ *
+ * It is preferable to use this method over setFaultCode(String).
+ *
+ * @param faultCode a Name object giving the fault code to be set. It must be namespace qualified.
+ * @throws SOAPException if there was an error in adding the faultcode element to the underlying XML tree.
+ */
+ void setFaultCode(Name faultCode) throws SOAPException;
+
+ /**
+ * Sets this SOAPFault object with the given fault code. It is preferable to use this method over setFaultCode(Name).
+ * @param faultCode a QName object giving the fault code to be set. It must be namespace qualified.
+ * @throws SOAPException if there was an error in adding the faultcode element to the underlying XML tree.
+ * @since SAAJ 1.3
+ */
+ void setFaultCode(QName faultCode) throws SOAPException;
+
+ /**
+ * Sets the fault string for this SOAPFault object to the given string.
+ *
+ * @param faultString a String giving an explanation of the fault
+ * @throws SOAPException if there was an error in adding the faultString to the underlying XML tree.
+ */
+ void setFaultString(String faultString) throws SOAPException;
+
+ /**
+ * Sets the fault string for this SOAPFault object to the given string and localized to the given locale.
+ *
+ * @param faultString a String giving an explanation of the fault
+ * @param locale a Locale object indicating the native language of the faultString
+ * @throws SOAPException
+ */
+ void setFaultString(String faultString, Locale locale) throws SOAPException;
+}
Property changes on: trunk/jbossws-api/src/java/javax/xml/soap/SOAPFault.java
___________________________________________________________________
Name: svn:executable
+ *
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/jbossws-api/src/java/javax/xml/soap/SOAPFaultElement.java
===================================================================
--- trunk/jbossws-api/src/java/javax/xml/soap/SOAPFaultElement.java (rev 0)
+++ trunk/jbossws-api/src/java/javax/xml/soap/SOAPFaultElement.java 2007-04-23 06:12:12 UTC (rev 2897)
@@ -0,0 +1,35 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package javax.xml.soap;
+
+/** A representation of the contents in a SOAPFault object. The Detail
+ * interface is a SOAPFaultElement.
+ *
+ * Content is added to a SOAPFaultElement using the SOAPElement method
+ * addTextNode.
+ *
+ * @author Scott.Stark(a)jboss.org
+ * @version $Revision$
+ */
+public interface SOAPFaultElement extends SOAPElement
+{
+}
Property changes on: trunk/jbossws-api/src/java/javax/xml/soap/SOAPFaultElement.java
___________________________________________________________________
Name: svn:executable
+ *
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/jbossws-api/src/java/javax/xml/soap/SOAPHeader.java
===================================================================
--- trunk/jbossws-api/src/java/javax/xml/soap/SOAPHeader.java (rev 0)
+++ trunk/jbossws-api/src/java/javax/xml/soap/SOAPHeader.java 2007-04-23 06:12:12 UTC (rev 2897)
@@ -0,0 +1,172 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package javax.xml.soap;
+
+import java.util.Iterator;
+
+import javax.xml.namespace.QName;
+
+/**
+ * A representation of the SOAP header element. A SOAP header element consists
+ * of XML data that affects the way the application-specific content is
+ * processed by the message provider. For example, transaction semantics,
+ * authentication information, and so on, can be specified as the content of a
+ * SOAPHeader object.
+ *
+ * A SOAPEnvelope object contains an empty SOAPHeader object by default. If the
+ * SOAPHeader object, which is optional, is not needed, it can be retrieved and
+ * deleted with the following line of code. The variable se is a SOAPEnvelope
+ * object.
+ *
+ * se.getHeader().detachNode();
+ *
+ * A SOAPHeader object is created with the SOAPEnvelope method addHeader.
+ * This method, which creates a new header and adds it to the envelope, may be
+ * called only after the existing header has been removed.
+ *
+ * se.getHeader().detachNode();
+ * SOAPHeader sh = se.addHeader();
+ *
+ * A SOAPHeader object can have only SOAPHeaderElement objects as its
+ * immediate children. The method addHeaderElement creates a new HeaderElement
+ * object and adds it to the SOAPHeader object. In the following line of code,
+ * the argument to the method addHeaderElement is a Name object that is the
+ * name for the new HeaderElement object.
+ *
+ * SOAPHeaderElement shElement = sh.addHeaderElement(name);
+ *
+ * @author Scott.Stark(a)jboss.org
+ * @version $Revision$
+ */
+public interface SOAPHeader extends SOAPElement
+{
+ /**
+ * Creates a new SOAPHeaderElement object initialized with the specified name and adds it to this SOAPHeader object.
+ *
+ * @param name a Name object with the name of the new SOAPHeaderElement object
+ * @return the new SOAPHeaderElement object that was inserted into this SOAPHeader object
+ * @throws SOAPException if a SOAP error occurs
+ */
+ public SOAPHeaderElement addHeaderElement(Name name) throws SOAPException;
+
+ /**
+ * Creates a new SOAPHeaderElement object initialized with the specified qname and adds it to this SOAPHeader object.
+ * @param qname a QName object with the qname of the new SOAPHeaderElement object
+ * @return the new SOAPHeaderElement object that was inserted into this SOAPHeader object
+ * @throws SOAPException if a SOAP error occurs
+ * @since SAAJ 1.3
+ */
+ public SOAPHeaderElement addHeaderElement(QName qname) throws SOAPException;
+
+ /**
+ * Creates a new NotUnderstood SOAPHeaderElement object initialized with the specified name and adds it to this SOAPHeader object.
+ * This operation is supported only by SOAP 1.2.
+ *
+ * @param qname a QName object with the name of the SOAPHeaderElement object that was not understood.
+ * @return the new SOAPHeaderElement object that was inserted into this SOAPHeader object
+ * @throws SOAPException if a SOAP error occurs.
+ * @throws UnsupportedOperationException if this is a SOAP 1.1 Header.
+ * @since SAAJ 1.3
+ */
+ public SOAPHeaderElement addNotUnderstoodHeaderElement(QName qname) throws SOAPException;
+
+ /**
+ * Creates a new Upgrade SOAPHeaderElement object initialized with the specified List of supported SOAP URIs
+ * and adds it to this SOAPHeader object. This operation is supported on both SOAP 1.1 and SOAP 1.2 header.
+ *
+ * @param soapURIs an Iterator object with the URIs of SOAP versions supported.
+ * @return the new SOAPHeaderElement object that was inserted into this SOAPHeader object
+ * @throws SOAPException if a SOAP error occurs.
+ * @since SAAJ 1.3
+ */
+ public SOAPHeaderElement addUpgradeHeaderElement(Iterator soapURIs) throws SOAPException;
+
+ /**
+ * Creates a new Upgrade SOAPHeaderElement object initialized with the specified array of supported SOAP URIs
+ * and adds it to this SOAPHeader object. This operation is supported on both SOAP 1.1 and SOAP 1.2 header.
+ *
+ * @param soapURIs an array of the URIs of SOAP versions supported.
+ * @return the new SOAPHeaderElement object that was inserted into this SOAPHeader object
+ * @throws SOAPException if a SOAP error occurs.
+ * @since SAAJ 1.3
+ */
+ public SOAPHeaderElement addUpgradeHeaderElement(String[] soapURIs) throws SOAPException;
+
+ /**
+ * Creates a new Upgrade SOAPHeaderElement object initialized with the specified supported SOAP URI and adds it to this SOAPHeader object.
+ * This operation is supported on both SOAP 1.1 and SOAP 1.2 header.
+ *
+ * @param soapURI the URI of SOAP the version that is supported.
+ * @return the new SOAPHeaderElement object that was inserted into this SOAPHeader object
+ * @throws SOAPException if a SOAP error occurs.
+ * @since SAAJ 1.3
+ */
+ public SOAPHeaderElement addUpgradeHeaderElement(String soapURI) throws SOAPException;
+
+ /**
+ * Returns an Iterator over all the SOAPHeaderElement objects in this SOAPHeader object.
+ *
+ * @return an Iterator object over all the SOAPHeaderElement objects contained by this SOAPHeader
+ */
+ public Iterator examineAllHeaderElements();
+
+ /**
+ * Returns an Iterator over all the SOAPHeaderElement objects in this SOAPHeader object that have the specified actor.
+ * An actor is a global attribute that indicates the intermediate parties that should process a message before it
+ * reaches its ultimate receiver. An actor receives the message and processes it before sending it on to the next actor.
+ * The default actor is the ultimate intended recipient for the message, so if no actor attribute is included in a
+ * SOAPHeader object, it is sent to the ultimate receiver along with the message body.
+ *
+ * @param actor a String giving the URI of the actor for which to search
+ * @return an Iterator object over all the SOAPHeaderElement objects that contain the specified actor and are marked as MustUnderstand
+ */
+ public Iterator examineHeaderElements(String actor);
+
+ /**
+ * Returns an Iterator over all the SOAPHeaderElement objects in this SOAPHeader object that have the specified
+ * actor and that have a MustUnderstand attribute whose value is equivalent to true.
+ *
+ * @param actor a String giving the URI of the actor for which to search
+ * @return an Iterator object over all the SOAPHeaderElement objects that contain the specified actor and are marked as MustUnderstand
+ */
+ public Iterator examineMustUnderstandHeaderElements(String actor);
+
+ /**
+ * Returns an Iterator over all the SOAPHeaderElement objects in this SOAPHeader object and detaches
+ * them from this SOAPHeader object.
+ *
+ * @return an Iterator object over all the SOAPHeaderElement objects contained by this SOAPHeader
+ */
+ public Iterator extractAllHeaderElements();
+
+ /**
+ * Returns an Iterator over all the SOAPHeaderElement objects in this SOAPHeader object that have the specified actor
+ * and detaches them from this SOAPHeader object.
+ *
+ * This method allows an actor to process the parts of the SOAPHeader object that apply to it and to remove them
+ * before passing the message on to the next actor.
+ *
+ * @param actor a String giving the URI of the actor for which to search
+ * @return an Iterator object over all the SOAPHeaderElement objects that contain the specified actor and are marked as MustUnderstand
+ */
+ public Iterator extractHeaderElements(String actor);
+}
Property changes on: trunk/jbossws-api/src/java/javax/xml/soap/SOAPHeader.java
___________________________________________________________________
Name: svn:executable
+ *
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/jbossws-api/src/java/javax/xml/soap/SOAPHeaderElement.java
===================================================================
--- trunk/jbossws-api/src/java/javax/xml/soap/SOAPHeaderElement.java (rev 0)
+++ trunk/jbossws-api/src/java/javax/xml/soap/SOAPHeaderElement.java 2007-04-23 06:12:12 UTC (rev 2897)
@@ -0,0 +1,103 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package javax.xml.soap;
+
+/** An object representing the contents in the SOAP header part of the SOAP
+ * envelope. The immediate children of a SOAPHeader object can be represented
+ * only as SOAPHeaderElement objects.
+ *
+ * A SOAPHeaderElement object can have other SOAPElement objects as its children.
+
+ * @author Scott.Stark(a)jboss.org
+ * @version $Revision$
+ */
+public interface SOAPHeaderElement extends SOAPElement
+{
+ /** Returns the uri of the actor associated with this SOAPHeaderElement object.
+ *
+ * @return a String giving the URI of the actor
+ */
+ public String getActor();
+
+ /** Returns whether the mustUnderstand attribute for this SOAPHeaderElement object is turned on.
+ *
+ * @return true if the mustUnderstand attribute of this SOAPHeaderElement object is turned on; false otherwise
+ */
+ public boolean getMustUnderstand();
+
+ /**
+ * Returns the boolean value of the relay attribute for this SOAPHeaderElement
+ * @return true if the relay attribute is turned on; false otherwise
+ * @throws UnsupportedOperationException - if this message does not support the SOAP 1.2 concept of Relay attribute.
+ * @since SAAJ 1.3
+ */
+ public boolean getRelay();
+
+ /**
+ * Sets the relay attribute for this SOAPHeaderElement to be either true or false.
+ *
+ * The SOAP relay attribute is set to true to indicate that the SOAP header block must be relayed by any node that is
+ * targeted by the header block but not actually process it. This attribute is ignored on header blocks whose mustUnderstand
+ * attribute is set to true or that are targeted at the ultimate reciever (which is the default).
+ * The default value of this attribute is false.
+ * @param relay the new value of the relay attribute
+ * @throws SOAPException if there is a problem in setting the relay attribute.
+ * @throws UnsupportedOperationException if this message does not support the SOAP 1.2 concept of Relay attribute.
+ * @since SAAJ 1.3
+ */
+ public void setRelay(boolean relay) throws SOAPException;
+
+ /**
+ * Returns the value of the Role attribute of this SOAPHeaderElement.
+ * @return a String giving the URI of the Role
+ * @throws UnsupportedOperationException if this message does not support the SOAP 1.2 concept of Fault Role.
+ * @since SAAJ 1.3
+ */
+ public String getRole();
+
+ /**
+ * Sets the Role associated with this SOAPHeaderElement object to the specified Role.
+ *
+ * @param roleURI the URI of the Role
+ * @throws SOAPException if there is an error in setting the role
+ * @throws UnsupportedOperationException if this message does not support the SOAP 1.2 concept of Fault Role
+ * @since SAAJ 1.3
+ */
+ public void setRole(String roleURI);
+
+ /** Sets the actor associated with this SOAPHeaderElement object to the specified actor.
+ * The default value of an actor is: SOAPConstants.URI_SOAP_ACTOR_NEXT
+ *
+ * @param actorURI a String giving the URI of the actor to set
+ */
+ public void setActor(String actorURI);
+
+ /** Sets the mustUnderstand attribute for this SOAPHeaderElement object to be on or off.
+ *
+ * If the mustUnderstand attribute is on, the actor who receives the SOAPHeaderElement must process it correctly.
+ * This ensures, for example, that if the SOAPHeaderElement object modifies the message,
+ * that the message is being modified correctly.
+ *
+ * @param mustUnderstand true to set the mustUnderstand attribute on; false to turn if off
+ */
+ public void setMustUnderstand(boolean mustUnderstand);
+}
Property changes on: trunk/jbossws-api/src/java/javax/xml/soap/SOAPHeaderElement.java
___________________________________________________________________
Name: svn:executable
+ *
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/jbossws-api/src/java/javax/xml/soap/SOAPMessage.java
===================================================================
--- trunk/jbossws-api/src/java/javax/xml/soap/SOAPMessage.java (rev 0)
+++ trunk/jbossws-api/src/java/javax/xml/soap/SOAPMessage.java 2007-04-23 06:12:12 UTC (rev 2897)
@@ -0,0 +1,315 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package javax.xml.soap;
+
+import java.io.IOException;
+import java.io.OutputStream;
+import java.util.HashMap;
+import java.util.Iterator;
+
+import javax.activation.DataHandler;
+
+/** The root class for all SOAP messages. As transmitted on the "wire", a SOAP message is an XML document or a
+ * MIME message whose first body part is an XML/SOAP document.
+ *
+ * A SOAPMessage object consists of a SOAP part and optionally one or more attachment parts.
+ * The SOAP part for a SOAPMessage object is a SOAPPart object, which contains information used for message routing and
+ * identification, and which can contain application-specific content. All data in the SOAP Part of a message must be in XML format.
+ *
+ * A new SOAPMessage object contains the following by default:
+ *
+ * A SOAPPart object
+ * A SOAPEnvelope object
+ * A SOAPBody object
+ * A SOAPHeader object
+ *
+ * The SOAP part of a message can be retrieved by calling the method SOAPMessage.getSOAPPart().
+ * The SOAPEnvelope object is retrieved from the SOAPPart object, and the SOAPEnvelope object is used to retrieve the
+ * SOAPBody and SOAPHeader objects.
+ *
+ * SOAPPart sp = message.getSOAPPart();
+ * SOAPEnvelope se = sp.getEnvelope();
+ * SOAPBody sb = se.getBody();
+ * SOAPHeader sh = se.getHeader();
+ *
+ * In addition to the mandatory SOAPPart object, a SOAPMessage object may contain zero or more AttachmentPart objects,
+ * each of which contains application-specific data. The SOAPMessage interface provides methods for creating AttachmentPart
+ * objects and also for adding them to a SOAPMessage object. A party that has received a SOAPMessage object can examine
+ * its contents by retrieving individual attachment parts.
+ *
+ * Unlike the rest of a SOAP message, an attachment is not required to be in XML format and can therefore be anything from
+ * simple text to an image file. Consequently, any message content that is not in XML format must be in an AttachmentPart object.
+ *
+ * A MessageFactory object may create SOAPMessage objects with behavior that is specialized to a particular
+ * implementation or application of SAAJ. For instance, a MessageFactory object may produce SOAPMessage objects that
+ * conform to a particular Profile such as ebXML. In this case a MessageFactory object might produce SOAPMessage
+ * objects that are initialized with ebXML headers.
+ *
+ * In order to ensure backward source compatibility, methods that are added to this class after version 1.1 of the SAAJ
+ * specification are all concrete instead of abstract and they all have default implementations.
+ * Unless otherwise noted in the JavaDocs for those methods the default implementations simply throw an
+ * UnsupportedOperationException and the SAAJ implementation code must override them with methods that provide
+ * the specified behavior. Legacy client code does not have this restriction, however, so long as there is no claim
+ * made that it conforms to some later version of the specification than it was originally written for.
+ * A legacy class that extends the SOAPMessage class can be compiled and/or run against succeeding versions of
+ * the SAAJ API without modification. If such a class was correctly implemented then it will continue to behave
+ * correctly relative the the version of the specification against which it was written.
+ *
+ * @author Scott.Stark(a)jboss.org
+ * @version $Revision$
+ */
+public abstract class SOAPMessage
+{
+ private HashMap properties = new HashMap();
+
+ /** Specifies the character type encoding for the SOAP Message. Valid values include "utf-8" and "utf-16". The default is "utf-8". */
+ public static final String CHARACTER_SET_ENCODING = "javax.xml.soap.character-set-encoding";
+ /** Specifies whether the SOAP Message will contain an XML declaration when it is sent. The default is "false". */
+ public static final String WRITE_XML_DECLARATION = "javax.xml.soap.write-xml-declaration";
+
+ /**
+ * Adds the given AttachmentPart object to this SOAPMessage object.
+ * An AttachmentPart object must be created before it can be added to a message.
+ * @param attachmentpart an AttachmentPart object that is to become part of this SOAPMessage object
+ */
+ public abstract void addAttachmentPart(AttachmentPart attachmentpart);
+
+ /**
+ * Creates a new empty AttachmentPart object. Note that the method addAttachmentPart must be called with this new
+ * AttachmentPart object as the parameter in order for it to become an attachment to this SOAPMessage object.
+ * @return a new AttachmentPart object that can be populated and added to this SOAPMessage object
+ */
+ public abstract AttachmentPart createAttachmentPart();
+
+ /**
+ * Creates an AttachmentPart object and populates it using the given DataHandler object.
+ * @param datahandler the javax.activation.DataHandler object that will generate the content for this SOAPMessage object
+ * @return a new AttachmentPart object that contains data generated by the given DataHandler object
+ */
+ public AttachmentPart createAttachmentPart(DataHandler datahandler)
+ {
+ AttachmentPart part = createAttachmentPart();
+ part.setDataHandler(datahandler);
+ return part;
+ }
+
+ /**
+ * Creates an AttachmentPart object and populates it with the specified data of the specified content type.
+ * @param content an Object containing the content for this SOAPMessage object
+ * @param contentType a String object giving the type of content; examples are "text/xml", "text/plain", and "image/jpeg"
+ * @return a new AttachmentPart object that contains the given data
+ */
+ public AttachmentPart createAttachmentPart(Object content, String contentType)
+ {
+ AttachmentPart part = createAttachmentPart();
+ part.setContent(content, contentType);
+ return part;
+ }
+
+ /**
+ * Retrieves value of the specified property.
+ * @param property the name of the property to retrieve
+ * @return the value associated with the named property or null if no such property exists.
+ * @throws SOAPException if the property name is not recognized.
+ */
+ public Object getProperty(String property) throws SOAPException
+ {
+ return properties.get(property);
+ }
+
+ /**
+ * Associates the specified value with the specified property. If there was already a value associated with this
+ * property, the old value is replaced.
+ *
+ * The valid property names include WRITE_XML_DECLARATION and CHARACTER_SET_ENCODING.
+ * All of these standard SAAJ properties are prefixed by "javax.xml.soap".
+ * Vendors may also add implementation specific properties.
+ * These properties must be prefixed with package names that are unique to the vendor.
+ *
+ * Setting the property WRITE_XML_DECLARATION to "true" will cause an XML Declaration to be written out at the start
+ * of the SOAP message. The default value of "false" suppresses this declaration.
+ *
+ * The property CHARACTER_SET_ENCODING defaults to the value "utf-8" which causes the SOAP message to be
+ * encoded using UTF-8. Setting CHARACTER_SET_ENCODING to "utf-16" causes the SOAP message to be encoded using UTF-16.
+ *
+ * Some implementations may allow encodings in addition to UTF-8 and UTF-16. Refer to your vendor's documentation for details.
+ *
+ * @param property the property with which the specified value is to be associated.
+ * @param value the value to be associated with the specified property
+ * @throws SOAPException if the property name is not recognized
+ */
+ public void setProperty(String property, Object value) throws SOAPException
+ {
+ properties.put(property, value);
+ }
+
+ /**
+ * Gets the SOAP Body contained in this SOAPMessage object.
+ * @return the SOAPBody object contained by this SOAPMessage object
+ * @throws SOAPException if the SOAP Body does not exist or cannot be retrieved
+ */
+ public SOAPBody getSOAPBody() throws SOAPException
+ {
+ SOAPPart soapPart = getSOAPPart();
+ if (soapPart != null)
+ {
+ SOAPEnvelope soapEnvelope = soapPart.getEnvelope();
+ if (soapEnvelope != null)
+ {
+ SOAPBody soapBody = soapEnvelope.getBody();
+ return soapBody;
+ }
+ }
+ throw new SOAPException("Cannot obtain SOAPBody from SOAPMessage");
+ }
+
+ /**
+ * Gets the SOAP Header contained in this SOAPMessage object.
+ * @return the SOAPHeader object contained by this SOAPMessage object
+ * @throws SOAPException if the SOAP Header does not exist or cannot be retrieved
+ */
+ public SOAPHeader getSOAPHeader() throws SOAPException
+ {
+ SOAPPart soapPart = getSOAPPart();
+ if (soapPart != null)
+ {
+ SOAPEnvelope soapEnvelope = soapPart.getEnvelope();
+ if (soapEnvelope != null)
+ {
+ SOAPHeader soapHeader = soapEnvelope.getHeader();
+ return soapHeader;
+ }
+ }
+ throw new SOAPException("Cannot obtain SOAPHeader from SOAPMessage");
+ }
+
+ /**
+ * Retrieves a description of this SOAPMessage object's content.
+ * @return a String describing the content of this message or null if no description has been set
+ */
+ public abstract String getContentDescription();
+
+ /**
+ * Sets the description of this SOAPMessage object's content with the given description.
+ * @param description a String describing the content of this message
+ */
+ public abstract void setContentDescription(String description);
+
+ /**
+ * Returns all the transport-specific MIME headers for this SOAPMessage object in a transport-independent fashion.
+ * @return a MimeHeaders object containing the MimeHeader objects
+ */
+ public abstract MimeHeaders getMimeHeaders();
+
+ /**
+ * Gets the SOAP part of this SOAPMessage object.
+ *
+ * SOAPMessage object contains one or more attachments, the SOAP Part must be the first MIME body part in the message.
+ *
+ * @return the SOAPPart object for this SOAPMessage object
+ */
+ public abstract SOAPPart getSOAPPart();
+
+ /**
+ * Removes all AttachmentPart objects that have been added to this SOAPMessage object.
+ *
+ * This method does not touch the SOAP part.
+ */
+ public abstract void removeAllAttachments();
+
+ /**
+ * Removes all the AttachmentPart objects that have header entries that match the specified headers.
+ * Note that the removed attachment could have headers in addition to those specified.
+ * @param headers a MimeHeaders object containing the MIME headers for which to search
+ * @since SAAJ 1.3
+ */
+ public abstract void removeAttachments(MimeHeaders headers);
+
+ /**
+ * Gets a count of the number of attachments in this message. This count does not include the SOAP part.
+ * @return the number of AttachmentPart objects that are part of this SOAPMessage object
+ */
+ public abstract int countAttachments();
+
+ /**
+ * Retrieves all the AttachmentPart objects that are part of this SOAPMessage object.
+ * @return an iterator over all the attachments in this message
+ */
+ public abstract Iterator getAttachments();
+
+ /**
+ * Returns an AttachmentPart object that is associated with an attachment that is referenced by this SOAPElement or null
+ * if no such attachment exists. References can be made via an href attribute as described in SOAP Messages with Attachments,
+ * or via a single Text child node containing a URI as described in the WS-I Attachments Profile 1.0 for elements of
+ * schema type ref:swaRef(ref:swaRef). These two mechanisms must be supported.
+ * The support for references via href attribute also implies that this method should also be supported on an element that
+ * is an xop:Include element ( XOP). other reference mechanisms may be supported by individual implementations of this standard.
+ * Contact your vendor for details.
+ * @param element The SOAPElement containing the reference to an Attachment
+ * @return the referenced AttachmentPart or null if no such AttachmentPart exists or no reference can be found in this SOAPElement.
+ * @throws SOAPException if there is an error in the attempt to access the attachment
+ * @since SAAJ 1.3
+ */
+ public abstract AttachmentPart getAttachment(SOAPElement element) throws SOAPException;
+
+ /**
+ * Retrieves all the AttachmentPart objects that have header entries that match the specified headers.
+ * Note that a returned attachment could have headers in addition to those specified.
+ * @param mimeheaders a MimeHeaders object containing the MIME headers for which to search
+ * @return an iterator over all attachments that have a header that matches one of the given headers
+ */
+ public abstract Iterator getAttachments(MimeHeaders mimeheaders);
+
+ /**
+ * Updates this SOAPMessage object with all the changes that have been made to it.
+ * This method is called automatically when writeTo(OutputStream) is called.
+ * However, if changes are made to a message that was received or to one that has already been sent, the method
+ * saveChanges needs to be called explicitly in order to save the changes.
+ * The method saveChanges also generates any changes that can be read back (for example,
+ * a MessageId in profiles that support a message id). All MIME headers in a message that is created for sending
+ * purposes are guaranteed to have valid values only after saveChanges has been called.
+ *
+ * In addition, this method marks the point at which the data from all constituent AttachmentPart objects are pulled into the message.
+ *
+ * @throws SOAPException if there was a problem saving changes to this message.
+ */
+ public abstract void saveChanges() throws SOAPException;
+
+ /**
+ * Indicates whether this SOAPMessage object needs to have the method saveChanges called on it.
+ * @return true if saveChanges needs to be called; false otherwise.
+ */
+ public abstract boolean saveRequired();
+
+ /**
+ * Writes this SOAPMessage object to the given output stream. The externalization format is as defined by the
+ * SOAP 1.1 with Attachments specification.
+ *
+ * If there are no attachments, just an XML stream is written out. For those messages that have attachments,
+ * writeTo writes a MIME-encoded byte stream.
+ *
+ * @param outputstream the OutputStream object to which this SOAPMessage object will be written
+ * @throws SOAPException if there was a problem in externalizing this SOAP message
+ * @throws IOException if an I/O error occurs
+ */
+ public abstract void writeTo(OutputStream outputstream) throws SOAPException, IOException;
+}
Property changes on: trunk/jbossws-api/src/java/javax/xml/soap/SOAPMessage.java
___________________________________________________________________
Name: svn:executable
+ *
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/jbossws-api/src/java/javax/xml/soap/SOAPPart.java
===================================================================
--- trunk/jbossws-api/src/java/javax/xml/soap/SOAPPart.java (rev 0)
+++ trunk/jbossws-api/src/java/javax/xml/soap/SOAPPart.java 2007-04-23 06:12:12 UTC (rev 2897)
@@ -0,0 +1,127 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package javax.xml.soap;
+
+import java.util.Iterator;
+
+import javax.xml.transform.Source;
+
+import org.w3c.dom.Document;
+
+/**
+ * The container for the SOAP-specific portion of a SOAPMessage object.
+ *
+ * All messages are required to have a SOAP part, so when a SOAPMessage object is created,
+ * it will automatically have a SOAPPart object.
+ *
+ * A SOAPPart object is a MIME part and has the MIME headers Content-Id, Content-Location, and Content-Type.
+ * Because the value of Content-Type must be "text/xml", a SOAPPart object automatically has a MIME header of
+ * Content-Type with its value set to "text/xml".
+ *
+ * The value must be "text/xml" because content in the SOAP part of a message must be in XML format.
+ * Content that is not of type "text/xml" must be in an AttachmentPart object rather than in the SOAPPart object.
+ *
+ * When a message is sent, its SOAP part must have the MIME header Content-Type set to "text/xml".
+ * Or, from the other perspective, the SOAP part of any message that is received must have the MIME header
+ * Content-Type with a value of "text/xml".
+ *
+ * A client can access the SOAPPart object of a SOAPMessage object by calling the method SOAPMessage.getSOAPPart.
+ * The following line of code, in which message is a SOAPMessage object, retrieves the SOAP part of a message.
+ *
+ * SOAPPart soapPart = message.getSOAPPart();
+ *
+ * A SOAPPart object contains a SOAPEnvelope object, which in turn contains a SOAPBody object and a SOAPHeader object.
+ * The SOAPPart method getEnvelope can be used to retrieve the SOAPEnvelope object.
+ *
+ * @author Scott.Stark(a)jboss.org
+ * @version $Revision$
+ */
+public abstract class SOAPPart implements Document, Node
+{
+ public SOAPPart()
+ {
+ }
+
+ public abstract SOAPEnvelope getEnvelope() throws SOAPException;
+
+ public String getContentId()
+ {
+ String id = null;
+ String[] header = getMimeHeader("Content-Id");
+ if (header != null && header.length > 0)
+ {
+ id = header[0];
+ }
+ return id;
+ }
+
+ public void setContentId(String contentId)
+ {
+ setMimeHeader("Content-Id", contentId);
+ }
+
+ public String getContentLocation()
+ {
+ String location = null;
+ String[] header = getMimeHeader("Content-Location");
+ if (header != null && header.length > 0)
+ {
+ location = header[0];
+ }
+ return location;
+ }
+
+ public void setContentLocation(String contentLocation)
+ {
+ setMimeHeader("Content-Location", contentLocation);
+ }
+
+ public abstract void removeMimeHeader(String s);
+
+ public abstract void removeAllMimeHeaders();
+
+ public abstract String[] getMimeHeader(String s);
+
+ public abstract void setMimeHeader(String s, String s1);
+
+ public abstract void addMimeHeader(String s, String s1);
+
+ public abstract Iterator getAllMimeHeaders();
+
+ public abstract Iterator getMatchingMimeHeaders(String as[]);
+
+ public abstract Iterator getNonMatchingMimeHeaders(String as[]);
+
+ /** Sets the content of the SOAPEnvelope object with the data from the given Source object.
+ * This Source must contain a valid SOAP document.
+ * @param source the {@link javax.xml.transform.Source} object with the data to be set
+ * @throws SOAPException if the implementation cannot convert the specified Source object
+ */
+ public abstract void setContent(Source source) throws SOAPException;
+
+ /** Returns the content of the SOAPEnvelope as a JAXP <CODE>Source</CODE> object.
+ * @return the content as a <CODE> javax.xml.transform.Source</CODE> object
+ * @throws javax.xml.soap.SOAPException if the implementation cannot convert the specified <CODE>Source</CODE> object
+ * @see #setContent(javax.xml.transform.Source) setContent(javax.xml.transform.Source)
+ */
+ public abstract Source getContent() throws SOAPException;
+}
Property changes on: trunk/jbossws-api/src/java/javax/xml/soap/SOAPPart.java
___________________________________________________________________
Name: svn:executable
+ *
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/jbossws-api/src/java/javax/xml/soap/Text.java
===================================================================
--- trunk/jbossws-api/src/java/javax/xml/soap/Text.java (rev 0)
+++ trunk/jbossws-api/src/java/javax/xml/soap/Text.java 2007-04-23 06:12:12 UTC (rev 2897)
@@ -0,0 +1,38 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package javax.xml.soap;
+
+/** A representation of a node whose value is text. A Text object may represent
+ * text that is content or text that is a comment.
+ *
+ * @author Scott.Stark(a)jboss.org
+ * @version $Revision$
+ */
+public interface Text extends javax.xml.soap.Node, org.w3c.dom.Text
+{
+
+ /** Retrieves whether this Text object represents a comment.
+ *
+ * @return true if this Text object is a comment; false otherwise
+ */
+ public boolean isComment();
+}
Property changes on: trunk/jbossws-api/src/java/javax/xml/soap/Text.java
___________________________________________________________________
Name: svn:executable
+ *
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/jbossws-api/src/java/javax/xml/ws/Action.java
===================================================================
--- trunk/jbossws-api/src/java/javax/xml/ws/Action.java (rev 0)
+++ trunk/jbossws-api/src/java/javax/xml/ws/Action.java 2007-04-23 06:12:12 UTC (rev 2897)
@@ -0,0 +1,144 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package javax.xml.ws;
+
+// $Id$
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+/**
+ * The <code>Action</code> annotation allows explicit association of <code>Action</code>
+ * message addressing property with <code>input</code>, <code>output</code>, and
+ * <code>fault</code> messages of the mapped WSDL operation.
+ * <p>
+ * This annotation can be specified on each method of a service endpoint interface.
+ * For such a method, the mapped operation in the generated WSDL
+ * contains explicit <code>wsaw:Action</code> attribute on the WSDL <code>input</code>,
+ * <code>output</code> and <code>fault</code> messages of the WSDL <code>operation</code>
+ * based upon which attributes of the <code>Action</code> annotation have been specified.
+ * <p>
+ * <b>Example 1</b>: Specify explicit values for <code>Action</code> message addressing property
+ * for <code>input</code> and <code>output</code> messages.
+ *
+ * <pre>
+ * @javax.jws.WebService
+ * public class AddNumbersImpl {
+ * @javax.xml.ws.Action(
+ * input="http://example.com/inputAction",
+ * output="http://example.com/outputAction")
+ * public int addNumbers(int number1, int number2) {
+ * return number1 + number2;
+ * }
+ * }
+ * </pre>
+ *
+ * The generated WSDL looks like:
+ * <pre>
+ * <definitions targetNamespace="http://example.com/numbers" ...>
+ * ...
+ * <portType name="AddNumbersPortType">
+ * <operation name="AddNumbers">
+ * <input message="tns:AddNumbersInput" name="Parameters"
+ * wsaw:Action="http://example.com/inputAction"/>
+ * <output message="tns:AddNumbersOutput" name="Result"
+ * wsaw:Action="http://example.com/outputAction"/>
+ * </operation>
+ * <portType>
+ * ...
+ * <definitions>
+ * </pre>
+ *
+ * <p>
+ * <b>Example 2</b>: Specify explicit value for <code>Action</code> message addressing property
+ * for only the <code>input</code> message. The default values are used for the
+ * <code>output</code> message.
+ *
+ * <pre>
+ * @javax.jws.WebService
+ * public class AddNumbersImpl {
+ * @javax.xml.ws.Action(input="http://example.com/inputAction")
+ * public int addNumbers(int number1, int number2) {
+ * return number1 + number2;
+ * }
+ * }
+ * </pre>
+ *
+ * The generated WSDL looks like:
+ *
+ * <pre>
+ * <definitions targetNamespace="http://example.com/numbers" ...>
+ * ...
+ * <portType name="AddNumbersPortType">
+ * <operation name="AddNumbers">
+ * <input message="tns:AddNumbersInput" name="Parameters"
+ * wsaw:Action="http://example.com/inputAction"/>
+ * <output message="tns:AddNumbersOutput" name="Result"/>
+ * </operation>
+ * <portType>
+ * ...
+ * <definitions>
+ * </pre>
+ *
+ * It is legitimate to specify an explicit value for <code>Action</code> message addressing property for
+ * <code>output</code> message only. In this case, a default value of <code>wsaw:Action</code> is used
+ * for the <code>input</code> message.
+ *
+ * <p>
+ * <b>Example 3</b>: See <a href="FaultAction.html">FaultAction</a> annotation for an example of
+ * how to specify an explicit value for <code>Action</code> message addressing property for the
+ * <code>fault</code> message.
+ *
+ * @see FaultAction
+ *
+ * @since JAX-WS 2.1
+ */
+
+@Documented
+(a)Retention(RetentionPolicy.RUNTIME)
+(a)Target(ElementType.METHOD)
+public @interface Action {
+ /**
+ * Explicit value of <code>Action</code> message addressing property for the <code>input</code>
+ * message of the operation. If the value is "", then no <code>wsaw:Action</code>
+ * is generated.
+ */
+ String input() default "";
+
+ /**
+ * Explicit value of <code>Action</code> message addressing property for the <code>output</code>
+ * message of the operation. If the value is "", then no <code>wsaw:Action</code>
+ * is generated.
+ */
+ String output() default "";
+
+ /**
+ * Explicit value of <code>Action</code> message addressing property for the <code>fault</code>
+ * message(s) of the operation. Each exception that is mapped to a fault and requires explicit
+ * <code>Action</code> message addressing property, need to be specified as a value in this property
+ * using <a href="FaultAction.html">FaultAction</a> annotation.
+ */
+ FaultAction[] fault() default {};
+}
Property changes on: trunk/jbossws-api/src/java/javax/xml/ws/Action.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/jbossws-api/src/java/javax/xml/ws/AsyncHandler.java
===================================================================
--- trunk/jbossws-api/src/java/javax/xml/ws/AsyncHandler.java (rev 0)
+++ trunk/jbossws-api/src/java/javax/xml/ws/AsyncHandler.java 2007-04-23 06:12:12 UTC (rev 2897)
@@ -0,0 +1,41 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package javax.xml.ws;
+
+// $Id$
+
+/** The <code>AsyncHandler</code> interface is implemented by
+ * clients that wish to receive callback notification of the completion of
+ * service endpoint operations invoked asynchronously.
+ *
+ * @since JAX-WS 2.0
+ **/
+public interface AsyncHandler<T>
+{
+
+ /** Called when the response to an asynchronous operation is available.
+ *
+ * @param res The response to the operation invocation.
+ *
+ **/
+ void handleResponse(Response<T> res);
+}
Property changes on: trunk/jbossws-api/src/java/javax/xml/ws/AsyncHandler.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/jbossws-api/src/java/javax/xml/ws/Binding.java
===================================================================
--- trunk/jbossws-api/src/java/javax/xml/ws/Binding.java (rev 0)
+++ trunk/jbossws-api/src/java/javax/xml/ws/Binding.java 2007-04-23 06:12:12 UTC (rev 2897)
@@ -0,0 +1,66 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package javax.xml.ws;
+
+// $Id$
+
+
+/** The <code>Binding</code> interface is the base interface
+ * for JAX-WS protocol bindings.
+ *
+ * @since JAX-WS 2.0
+ **/
+public interface Binding
+{
+
+ /**
+ * Gets a copy of the handler chain for a protocol binding instance.
+ * If the returned chain is modified a call to <code>setHandlerChain</code>
+ * is required to configure the binding instance with the new chain.
+ *
+ * @return java.util.List<javax.xml.ws.handler.HandlerInfo> Handler chain
+ */
+ public java.util.List<javax.xml.ws.handler.Handler> getHandlerChain();
+
+ /**
+ * Sets the handler chain for the protocol binding instance.
+ *
+ * @param chain A List of handler configuration entries
+ * @throws WebServiceException On an error in the configuration of
+ * the handler chain
+ * @throws java.lang.UnsupportedOperationException If this
+ * operation is not supported. This may be done to
+ * avoid any overriding of a pre-configured handler
+ * chain.
+ */
+ public void setHandlerChain(java.util.List<javax.xml.ws.handler.Handler> chain);
+
+ /**
+ * Get the URI for this binding instance.
+ *
+ * @return String The binding identifier for the port.
+ * Never returns <code>null</code>
+ *
+ * @since JAX-WS 2.1
+ */
+ String getBindingID();
+}
Property changes on: trunk/jbossws-api/src/java/javax/xml/ws/Binding.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/jbossws-api/src/java/javax/xml/ws/BindingProvider.java
===================================================================
--- trunk/jbossws-api/src/java/javax/xml/ws/BindingProvider.java (rev 0)
+++ trunk/jbossws-api/src/java/javax/xml/ws/BindingProvider.java 2007-04-23 06:12:12 UTC (rev 2897)
@@ -0,0 +1,175 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package javax.xml.ws;
+
+// $Id$
+
+import java.util.Map;
+
+import javax.xml.ws.wsaddressing.W3CEndpointReference;
+
+/** The <code>BindingProvider</code> interface provides access to the
+ * protocol binding and associated context objects for request and
+ * response message processing.
+ *
+ * @since JAX-WS 2.0
+ *
+ * @see javax.xml.ws.Binding
+ **/
+public interface BindingProvider
+{
+ /** Standard property: User name for authentication.
+ * <p>Type: java.lang.String
+ **/
+ public static final String USERNAME_PROPERTY = "javax.xml.ws.security.auth.username";
+
+ /** Standard property: Password for authentication.
+ * <p>Type: java.lang.String
+ **/
+ public static final String PASSWORD_PROPERTY = "javax.xml.ws.security.auth.password";
+
+ /** Standard property: Target service endpoint address. The
+ * URI scheme for the endpoint address specification MUST
+ * correspond to the protocol/transport binding for the
+ * binding in use.
+ * <p>Type: java.lang.String
+ **/
+ public static final String ENDPOINT_ADDRESS_PROPERTY = "javax.xml.ws.service.endpoint.address";
+
+ /** Standard property: This boolean property is used by a service
+ * client to indicate whether or not it wants to participate in
+ * a session with a service endpoint. If this property is set to
+ * true, the service client indicates that it wants the session
+ * to be maintained. If set to false, the session is not maintained.
+ * The default value for this property is false.
+ * <p>Type: java.lang.Boolean
+ **/
+ public static final String SESSION_MAINTAIN_PROPERTY = "javax.xml.ws.session.maintain";
+
+ /** Standard property for SOAPAction. This boolean property
+ * indicates whether or not SOAPAction is to be used. The
+ * default value of this property is false indicating that
+ * the SOAPAction is not used.
+ * <p>Type: <code>java.lang.Boolean</code>
+ **/
+ public static final String SOAPACTION_USE_PROPERTY = "javax.xml.ws.soap.http.soapaction.use";
+
+ /** Standard property for SOAPAction. Indicates the SOAPAction
+ * URI if the <code>javax.xml.ws.soap.http.soapaction.use</code>
+ * property is set to <code>true</code>.
+ * <p>Type: <code>java.lang.String</code>
+ **/
+ public static final String SOAPACTION_URI_PROPERTY = "javax.xml.ws.soap.http.soapaction.uri";
+
+ /** Get the context that is used to initialize the message context
+ * for request messages.
+ *
+ * Modifications to the request context do not affect the message context of
+ * either synchronous or asynchronous operations that have already been
+ * started.
+ *
+ * @return The context that is used in processing request messages.
+ **/
+ Map<String, Object> getRequestContext();
+
+ /** Get the context that resulted from processing a response message.
+ *
+ * The returned context is for the most recently completed synchronous
+ * operation. Subsequent synchronous operation invocations overwrite the
+ * response context. Asynchronous operations return their response context
+ * via the Response interface.
+ *
+ * @return The context that resulted from processing the latest
+ * response messages.
+ **/
+ Map<String, Object> getResponseContext();
+
+ /** Get the Binding for this binding provider.
+ *
+ * @return The Binding for this binding provider.
+ **/
+ Binding getBinding();
+
+ /**
+ * Returns the <code>EndpointReference</code> associated with
+ * this <code>BindingProvider</code> instance.
+ * <p>
+ * If the Binding for this <code>bindingProvider</code> is
+ * either SOAP1.1/HTTP or SOAP1.2/HTTP, then a
+ * <code>W3CEndpointReference</code> MUST be returned.
+ * If the returned <code>EndpointReference</code> is a
+ * <code>W3CEndpointReference</code> it MUST contain
+ * the <code>wsaw:ServiceName</code> element and the
+ * <code>wsaw:EndpointName</code> attribute on the
+ * <code>wsaw:ServiceName</code>. It SHOULD contain
+ * the embedded WSDL in the <code>wsa:Metadata</code> element
+ * if there is an associated WSDL. The
+ * <code>wsaw:InterfaceName</code> MAY also be present.
+ * <br>
+ * See <a href="http://www.w3.org/TR/2006/CR-ws-addr-wsdl-20060529/">
+ * WS-Addressing - WSDL 1.0</a>.
+ *
+ * @return EndpointReference of the target endpoint associated with this
+ * <code>BindingProvider</code> instance.
+ *
+ * @throws java.lang.UnsupportedOperationException If this
+ * <code>BindingProvider</code> uses the XML/HTTP binding.
+ *
+ * @see W3CEndpointReference
+ *
+ * @since JAX-WS 2.1
+ */
+ public EndpointReference getEndpointReference();
+
+ /**
+ * Returns the <code>EndpointReference</code> associated with
+ * this <code>BindingProvider</code> instance. The instance
+ * returned will be of type <code>clazz</code>.
+ * <p>
+ * If the returned <code>EndpointReference</code> is a
+ * <code>W3CEndpointReference</code> it MUST contain
+ * the <code>wsaw:ServiceName</code> element and the
+ * <code>wsaw:EndpointName</code> attribute on the
+ * <code>wsaw:ServiceName</code>. It SHOULD contain
+ * the embedded WSDL in the <code>wsa:Metadata</code> element
+ * if there is an associated WSDL. The
+ * <code>wsaw:InterfaceName</code> MAY also be present.
+ * <br>
+ * See <a href="http://www.w3.org/TR/2006/CR-ws-addr-wsdl-20060529/">
+ * WS-Addressing - WSDL 1.0</a>.
+ *
+ * @param clazz Specifies the type of <code>EndpointReference</code>
+ * that MUST be returned.
+
+ * @return EndpointReference of the target endpoint associated with this
+ * <code>BindingProvider</code> instance. MUST be of type
+ * <code>clazz</code>.
+
+ * @throws WebServiceException If the Class <code>clazz</code>
+ * is not supported by this implementation.
+ * @throws java.lang.UnsupportedOperationException If this
+ * <code>BindingProvider</code> uses the XML/HTTP binding.
+ *
+ * @since JAX-WS 2.1
+ */
+ public <T extends EndpointReference> T getEndpointReference(Class<T> clazz);
+}
Property changes on: trunk/jbossws-api/src/java/javax/xml/ws/BindingProvider.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/jbossws-api/src/java/javax/xml/ws/BindingType.java
===================================================================
--- trunk/jbossws-api/src/java/javax/xml/ws/BindingType.java (rev 0)
+++ trunk/jbossws-api/src/java/javax/xml/ws/BindingType.java 2007-04-23 06:12:12 UTC (rev 2897)
@@ -0,0 +1,59 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package javax.xml.ws;
+
+// $Id$
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+/**
+ * The <code>BindingType</code> annotation is used to
+ * specify the binding to use for a web service
+ * endpoint implementation class. As well as specify
+ * additional features that may be enabled.
+ *
+ * @since JAX-WS 2.0
+ *
+ **/
+
+(a)Target(ElementType.TYPE)
+(a)Retention(RetentionPolicy.RUNTIME)
+@Documented
+public @interface BindingType {
+ /**
+ * A binding identifier (a URI).
+ * If not specified, the default is the SOAP 1.1 / HTTP binding.
+ * <p>
+ * See the <code>SOAPBinding</code> and <code>HTTPBinding</code>
+ * for the definition of the standard binding identifiers.
+ *
+ * @see javax.xml.ws.Binding
+ * @see javax.xml.ws.soap.SOAPBinding#SOAP11HTTP_BINDING
+ * @see javax.xml.ws.soap.SOAPBinding#SOAP12HTTP_BINDING
+ * @see javax.xml.ws.http.HTTPBinding#HTTP_BINDING
+ */
+ String value() default "";
+}
Property changes on: trunk/jbossws-api/src/java/javax/xml/ws/BindingType.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/jbossws-api/src/java/javax/xml/ws/Dispatch.java
===================================================================
--- trunk/jbossws-api/src/java/javax/xml/ws/Dispatch.java (rev 0)
+++ trunk/jbossws-api/src/java/javax/xml/ws/Dispatch.java 2007-04-23 06:12:12 UTC (rev 2897)
@@ -0,0 +1,115 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package javax.xml.ws;
+
+// $Id$
+
+import java.util.concurrent.Future;
+
+/** The <code>Dispatch</code> interface provides support
+ * for the dynamic invocation of a service endpoint operations. The
+ * <code>javax.xml.ws.Service</code>
+ * interface acts as a factory for the creation of <code>Dispatch</code>
+ * instances.
+ *
+ * @since JAX-WS 2.0
+ **/
+public interface Dispatch<T> extends BindingProvider
+{
+
+ /** Invoke a service operation synchronously.
+ *
+ * The client is responsible for ensuring that the <code>msg</code> object
+ * when marshalled is formed according to the requirements of the protocol
+ * binding in use.
+ *
+ * @param msg An object that will form the message or payload of
+ * the message used to invoke the operation.
+ * @return The response message or message payload to the
+ * operation invocation.
+ * @throws WebServiceException If a fault occurs during communication with
+ * the service
+ * @throws WebServiceException If there is any error in the configuration of
+ * the <code>Dispatch</code> instance
+ **/
+ public T invoke(T msg);
+
+ /** Invoke a service operation asynchronously. The
+ * method returns without waiting for the response to the operation
+ * invocation, the results of the operation are obtained by polling the
+ * returned <code>Response</code>.
+ *
+ * The client is responsible for ensuring that the <code>msg</code> object
+ * when marshalled is formed according to the requirements of the protocol
+ * binding in use.
+ *
+ * @param msg An object that will form the message or payload of
+ * the message used to invoke the operation.
+ * @return The response message or message payload to the
+ * operation invocation.
+ * @throws WebServiceException If there is any error in the configuration of
+ * the <code>Dispatch</code> instance
+ **/
+ public Response<T> invokeAsync(T msg);
+
+ /** Invoke a service operation asynchronously. The
+ * method returns without waiting for the response to the operation
+ * invocation, the results of the operation are communicated to the client
+ * via the passed in handler.
+ *
+ * The client is responsible for ensuring that the <code>msg</code> object
+ * when marshalled is formed according to the requirements of the protocol
+ * binding in use.
+ *
+ * @param msg An object that will form the message or payload of
+ * the message used to invoke the operation.
+ * @param handler The handler object that will receive the
+ * response to the operation invocation.
+ * @return A <code>Future</code> object that may be used to check the status
+ * of the operation invocation. This object MUST NOT be used to try to
+ * obtain the results of the operation - the object returned from
+ * <code>Future<?>.get()</code> is implementation dependent
+ * and any use of it will result in non-portable behaviour.
+ * @throws WebServiceException If there is any error in the configuration of
+ * the <code>Dispatch</code> instance
+ **/
+ public Future<?> invokeAsync(T msg, AsyncHandler<T> handler);
+
+ /** Invokes a service operation using the one-way
+ * interaction mode. The operation invocation is logically non-blocking,
+ * subject to the capabilities of the underlying protocol, no results
+ * are returned. When
+ * the protocol in use is SOAP/HTTP, this method MUST block until
+ * an HTTP response code has been received or an error occurs.
+ *
+ * The client is responsible for ensuring that the <code>msg</code> object
+ * when marshalled is formed according to the requirements of the protocol
+ * binding in use.
+ *
+ * @param msg An object that will form the message or payload of
+ * the message used to invoke the operation.
+ * @throws WebServiceException If there is any error in the configuration of
+ * the <code>Dispatch</code> instance or if an error occurs during the
+ * invocation.
+ **/
+ public void invokeOneWay(T msg);
+}
Property changes on: trunk/jbossws-api/src/java/javax/xml/ws/Dispatch.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/jbossws-api/src/java/javax/xml/ws/Endpoint.java
===================================================================
--- trunk/jbossws-api/src/java/javax/xml/ws/Endpoint.java (rev 0)
+++ trunk/jbossws-api/src/java/javax/xml/ws/Endpoint.java 2007-04-23 06:12:12 UTC (rev 2897)
@@ -0,0 +1,374 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package javax.xml.ws;
+
+// $Id$
+
+import java.util.List;
+import java.util.Map;
+
+import javax.xml.ws.soap.SOAPBinding;
+import javax.xml.ws.spi.Provider;
+import javax.xml.ws.wsaddressing.W3CEndpointReference;
+
+import org.w3c.dom.Element;
+
+/**
+ * A Web service endpoint.
+ *
+ * <p>Endpoints are created using the static methods defined in this
+ * class. An endpoint is always tied to one <code>Binding</code>
+ * and one implementor, both set at endpoint creation time.
+ *
+ * <p>An endpoint is either in a published or an unpublished state.
+ * The <code>publish</code> methods can be used to start publishing
+ * an endpoint, at which point it starts accepting incoming requests.
+ * Conversely, the <code>stop</code> method can be used to stop
+ * accepting incoming requests and take the endpoint down.
+ * Once stopped, an endpoint cannot be published again.
+ *
+ * <p>An <code>Executor</code> may be set on the endpoint in order
+ * to gain better control over the threads used to dispatch incoming
+ * requests. For instance, thread pooling with certain parameters
+ * can be enabled by creating a <code>ThreadPoolExecutor</code> and
+ * registering it with the endpoint.
+ *
+ * <p>Handler chains can be set using the contained <code>Binding</code>.
+ *
+ * <p>An endpoint may have a list of metadata documents, such as WSDL
+ * and XMLSchema documents, bound to it. At publishing time, the
+ * JAX-WS implementation will try to reuse as much of that metadata
+ * as possible instead of generating new one based on the annotations
+ * present on the implementor.
+ *
+ * @since JAX-WS 2.0
+ *
+ * @see javax.xml.ws.Binding
+ * @see javax.xml.ws.BindingType
+ * @see javax.xml.ws.soap.SOAPBinding
+ * @see java.util.concurrent.Executor
+ *
+ **/
+public abstract class Endpoint
+{
+
+ /** Standard property: name of WSDL service.
+ * <p>Type: javax.xml.namespace.QName
+ **/
+ public static final String WSDL_SERVICE = "javax.xml.ws.wsdl.service";
+
+ /** Standard property: name of WSDL port.
+ * <p>Type: javax.xml.namespace.QName
+ **/
+ public static final String WSDL_PORT = "javax.xml.ws.wsdl.port";
+
+ /**
+ * Creates an endpoint with the specified implementor object. If there is
+ * a binding specified via a BindingType annotation then it MUST be used else
+ * a default of SOAP 1.1 / HTTP binding MUST be used.
+ * <p>
+ * The newly created endpoint may be published by calling
+ * one of the javax.xml.ws.Endpoint#publish(String) and
+ * javax.xml.ws.Endpoint#publish(Object) methods.
+ *
+ *
+ * @param implementor The endpoint implementor.
+ *
+ * @return The newly created endpoint.
+ *
+ **/
+ public static Endpoint create(Object implementor)
+ {
+ if (implementor == null)
+ throw new IllegalArgumentException("Implementor cannot be null");
+
+ String bindingId = SOAPBinding.SOAP11HTTP_BINDING;
+ BindingType anBindingType = implementor.getClass().getAnnotation(BindingType.class);
+ if (anBindingType != null)
+ bindingId = anBindingType.value();
+
+ return create(bindingId, implementor);
+ }
+
+ /**
+ * Creates an endpoint with the specified binding type and
+ * implementor object.
+ * <p>
+ * The newly created endpoint may be published by calling
+ * one of the javax.xml.ws.Endpoint#publish(String) and
+ * javax.xml.ws.Endpoint#publish(Object) methods.
+ *
+ * @param bindingId A URI specifying the binding to use. If the bindingID is
+ * <code>null</code> and no binding is specified via a BindingType
+ * annotation then a default SOAP 1.1 / HTTP binding MUST be used.
+ *
+ * @param implementor The endpoint implementor.
+ *
+ * @return The newly created endpoint.
+ *
+ **/
+ public static Endpoint create(String bindingId, Object implementor)
+ {
+ return Provider.provider().createEndpoint(bindingId, implementor);
+ }
+
+ /**
+ * Returns the binding for this endpoint.
+ *
+ * @return The binding for this endpoint
+ **/
+ public abstract Binding getBinding();
+
+ /**
+ * Returns the implementation object for this endpoint.
+ *
+ * @return The implementor for this endpoint
+ **/
+ public abstract Object getImplementor();
+
+ /**
+ * Publishes this endpoint at the given address.
+ * The necessary server infrastructure will be created and
+ * configured by the JAX-WS implementation using some default configuration.
+ * In order to get more control over the server configuration, please
+ * use the javax.xml.ws.Endpoint#publish(Object) method instead.
+ *
+ * @param address A URI specifying the address to use. The address
+ * MUST be compatible with the binding specified at the
+ * time the endpoint was created.
+ *
+ * @throws java.lang.IllegalArgumentException
+ * If the provided address URI is not usable
+ * in conjunction with the endpoint's binding.
+ *
+ * @throws java.lang.IllegalStateException
+ * If the endpoint has been published already or it has been stopped.
+ **/
+ public abstract void publish(String address);
+
+ /**
+ * Creates and publishes an endpoint for the specified implementor
+ * object at the given address.
+ * <p>
+ * The necessary server infrastructure will be created and
+ * configured by the JAX-WS implementation using some default configuration.
+ *
+ * In order to get more control over the server configuration, please
+ * use the javax.xml.ws.Endpoint#create(String,Object) and
+ * javax.xml.ws.Endpoint#publish(Object) method instead.
+ *
+ * @param address A URI specifying the address and transport/protocol
+ * to use. A http: URI MUST result in the SOAP 1.1/HTTP
+ * binding being used. Implementations may support other
+ * URI schemes.
+ * @param implementor The endpoint implementor.
+ *
+ * @return The newly created endpoint.
+ *
+ **/
+ public static Endpoint publish(String address, Object implementor)
+ {
+ return Provider.provider().createAndPublishEndpoint(address, implementor);
+ }
+
+ /**
+ * Publishes this endpoint at the provided server context.
+ * A server context encapsulates the server infrastructure
+ * and addressing information for a particular transport.
+ * For a call to this method to succeed, the server context
+ * passed as an argument to it MUST be compatible with the
+ * endpoint's binding.
+ *
+ * @param serverContext An object representing a server
+ * context to be used for publishing the endpoint.
+ *
+ * @throws java.lang.IllegalArgumentException
+ * If the provided server context is not
+ * supported by the implementation or turns
+ * out to be unusable in conjunction with the
+ * endpoint's binding.
+ *
+ * @throws java.lang.IllegalStateException
+ * If the endpoint has been published already or it has been stopped.
+ **/
+ public abstract void publish(Object serverContext);
+
+ /**
+ * Stops publishing this endpoint.
+ *
+ * If the endpoint is not in a published state, this method
+ * has not effect.
+ *
+ **/
+ public abstract void stop();
+
+ /**
+ * Returns true if the endpoint is in the published state.
+ *
+ * @return <code>true</code> if the endpoint is in the published state.
+ **/
+ public abstract boolean isPublished();
+
+ /**
+ * Returns a list of metadata documents for the service.
+ *
+ * @return <code>List<javax.xml.transform.Source></code> A list of metadata documents for the service
+ **/
+ public abstract List<javax.xml.transform.Source> getMetadata();
+
+ /**
+ * Sets the metadata for this endpoint.
+ *
+ * @param metadata A list of XML document sources containing
+ * metadata information for the endpoint (e.g.
+ * WSDL or XML Schema documents)
+ *
+ * @throws java.lang.IllegalStateException If the endpoint
+ * has already been published.
+ **/
+ public abstract void setMetadata(List<javax.xml.transform.Source> metadata);
+
+ /**
+ * Returns the executor for this <code>Endpoint</code>instance.
+ *
+ * The executor is used to dispatch an incoming request to
+ * the implementor object.
+ *
+ * @return The <code>java.util.concurrent.Executor</code> to be
+ * used to dispatch a request.
+ *
+ * @see java.util.concurrent.Executor
+ **/
+ public abstract java.util.concurrent.Executor getExecutor();
+
+ /**
+ * Sets the executor for this <code>Endpoint</code> instance.
+ *
+ * The executor is used to dispatch an incoming request to
+ * the implementor object.
+ *
+ * If this <code>Endpoint</code> is published using the
+ * <code>publish(Object)</code> method and the specified server
+ * context defines its own threading behavior, the executor
+ * may be ignored.
+ *
+ * @param executor The <code>java.util.concurrent.Executor</code>
+ * to be used to dispatch a request.
+ *
+ * @throws SecurityException If the instance does not support
+ * setting an executor for security reasons (e.g. the
+ * necessary permissions are missing).
+ *
+ * @see java.util.concurrent.Executor
+ **/
+ public abstract void setExecutor(java.util.concurrent.Executor executor);
+
+ /**
+ * Returns the property bag for this <code>Endpoint</code> instance.
+ *
+ * @return Map<String,Object> The property bag
+ * associated with this instance.
+ **/
+ public abstract Map<String, Object> getProperties();
+
+ /**
+ * Sets the property bag for this <code>Endpoint</code> instance.
+ *
+ * @param properties The property bag associated with
+ * this instance.
+ **/
+ public abstract void setProperties(Map<String, Object> properties);
+
+ /**
+ * Returns the <code>EndpointReference</code> associated with
+ * this <code>Endpoint</code> instance.
+ * <p>
+ * If the Binding for this <code>bindingProvider</code> is
+ * either SOAP1.1/HTTP or SOAP1.2/HTTP, then a
+ * <code>W3CEndpointReference</code> MUST be returned.
+ * If the returned <code>EndpointReference</code> is a
+ * <code>W3CEndpointReference</code> it MUST contain
+ * the <code>wsaw:ServiceName</code> element and the
+ * <code>wsaw:EndpointName</code> attribute on the
+ * <code>wsaw:ServiceName</code>. It SHOULD contain
+ * the embedded WSDL in the <code>wsa:Metadata</code> element
+ * if there is an associated WSDL. The
+ * <code>wsaw:InterfaceName</code> MAY also be present.
+ * <br>
+ * See <a href="http://www.w3.org/TR/2006/CR-ws-addr-wsdl-20060529/">
+ * WS-Addressing - WSDL 1.0</a>.
+ *
+ * @param referenceParameters Reference parameters to be associated with the
+ * returned <code>EndpointReference</code> instance.
+ * @return EndpointReference of this <code>Endpoint</code> instance.
+ * If the returned <code>EndpointReference</code> is of type
+ * <code>W3CEndpointReference</code> then it MUST contain the
+ * the specified <code>referenceParameters</code>.
+
+ * @throws WebServiceException If any error in the creation of
+ * the <code>EndpointReference</code> or if the <code>Endpoint</code> is
+ * not in the published state.
+ * @throws UnsupportedOperationException If this <code>BindingProvider</code>
+ * uses the XML/HTTP binding.
+ *
+ * @see W3CEndpointReference
+ *
+ * @since JAX-WS 2.1
+ **/
+ public abstract EndpointReference getEndpointReference(Element... referenceParameters);
+
+ /**
+ * Returns the <code>EndpointReference</code> associated with
+ * this <code>Endpoint</code> instance.
+ * <p>
+ * If the returned <code>EndpointReference</code> is a
+ * <code>W3CEndpointReference</code> it MUST contain
+ * the <code>wsaw:ServiceName</code> element and the
+ * <code>wsaw:EndpointName</code> attribute on the
+ * <code>wsaw:ServiceName</code>. It SHOULD contain
+ * the embedded WSDL in the <code>wsa:Metadata</code> element
+ * if there is an associated WSDL. The
+ * <code>wsaw:InterfaceName</code> MAY also be present.
+ * <br>
+ * See <a href="http://www.w3.org/TR/2006/CR-ws-addr-wsdl-20060529/">
+ * WS-Addressing - WSDL 1.0</a>.
+ *
+ * @param referenceParameters Reference parameters to be associated with the
+ * returned <code>EndpointReference</code> instance.
+ * @return EndpointReference of type <code>clazz</code> of this
+ * <code>Endpoint<code> instance.
+ * If the returned <code>EndpointReference</code> is of type
+ * <code>W3CEndpointReference</code> then it MUST contain the
+ * the specified <code>referenceParameters</code>.
+
+ * @throws WebServiceException If any error in the creation of
+ * the <code>EndpointReference</code> or if the <code>Endpoint</code> is
+ * not in the published state or if the <code>clazz</code> is not a supported
+ * <code>EndpointReference</code> type.
+ * @throws UnsupportedOperationException If this <code>BindingProvider</code>
+ * uses the XML/HTTP binding.
+ *
+ *
+ * @since JAX-WS 2.1
+ **/
+ public abstract <T extends EndpointReference> T getEndpointReference(Class<T> clazz, Element... referenceParameters);
+}
Property changes on: trunk/jbossws-api/src/java/javax/xml/ws/Endpoint.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/jbossws-api/src/java/javax/xml/ws/EndpointReference.java
===================================================================
--- trunk/jbossws-api/src/java/javax/xml/ws/EndpointReference.java (rev 0)
+++ trunk/jbossws-api/src/java/javax/xml/ws/EndpointReference.java 2007-04-23 06:12:12 UTC (rev 2897)
@@ -0,0 +1,188 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package javax.xml.ws;
+
+// $Id$
+
+import java.io.StringWriter;
+
+import javax.xml.transform.Result;
+import javax.xml.transform.Source;
+import javax.xml.transform.stream.StreamResult;
+import javax.xml.ws.spi.Provider;
+import javax.xml.ws.wsaddressing.W3CEndpointReference;
+
+/**
+ * This class represents an WS-Addressing EndpointReference
+ * which is a remote reference to a web service endpoint.
+ * See <a href="http://www.w3.org/TR/2006/REC-ws-addr-core-20060509/">
+ * WS-Addressing</a>
+ * for more information on WS-Addressing EndpointReferences.
+ * <p>
+ * This class is immutable as the typical web service developer
+ * need not be concerned with its contents. The web service
+ * developer should use this class strictly as a mechanism to
+ * reference a remote web service endpoint. See the {@link Service} APIs
+ * that clients can use to that utilize an <code>EndpointReference</code>.
+ * See the {@link javax.xml.ws.Endpoint}, and
+ * {@link javax.xml.ws.BindingProvider} APIs on how
+ * <code>EndpointReferences</code> can be created for published
+ * endpoints.
+ * <p>
+ * Concrete implementations of this class will represent
+ * an <code>EndpointReference</code> for a particular version of Addressing.
+ * For example the {@link W3CEndpointReference} is for use
+ * with W3C WS-Addressing 1.0 - Core Recommendation.
+ * If JAX-WS implementors need to support different versions
+ * of addressing, they should write their own
+ * <code>EndpointReference</code> subclass for that version.
+ * This will allow a JAX-WS implementation to createEndpointReference
+ * vendor specific <code>EndpointReferences</code> that that
+ * vendor can use to flag a different version of
+ * addressing.
+ * <p>
+ * Web service developers that wish to pass or return
+ * <code>EndpointReferences</code> in Java methods in an
+ * SEI should use
+ * concrete instances of an <code>EndpointReference</code> such
+ * as the <code>W3CEndpointReferendce</code>. This way the
+ * schema mapped from the SEI will be more descriptive of the
+ * type of endpoint reference being passed.
+ * <p>
+ * JAX-WS implementors are expected to extract the XML infoset
+ * from an <CODE>EndpointReferece</CODE> using the
+ * <code>{@link EndpointReference#writeTo}</code>
+ * method.
+ * <p>
+ * JAXB will bind this class to xs:anyType. If a better binding
+ * is desired, web services developers should use a concrete
+ * subclass such as {@link W3CEndpointReference}.
+ *
+ * @see W3CEndpointReference
+ * @see Service
+ * @since JAX-WS 2.1
+ */
+//@XmlTransient // to treat this class like Object as far as databinding is concerned (proposed JAXB 2.1 feature)
+public abstract class EndpointReference
+{
+ //
+ //Default constructor to be only called by derived types.
+ //
+ protected EndpointReference()
+ {
+ };
+
+ /**
+ * Factory method to read an EndpointReference from the infoset contained in
+ * <code>eprInfoset</code>. This method delegates to the vendor specific
+ * implementation of the {@link javax.xml.ws.spi.Provider#readEndpointReference} method.
+ *
+ * @param eprInfoset The <code>EndpointReference<code> infoset to be unmarshalled
+ *
+ * @return the EndpointReference unmarshalled from <code>eprInfoset</code>
+ * never <code>null</code>
+ * @throws WebServiceException
+ * if an error occurs while creating the
+ * <code>EndpointReference</code> from the <CODE>eprInfoset</CODE>
+ * @throws java.lang.IllegalArgumentException
+ * if the null <code>eprInfoset</tt> value is given.
+ */
+ public static EndpointReference readFrom(Source eprInfoset)
+ {
+ return Provider.provider().readEndpointReference(eprInfoset);
+ }
+
+ /**
+ * write this EndpointReference to the specified infoset format
+ * @throws WebServiceException
+ * if there is an error writing the
+ * EndpointReference to the specified <code>result</code>.
+ *
+ * @throws java.lang.IllegalArgumentException
+ * If the null <code>result</tt> value is given.
+ */
+ public abstract void writeTo(Result result);
+
+ /**
+ * The getPort method returns a proxy. If there
+ * are any reference parameters in the
+ * <code>EndpointReference</code> instance, then those reference
+ * parameters MUST appear as SOAP headers, indicating them to be
+ * reference parameters, on all messages sent to the endpoint.
+ * The parameter <code>serviceEndpointInterface</code> specifies
+ * the service endpoint interface that is supported by the
+ * returned proxy.
+ * The <code>EndpointReference</code> instance specifies the
+ * endpoint that will be invoked by the returned proxy.
+ * In the implementation of this method, the JAX-WS
+ * runtime system takes the responsibility of selecting a protocol
+ * binding (and a port) and configuring the proxy accordingly from
+ * the WSDL Metadata from this <code>EndpointReference</code> or from
+ * annotations on the <code>serviceEndpointInterface</code>.
+ * <p>
+ * Because this port is not created from a Service object, handlers
+ * will not automatically be configured, and the HandlerResolver
+ * and Executor cannot be get or set for this port. The
+ * <code>BindingProvider().getBinding().setHandlerChain()</code>
+ * method can be used to manually configure handlers for this port.
+ *
+ *
+ * @param serviceEndpointInterface Service endpoint interface
+ * @param features An array of WebServiceFeatures to configure on the
+ * proxy. Supported features not in the <code>features
+ * </code> parameter will have their default values.
+ * @return Object Proxy instance that supports the
+ * specified service endpoint interface
+ * @throws WebServiceException
+ * <UL>
+ * <LI>If there is an error during creation
+ * of the proxy
+ * <LI>If there is any missing WSDL metadata
+ * as required by this method
+ * <LI>If this
+ * <code>endpointReference</code>
+ * is invalid
+ * <LI>If an illegal
+ * <code>serviceEndpointInterface</code>
+ * is specified
+ * <LI>If feature is enabled that is not compatible with
+ * this port or is unsupported.
+ * </UL>
+ *
+ * @see java.lang.reflect.Proxy
+ * @see WebServiceFeature
+ **/
+ public <T> T getPort(Class<T> serviceEndpointInterface, WebServiceFeature... features)
+ {
+ return Provider.provider().getPort(this, serviceEndpointInterface, features);
+ }
+
+ /**
+ * Displays EPR infoset for debugging convenience.
+ */
+ public String toString()
+ {
+ StringWriter w = new StringWriter();
+ writeTo(new StreamResult(w));
+ return w.toString();
+ }
+}
Property changes on: trunk/jbossws-api/src/java/javax/xml/ws/EndpointReference.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/jbossws-api/src/java/javax/xml/ws/FaultAction.java
===================================================================
--- trunk/jbossws-api/src/java/javax/xml/ws/FaultAction.java (rev 0)
+++ trunk/jbossws-api/src/java/javax/xml/ws/FaultAction.java 2007-04-23 06:12:12 UTC (rev 2897)
@@ -0,0 +1,171 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package javax.xml.ws;
+
+// $Id$
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+/**
+ * The <code>FaultAction</code> annotation is used inside an <a href="Action.html">
+ * Action</a> annotation to allow an explicit association of <code>Action</code> message
+ * addressing property with the <code>fault</code> messages of the WSDL operation mapped from
+ * the exception class.
+ * <p>
+ * The <code>fault</code> message in the generated WSDL operation mapped for <code>className</code>
+ * class contains explicit <code>wsaw:Action</code> attribute.
+ *
+ * <p>
+ * <b>Example 1</b>: Specify explicit values for <code>Action</code> message addressing
+ * property for the <code>input</code>, <code>output</code> and <code>fault</code> message
+ * if the Java method throws only one service specific exception.
+ *
+ * <pre>
+ * @javax.jws.WebService
+ * public class AddNumbersImpl {
+ * @javax.xml.ws.Action(
+ * input="http://example.com/inputAction",
+ * output="http://example.com/outputAction",
+ * fault = {
+ * @javax.xml.ws.FaultAction(className=AddNumbersException.class, value="http://example.com/faultAction")
+ * })
+ * public int addNumbers(int number1, int number2)
+ * throws AddNumbersException {
+ * return number1 + number2;
+ * }
+ * }
+ * </pre>
+ *
+ * The generated WSDL looks like:
+ *
+ * <pre>
+ * <definitions targetNamespace="http://example.com/numbers" ...>
+ * ...
+ * <portType name="AddNumbersPortType">
+ * <operation name="AddNumbers">
+ * <input message="tns:AddNumbersInput" name="Parameters"
+ * wsaw:Action="http://example.com/inputAction"/>
+ * <output message="tns:AddNumbersOutput" name="Result"
+ * wsaw:Action="http://example.com/outputAction"/>
+ * <fault message="tns:AddNumbersException" name="AddNumbersException"
+ * wsaw:Action="http://example.com/faultAction"/>
+ * </operation>
+ * <portType>
+ * ...
+ * <definitions>
+ * </pre>
+ *
+ * <p>
+ * Example 2: Here is an example that shows how to specify explicit values for <code>Action</code>
+ * message addressing property if the Java method throws only one service specific exception,
+ * without specifying the values for <code>input</code> and <code>output</code> messages.
+ *
+ * <pre>
+ * @javax.jws.WebService
+ * public class AddNumbersImpl {
+ * @javax.xml.ws.Action(
+ * fault = {
+ * @javax.xml.ws.FaultAction(className=AddNumbersException.class, value="http://example.com/faultAction")
+ * })
+ * public int addNumbers(int number1, int number2)
+ * throws AddNumbersException {
+ * return number1 + number2;
+ * }
+ * }
+ * </pre>
+ *
+ * The generated WSDL looks like:
+ *
+ * <pre>
+ * <definitions targetNamespace="http://example.com/numbers" ...>
+ * ...
+ * <portType name="AddNumbersPortType">
+ * <operation name="AddNumbers">
+ * <input message="tns:AddNumbersInput" name="Parameters"/>
+ * <output message="tns:AddNumbersOutput" name="Result"/>
+ * <fault message="tns:addNumbersFault" name="InvalidNumbers"
+ * wsa:Action="http://example.com/addnumbers/fault"/>
+ * </operation>
+ * <portType>
+ * ...
+ * <definitions>
+ * </pre>
+ *
+ * <p>
+ * Example 3: Here is an example that shows how to specify explicit values for <code>Action</code>
+ * message addressing property if the Java method throws more than one service specific exception.
+ *
+ * <pre>
+ * @javax.jws.WebService
+ * public class AddNumbersImpl {
+ * @javax.xml.ws.Action(
+ * fault = {
+ * @javax.xml.ws.FaultAction(className=AddNumbersException.class, value="http://example.com/addFaultAction")
+ * @javax.xml.ws.FaultAction(className=TooBigNumbersException.class, value="http://example.com/toobigFaultAction")
+ * })
+ * public int addNumbers(int number1, int number2)
+ * throws AddNumbersException, TooBigNumbersException {
+ * return number1 + number2;
+ * }
+ * }
+ * </pre>
+ *
+ * The generated WSDL looks like:
+ *
+ * <pre>
+ * <definitions targetNamespace="http://example.com/numbers" ...>
+ * ...
+ * <portType name="AddNumbersPortType">
+ * <operation name="AddNumbers">
+ * <input message="tns:AddNumbersInput" name="Parameters"/>
+ * <output message="tns:AddNumbersOutput" name="Result"/>
+ * <fault message="tns:addNumbersFault" name="AddNumbersException"
+ * wsa:Action="http://example.com/addnumbers/fault"/>
+ * <fault message="tns:tooBigNumbersFault" name="TooBigNumbersException"
+ * wsa:Action="http://example.com/toobigFaultAction"/>
+ * </operation>
+ * <portType>
+ * ...
+ * <definitions>
+ * </pre>
+ *
+ * @since JAX-WS 2.1
+ */
+
+@Documented
+(a)Retention(RetentionPolicy.RUNTIME)
+(a)Target(ElementType.METHOD)
+public @interface FaultAction {
+ /**
+ * Name of the exception class
+ */
+ Class className();
+
+ /**
+ * Value of <code>Action</code> message addressing property for the exception
+ */
+ String value() default "";
+}
Property changes on: trunk/jbossws-api/src/java/javax/xml/ws/FaultAction.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/jbossws-api/src/java/javax/xml/ws/Holder.java
===================================================================
--- trunk/jbossws-api/src/java/javax/xml/ws/Holder.java (rev 0)
+++ trunk/jbossws-api/src/java/javax/xml/ws/Holder.java 2007-04-23 06:12:12 UTC (rev 2897)
@@ -0,0 +1,55 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package javax.xml.ws;
+
+// $Id$
+
+/**
+ * Holds a value of type <code>T</code>.
+ *
+ * @since JAX-WS 2.0
+ **/
+public final class Holder<T>
+{
+
+ /**
+ * The value contained in the holder.
+ **/
+ public T value;
+
+ /**
+ * Creates a new holder with a <code>null</code> value.
+ **/
+ public Holder()
+ {
+ }
+
+ /**
+ * Create a new holder with the specified value.
+ *
+ * @param value The value to be stored in the holder.
+ **/
+ public Holder(T value)
+ {
+ this.value = value;
+ }
+}
Property changes on: trunk/jbossws-api/src/java/javax/xml/ws/Holder.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/jbossws-api/src/java/javax/xml/ws/LogicalMessage.java
===================================================================
--- trunk/jbossws-api/src/java/javax/xml/ws/LogicalMessage.java (rev 0)
+++ trunk/jbossws-api/src/java/javax/xml/ws/LogicalMessage.java 2007-04-23 06:12:12 UTC (rev 2897)
@@ -0,0 +1,90 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package javax.xml.ws;
+
+// $Id$
+
+import javax.xml.bind.JAXBContext;
+import javax.xml.transform.Source;
+
+/** The <code>LogicalMessage</code> interface represents a
+ * protocol agnostic XML message and contains methods that
+ * provide access to the payload of the message.
+ *
+ * @since JAX-WS 2.0
+ **/
+public interface LogicalMessage
+{
+
+ /** Gets the message payload as an XML source, may be called
+ * multiple times on the same LogicalMessage instance, always
+ * returns a new Source that may be used to retrieve the entire
+ * message payload.
+ *
+ * <p>If the returned Source is an instance of DOMSource, then
+ * modifications to the encapsulated DOM tree change the message
+ * payload in-place, there is no need to susequently call
+ * <code>setPayload</code>. Other types of Source provide only
+ * read access to the message payload.
+ *
+ * @return The contained message payload; returns null if no
+ * payload is present in this message.
+ **/
+ public Source getPayload();
+
+ /** Sets the message payload
+ *
+ * @param payload message payload
+ * @throws WebServiceException If any error during the setting
+ * of the payload in this message
+ * @throws java.lang.UnsupportedOperationException If this
+ * operation is not supported
+ **/
+ public void setPayload(Source payload);
+
+ /** Gets the message payload as a JAXB object. Note that there is no
+ * connection between the returned object and the message payload,
+ * changes to the payload require calling <code>setPayload</code>.
+ *
+ * @param context The JAXBContext that should be used to unmarshall
+ * the message payload
+ * @return The contained message payload; returns null if no
+ * payload is present in this message
+ * @throws WebServiceException If an error occurs when using a supplied
+ * JAXBContext to unmarshall the payload. The cause of
+ * the WebServiceException is the original JAXBException.
+ **/
+ public Object getPayload(JAXBContext context);
+
+ /** Sets the message payload
+ *
+ * @param payload message payload
+ * @param context The JAXBContext that should be used to marshall
+ * the payload
+ * @throws java.lang.UnsupportedOperationException If this
+ * operation is not supported
+ * @throws WebServiceException If an error occurs when using the supplied
+ * JAXBContext to marshall the payload. The cause of
+ * the WebServiceException is the original JAXBException.
+ **/
+ public void setPayload(Object payload, JAXBContext context);
+}
Property changes on: trunk/jbossws-api/src/java/javax/xml/ws/LogicalMessage.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/jbossws-api/src/java/javax/xml/ws/ProtocolException.java
===================================================================
--- trunk/jbossws-api/src/java/javax/xml/ws/ProtocolException.java (rev 0)
+++ trunk/jbossws-api/src/java/javax/xml/ws/ProtocolException.java 2007-04-23 06:12:12 UTC (rev 2897)
@@ -0,0 +1,91 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package javax.xml.ws;
+
+// $Id$
+
+/** The <code>ProtocolException</code> class is a
+ * base class for exceptions related to a specific protocol binding. Subclasses
+ * are used to communicate protocol level fault information to clients and may
+ * be used on the server to control the protocol specific fault representation.
+ *
+ * @since JAX-WS 2.0
+ **/
+public class ProtocolException extends WebServiceException
+{
+ /**
+ * Constructs a new protocol exception with null as its detail message. The
+ * cause is not initialized, and may subsequently be initialized by a call
+ * to Throwable.initCause(java.lang.Throwable).
+ */
+ public ProtocolException()
+ {
+ super();
+ }
+
+ /**
+ * Constructs a new protocol exception with the specified detail message.
+ * The cause is not initialized, and may subsequently be initialized by a
+ * call to Throwable.initCause(java.lang.Throwable).
+ *
+ * @param message the detail message. The detail message is saved for later
+ * retrieval by the Throwable.getMessage() method.
+ */
+ public ProtocolException(String message)
+ {
+ super(message);
+ }
+
+ /**
+ * Constructs a new runtime exception with the specified detail message and
+ * cause.
+ *
+ * Note that the detail message associated with cause is not automatically
+ * incorporated in this runtime exception's detail message.
+ *
+ * @param message the detail message (which is saved for later retrieval by
+ * the Throwable.getMessage() method).
+ * @param cause the cause (which is saved for later retrieval by the
+ * Throwable.getCause() method). (A null value is permitted, and indicates
+ * that the cause is nonexistent or unknown.)
+ */
+ public ProtocolException(String message, Throwable cause)
+ {
+ super(message, cause);
+ }
+
+ /**
+ * Constructs a new runtime exception with the specified cause and a detail
+ * message of (cause==null ? null : cause.toString()) (which typically
+ * contains the class and detail message of cause). This constructor is
+ * useful for runtime exceptions that are little more than wrappers for
+ * other throwables.
+ *
+ * @param cause the cause (which is saved for later retrieval by the
+ * Throwable.getCause() method). (A null value is permitted, and indicates
+ * that the cause is nonexistent or unknown.)
+ */
+ public ProtocolException(Throwable cause)
+ {
+ super(cause);
+ }
+}
Property changes on: trunk/jbossws-api/src/java/javax/xml/ws/ProtocolException.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/jbossws-api/src/java/javax/xml/ws/Provider.java
===================================================================
--- trunk/jbossws-api/src/java/javax/xml/ws/Provider.java (rev 0)
+++ trunk/jbossws-api/src/java/javax/xml/ws/Provider.java 2007-04-23 06:12:12 UTC (rev 2897)
@@ -0,0 +1,62 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package javax.xml.ws;
+
+// $Id$
+
+/**
+ * <p>Service endpoints may implement the <code>Provider</code>
+ * interface as a dynamic alternative to an SEI.
+ *
+ * <p>Implementations are required to support <code>Provider<Source></code>,
+ * <code>Provider<SOAPMessage></code> and
+ * <code>Provider<DataSource></code>, depending on the binding
+ * in use and the service mode.
+ *
+ * <p>The <code>ServiceMode</code> annotation can be used to control whether
+ * the <code>Provider</code> instance will receive entire protocol messages
+ * or just message payloads.
+ *
+ * @since JAX-WS 2.0
+ *
+ * @see javax.xml.transform.Source
+ * @see javax.xml.soap.SOAPMessage
+ * @see javax.xml.ws.ServiceMode
+ **/
+public interface Provider<T>
+{
+
+ /** Invokes an operation occording to the contents of the request
+ * message.
+ *
+ * @param request The request message or message payload.
+ * @return The response message or message payload. May be null if
+ there is no response.
+ * @throws WebServiceException If there is an error processing request.
+ * The cause of the WebServiceException may be set to a subclass
+ * of ProtocolException to control the protocol level
+ * representation of the exception.
+ * @see javax.xml.ws.handler.MessageContext
+ * @see javax.xml.ws.ProtocolException
+ **/
+ public T invoke(T request);
+}
Property changes on: trunk/jbossws-api/src/java/javax/xml/ws/Provider.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/jbossws-api/src/java/javax/xml/ws/RequestWrapper.java
===================================================================
--- trunk/jbossws-api/src/java/javax/xml/ws/RequestWrapper.java (rev 0)
+++ trunk/jbossws-api/src/java/javax/xml/ws/RequestWrapper.java 2007-04-23 06:12:12 UTC (rev 2897)
@@ -0,0 +1,64 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package javax.xml.ws;
+
+// $Id$
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+/**
+
+ * Used to annotate methods in the Service Endpoint Interface with the request
+ * wrapper bean to be used at runtime. The default value of the localName is
+ * the operationName, as defined in WebMethod annotation and the
+ * targetNamespace is the target namespace of the SEI.
+ * <p> When starting from Java this annotation is used resolve
+ * overloading conflicts in document literal mode. Only the className
+ * is required in this case.
+ *
+ * @since JAX-WS 2.0
+ **/
+
+(a)Target(ElementType.METHOD)
+(a)Retention(RetentionPolicy.RUNTIME)
+@Documented
+public @interface RequestWrapper {
+ /**
+ * Elements local name.
+ **/
+ public String localName() default "";
+
+ /**
+ * Elements namespace name.
+ **/
+ public String targetNamespace() default "";
+
+ /**
+ * Request wrapper bean name.
+ **/
+ public String className() default "";
+
+}
Property changes on: trunk/jbossws-api/src/java/javax/xml/ws/RequestWrapper.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/jbossws-api/src/java/javax/xml/ws/RespectBinding.java
===================================================================
--- trunk/jbossws-api/src/java/javax/xml/ws/RespectBinding.java (rev 0)
+++ trunk/jbossws-api/src/java/javax/xml/ws/RespectBinding.java 2007-04-23 06:12:12 UTC (rev 2897)
@@ -0,0 +1,107 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package javax.xml.ws;
+
+// $Id$
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.Target;
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import javax.xml.ws.spi.WebServiceFeatureAnnotation;
+
+/**
+ * This feature clarifies the use of the <code>wsdl:binding</code>
+ * in a JAX-WS runtime.
+ * <p>
+ * This feature is only useful with web services that have an
+ * associated WSDL. Enabling this feature requires that a JAX-WS
+ * implementation inspect the <code>wsdl:binding</code> for an
+ * endpoint at runtime to make sure that all <code>wsdl:extensions</code>
+ * that have the <code>required</code> attribute set to <code>true</code>
+ * are understood and are being used.
+ * <p>
+ * The following describes the affects of this feature with respect
+ * to be enabled or disabled:
+ * <ul>
+ * <li> ENABLED: In this Mode, a JAX-WS runtime MUST assure that all
+ * required <code>wsdl:binding</code> extensions are either understood
+ * and used by the runtime, or explicitly disabled by the web service
+ * application. A web service application can disable a particular
+ * extension that has a know <code>WebServiceFeature</code> using
+ * either the {@link BindingType#features} element on the server
+ * or one of the following methods on the client:
+ * <ul>
+ * <li>{@link Service#getPort(QName,Class,WebServiceFeature...)}
+ * <li>{@link Service#getPort(Class,WebServiceFeature...)}
+ * <li>{@link Service#getPort(EndpointReference,Class,WebServiceFeature...)}
+ * <li>{@link Service#createDispatch(QName,Class,
+ * Service.Mode mode,WebServiceFeature...)}
+ * <li>{@link Service#createDispatch(EndpointReference,
+ * Class,Service.Mode,
+ * WebServiceFeature...)}
+ * <li>{@link Service#createDispatch(QName,
+ * JAXBContext, Service.Mode, WebServiceFeature...)}
+ * <li>{@link Service#createDispatch(EndpointReference,
+ * JAXBContext, Service.Mode, WebServiceFeature...)}
+ * <li>{@link EndpointReference#getPort(Class,WebServiceFeature...)}
+ * <li>One of the <code>getXXXPort(WebServiceFeatures...)</code> methods on a
+ * generated <code>Service</code>.
+ * </ul>
+ * The runtime MUST also make sure that binding of
+ * SEI parameters/return values respect the <code>wsdl:binding</code>.
+ * With this feature enabled, if a required
+ * <code>wsdl:binding</code> extension is in the WSDL and it is not
+ * supported by a JAX-WS runtime and it has not
+ * been explicitly turned off by the web service developer, then
+ * that JAX-WS runtime MUST behave appropriately based on whether it is
+ * on the client or server:
+ * <UL>
+ * <li>Client: runtime MUST throw a
+ * <code>WebServiceException</code> no sooner than when one of the methods
+ * above is invoked but no later than the first invocation of an endpoint
+ * operation.
+ * <li>throw a WebServiceException and the endpoint MUST fail to deploy
+ * </ul>
+ * <li> DISABLED: In this Mode, an implementation may choose whether
+ * to inspect the <code>wsdl:binding<code> or not and to what degree
+ * the <code>wsdl:binding</code> will be inspected. For example,
+ * one implementation may choose to behave as if this feature is enabled,
+ * another implementation may only choose to verify the SEI's
+ * parameter/return type bindings.
+ * </ul>
+ *
+ * @see javax.xml.ws.RespectBindingFeature
+ *
+ * @since JAX-WS 2.1
+ */
+(a)Target(ElementType.TYPE)
+(a)Retention(RetentionPolicy.RUNTIME)
+@Documented
+@WebServiceFeatureAnnotation(id = RespectBindingFeature.ID, bean = RespectBindingFeature.class)
+public @interface RespectBinding {
+ /**
+ * Specifies if this feature is enabled or disabled.
+ */
+ boolean enabled() default true;
+}
Property changes on: trunk/jbossws-api/src/java/javax/xml/ws/RespectBinding.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/jbossws-api/src/java/javax/xml/ws/RespectBindingFeature.java
===================================================================
--- trunk/jbossws-api/src/java/javax/xml/ws/RespectBindingFeature.java (rev 0)
+++ trunk/jbossws-api/src/java/javax/xml/ws/RespectBindingFeature.java 2007-04-23 06:12:12 UTC (rev 2897)
@@ -0,0 +1,128 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package javax.xml.ws;
+
+// $Id$
+
+import javax.xml.ws.WebServiceFeature;
+
+/**
+ * This feature clarifies the use of the <code>wsdl:binding</code>
+ * in a JAX-WS runtime.
+ * <p>
+ * This feature is only useful with web services that have an
+ * associated WSDL. Enabling this feature requires that a JAX-WS
+ * implementation inspect the <code>wsdl:binding</code> for an
+ * endpoint at runtime to make sure that all <code>wsdl:extensions</code>
+ * that have the <code>required</code> attribute set to <code>true</code>
+ * are understood and are being used.
+ * <p>
+ * The following describes the affects of this feature with respect
+ * to be enabled or disabled:
+ * <ul>
+ * <li> ENABLED: In this Mode, a JAX-WS runtime MUST assure that all
+ * required <code>wsdl:binding</code> extensions are either understood
+ and used by the runtime, or explicitly disabled by the web service
+ * application. A web service application can disable a particular
+ * extension that has a know <code>WebServiceFeature</code> using
+ * either the {@link BindingType#features} element on the server
+ * or one of the following methods on the client:
+ * <ul>
+ * <li>{@link Service#getPort(QName,Class,WebServiceFeature...)}
+ * <li>{@link Service#getPort(Class,WebServiceFeature...)}
+ * <li>{@link Service#getPort(EndpointReference,Class,WebServiceFeature...)}
+ * <li>{@link Service#createDispatch(QName,Class,
+ * Service.Mode mode,WebServiceFeature...)}
+ * <li>{@link Service#createDispatch(EndpointReference,
+ * Class,Service.Mode,
+ * WebServiceFeature...)}
+ * <li>{@link Service#createDispatch(QName,
+ * JAXBContext, Service.Mode, WebServiceFeature...)}
+ * <li>{@link Service#createDispatch(EndpointReference,
+ * JAXBContext, Service.Mode, WebServiceFeature...)}
+ * <li>{@link EndpointReference#getPort(Class,WebServiceFeature...)}
+ * <li>One of the <code>getXXXPort(WebServiceFeatures...)</code> methods on a
+ * generated <code>Service</code>.
+ * </ul>
+ * The runtime MUST also make sure that binding of
+ * SEI parameters/return values respect the <code>wsdl:binding</code>.
+ * With this feature enabled, if a required
+ * <code>wsdl:binding</code> extension is in the WSDL and it is not
+ * supported by a JAX-WS runtime and it has not
+ * been explicitly turned off by the web service developer, then
+ * that JAX-WS runtime MUST behave appropriately based on whether it is
+ * on the client or server:
+ * <UL>
+ * <li>Client: runtime MUST throw a
+ * <code>WebServiceException</code> no sooner than when one of the methods
+ * above is invoked but no later than the first invocation of an endpoint
+ * operation.
+ * <li>throw a WebServiceException and the endpoint MUST fail to deploy
+ * </ul>
+ * <li> DISABLED: In this Mode, an implementation may choose whether
+ * to inspect the <code>wsdl:binding<code> or not and to what degree
+ * the <code>wsdl:binding</code> will be inspected. For example,
+ * one implementation may choose to behave as if this feature is enabled,
+ * another implementation may only choose to verify the SEI's
+ * parameter/return type bindings.
+ * </ul>
+ *
+ * @see javax.xml.ws.soap.AddressingFeature
+ *
+ * @since JAX-WS 2.1
+ */
+public final class RespectBindingFeature extends WebServiceFeature
+{
+ /**
+ *
+ * Constant value identifying the RespectBindingFeature
+ */
+ public static final String ID = "javax.xml.ws.InspectBindingFeature";
+
+ /**
+ * Create an <code>RespectBindingFeature</code>.
+ * The instance created will be enabled.
+ */
+ public RespectBindingFeature()
+ {
+ this.enabled = true;
+ }
+
+ /**
+ * Create an RespectBindingFeature
+ *
+ * @param enabled specifies whether this feature should
+ * be enabled or not.
+ */
+ public RespectBindingFeature(boolean enabled)
+ {
+ this.enabled = enabled;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public String getID()
+ {
+ return ID;
+ }
+}
Property changes on: trunk/jbossws-api/src/java/javax/xml/ws/RespectBindingFeature.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/jbossws-api/src/java/javax/xml/ws/Response.java
===================================================================
--- trunk/jbossws-api/src/java/javax/xml/ws/Response.java (rev 0)
+++ trunk/jbossws-api/src/java/javax/xml/ws/Response.java 2007-04-23 06:12:12 UTC (rev 2897)
@@ -0,0 +1,51 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package javax.xml.ws;
+
+// $Id$
+
+import java.util.Map;
+import java.util.concurrent.Future;
+
+/** The <code>Response</code> interface provides methods used to obtain the
+ * payload and context of a message sent in response to an operation
+ * invocation.
+ *
+ * <p>For asynchronous operation invocations it provides additional methods
+ * to check the status of the request. The <code>get(...)</code> methods may
+ * throw the standard
+ * set of exceptions and their cause may be a RemoteException or a
+ * WebServiceException that represents the error that occured during the
+ * asynchronous method invocation.</p>
+ *
+ * @since JAX-WS 2.0
+ **/
+public interface Response<T> extends Future<T>
+{
+ /** Gets the contained response context.
+ *
+ * @return The contained response context. May be <code>null</code> if a
+ * response is not yet available.
+ *
+ **/
+ Map<String, Object> getContext();
+}
Property changes on: trunk/jbossws-api/src/java/javax/xml/ws/Response.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/jbossws-api/src/java/javax/xml/ws/ResponseWrapper.java
===================================================================
--- trunk/jbossws-api/src/java/javax/xml/ws/ResponseWrapper.java (rev 0)
+++ trunk/jbossws-api/src/java/javax/xml/ws/ResponseWrapper.java 2007-04-23 06:12:12 UTC (rev 2897)
@@ -0,0 +1,73 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package javax.xml.ws;
+
+// $Id$
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+/**
+ * Used to annotate methods in the Service Endpoint Interface with the response
+ * wrapper bean to be used at runtime. The default value of the localName is
+ * the operationName as defined in WebMethod annotation appended with
+ * Response and the targetNamespace is the target namespace of the SEI.
+ * <p> When starting from Java this annotation is used resolve
+ * overloading conflicts in document literal mode. Only the className
+ * is required in this case.
+ *
+ * @since JAX-WS 2.0
+ **/
+
+(a)Target(ElementType.METHOD)
+(a)Retention(RetentionPolicy.RUNTIME)
+@Documented
+public @interface ResponseWrapper {
+
+ /**
+
+ * Elements local name.
+
+ **/
+
+ public String localName() default "";
+
+ /**
+
+ * Elements namespace name.
+
+ **/
+
+ public String targetNamespace() default "";
+
+ /**
+
+ * Response wrapper bean name.
+
+ **/
+
+ public String className() default "";
+
+}
Property changes on: trunk/jbossws-api/src/java/javax/xml/ws/ResponseWrapper.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/jbossws-api/src/java/javax/xml/ws/Service.java
===================================================================
--- trunk/jbossws-api/src/java/javax/xml/ws/Service.java (rev 0)
+++ trunk/jbossws-api/src/java/javax/xml/ws/Service.java 2007-04-23 06:12:12 UTC (rev 2897)
@@ -0,0 +1,751 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package javax.xml.ws;
+
+// $Id$
+
+import java.lang.reflect.Constructor;
+import java.lang.reflect.InvocationTargetException;
+import java.net.URL;
+import java.util.Iterator;
+
+import javax.xml.bind.JAXBContext;
+import javax.xml.namespace.QName;
+import javax.xml.ws.handler.HandlerResolver;
+import javax.xml.ws.spi.Provider;
+import javax.xml.ws.spi.ServiceDelegate;
+
+/**
+ * <code>Service</code> objects provide the client view of a Web service.
+ * <p><code>Service</code> acts as a factory of the following:
+ * <ul>
+ * <li>Proxies for a target service endpoint.
+ * <li>Instances of <code>javax.xml.ws.Dispatch</code> for
+ * dynamic message-oriented invocation of a remote
+ * operation.
+ * </li>
+ *
+ * <p>The ports available on a service can be enumerated using the
+ * <code>getPorts</code> method. Alternatively, you can pass a
+ * service endpoint interface to the unary <code>getPort</code> method
+ * and let the runtime select a compatible port.
+ *
+ * <p>Handler chains for all the objects created by a <code>Service</code>
+ * can be set by means of a <code>HandlerResolver</code>.
+ *
+ * <p>An <code>Executor</code> may be set on the service in order
+ * to gain better control over the threads used to dispatch asynchronous
+ * callbacks. For instance, thread pooling with certain parameters
+ * can be enabled by creating a <code>ThreadPoolExecutor</code> and
+ * registering it with the service.
+ *
+ * @since JAX-WS 2.0
+ *
+ * @see javax.xml.ws.spi.Provider
+ * @see javax.xml.ws.handler.HandlerResolver
+ * @see java.util.concurrent.Executor
+ **/
+public class Service
+{
+ protected ServiceDelegate delegate;
+
+ /**
+ * The orientation of a dynamic client or service. MESSAGE provides
+ * access to entire protocol message, PAYLOAD to protocol message
+ * payload only.
+ **/
+ public enum Mode
+ {
+ MESSAGE, PAYLOAD
+ };
+
+ protected Service(java.net.URL wsdlDocumentLocation, QName serviceName)
+ {
+ delegate = Provider.provider().createServiceDelegate(wsdlDocumentLocation, serviceName, this.getClass());
+ }
+
+ /**
+ * The getPort method returns a proxy. A service client
+ * uses this proxy to invoke operations on the target
+ * service endpoint. The <code>serviceEndpointInterface</code>
+ * specifies the service endpoint interface that is supported by
+ * the created dynamic proxy instance.
+ *
+ * @param portName Qualified name of the service endpoint in
+ * the WSDL service description.
+ * @param serviceEndpointInterface Service endpoint interface
+ * supported by the dynamic proxy instance.
+ * @return Object Proxy instance that
+ * supports the specified service endpoint
+ * interface.
+ * @throws WebServiceException This exception is thrown in the
+ * following cases:
+ * <UL>
+ * <LI>If there is an error in creation of
+ * the proxy.
+ * <LI>If there is any missing WSDL metadata
+ * as required by this method.
+ * <LI>If an illegal
+ * <code>serviceEndpointInterface</code>
+ * or <code>portName</code> is specified.
+ * </UL>
+ * @see java.lang.reflect.Proxy
+ * @see java.lang.reflect.InvocationHandler
+ **/
+ public <T> T getPort(QName portName, Class<T> serviceEndpointInterface)
+ {
+ return delegate.getPort(portName, serviceEndpointInterface);
+ }
+
+ /**
+ * The getPort method returns a proxy. A service client
+ * uses this proxy to invoke operations on the target
+ * service endpoint. The <code>serviceEndpointInterface</code>
+ * specifies the service endpoint interface that is supported by
+ * the created dynamic proxy instance.
+ *
+ * @param portName Qualified name of the service endpoint in
+ * the WSDL service description.
+ * @param serviceEndpointInterface Service endpoint interface
+ * supported by the dynamic proxy instance.
+ * @param features A list of WebServiceFeatures to configure on the
+ * proxy. Supported features not in the <code>features
+ * </code> parameter will have their default values.
+ * @return Object Proxy instance that
+ * supports the specified service endpoint
+ * interface.
+ * @throws WebServiceException This exception is thrown in the
+ * following cases:
+ * <UL>
+ * <LI>If there is an error in creation of
+ * the proxy.
+ * <LI>If there is any missing WSDL metadata
+ * as required by this method.
+ * <LI>If an illegal
+ * <code>serviceEndpointInterface</code>
+ * or <code>portName</code> is specified.
+ * <LI>If a feature is enabled that is not compatible
+ * with this port or is unsupported.
+ * </UL>
+ * @see java.lang.reflect.Proxy
+ * @see java.lang.reflect.InvocationHandler
+ * @see WebServiceFeature
+ *
+ * @since JAX-WS 2.1
+ **/
+ public <T> T getPort(QName portName, Class<T> serviceEndpointInterface, WebServiceFeature... features)
+ {
+ return delegate.getPort(portName, serviceEndpointInterface, features);
+ }
+
+ /**
+ * The getPort method returns a proxy. The parameter
+ * <code>serviceEndpointInterface</code> specifies the service
+ * endpoint interface that is supported by the returned proxy.
+ * In the implementation of this method, the JAX-WS
+ * runtime system takes the responsibility of selecting a protocol
+ * binding (and a port) and configuring the proxy accordingly.
+ * The returned proxy should not be reconfigured by the client.
+ *
+ * @param serviceEndpointInterface Service endpoint interface.
+ * @return Object instance that supports the
+ * specified service endpoint interface.
+ * @throws WebServiceException
+ * <UL>
+ * <LI>If there is an error during creation
+ * of the proxy.
+ * <LI>If there is any missing WSDL metadata
+ * as required by this method.
+ * <LI>If an illegal.
+ * <code>serviceEndpointInterface</code>
+ * is specified.
+ * </UL>
+ **/
+ public <T> T getPort(Class<T> serviceEndpointInterface)
+ {
+ return delegate.getPort(serviceEndpointInterface);
+ }
+
+ /**
+ * The getPort method returns a proxy. The parameter
+ * <code>serviceEndpointInterface</code> specifies the service
+ * endpoint interface that is supported by the returned proxy.
+ * In the implementation of this method, the JAX-WS
+ * runtime system takes the responsibility of selecting a protocol
+ * binding (and a port) and configuring the proxy accordingly.
+ * The returned proxy should not be reconfigured by the client.
+ *
+ * @param serviceEndpointInterface Service endpoint interface.
+ * @param features A list of WebServiceFeatures to configure on the
+ * proxy. Supported features not in the <code>features
+ * </code> parameter will have their default values.
+ * @return Object instance that supports the
+ * specified service endpoint interface.
+ * @throws WebServiceException
+ * <UL>
+ * <LI>If there is an error during creation
+ * of the proxy.
+ * <LI>If there is any missing WSDL metadata
+ * as required by this method.
+ * <LI>If an illegal
+ * <code>serviceEndpointInterface</code>
+ * is specified.
+ * <LI>If a feature is enabled that is not compatible
+ * with this port or is unsupported.
+ * </UL>
+ *
+ * @see WebServiceFeature
+ *
+ * @since JAX-WS 2.1
+ **/
+ public <T> T getPort(Class<T> serviceEndpointInterface, WebServiceFeature... features)
+ {
+ return delegate.getPort(serviceEndpointInterface, features);
+ }
+
+ /**
+ * The getPort method returns a proxy.
+ * The parameter <code>endpointReference</code> specifies the
+ * endpoint that will be invoked by the returned proxy. If there
+ * are any reference parameters in the
+ * <code>endpointReference</code>, then those reference
+ * parameters MUST appear as SOAP headers, indicating them to be
+ * reference parameters, on all messages sent to the endpoint.
+ * The <code>endpointReference's</code> address MUST be used
+ * for invocations on the endpoint.
+ * The parameter <code>serviceEndpointInterface</code> specifies
+ * the service endpoint interface that is supported by the
+ * returned proxy.
+ * In the implementation of this method, the JAX-WS
+ * runtime system takes the responsibility of selecting a protocol
+ * binding (and a port) and configuring the proxy accordingly from
+ * the WSDL associated with this <code>Service</code> instance or
+ * from the WSDL Metadata from the <code>endpointReference</code>.
+ * If this <code>Service</code> instance has a WSDL and
+ * the <code>endpointReference</code>
+ * also has a WSDL, then the WSDL from this instance will be used.
+ * If this <code>Service</code> instance does not have a WSDL and
+ * the <code>endpointReference</code> does have a WSDL, then the
+ * WSDL from the <code>endpointReference</code> will be used.
+ * The returned proxy should not be reconfigured by the client.
+ * If this <code>Service</code> instance has a known proxy
+ * port that matches the information contained in
+ * the WSDL,
+ * then that proxy is returned, otherwise a WebServiceException
+ * is thrown.
+ * <p>
+ * Calling this method has the same behavior as the following
+ * <pre>
+ * port = service.getPort(portName, serviceEndpointInterface);
+ * </pre>
+ * where the <code>portName</code> is retrieved from the
+ * <code>wsaw:EndpontName</code> attribute of the
+ * <code>wsaw:ServiceName</code> element in the
+ * metadata of the <code>endpointReference</code> or from the
+ * <code>serviceEndpointInterface</code> and the WSDL
+ * associated with this <code>Service</code> instance.
+ * <br>
+ * See <a href="http://www.w3.org/TR/2006/CR-ws-addr-wsdl-20060529/">WS-Addressing - WSDL 1.0
+ * </a>.
+ *
+ * @param endpointReference The <code>EndpointReference</code>
+ * for the target service endpoint that will be invoked by the
+ * returned proxy.
+ * @param serviceEndpointInterface Service endpoint interface.
+ * @param features An array of WebServiceFeatures to configure on the
+ * proxy. Supported features not in the <code>features
+ * </code> parameter will have their default values.
+ * @return Object Proxy instance that supports the
+ * specified service endpoint interface.
+ * @throws WebServiceException
+ * <UL>
+ * <LI>If there is an error during creation
+ * of the proxy.
+ * <LI>If there is any missing WSDL metadata
+ * as required by this method.
+ * <LI>If the <code>wsaw:EndpointName</code> is
+ * missing from the <code>endpointReference</code>
+ * or does not match a wsdl:Port
+ * in the WSDL metadata.
+ * <LI>If the <code>wsaw:ServiceName</code> in the
+ * <code>endpointReference</code> metadata does not
+ * match the <code>serviceName</code> of this
+ * <code>Service</code> instance.
+ * <LI>If an invalid
+ * <code>endpointReference</code>
+ * is specified.
+ * <LI>If an invalid
+ * <code>serviceEndpointInterface</code>
+ * is specified.
+ * <LI>If a feature is enabled that is not compatible
+ * with this port or is unsupported.
+ * </UL>
+ *
+ * @since JAX-WS 2.1
+ **/
+ public <T> T getPort(EndpointReference endpointReference, Class<T> serviceEndpointInterface, WebServiceFeature... features)
+ {
+ return delegate.getPort(endpointReference, serviceEndpointInterface, features);
+ }
+
+ /**
+ * Creates a new port for the service. Ports created in this way contain
+ * no WSDL port type information and can only be used for creating
+ * <code>Dispatch</code>instances.
+ *
+ * @param portName Qualified name for the target service endpoint.
+ * @param bindingId A String identifier of a binding.
+ * @param endpointAddress Address of the target service endpoint as a URI.
+ * @throws WebServiceException If any error in the creation of
+ * the port.
+ *
+ * @see javax.xml.ws.soap.SOAPBinding#SOAP11HTTP_BINDING
+ * @see javax.xml.ws.soap.SOAPBinding#SOAP12HTTP_BINDING
+ * @see javax.xml.ws.http.HTTPBinding#HTTP_BINDING
+ **/
+ public void addPort(QName portName, String bindingId, String endpointAddress)
+ {
+ delegate.addPort(portName, bindingId, endpointAddress);
+ }
+
+ /**
+ * Creates a <code>Dispatch</code> instance for use with objects of
+ * the users choosing.
+ *
+ * @param portName Qualified name for the target service endpoint
+ * @param type The class of object used for messages or message
+ * payloads. Implementations are required to support
+ * <code>javax.xml.transform.Source</code>, <code>javax.xml.soap.SOAPMessage</code>
+ * and <code>javax.activation.DataSource</code>, depending on
+ * the binding in use.
+ * @param mode Controls whether the created dispatch instance is message
+ * or payload oriented, i.e. whether the user will work with complete
+ * protocol messages or message payloads. E.g. when using the SOAP
+ * protocol, this parameter controls whether the user will work with
+ * SOAP messages or the contents of a SOAP body. Mode MUST be MESSAGE
+ * when type is SOAPMessage.
+ *
+ * @return Dispatch instance.
+ * @throws WebServiceException If any error in the creation of
+ * the <code>Dispatch</code> object.
+ *
+ * @see javax.xml.transform.Source
+ * @see javax.xml.soap.SOAPMessage
+ **/
+ public <T> Dispatch<T> createDispatch(QName portName, Class<T> type, Mode mode)
+ {
+ return delegate.createDispatch(portName, type, mode);
+ }
+
+ /**
+ * Creates a <code>Dispatch</code> instance for use with objects of
+ * the users choosing.
+ *
+ * @param portName Qualified name for the target service endpoint
+ * @param type The class of object used for messages or message
+ * payloads. Implementations are required to support
+ * javax.xml.transform.Source and javax.xml.soap.SOAPMessage.
+ * @param mode Controls whether the created dispatch instance is message
+ * or payload oriented, i.e. whether the user will work with complete
+ * protocol messages or message payloads. E.g. when using the SOAP
+ * protocol, this parameter controls whether the user will work with
+ * SOAP messages or the contents of a SOAP body. Mode MUST be MESSAGE
+ * when type is SOAPMessage.
+ * @param features A list of WebServiceFeatures to configure on the
+ * proxy. Supported features not in the <code>features
+ * </code> parameter will have their default values.
+ *
+ * @return Dispatch instance.
+ * @throws WebServiceException If any error in the creation of
+ * the <code>Dispatch</code> object or if a
+ * feature is enabled that is not compatible with
+ * this port or is unsupported.
+ *
+ * @see javax.xml.transform.Source
+ * @see javax.xml.soap.SOAPMessage
+ * @see WebServiceFeature
+ *
+ * @since JAX-WS 2.1
+ **/
+ public <T> Dispatch<T> createDispatch(QName portName, Class<T> type, Service.Mode mode, WebServiceFeature... features)
+ {
+ return delegate.createDispatch(portName, type, mode, features);
+ }
+
+ /**
+ * Creates a <code>Dispatch</code> instance for use with objects of
+ * the users choosing. If there
+ * are any reference parameters in the
+ * <code>endpointReference</code>, then those reference
+ * parameters MUST appear as SOAP headers, indicating them to be
+ * reference parameters, on all messages sent to the endpoint.
+ * The <code>endpointReference's</code> address MUST be used
+ * for invocations on the endpoint.
+ * In the implementation of this method, the JAX-WS
+ * runtime system takes the responsibility of selecting a protocol
+ * binding (and a port) and configuring the dispatch accordingly from
+ * the WSDL associated with this <code>Service</code> instance or
+ * from the WSDL Metadata from the <code>endpointReference</code>.
+ * If this <code>Service</code> instance has a WSDL and
+ * the <code>endpointReference</code>
+ * also has a WSDL, then the WSDL from this instance will be used.
+ * If this <code>Service</code> instance does not have a WSDL and
+ * the <code>endpointReference</code> does have a WSDL, then the
+ * WSDL from the <code>endpointReference</code> will be used.
+ * <p>
+ * This method behaves the same as calling
+ * <pre>
+ * dispatch = service.createDispatch(portName, type, mode, features);
+ * </pre>
+ * where the <code>portName</code> is retrieved from the
+ * <code>wsaw:EndpointName</code> attribute of the <code>wsaw:ServiceName</code>
+ * element in the
+ * metadata of the <code>endpointReference</code>.
+ * <br>
+ * See <a href="http://www.w3.org/TR/2006/CR-ws-addr-wsdl-20060529/">WS-Addressing - WSDL 1.0
+ * </a>.
+ *
+ * @param endpointReference The <code>EndpointReference</code>
+ * for the target service endpoint that will be invoked by the
+ * returned <code>Dispatch</code> object.
+ * @param type The class of object used to messages or message
+ * payloads. Implementations are required to support
+ * javax.xml.transform.Source and javax.xml.soap.SOAPMessage.
+ * @param mode Controls whether the created dispatch instance is message
+ * or payload oriented, i.e. whether the user will work with complete
+ * protocol messages or message payloads. E.g. when using the SOAP
+ * protocol, this parameter controls whether the user will work with
+ * SOAP messages or the contents of a SOAP body. Mode MUST be MESSAGE
+ * when type is SOAPMessage.
+ * @param features An array of WebServiceFeatures to configure on the
+ * proxy. Supported features not in the <code>features
+ * </code> parameter will have their default values.
+ *
+ * @return Dispatch instance
+ * @throws WebServiceException
+ * <UL>
+ * <LI>If there is any missing WSDL metadata
+ * as required by this method.
+ * <li>If the <code>wsaw:ServiceName</code> element
+ * or the <code>wsaw:EndpointName</code> attribute
+ * is missing in the metdata of the
+ * <code>endpointReference</code>.
+ * <li>If the <code>wsaw:ServiceName</code> does not
+ * match the <code>serviceName</code> of this instance.
+ * <li>If the <code>wsaw:EndpointName</code> does not
+ * match a valid wsdl:Port in the WSDL metadata.
+ * <li>If any error in the creation of
+ * the <code>Dispatch</code> object.
+ * <li>if a feature is enabled that is not
+ * compatible with this port or is unsupported.
+ * </UL>
+ *
+ * @see javax.xml.transform.Source
+ * @see javax.xml.soap.SOAPMessage
+ * @see WebServiceFeature;
+ *
+ * @since JAX-WS 2.1
+ **/
+ public <T> Dispatch<T> createDispatch(EndpointReference endpointReference, Class<T> type, Service.Mode mode, WebServiceFeature... features)
+ {
+ return delegate.createDispatch(endpointReference, type, mode, features);
+ }
+
+ /**
+ * Creates a <code>Dispatch</code> instance for use with JAXB
+ * generated objects.
+ *
+ * @param portName Qualified name for the target service endpoint
+ * @param context The JAXB context used to marshall and unmarshall
+ * messages or message payloads.
+ * @param mode Controls whether the created dispatch instance is message
+ * or payload oriented, i.e. whether the user will work with complete
+ * protocol messages or message payloads. E.g. when using the SOAP
+ * protocol, this parameter controls whether the user will work with
+ * SOAP messages or the contents of a SOAP body.
+ *
+ * @return Dispatch instance.
+ * @throws WebServiceException If any error in the creation of
+ * the <code>Dispatch</code> object.
+ *
+ * @see javax.xml.bind.JAXBContext
+ **/
+ public Dispatch<Object> createDispatch(QName portName, JAXBContext context, Mode mode)
+ {
+ return delegate.createDispatch(portName, context, mode);
+ }
+
+ /**
+ * Creates a <code>Dispatch</code> instance for use with JAXB
+ * generated objects.
+ *
+ * @param portName Qualified name for the target service endpoint
+ * @param context The JAXB context used to marshall and unmarshall
+ * messages or message payloads.
+ * @param mode Controls whether the created dispatch instance is message
+ * or payload oriented, i.e. whether the user will work with complete
+ * protocol messages or message payloads. E.g. when using the SOAP
+ * protocol, this parameter controls whether the user will work with
+ * SOAP messages or the contents of a SOAP body.
+ * @param features A list of WebServiceFeatures to configure on the
+ * proxy. Supported features not in the <code>features
+ * </code> parameter will have their default values.
+ *
+ * @return Dispatch instance.
+ * @throws WebServiceException If any error in the creation of
+ * the <code>Dispatch</code> object or if a
+ * feature is enabled that is not compatible with
+ * this port or is unsupported.
+ *
+ * @see javax.xml.bind.JAXBContext
+ * @see WebServiceFeature
+ *
+ * @since JAX-WS 2.1
+ **/
+ public Dispatch<Object> createDispatch(QName portName, JAXBContext context, Service.Mode mode, WebServiceFeature... features)
+ {
+ return delegate.createDispatch(portName, context, mode, features);
+ }
+
+ /**
+ * Creates a <code>Dispatch</code> instance for use with JAXB
+ * generated objects. If there
+ * are any reference parameters in the
+ * <code>endpointReference</code>, then those reference
+ * parameters MUST appear as SOAP headers, indicating them to be
+ * reference parameters, on all messages sent to the endpoint.
+ * The <code>endpointReference's</code> address MUST be used
+ * for invocations on the endpoint.
+ * In the implementation of this method, the JAX-WS
+ * runtime system takes the responsibility of selecting a protocol
+ * binding (and a port) and configuring the dispatch accordingly from
+ * the WSDL associated with this <code>Service</code> instance or
+ * from the WSDL Metadata from the <code>endpointReference</code>.
+ * If this <code>Service</code> instance has a WSDL and
+ * the <code>endpointReference</code>
+ * also has a WSDL, then the WSDL from this instance will be used.
+ * If this <code>Service</code> instance does not have a WSDL and
+ * the <code>endpointReference</code> does have a WSDL, then the
+ * WSDL from the <code>endpointReference</code> will be used.
+ * <p>
+ * This method behavies the same as calling
+ * <pre>
+ * dispatch = service.createDispatch(portName, context, mode, features);
+ * </pre>
+ * where the <code>portName</code> is retrieved from the
+ * <code>wsaw:EndpointName</code> attribute of the <code>wsaw:ServiceName</code>
+ * element in the
+ * metadata of the <code>endpointReference</code>.
+ * <br>
+ * See <a href="http://www.w3.org/TR/2006/CR-ws-addr-wsdl-20060529/">WS-Addressing - WSDL 1.0
+ * </a>.
+ *
+ * @param endpointReference The <code>EndpointReference</code>
+ * for the target service endpoint that will be invoked by the
+ * returned <code>Dispatch</code> object.
+ * @param context The JAXB context used to marshall and unmarshall
+ * messages or message payloads.
+ * @param mode Controls whether the created dispatch instance is message
+ * or payload oriented, i.e. whether the user will work with complete
+ * protocol messages or message payloads. E.g. when using the SOAP
+ * protocol, this parameter controls whether the user will work with
+ * SOAP messages or the contents of a SOAP body.
+ * @param features An array of WebServiceFeatures to configure on the
+ * proxy. Supported features not in the <code>features
+ * </code> parameter will have their default values.
+ *
+ * @return Dispatch instance
+ * @throws WebServiceException
+ * @throws WebServiceException
+ * <UL>
+ * <li>If there is any missing WSDL metadata
+ * as required by this method.
+ * <li>If the <code>wsaw:ServiceName</code> element
+ * or the <code>wsaw:EndpointName</code> attribute
+ * is missing in the metdata of the
+ * <code>endpointReference</code>.
+ * <li>If the <code>wsaw:ServiceName</code> does not
+ * match the <code>serviceName</code> of this instance.
+ * <li>If the <code>wsaw:EndpointName</code> does not
+ * match a valid wsdl:Port in the WSDL metadata.
+ * <li>If any error in the creation of
+ * the <code>Dispatch</code> object.
+ * <li>if a feature is enabled that is not
+ * compatible with this port or is unsupported.
+ * </UL>
+ *
+ * @see javax.xml.bind.JAXBContext
+ * @see WebServiceFeature
+ *
+ * @since JAX-WS 2.1
+ **/
+ public Dispatch<Object> createDispatch(EndpointReference endpointReference, JAXBContext context, Service.Mode mode, WebServiceFeature... features)
+ {
+ return delegate.createDispatch(endpointReference, context, mode, features);
+ }
+
+ /**
+ * Gets the name of this service.
+ * @return Qualified name of this service
+ **/
+ public QName getServiceName()
+ {
+ return delegate.getServiceName();
+ }
+
+ /**
+ * Returns an <code>Iterator</code> for the list of
+ * <code>QName</code>s of service endpoints grouped by this
+ * service
+ *
+ * @return Returns <code>java.util.Iterator</code> with elements
+ * of type <code>javax.xml.namespace.QName</code>.
+ * @throws WebServiceException If this Service class does not
+ * have access to the required WSDL metadata.
+ **/
+ public Iterator<javax.xml.namespace.QName> getPorts()
+ {
+ return delegate.getPorts();
+ }
+
+ /**
+ * Gets the location of the WSDL document for this Service.
+ *
+ * @return URL for the location of the WSDL document for
+ * this service.
+ **/
+ public java.net.URL getWSDLDocumentLocation()
+ {
+ return delegate.getWSDLDocumentLocation();
+ }
+
+ /**
+ * Returns the configured handler resolver.
+ *
+ * @return HandlerResolver The <code>HandlerResolver</code> being
+ * used by this <code>Service</code> instance, or <code>null</code>
+ * if there isn't one.
+ **/
+ public HandlerResolver getHandlerResolver()
+ {
+ return delegate.getHandlerResolver();
+ }
+
+ /**
+ * Sets the <code>HandlerResolver</code> for this <code>Service</code>
+ * instance.
+ * <p>
+ * The handler resolver, if present, will be called once for each
+ * proxy or dispatch instance that is created, and the handler chain
+ * returned by the resolver will be set on the instance.
+ *
+ * @param handlerResolver The <code>HandlerResolver</code> to use
+ * for all subsequently created proxy/dispatch objects.
+ *
+ * @see javax.xml.ws.handler.HandlerResolver
+ **/
+ public void setHandlerResolver(HandlerResolver handlerResolver)
+ {
+ delegate.setHandlerResolver(handlerResolver);
+ }
+
+ /**
+ * Returns the executor for this <code>Service</code>instance.
+ *
+ * The executor is used for all asynchronous invocations that
+ * require callbacks.
+ *
+ * @return The <code>java.util.concurrent.Executor</code> to be
+ * used to invoke a callback.
+ *
+ * @see java.util.concurrent.Executor
+ **/
+ public java.util.concurrent.Executor getExecutor()
+ {
+ return delegate.getExecutor();
+ }
+
+ /**
+ * Sets the executor for this <code>Service</code> instance.
+ *
+ * The executor is used for all asynchronous invocations that
+ * require callbacks.
+ *
+ * @param executor The <code>java.util.concurrent.Executor</code>
+ * to be used to invoke a callback.
+ *
+ * @throws SecurityException If the instance does not support
+ * setting an executor for security reasons (e.g. the
+ * necessary permissions are missing).
+ *
+ * @see java.util.concurrent.Executor
+ **/
+ public void setExecutor(java.util.concurrent.Executor executor)
+ {
+ delegate.setExecutor(executor);
+ }
+
+ /**
+ * Create a <code>Service</code> instance.
+ *
+ * The specified WSDL document location and service qualified name MUST
+ * uniquely identify a <code>wsdl:service</code> element.
+ *
+ * @param wsdlDocumentLocation URL for the WSDL document location
+ * for the service
+ * @param serviceName QName for the service
+ * @throws WebServiceException If any error in creation of the
+ * specified service.
+ **/
+ public static Service create(URL wsdlLocation, QName serviceName)
+ {
+ Service service;
+ try
+ {
+ Class extClass = Class.forName("org.jboss.ws.core.jaxws.client.ServiceExt");
+ Constructor ctor = extClass.getConstructor(new Class[] { URL.class, QName.class });
+ service = (Service)ctor.newInstance(new Object[] { wsdlLocation, serviceName });
+ }
+ catch (InvocationTargetException ex)
+ {
+ Throwable target = ex.getTargetException();
+ throw new WebServiceException(target);
+ }
+ catch (Exception e)
+ {
+ service = new Service(wsdlLocation, serviceName);
+ }
+ return service;
+ }
+
+ /**
+ * Create a <code>Service</code> instance.
+ *
+ * @param serviceName QName for the service
+ * @throws WebServiceException If any error in creation of the
+ * specified service
+ */
+ public static Service create(QName serviceName)
+ {
+ return create(null, serviceName);
+ }
+}
Property changes on: trunk/jbossws-api/src/java/javax/xml/ws/Service.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/jbossws-api/src/java/javax/xml/ws/ServiceMode.java
===================================================================
--- trunk/jbossws-api/src/java/javax/xml/ws/ServiceMode.java (rev 0)
+++ trunk/jbossws-api/src/java/javax/xml/ws/ServiceMode.java 2007-04-23 06:12:12 UTC (rev 2897)
@@ -0,0 +1,51 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package javax.xml.ws;
+
+// $Id$
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Inherited;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+/**
+ * Used to indicate whether a Provider implementation wishes to work
+ * with entire protocol messages or just with protocol message payloads.
+ *
+ * @since JAX-WS 2.0
+ **/
+@Target( { ElementType.TYPE })
+(a)Retention(RetentionPolicy.RUNTIME)
+@Inherited
+@Documented
+public @interface ServiceMode {
+ /**
+ * Service mode. PAYLOAD indicates that the Provider implementation
+ * wishes to work with protocol message payloads only. MESSAGE indicates
+ * that the Provider implementation wishes to work with entire protocol
+ * messages.
+ **/
+ public Service.Mode value() default Service.Mode.PAYLOAD;
+}
Property changes on: trunk/jbossws-api/src/java/javax/xml/ws/ServiceMode.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/jbossws-api/src/java/javax/xml/ws/WebEndpoint.java
===================================================================
--- trunk/jbossws-api/src/java/javax/xml/ws/WebEndpoint.java (rev 0)
+++ trunk/jbossws-api/src/java/javax/xml/ws/WebEndpoint.java 2007-04-23 06:12:12 UTC (rev 2897)
@@ -0,0 +1,54 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package javax.xml.ws;
+
+// $Id$
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+/**
+ * Used to annotate the <code>get<em>PortName</em>()</code>
+ * methods of a generated service interface.
+ *
+ * <p>The information specified in this annotation is sufficient
+ * to uniquely identify a <code>wsdl:port</code> element
+ * inside a <code>wsdl:service</code>. The latter is
+ * determined based on the value of the <code>WebServiceClient</code>
+ * annotation on the generated service interface itself.
+ *
+ * @since JAX-WS 2.0
+ *
+ * @see javax.xml.ws.WebServiceClient
+ **/
+@Target( { ElementType.METHOD })
+(a)Retention(RetentionPolicy.RUNTIME)
+@Documented
+public @interface WebEndpoint {
+ /**
+ * The local name of the endpoint.
+ **/
+ String name() default "";
+}
Property changes on: trunk/jbossws-api/src/java/javax/xml/ws/WebEndpoint.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/jbossws-api/src/java/javax/xml/ws/WebFault.java
===================================================================
--- trunk/jbossws-api/src/java/javax/xml/ws/WebFault.java (rev 0)
+++ trunk/jbossws-api/src/java/javax/xml/ws/WebFault.java 2007-04-23 06:12:12 UTC (rev 2897)
@@ -0,0 +1,57 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package javax.xml.ws;
+
+// $Id$
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+/**
+ * Used to annotate service specific exception classes to customize
+ * to the local and namespace name of the fault element and the name
+ * of the fault bean.
+ *
+ * @since JAX-WS 2.0
+ **/
+@Target( { ElementType.TYPE })
+(a)Retention(RetentionPolicy.RUNTIME)
+@Documented
+public @interface WebFault {
+ /**
+ * Elements local name.
+ **/
+ public String name() default "";
+
+ /**
+ * Elements namespace name.
+ **/
+ public String targetNamespace() default "";
+
+ /**
+ * Fault bean name.
+ **/
+ public String faultBean() default "";
+}
Property changes on: trunk/jbossws-api/src/java/javax/xml/ws/WebFault.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/jbossws-api/src/java/javax/xml/ws/WebServiceClient.java
===================================================================
--- trunk/jbossws-api/src/java/javax/xml/ws/WebServiceClient.java (rev 0)
+++ trunk/jbossws-api/src/java/javax/xml/ws/WebServiceClient.java 2007-04-23 06:12:12 UTC (rev 2897)
@@ -0,0 +1,61 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package javax.xml.ws;
+
+// $Id$
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+/**
+ * Used to annotate a generated service interface.
+ *
+ * <p>The information specified in this annotation is sufficient
+ * to uniquely identify a <code>wsdl:service</code>
+ * element inside a WSDL document. This <code>wsdl:service</code>
+ * element represents the Web service for which the generated
+ * service interface provides a client view.
+ *
+ * @since JAX-WS 2.0
+ **/
+@Target( { ElementType.TYPE })
+(a)Retention(RetentionPolicy.RUNTIME)
+@Documented
+public @interface WebServiceClient {
+ /**
+ * The local name of the Web service.
+ **/
+ String name() default "";
+
+ /**
+ * The namespace for the Web service.
+ **/
+ String targetNamespace() default "";
+
+ /**
+ * The location of the WSDL document for the service (a URL).
+ **/
+ String wsdlLocation() default "";
+}
Property changes on: trunk/jbossws-api/src/java/javax/xml/ws/WebServiceClient.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/jbossws-api/src/java/javax/xml/ws/WebServiceContext.java
===================================================================
--- trunk/jbossws-api/src/java/javax/xml/ws/WebServiceContext.java (rev 0)
+++ trunk/jbossws-api/src/java/javax/xml/ws/WebServiceContext.java 2007-04-23 06:12:12 UTC (rev 2897)
@@ -0,0 +1,173 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package javax.xml.ws;
+
+// $Id$
+
+import java.security.Principal;
+
+import javax.xml.ws.handler.MessageContext;
+import javax.xml.ws.wsaddressing.W3CEndpointReference;
+
+import org.w3c.dom.Element;
+
+/**
+ * A <code>WebServiceContext</code> makes it possible for
+ * a web service endpoint implementation class to access
+ * message context and security information relative to
+ * a request being served.
+ *
+ * Typically a <code>WebServiceContext</code> is injected
+ * into an endpoint implementation class using the
+ * <code>Resource</code> annotation.
+ *
+ * @since JAX-WS 2.0
+ *
+ * @see javax.annotation.Resource
+ **/
+public interface WebServiceContext
+{
+
+ /**
+ * Returns the MessageContext for the request being served
+ * at the time this method is called. Only properties with
+ * APPLICATION scope will be visible to the application.
+ *
+ * @return MessageContext The message context.
+ *
+ * @throws IllegalStateException This exception is thrown
+ * if the method is called while no request is
+ * being serviced.
+ *
+ * @see javax.xml.ws.handler.MessageContext
+ * @see javax.xml.ws.handler.MessageContext.Scope
+ * @see java.lang.IllegalStateException
+ **/
+ public MessageContext getMessageContext();
+
+ /**
+ * Returns the Principal that identifies the sender
+ * of the request currently being serviced. If the
+ * sender has not been authenticated, the method
+ * returns <code>null</code>.
+ *
+ * @return Principal The principal object.
+ *
+ * @throws IllegalStateException This exception is thrown
+ * if the method is called while no request is
+ * being serviced.
+ *
+ * @see java.security.Principal
+ * @see java.lang.IllegalStateException
+ **/
+ public Principal getUserPrincipal();
+
+ /**
+ * Returns a boolean indicating whether the
+ * authenticated user is included in the specified
+ * logical role. If the user has not been
+ * authenticated, the method returns </code>false</code>.
+ *
+ * @param role A <code>String</code> specifying the name of the role
+ *
+ * @return a <code>boolean</code> indicating whether
+ * the sender of the request belongs to a given role
+ *
+ * @throws IllegalStateException This exception is thrown
+ * if the method is called while no request is
+ * being serviced.
+ **/
+ public boolean isUserInRole(String role);
+
+ /**
+ * Returns the <code>WEndpointReference</code> for this
+ * endpoint.
+ * <p>
+ * If the Binding for this <code>bindingProvider</code> is
+ * either SOAP1.1/HTTP or SOAP1.2/HTTP, then a
+ * <code>W3CEndpointReference</code> MUST be returned.
+ * If the returned <code>EndpointReference</code> is a
+ * <code>W3CEndpointReference</code> it MUST contain
+ * the <code>wsaw:ServiceName</code> element and the
+ * <code>wsaw:EndpointName</code> attribute on the
+ * <code>wsaw:ServiceName</code>. It SHOULD contain
+ * the embedded WSDL in the <code>wsa:Metadata</code> element
+ * if there is an associated WSDL. The
+ * <code>wsaw:InterfaceName</code> MAY also be present.
+ * <br>
+ * See <a href="http://www.w3.org/TR/2006/CR-ws-addr-wsdl-20060529/">
+ * WS-Addressing - WSDL 1.0</a>.
+ *
+ * @param referenceParameters Reference parameters to be associated with the
+ * returned <code>EndpointReference</code> instance.
+ * @return EndpointReference of the endpoint associated with this
+ * <code>WebServiceContext</code>.
+ * If the returned <code>EndpointReference</code> is of type
+ * <code>W3CEndpointReference</code> then it MUST contain the
+ * the specified <code>referenceParameters</code>.
+ *
+ * @throws IllegalStateException This exception is thrown
+ * if the method is called while no request is
+ * being serviced.
+ *
+ * @see W3CEndpointReference
+ *
+ * @since JAX-WS 2.1
+ */
+ public EndpointReference getEndpointReference(Element... referenceParameters);
+
+ /**
+ * Returns the <code>EndpointReference</code> associated with
+ * this endpoint.
+ * <p>
+ * If the returned <code>EndpointReference</code> is a
+ * <code>W3CEndpointReference</code> it MUST contain
+ * the <code>wsaw:ServiceName</code> element and the
+ * <code>wsaw:EndpointName</code> attribute on the
+ * <code>wsaw:ServiceName</code>. It SHOULD contain
+ * the embedded WSDL in the <code>wsa:Metadata</code> element
+ * if there is an associated WSDL. The
+ * <code>wsaw:InterfaceName</code> MAY also be present.
+ * <br>
+ * See <a href="http://www.w3.org/TR/2006/CR-ws-addr-wsdl-20060529/">
+ * WS-Addressing - WSDL 1.0</a>.
+ *
+ * @param clazz The type of <code>EndpointReference</code> that
+ * MUST be returned.
+ * @param referenceParameters Reference parameters to be associated with the
+ * returned <code>EndpointReference</code> instance.
+ * @return EndpointReference of type <code>clazz</code> of the endpoint
+ * associated with this <code>WebServiceContext</code> instance.
+ * If the returned <code>EndpointReference</code> is of type
+ * <code>W3CEndpointReference</code> then it MUST contain the
+ * the specified <code>referenceParameters</code>.
+ *
+ * @throws IllegalStateException This exception is thrown
+ * if the method is called while no request is
+ * being serviced.
+ * @throws WebServiceException If the <code>clazz</code> type of
+ * <code>EndpointReference</code> is not supported.
+ *
+ * @since JAX-WS 2.1
+ **/
+ public abstract <T extends EndpointReference> T getEndpointReference(Class<T> clazz, Element... referenceParameters);
+}
Property changes on: trunk/jbossws-api/src/java/javax/xml/ws/WebServiceContext.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/jbossws-api/src/java/javax/xml/ws/WebServiceException.java
===================================================================
--- trunk/jbossws-api/src/java/javax/xml/ws/WebServiceException.java (rev 0)
+++ trunk/jbossws-api/src/java/javax/xml/ws/WebServiceException.java 2007-04-23 06:12:12 UTC (rev 2897)
@@ -0,0 +1,82 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package javax.xml.ws;
+
+// $Id$
+
+/** The <code>WebServiceException</code> class is the base
+ * exception class for all JAX-WS API runtime exceptions.
+ *
+ * @since JAX-WS 2.0
+ **/
+
+public class WebServiceException extends java.lang.RuntimeException
+{
+
+ /** Constructs a new exception with <code>null</code> as its
+ * detail message. The cause is not initialized.
+ **/
+ public WebServiceException()
+ {
+ super();
+ }
+
+ /** Constructs a new exception with the specified detail
+ * message. The cause is not initialized.
+ * @param message The detail message which is later
+ * retrieved using the getMessage method
+ **/
+ public WebServiceException(String message)
+ {
+ super(message);
+ }
+
+ /** Constructs a new exception with the specified detail
+ * message and cause.
+ *
+ * @param message The detail message which is later retrieved
+ * using the getMessage method
+ * @param cause The cause which is saved for the later
+ * retrieval throw by the getCause method
+ **/
+ public WebServiceException(String message, Throwable cause)
+ {
+ super(message, cause);
+ }
+
+ /** Constructs a new WebServiceException with the specified cause
+ * and a detail message of <tt>(cause==null ? null :
+ * cause.toString())</tt> (which typically contains the
+ * class and detail message of <tt>cause</tt>).
+ *
+ * @param cause The cause which is saved for the later
+ * retrieval throw by the getCause method.
+ * (A <tt>null</tt> value is permitted, and
+ * indicates that the cause is nonexistent or
+ * unknown.)
+ **/
+ public WebServiceException(Throwable cause)
+ {
+ super(cause);
+ }
+
+}
Property changes on: trunk/jbossws-api/src/java/javax/xml/ws/WebServiceException.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/jbossws-api/src/java/javax/xml/ws/WebServiceFeature.java
===================================================================
--- trunk/jbossws-api/src/java/javax/xml/ws/WebServiceFeature.java (rev 0)
+++ trunk/jbossws-api/src/java/javax/xml/ws/WebServiceFeature.java 2007-04-23 06:12:12 UTC (rev 2897)
@@ -0,0 +1,79 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package javax.xml.ws;
+
+// $Id$
+
+/**
+ * A WebServiceFeature is used to represent a feature that can be
+ * enabled or disabled for a web service.
+ * <p>
+ * The JAX-WS specification will define some standard features and
+ * JAX-WS implementors are free to define additional features if
+ * necessary. Vendor specific features may not be portable so
+ * caution should be used when using them. Each Feature definition
+ * MUST define a <code>public static final String ID</code>
+ * that can be used in the Feature annotation to refer
+ * to the feature. This ID MUST be unique across all features
+ * of all vendors. When defining a vendor specific feature ID,
+ * use a vendor specific namespace in the ID string.
+ *
+ * @see javax.xml.ws.RespectBindingFeature
+ * @see javax.xml.ws.soap.AddressingFeature
+ * @see javax.xml.ws.soap.MTOMFeature
+ *
+ * @since 2.1
+ */
+public abstract class WebServiceFeature
+{
+ /**
+ * Each Feature definition MUST define a public static final
+ * String ID that can be used in the Feature annotation to refer
+ * to the feature.
+ */
+ // public static final String ID = "some unique feature Identifier";
+ /**
+ * Get the unique identifier for this WebServiceFeature.
+ *
+ * @return the unique identifier for this feature.
+ */
+ public abstract String getID();
+
+ /**
+ * Specifies if the feature is enabled or disabled
+ */
+ protected boolean enabled = false;
+
+ protected WebServiceFeature()
+ {
+ }
+
+ /**
+ * Returns <code>true</code> if this feature is enabled.
+ *
+ * @return <code>true</code> if and only if the feature is enabled .
+ */
+ public boolean isEnabled()
+ {
+ return enabled;
+ }
+}
Property changes on: trunk/jbossws-api/src/java/javax/xml/ws/WebServiceFeature.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/jbossws-api/src/java/javax/xml/ws/WebServicePermission.java
===================================================================
--- trunk/jbossws-api/src/java/javax/xml/ws/WebServicePermission.java (rev 0)
+++ trunk/jbossws-api/src/java/javax/xml/ws/WebServicePermission.java 2007-04-23 06:12:12 UTC (rev 2897)
@@ -0,0 +1,80 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package javax.xml.ws;
+
+// $Id$
+
+import java.security.BasicPermission;
+
+/**
+ * This class defines web service permissions.
+ * <p>
+ * Web service Permissions are identified by name (also referred to as
+ * a "target name") alone. There are no actions associated
+ * with them.
+ * <p>
+ * The following permission target name is defined:
+ * <p>
+ * <dl>
+ * <dt>publishEndpoint
+ * </dl>
+ * <p>
+ * The <code>publishEndpoint</code> permission allows publishing a
+ * web service endpoint using the <code>publish</code> methods
+ * defined by the <code>javax.xml.ws.Endpoint</code> class.
+ *
+ * @see javax.xml.ws.Endpoint
+ * @see java.security.BasicPermission
+ * @see java.security.Permission
+ * @see java.security.Permissions
+ * @see java.lang.SecurityManager
+ */
+public final class WebServicePermission extends BasicPermission
+{
+
+ private static final long serialVersionUID = -146474640053770988L;
+
+ /**
+ * Creates a new permission with the specified name.
+ *
+ * @param name the name of the <code>WebServicePermission</code>
+ */
+ public WebServicePermission(String name)
+ {
+ super(name);
+ }
+
+ /**
+ * Creates a new permission with the specified name and actions.
+ *
+ * The <code>actions</code> parameter is currently unused and
+ * it should be <code>null</code>.
+ *
+ * @param name the name of the <code>WebServicePermission</code>
+ * @param actions should be <code>null</code>
+ */
+ public WebServicePermission(String name, String actions)
+ {
+ super(name, actions);
+ }
+
+}
Property changes on: trunk/jbossws-api/src/java/javax/xml/ws/WebServicePermission.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/jbossws-api/src/java/javax/xml/ws/WebServiceProvider.java
===================================================================
--- trunk/jbossws-api/src/java/javax/xml/ws/WebServiceProvider.java (rev 0)
+++ trunk/jbossws-api/src/java/javax/xml/ws/WebServiceProvider.java 2007-04-23 06:12:12 UTC (rev 2897)
@@ -0,0 +1,61 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package javax.xml.ws;
+
+// $Id$
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+/**
+ * Used to annotate a Provider implementation class.
+ *
+ * @since JAX-WS 2.0
+ * @see javax.xml.ws.Provider
+ */
+(a)Target(ElementType.TYPE)
+(a)Retention(RetentionPolicy.RUNTIME)
+@Documented
+public @interface WebServiceProvider {
+ /**
+ * Location of the WSDL description for the service.
+ */
+ String wsdlLocation() default "";
+
+ /**
+ * Service name.
+ */
+ String serviceName() default "";
+
+ /**
+ * Target namespace for the service
+ */
+ String targetNamespace() default "";
+
+ /**
+ * Port name.
+ */
+ String portName() default "";
+}
Property changes on: trunk/jbossws-api/src/java/javax/xml/ws/WebServiceProvider.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/jbossws-api/src/java/javax/xml/ws/WebServiceRef.java
===================================================================
--- trunk/jbossws-api/src/java/javax/xml/ws/WebServiceRef.java (rev 0)
+++ trunk/jbossws-api/src/java/javax/xml/ws/WebServiceRef.java 2007-04-23 06:12:12 UTC (rev 2897)
@@ -0,0 +1,97 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package javax.xml.ws;
+
+// $Id$
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+/**
+ * The <code>WebServiceRef</code> annotation is used to
+ * define a reference to a web service and
+ * (optionally) an injection target for it.
+ *
+ * Web service references are resources in the Java EE 5 sense.
+ *
+ * @see javax.annotation.Resource
+ *
+ * @since JAX-WS 2.0
+ *
+ **/
+
+@Target( { ElementType.TYPE, ElementType.METHOD, ElementType.FIELD })
+(a)Retention(RetentionPolicy.RUNTIME)
+@Documented
+public @interface WebServiceRef {
+ /**
+ * The JNDI name of the resource. For field annotations,
+ * the default is the field name. For method annotations,
+ * the default is the JavaBeans property name corresponding
+ * to the method. For class annotations, there is no default
+ * and this MUST be specified.
+ */
+ String name() default "";
+
+ /**
+ * The Java type of the resource. For field annotations,
+ * the default is the type of the field. For method annotations,
+ * the default is the type of the JavaBeans property.
+ * For class annotations, there is no default and this MUST be
+ * specified.
+ */
+ Class type() default Object.class;
+
+ /**
+ * A product specific name that this resource should be mapped to.
+ * The name of this resource, as defined by the <code>name</code>
+ * element or defaulted, is a name that is local to the application
+ * component using the resource. (It's a name in the JNDI
+ * <code>java:comp/env</code> namespace.) Many application servers
+ * provide a way to map these local names to names of resources
+ * known to the application server. This mapped name is often a
+ * <i>global</i> JNDI name, but may be a name of any form. <p>
+ *
+ * Application servers are not required to support any particular
+ * form or type of mapped name, nor the ability to use mapped names.
+ * The mapped name is product-dependent and often installation-dependent.
+ * No use of a mapped name is portable.
+ */
+ String mappedName() default "";
+
+ /**
+ * The service class, always a type extending
+ * <code>javax.xml.ws.Service</code>. This element MUST be specified
+ * whenever the type of the reference is a service endpoint interface.
+ */
+ Class value() default Object.class;
+
+ /**
+ * A URL pointing to the WSDL document for the web service.
+ * If not specified, the WSDL location specified by annotations
+ * on the resource type is used instead.
+ */
+ String wsdlLocation() default "";
+}
Property changes on: trunk/jbossws-api/src/java/javax/xml/ws/WebServiceRef.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/jbossws-api/src/java/javax/xml/ws/WebServiceRefs.java
===================================================================
--- trunk/jbossws-api/src/java/javax/xml/ws/WebServiceRefs.java (rev 0)
+++ trunk/jbossws-api/src/java/javax/xml/ws/WebServiceRefs.java 2007-04-23 06:12:12 UTC (rev 2897)
@@ -0,0 +1,50 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package javax.xml.ws;
+
+// $Id$
+
+import static java.lang.annotation.ElementType.TYPE;
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+
+/**
+ * The <code>WebServiceRefs</code> annotation allows
+ * multiple web service references to be declared at the
+ * class level.
+ *
+ * @see javax.xml.ws.WebServiceRef
+ * @since 2.0
+ */
+
+@Documented
+@Retention(RUNTIME)
+@Target(TYPE)
+public @interface WebServiceRefs {
+ /**
+ * Array used for multiple web service reference declarations.
+ */
+ WebServiceRef[] value();
+}
Property changes on: trunk/jbossws-api/src/java/javax/xml/ws/WebServiceRefs.java
___________________________________________________________________
Name: svn:executable
+ *
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/jbossws-api/src/java/javax/xml/ws/addressing/Action.java
===================================================================
--- trunk/jbossws-api/src/java/javax/xml/ws/addressing/Action.java (rev 0)
+++ trunk/jbossws-api/src/java/javax/xml/ws/addressing/Action.java 2007-04-23 06:12:12 UTC (rev 2897)
@@ -0,0 +1,43 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package javax.xml.ws.addressing;
+
+//$Id$
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+@Documented
+(a)Retention(RetentionPolicy.RUNTIME)
+(a)Target(ElementType.METHOD)
+public @interface Action
+{
+
+ String input() default "##default";
+
+ String output() default "##default";
+
+ String[] fault() default "##default";
+}
Property changes on: trunk/jbossws-api/src/java/javax/xml/ws/addressing/Action.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/jbossws-api/src/java/javax/xml/ws/addressing/ActionNotSupportedException.java
===================================================================
--- trunk/jbossws-api/src/java/javax/xml/ws/addressing/ActionNotSupportedException.java (rev 0)
+++ trunk/jbossws-api/src/java/javax/xml/ws/addressing/ActionNotSupportedException.java 2007-04-23 06:12:12 UTC (rev 2897)
@@ -0,0 +1,58 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package javax.xml.ws.addressing;
+
+//$Id$
+
+import javax.xml.namespace.QName;
+
+public class ActionNotSupportedException extends AddressingException
+{
+
+ static
+ {
+ fMessage = ac.getActionNotSupportedText();
+ }
+
+ private String action;
+
+ protected ActionNotSupportedException()
+ {
+ super();
+ }
+
+ public ActionNotSupportedException(String action)
+ {
+ super(fMessage + ": " + action);
+ this.action = action;
+ }
+
+ public String getAction()
+ {
+ return action;
+ }
+
+ public QName getSubcode()
+ {
+ return ac.getActioNotSupportedQName();
+ }
+}
Property changes on: trunk/jbossws-api/src/java/javax/xml/ws/addressing/ActionNotSupportedException.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/jbossws-api/src/java/javax/xml/ws/addressing/AddressingBuilder.java
===================================================================
--- trunk/jbossws-api/src/java/javax/xml/ws/addressing/AddressingBuilder.java (rev 0)
+++ trunk/jbossws-api/src/java/javax/xml/ws/addressing/AddressingBuilder.java 2007-04-23 06:12:12 UTC (rev 2897)
@@ -0,0 +1,115 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package javax.xml.ws.addressing;
+
+//$Id$
+
+import static javax.xml.ws.addressing.JAXWSAConstants.ADDRESSING_BUILDER_PROPERTY;
+import static javax.xml.ws.addressing.JAXWSAConstants.DEFAULT_ADDRESSING_BUILDER;
+
+import java.net.URI;
+import java.net.URISyntaxException;
+
+import javax.xml.namespace.QName;
+
+import org.jboss.logging.Logger;
+
+public abstract class AddressingBuilder implements AddressingType
+{
+ // provide logging
+ private static Logger log = Logger.getLogger(AddressingBuilder.class);
+
+ protected AddressingBuilder()
+ {
+ }
+
+ public static AddressingBuilder getAddressingBuilder()
+ {
+ ClassLoader classLoader;
+ try
+ {
+ classLoader = Thread.currentThread().getContextClassLoader();
+ }
+ catch (Exception x)
+ {
+ throw new AddressingException(x.toString(), x);
+ }
+
+ String name = null;
+
+ // Use the system property first
+ try
+ {
+ name = System.getProperty(ADDRESSING_BUILDER_PROPERTY);
+ if (name != null)
+ {
+ return newInstance(name, classLoader);
+ }
+ }
+ catch (Exception e)
+ {
+ log.warn("Could not create and instance of " + name + " trying " + DEFAULT_ADDRESSING_BUILDER);
+ }
+
+ // default builder
+ return newInstance(DEFAULT_ADDRESSING_BUILDER, classLoader);
+ }
+
+ private static AddressingBuilder newInstance(String className, ClassLoader classLoader)
+ {
+ try
+ {
+ Class cls;
+ if (classLoader == null)
+ {
+ cls = Class.forName(className);
+ }
+ else
+ {
+ cls = classLoader.loadClass(className);
+ }
+ return (AddressingBuilder)cls.newInstance();
+ }
+ catch (ClassNotFoundException x)
+ {
+ throw new AddressingException("Provider " + className + " not found", x);
+ }
+ catch (Exception x)
+ {
+ throw new AddressingException("Provider " + className + " could not be instantiated: " + x, x);
+ }
+ }
+
+ public abstract AttributedURI newURI(URI uri);
+
+ public abstract AttributedURI newURI(String uri) throws URISyntaxException;
+
+ public abstract AttributedQName newQName(QName name);
+
+ public abstract Relationship newRelationship(URI uri);
+
+ public abstract EndpointReference newEndpointReference(URI uri);
+
+ public abstract AddressingProperties newAddressingProperties();
+
+ public abstract AddressingConstants newAddressingConstants();
+}
Property changes on: trunk/jbossws-api/src/java/javax/xml/ws/addressing/AddressingBuilder.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/jbossws-api/src/java/javax/xml/ws/addressing/AddressingConstants.java
===================================================================
--- trunk/jbossws-api/src/java/javax/xml/ws/addressing/AddressingConstants.java (rev 0)
+++ trunk/jbossws-api/src/java/javax/xml/ws/addressing/AddressingConstants.java 2007-04-23 06:12:12 UTC (rev 2897)
@@ -0,0 +1,96 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package javax.xml.ws.addressing;
+
+//$Id$
+
+import javax.xml.namespace.QName;
+
+public interface AddressingConstants
+{
+ String getNamespaceURI();
+
+ String getNamespacePrefix();
+
+ String getWSDLNamespaceURI();
+
+ String getWSDLNamespacePrefix();
+
+ QName getWSDLExtensibilityQName();
+
+ QName getWSDLActionQName();
+
+ String getAnonymousURI();
+
+ String getNoneURI();
+
+ QName getFromQName();
+
+ QName getToQName();
+
+ QName getReplyToQName();
+
+ QName getFaultToQName();
+
+ QName getActionQName();
+
+ QName getMessageIDQName();
+
+ QName getRelationshipReplyQName();
+
+ QName getRelatesToQName();
+
+ String getRelationshipTypeName();
+
+ // [TODO] Add this method
+ QName getReferenceParametersQName();
+
+ QName getMetadataQName();
+
+ QName getAddressQName();
+
+ String getPackageName();
+
+ String getIsReferenceParameterName();
+
+ QName getInvalidMapQName();
+
+ QName getMapRequiredQName();
+
+ QName getDestinationUnreachableQName();
+
+ QName getActioNotSupportedQName();
+
+ QName getEndpointUnavailableQName();
+
+ String getDefaultFaultAction();
+
+ String getActionNotSupportedText();
+
+ String getDestinationUnreachableText();
+
+ String getEndpointUnavailableText();
+
+ String getInvalidMapText();
+
+ String getMapRequiredText();
+}
Property changes on: trunk/jbossws-api/src/java/javax/xml/ws/addressing/AddressingConstants.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/jbossws-api/src/java/javax/xml/ws/addressing/AddressingException.java
===================================================================
--- trunk/jbossws-api/src/java/javax/xml/ws/addressing/AddressingException.java (rev 0)
+++ trunk/jbossws-api/src/java/javax/xml/ws/addressing/AddressingException.java 2007-04-23 06:12:12 UTC (rev 2897)
@@ -0,0 +1,89 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package javax.xml.ws.addressing;
+
+//$Id$
+
+import javax.xml.namespace.QName;
+import javax.xml.ws.WebServiceException;
+
+public class AddressingException extends WebServiceException
+{
+
+ protected QName code;
+
+ protected String reason;
+
+ protected Object detail;
+
+ protected static AddressingConstants ac = null;
+ protected static String fMessage = null;
+ static
+ {
+ ac = AddressingBuilder.getAddressingBuilder().newAddressingConstants();
+ }
+
+ public AddressingException()
+ {
+ }
+
+ public AddressingException(String message)
+ {
+ super(message);
+ }
+
+ public AddressingException(Throwable cause)
+ {
+ super(cause);
+ }
+
+ public AddressingException(String message, Throwable cause)
+ {
+ super(message, cause);
+ }
+
+ /**
+ * Returns the fault code.
+ *
+ * @return the fault code
+ */
+ public QName getCode()
+ {
+ return code;
+ }
+
+ public QName getSubcode()
+ {
+ return null;
+ }
+
+ public String getReason()
+ {
+ return reason;
+ }
+
+ public Object getDetail()
+ {
+ return detail;
+ }
+
+}
Property changes on: trunk/jbossws-api/src/java/javax/xml/ws/addressing/AddressingException.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/jbossws-api/src/java/javax/xml/ws/addressing/AddressingProperties.java
===================================================================
--- trunk/jbossws-api/src/java/javax/xml/ws/addressing/AddressingProperties.java (rev 0)
+++ trunk/jbossws-api/src/java/javax/xml/ws/addressing/AddressingProperties.java 2007-04-23 06:12:12 UTC (rev 2897)
@@ -0,0 +1,66 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package javax.xml.ws.addressing;
+
+//$Id$
+
+import java.util.Map;
+
+import javax.xml.namespace.QName;
+
+public interface AddressingProperties extends AddressingType, Map<QName, AddressingType>
+{
+
+ public AttributedURI getTo();
+
+ public void setTo(AttributedURI iri);
+
+ public AttributedURI getAction();
+
+ public void setAction(AttributedURI iri);
+
+ public AttributedURI getMessageID();
+
+ public void setMessageID(AttributedURI iri);
+
+ public Relationship[] getRelatesTo();
+
+ public void setRelatesTo(Relationship[] relationship);
+
+ public EndpointReference getReplyTo();
+
+ public void setReplyTo(EndpointReference ref);
+
+ public EndpointReference getFaultTo();
+
+ public void setFaultTo(EndpointReference ref);
+
+ public EndpointReference getFrom();
+
+ public void setFrom(EndpointReference ref);
+
+ public ReferenceParameters getReferenceParameters();
+
+ public void initializeAsDestination(EndpointReference ref);
+
+ public void initializeAsReply(AddressingProperties props, boolean isFault);
+}
Property changes on: trunk/jbossws-api/src/java/javax/xml/ws/addressing/AddressingProperties.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/jbossws-api/src/java/javax/xml/ws/addressing/AddressingType.java
===================================================================
--- trunk/jbossws-api/src/java/javax/xml/ws/addressing/AddressingType.java (rev 0)
+++ trunk/jbossws-api/src/java/javax/xml/ws/addressing/AddressingType.java 2007-04-23 06:12:12 UTC (rev 2897)
@@ -0,0 +1,29 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package javax.xml.ws.addressing;
+
+//$Id$
+
+public interface AddressingType
+{
+ public String getNamespaceURI();
+}
Property changes on: trunk/jbossws-api/src/java/javax/xml/ws/addressing/AddressingType.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/jbossws-api/src/java/javax/xml/ws/addressing/AttributeExtensible.java
===================================================================
--- trunk/jbossws-api/src/java/javax/xml/ws/addressing/AttributeExtensible.java (rev 0)
+++ trunk/jbossws-api/src/java/javax/xml/ws/addressing/AttributeExtensible.java 2007-04-23 06:12:12 UTC (rev 2897)
@@ -0,0 +1,36 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package javax.xml.ws.addressing;
+
+//$Id$
+
+import java.util.Map;
+
+import javax.xml.namespace.QName;
+
+public interface AttributeExtensible extends AddressingType
+{
+ public Map<QName, String> getAttributes();
+
+ public void addAttribute(QName name, String value) throws AddressingException;
+
+}
Property changes on: trunk/jbossws-api/src/java/javax/xml/ws/addressing/AttributeExtensible.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/jbossws-api/src/java/javax/xml/ws/addressing/AttributedQName.java
===================================================================
--- trunk/jbossws-api/src/java/javax/xml/ws/addressing/AttributedQName.java (rev 0)
+++ trunk/jbossws-api/src/java/javax/xml/ws/addressing/AttributedQName.java 2007-04-23 06:12:12 UTC (rev 2897)
@@ -0,0 +1,35 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package javax.xml.ws.addressing;
+
+//$Id$
+
+import javax.xml.namespace.QName;
+
+public interface AttributedQName extends AddressingType, AttributeExtensible
+{
+
+ public QName getQName();
+
+ public void addAttribute(QName name, String value);
+
+}
Property changes on: trunk/jbossws-api/src/java/javax/xml/ws/addressing/AttributedQName.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/jbossws-api/src/java/javax/xml/ws/addressing/AttributedURI.java
===================================================================
--- trunk/jbossws-api/src/java/javax/xml/ws/addressing/AttributedURI.java (rev 0)
+++ trunk/jbossws-api/src/java/javax/xml/ws/addressing/AttributedURI.java 2007-04-23 06:12:12 UTC (rev 2897)
@@ -0,0 +1,35 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package javax.xml.ws.addressing;
+
+//$Id$
+
+import java.net.URI;
+
+import javax.xml.namespace.QName;
+
+public interface AttributedURI extends AddressingType, AttributeExtensible
+{
+ public URI getURI();
+
+ public void addAttribute(QName name, String value);
+}
Property changes on: trunk/jbossws-api/src/java/javax/xml/ws/addressing/AttributedURI.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/jbossws-api/src/java/javax/xml/ws/addressing/DestinationUnreachableException.java
===================================================================
--- trunk/jbossws-api/src/java/javax/xml/ws/addressing/DestinationUnreachableException.java (rev 0)
+++ trunk/jbossws-api/src/java/javax/xml/ws/addressing/DestinationUnreachableException.java 2007-04-23 06:12:12 UTC (rev 2897)
@@ -0,0 +1,49 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package javax.xml.ws.addressing;
+
+//$Id$
+
+import javax.xml.namespace.QName;
+
+public class DestinationUnreachableException extends AddressingException
+{
+
+ static
+ {
+ fMessage = ac.getDestinationUnreachableText();
+ }
+
+ public DestinationUnreachableException()
+ {
+ }
+
+ public DestinationUnreachableException(String problemIRI)
+ {
+ super(fMessage + ": " + problemIRI);
+ }
+
+ public QName getSubcode()
+ {
+ return ac.getDestinationUnreachableQName();
+ }
+}
Property changes on: trunk/jbossws-api/src/java/javax/xml/ws/addressing/DestinationUnreachableException.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/jbossws-api/src/java/javax/xml/ws/addressing/ElementExtensible.java
===================================================================
--- trunk/jbossws-api/src/java/javax/xml/ws/addressing/ElementExtensible.java (rev 0)
+++ trunk/jbossws-api/src/java/javax/xml/ws/addressing/ElementExtensible.java 2007-04-23 06:12:12 UTC (rev 2897)
@@ -0,0 +1,36 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package javax.xml.ws.addressing;
+
+//$Id$
+
+import java.util.List;
+
+public interface ElementExtensible extends AddressingType
+{
+ public List<Object> getElements();
+
+ public void addElement(Object element);
+
+ public boolean removeElement(Object element);
+
+}
Property changes on: trunk/jbossws-api/src/java/javax/xml/ws/addressing/ElementExtensible.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/jbossws-api/src/java/javax/xml/ws/addressing/EndpointReference.java
===================================================================
--- trunk/jbossws-api/src/java/javax/xml/ws/addressing/EndpointReference.java (rev 0)
+++ trunk/jbossws-api/src/java/javax/xml/ws/addressing/EndpointReference.java 2007-04-23 06:12:12 UTC (rev 2897)
@@ -0,0 +1,34 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package javax.xml.ws.addressing;
+
+//$Id$
+
+public interface EndpointReference extends AddressingType, AttributeExtensible, ElementExtensible
+{
+ public AttributedURI getAddress();
+
+ public ReferenceParameters getReferenceParameters();
+
+ public Metadata getMetadata();
+
+}
Property changes on: trunk/jbossws-api/src/java/javax/xml/ws/addressing/EndpointReference.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/jbossws-api/src/java/javax/xml/ws/addressing/EndpointUnavailableException.java
===================================================================
--- trunk/jbossws-api/src/java/javax/xml/ws/addressing/EndpointUnavailableException.java (rev 0)
+++ trunk/jbossws-api/src/java/javax/xml/ws/addressing/EndpointUnavailableException.java 2007-04-23 06:12:12 UTC (rev 2897)
@@ -0,0 +1,49 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package javax.xml.ws.addressing;
+
+//$Id$
+
+import javax.xml.namespace.QName;
+
+public class EndpointUnavailableException extends AddressingException
+{
+
+ static
+ {
+ fMessage = ac.getEndpointUnavailableText();
+ }
+
+ public EndpointUnavailableException()
+ {
+ }
+
+ public EndpointUnavailableException(int retryAfter, String problemIRI)
+ {
+ super(fMessage + ": [retry=" + retryAfter + ",iri=" + problemIRI + "]");
+ }
+
+ public QName getSubcode()
+ {
+ return ac.getEndpointUnavailableQName();
+ }
+}
Property changes on: trunk/jbossws-api/src/java/javax/xml/ws/addressing/EndpointUnavailableException.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/jbossws-api/src/java/javax/xml/ws/addressing/FaultAction.java
===================================================================
--- trunk/jbossws-api/src/java/javax/xml/ws/addressing/FaultAction.java (rev 0)
+++ trunk/jbossws-api/src/java/javax/xml/ws/addressing/FaultAction.java 2007-04-23 06:12:12 UTC (rev 2897)
@@ -0,0 +1,41 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package javax.xml.ws.addressing;
+
+//$Id$
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+@Documented
+(a)Retention(RetentionPolicy.RUNTIME)
+(a)Target(ElementType.METHOD)
+public @interface FaultAction
+{
+
+ Class className();
+
+ String value() default "##default";
+}
Property changes on: trunk/jbossws-api/src/java/javax/xml/ws/addressing/FaultAction.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/jbossws-api/src/java/javax/xml/ws/addressing/InvalidMapException.java
===================================================================
--- trunk/jbossws-api/src/java/javax/xml/ws/addressing/InvalidMapException.java (rev 0)
+++ trunk/jbossws-api/src/java/javax/xml/ws/addressing/InvalidMapException.java 2007-04-23 06:12:12 UTC (rev 2897)
@@ -0,0 +1,49 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package javax.xml.ws.addressing;
+
+//$Id$
+
+import javax.xml.namespace.QName;
+
+public class InvalidMapException extends AddressingException
+{
+
+ static
+ {
+ fMessage = ac.getInvalidMapText();
+ }
+
+ protected InvalidMapException()
+ {
+ }
+
+ public InvalidMapException(QName name)
+ {
+ super(fMessage + ": " + name);
+ }
+
+ public QName getSubcode()
+ {
+ return ac.getInvalidMapQName();
+ }
+}
Property changes on: trunk/jbossws-api/src/java/javax/xml/ws/addressing/InvalidMapException.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/jbossws-api/src/java/javax/xml/ws/addressing/JAXWSAConstants.java
===================================================================
--- trunk/jbossws-api/src/java/javax/xml/ws/addressing/JAXWSAConstants.java (rev 0)
+++ trunk/jbossws-api/src/java/javax/xml/ws/addressing/JAXWSAConstants.java 2007-04-23 06:12:12 UTC (rev 2897)
@@ -0,0 +1,80 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package javax.xml.ws.addressing;
+
+//$Id$
+
+import javax.xml.namespace.QName;
+import javax.xml.soap.SOAPException;
+import javax.xml.soap.SOAPFactory;
+
+public class JAXWSAConstants
+{
+
+ private JAXWSAConstants()
+ {
+ }
+
+ public static final String ADDRESSING_BUILDER_PROPERTY = "javax.xml.ws.addressing.AddressingBuilder";
+
+ public static final String DEFAULT_ADDRESSING_BUILDER = "org.jboss.ws.extensions.addressing.soap.SOAPAddressingBuilderImpl";
+
+ public static final String SOAP11_NAMESPACE_NAME = "http://schemas.xmlsoap.org/soap/envelope/";
+
+ public static final String SOAP12_NAMESPACE_NAME = "http://www.w3.org/2003/05/soap-envelope";
+
+ public static final QName SOAP11_SENDER_QNAME = new QName(SOAP11_NAMESPACE_NAME, "Client");
+
+ public static final QName SOAP11_RECEIVER_QNAME = new QName(SOAP11_NAMESPACE_NAME, "Server");
+
+ public static final QName SOAP12_SENDER_QNAME = new QName(SOAP12_NAMESPACE_NAME, "Sender");
+
+ public static final QName SOAP12_RECEIVER_QNAME = new QName(SOAP12_NAMESPACE_NAME, "Receiver");
+
+ public static final String SOAP11HTTP_ADDRESSING_BINDING = "http://schemas.xmlsoap.org/wsdl/soap/http?addressing=1.0";
+
+ public static final String SOAP12HTTP_ADDRESSING_BINDING = "http://www.w3.org/2003/05/soap/bindings/HTTP/?addressing=1.0";
+
+ public static final String CLIENT_ADDRESSING_PROPERTIES = "javax.xml.ws.addressing.context";
+
+ public static final String CLIENT_ADDRESSING_PROPERTIES_INBOUND = "javax.xml.ws.addressing.context.inbound";
+
+ public static final String CLIENT_ADDRESSING_PROPERTIES_OUTBOUND = "javax.xml.ws.addressing.context.outbound";
+
+ public static final String SERVER_ADDRESSING_PROPERTIES_INBOUND = "javax.xml.ws.addressing.context.inbound";
+
+ public static final String SERVER_ADDRESSING_PROPERTIES_OUTBOUND = "javax.xml.ws.addressing.context.outbound";
+
+ public static SOAPFactory SOAP_FACTORY = null;
+
+ static
+ {
+ try
+ {
+ SOAP_FACTORY = SOAPFactory.newInstance();
+ }
+ catch (SOAPException e)
+ {
+ }
+ }
+
+}
Property changes on: trunk/jbossws-api/src/java/javax/xml/ws/addressing/JAXWSAConstants.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/jbossws-api/src/java/javax/xml/ws/addressing/MapRequiredException.java
===================================================================
--- trunk/jbossws-api/src/java/javax/xml/ws/addressing/MapRequiredException.java (rev 0)
+++ trunk/jbossws-api/src/java/javax/xml/ws/addressing/MapRequiredException.java 2007-04-23 06:12:12 UTC (rev 2897)
@@ -0,0 +1,49 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package javax.xml.ws.addressing;
+
+//$Id$
+
+import javax.xml.namespace.QName;
+
+public class MapRequiredException extends AddressingException
+{
+
+ static
+ {
+ fMessage = ac.getMapRequiredText();
+ }
+
+ public MapRequiredException()
+ {
+ }
+
+ public MapRequiredException(QName name)
+ {
+ super(fMessage + ": " + name);
+ }
+
+ public QName getSubcode()
+ {
+ return ac.getMapRequiredQName();
+ }
+}
Property changes on: trunk/jbossws-api/src/java/javax/xml/ws/addressing/MapRequiredException.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/jbossws-api/src/java/javax/xml/ws/addressing/Metadata.java
===================================================================
--- trunk/jbossws-api/src/java/javax/xml/ws/addressing/Metadata.java (rev 0)
+++ trunk/jbossws-api/src/java/javax/xml/ws/addressing/Metadata.java 2007-04-23 06:12:12 UTC (rev 2897)
@@ -0,0 +1,29 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package javax.xml.ws.addressing;
+
+//$Id$
+
+public interface Metadata extends AttributeExtensible, ElementExtensible
+{
+
+}
Property changes on: trunk/jbossws-api/src/java/javax/xml/ws/addressing/Metadata.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/jbossws-api/src/java/javax/xml/ws/addressing/ReferenceParameters.java
===================================================================
--- trunk/jbossws-api/src/java/javax/xml/ws/addressing/ReferenceParameters.java (rev 0)
+++ trunk/jbossws-api/src/java/javax/xml/ws/addressing/ReferenceParameters.java 2007-04-23 06:12:12 UTC (rev 2897)
@@ -0,0 +1,28 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package javax.xml.ws.addressing;
+
+//$Id$
+
+public interface ReferenceParameters extends AttributeExtensible, ElementExtensible
+{
+}
Property changes on: trunk/jbossws-api/src/java/javax/xml/ws/addressing/ReferenceParameters.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/jbossws-api/src/java/javax/xml/ws/addressing/Relationship.java
===================================================================
--- trunk/jbossws-api/src/java/javax/xml/ws/addressing/Relationship.java (rev 0)
+++ trunk/jbossws-api/src/java/javax/xml/ws/addressing/Relationship.java 2007-04-23 06:12:12 UTC (rev 2897)
@@ -0,0 +1,39 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package javax.xml.ws.addressing;
+
+//$Id$
+
+import java.net.URI;
+
+import javax.xml.namespace.QName;
+
+public interface Relationship extends AttributeExtensible
+{
+
+ public URI getID();
+
+ public QName getType();
+
+ public void setType(QName type);
+
+}
Property changes on: trunk/jbossws-api/src/java/javax/xml/ws/addressing/Relationship.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/jbossws-api/src/java/javax/xml/ws/addressing/soap/SOAPAddressingBuilder.java
===================================================================
--- trunk/jbossws-api/src/java/javax/xml/ws/addressing/soap/SOAPAddressingBuilder.java (rev 0)
+++ trunk/jbossws-api/src/java/javax/xml/ws/addressing/soap/SOAPAddressingBuilder.java 2007-04-23 06:12:12 UTC (rev 2897)
@@ -0,0 +1,30 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package javax.xml.ws.addressing.soap;
+
+//$Id$
+
+import javax.xml.ws.addressing.AddressingBuilder;
+
+public abstract class SOAPAddressingBuilder extends AddressingBuilder
+{
+}
Property changes on: trunk/jbossws-api/src/java/javax/xml/ws/addressing/soap/SOAPAddressingBuilder.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/jbossws-api/src/java/javax/xml/ws/addressing/soap/SOAPAddressingElement.java
===================================================================
--- trunk/jbossws-api/src/java/javax/xml/ws/addressing/soap/SOAPAddressingElement.java (rev 0)
+++ trunk/jbossws-api/src/java/javax/xml/ws/addressing/soap/SOAPAddressingElement.java 2007-04-23 06:12:12 UTC (rev 2897)
@@ -0,0 +1,38 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package javax.xml.ws.addressing.soap;
+
+//$Id$
+
+import javax.xml.namespace.QName;
+import javax.xml.soap.SOAPElement;
+import javax.xml.ws.addressing.AddressingException;
+import javax.xml.ws.addressing.AddressingType;
+
+public interface SOAPAddressingElement extends AddressingType
+{
+
+ public void read(SOAPElement element) throws AddressingException;
+
+ public SOAPElement write(SOAPElement parent, QName name) throws AddressingException;
+
+}
Property changes on: trunk/jbossws-api/src/java/javax/xml/ws/addressing/soap/SOAPAddressingElement.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/jbossws-api/src/java/javax/xml/ws/addressing/soap/SOAPAddressingProperties.java
===================================================================
--- trunk/jbossws-api/src/java/javax/xml/ws/addressing/soap/SOAPAddressingProperties.java (rev 0)
+++ trunk/jbossws-api/src/java/javax/xml/ws/addressing/soap/SOAPAddressingProperties.java 2007-04-23 06:12:12 UTC (rev 2897)
@@ -0,0 +1,38 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package javax.xml.ws.addressing.soap;
+
+//$Id$
+
+import javax.xml.soap.SOAPMessage;
+import javax.xml.ws.addressing.AddressingException;
+import javax.xml.ws.addressing.AddressingProperties;
+
+public interface SOAPAddressingProperties extends AddressingProperties
+{
+ public void readHeaders(SOAPMessage message) throws AddressingException;
+
+ public void writeHeaders(SOAPMessage message) throws AddressingException;
+
+ public void setMu(boolean mu);
+
+}
Property changes on: trunk/jbossws-api/src/java/javax/xml/ws/addressing/soap/SOAPAddressingProperties.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/jbossws-api/src/java/javax/xml/ws/handler/Handler.java
===================================================================
--- trunk/jbossws-api/src/java/javax/xml/ws/handler/Handler.java (rev 0)
+++ trunk/jbossws-api/src/java/javax/xml/ws/handler/Handler.java 2007-04-23 06:12:12 UTC (rev 2897)
@@ -0,0 +1,84 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package javax.xml.ws.handler;
+
+// $Id$
+
+import javax.xml.ws.ProtocolException;
+
+/** The <code>Handler</code> interface
+ * is the base interface for JAX-WS handlers.
+ *
+ * @since JAX-WS 2.0
+**/
+public interface Handler<C extends MessageContext> {
+
+ /** The <code>handleMessage</code> method is invoked for normal processing
+ * of inbound and outbound messages. Refer to the description of the handler
+ * framework in the JAX-WS specification for full details.
+ *
+ * @param context the message context.
+ * @return An indication of whether handler processing should continue for
+ * the current message
+ * <ul>
+ * <li>Return <code>true</code> to continue
+ * processing.</li>
+ * <li>Return <code>false</code> to block
+ * processing.</li>
+ * </ul>
+ * @throws RuntimeException Causes the JAX-WS runtime to cease
+ * handler processing and generate a fault.
+ * @throws ProtocolException Causes the JAX-WS runtime to switch to
+ * fault message processing.
+ **/
+ public boolean handleMessage(C context);
+
+ /** The <code>handleFault</code> method is invoked for fault message
+ * processing. Refer to the description of the handler
+ * framework in the JAX-WS specification for full details.
+ *
+ * @param context the message context
+ * @return An indication of whether handler fault processing should continue
+ * for the current message
+ * <ul>
+ * <li>Return <code>true</code> to continue
+ * processing.</li>
+ * <li>Return <code>false</code> to block
+ * processing.</li>
+ * </ul>
+ * @throws RuntimeException Causes the JAX-WS runtime to cease
+ * handler fault processing and dispatch the fault.
+ * @throws ProtocolException Causes the JAX-WS runtime to cease
+ * handler fault processing and dispatch the fault.
+ **/
+ public boolean handleFault(C context);
+
+ /**
+ * Called at the conclusion of a message exchange pattern just prior to
+ * the JAX-WS runtime disptaching a message, fault or exception. Refer to
+ * the description of the handler
+ * framework in the JAX-WS specification for full details.
+ *
+ * @param context the message context
+ **/
+ public void close(MessageContext context);
+}
Property changes on: trunk/jbossws-api/src/java/javax/xml/ws/handler/Handler.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/jbossws-api/src/java/javax/xml/ws/handler/HandlerResolver.java
===================================================================
--- trunk/jbossws-api/src/java/javax/xml/ws/handler/HandlerResolver.java (rev 0)
+++ trunk/jbossws-api/src/java/javax/xml/ws/handler/HandlerResolver.java 2007-04-23 06:12:12 UTC (rev 2897)
@@ -0,0 +1,51 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package javax.xml.ws.handler;
+
+// $Id$
+
+/**
+ * <code>HandlerResolver</code> is an interface implemented
+ * by an application to get control over the handler chain
+ * set on proxy/dispatch objects at the time of their creation.
+ * <p>
+ * A <code>HandlerResolver</code> may be set on a <code>Service</code>
+ * using the <code>setHandlerResolver</code> method.
+ * <p>
+ * When the runtime invokes a <code>HandlerResolver</code>, it will
+ * pass it a <code>PortInfo</code> object containing information
+ * about the port that the proxy/dispatch object will be accessing.
+ *
+ * @see javax.xml.ws.Service#setHandlerResolver
+ *
+ * @since JAX-WS 2.0
+**/
+public interface HandlerResolver {
+
+ /**
+ * Gets the handler chain for the specified port.
+ *
+ * @param portInfo Contains information about the port being accessed.
+ * @return java.util.List Handler chain
+ **/
+ public java.util.List<Handler> getHandlerChain(PortInfo portInfo);
+}
Property changes on: trunk/jbossws-api/src/java/javax/xml/ws/handler/HandlerResolver.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/jbossws-api/src/java/javax/xml/ws/handler/LogicalHandler.java
===================================================================
--- trunk/jbossws-api/src/java/javax/xml/ws/handler/LogicalHandler.java (rev 0)
+++ trunk/jbossws-api/src/java/javax/xml/ws/handler/LogicalHandler.java 2007-04-23 06:12:12 UTC (rev 2897)
@@ -0,0 +1,32 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package javax.xml.ws.handler;
+
+// $Id$
+
+/** The <code>LogicalHandler</code> extends
+ * Handler to provide typesafety for the message context parameter.
+ *
+ * @since JAX-WS 2.0
+**/
+public interface LogicalHandler<C extends LogicalMessageContext> extends Handler<C> {
+}
Property changes on: trunk/jbossws-api/src/java/javax/xml/ws/handler/LogicalHandler.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/jbossws-api/src/java/javax/xml/ws/handler/LogicalMessageContext.java
===================================================================
--- trunk/jbossws-api/src/java/javax/xml/ws/handler/LogicalMessageContext.java (rev 0)
+++ trunk/jbossws-api/src/java/javax/xml/ws/handler/LogicalMessageContext.java 2007-04-23 06:12:12 UTC (rev 2897)
@@ -0,0 +1,44 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package javax.xml.ws.handler;
+
+// $Id$
+
+import javax.xml.ws.LogicalMessage;
+
+/** The <code>LogicalMessageContext</code> interface extends
+ * <code>MessageContext</code> to
+ * provide access to a the contained message as a protocol neutral
+ * LogicalMessage
+ *
+ * @since JAX-WS 2.0
+**/
+public interface LogicalMessageContext
+ extends MessageContext {
+
+ /** Gets the message from this message context
+ *
+ * @return The contained message; returns null if no
+ * message is present in this message context
+ **/
+ public LogicalMessage getMessage();
+}
Property changes on: trunk/jbossws-api/src/java/javax/xml/ws/handler/LogicalMessageContext.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/jbossws-api/src/java/javax/xml/ws/handler/MessageContext.java
===================================================================
--- trunk/jbossws-api/src/java/javax/xml/ws/handler/MessageContext.java (rev 0)
+++ trunk/jbossws-api/src/java/javax/xml/ws/handler/MessageContext.java 2007-04-23 06:12:12 UTC (rev 2897)
@@ -0,0 +1,190 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package javax.xml.ws.handler;
+
+// $Id$
+
+import java.util.Map;
+
+/**
+ * The interface <code>MessageContext</code> abstracts the message
+ * context that is processed by a handler in the <code>handle</code>
+ * method.
+ *
+ * <p>The <code>MessageContext</code> interface provides methods to
+ * manage a property set. <code>MessageContext</code> properties
+ * enable handlers in a handler chain to share processing related
+ * state.
+ *
+ * @since JAX-WS 2.0
+ */
+public interface MessageContext extends Map<String, Object>
+{
+
+ /**
+ * Standard property: message direction, <code>true</code> for
+ * outbound messages, <code>false</code> for inbound.
+ * <p>Type: boolean
+ */
+ public static final String MESSAGE_OUTBOUND_PROPERTY = "javax.xml.ws.handler.message.outbound";
+
+ /**
+ * Standard property: Map of attachments to a message for the inbound
+ * message, key is the MIME Content-ID, value is a DataHandler.
+ * <p>Type: java.util.Map<String,DataHandler>
+ */
+ public static final String INBOUND_MESSAGE_ATTACHMENTS = "javax.xml.ws.binding.attachments.inbound";
+
+ /**
+ * Standard property: Map of attachments to a message for the outbound
+ * message, key is the MIME Content-ID, value is a DataHandler.
+ * <p>Type: java.util.Map<String,DataHandler>
+ */
+ public static final String OUTBOUND_MESSAGE_ATTACHMENTS = "javax.xml.ws.binding.attachments.outbound";
+
+ /**
+ * Standard property: input source for WSDL document.
+ * <p>Type: org.xml.sax.InputSource
+ */
+ public static final String WSDL_DESCRIPTION = "javax.xml.ws.wsdl.description";
+
+ /**
+ * Standard property: name of WSDL service.
+ * <p>Type: javax.xml.namespace.QName
+ */
+ public static final String WSDL_SERVICE = "javax.xml.ws.wsdl.service";
+
+ /**
+ * Standard property: name of WSDL port.
+ * <p>Type: javax.xml.namespace.QName
+ */
+ public static final String WSDL_PORT = "javax.xml.ws.wsdl.port";
+
+ /**
+ * Standard property: name of wsdl interface (2.0) or port type (1.1).
+ * <p>Type: javax.xml.namespace.QName
+ */
+ public static final String WSDL_INTERFACE = "javax.xml.ws.wsdl.interface";
+
+ /**
+ * Standard property: name of WSDL operation.
+ * <p>Type: javax.xml.namespace.QName
+ */
+ public static final String WSDL_OPERATION = "javax.xml.ws.wsdl.operation";
+
+ /**
+ * Standard property: HTTP response status code.
+ * <p>Type: java.lang.Integer
+ */
+ public static final String HTTP_RESPONSE_CODE = "javax.xml.ws.http.response.code";
+
+ /**
+ * Standard property: HTTP request headers.
+ * <p>Type: java.util.Map<java.lang.String, java.util.List<java.lang.String>>
+ */
+ public static final String HTTP_REQUEST_HEADERS = "javax.xml.ws.http.request.headers";
+
+ /**
+ * Standard property: HTTP response headers.
+ * <p>Type: java.util.Map<java.lang.String, java.util.List<java.lang.String>>
+ */
+ public static final String HTTP_RESPONSE_HEADERS = "javax.xml.ws.http.response.headers";
+
+ /**
+ * Standard property: HTTP request method.
+ * <p>Type: java.lang.String
+ */
+ public static final String HTTP_REQUEST_METHOD = "javax.xml.ws.http.request.method";
+
+ /**
+ * Standard property: servlet request object.
+ * <p>Type: javax.servlet.http.HttpServletRequest
+ */
+ public static final String SERVLET_REQUEST = "javax.xml.ws.servlet.request";
+
+ /**
+ * Standard property: servlet response object.
+ * <p>Type: javax.servlet.http.HttpServletResponse
+ */
+ public static final String SERVLET_RESPONSE = "javax.xml.ws.servlet.response";
+
+ /**
+ * Standard property: servlet context object.
+ * <p>Type: javax.servlet.ServletContext
+ */
+ public static final String SERVLET_CONTEXT = "javax.xml.ws.servlet.context";
+
+ /**
+ * Standard property: Query string for request.
+ * <p>Type: String
+ **/
+ public static final String QUERY_STRING = "javax.xml.ws.http.request.querystring";
+
+ /**
+ * Standard property: Request Path Info
+ * <p>Type: String
+ */
+ public static final String PATH_INFO = "javax.xml.ws.http.request.pathinfo";
+
+ /**
+ * Standard property: WS Addressing Reference Parameters.
+ * The list MUST include all SOAP headers marked with the
+ * wsa:IsReferenceParameter="true" attribute.
+ * <p>Type: List<Element>
+ *
+ * @since JAX-WS 2.1
+ */
+ public static final String REFERENCE_PARAMETERS = "javax.xml.ws.reference.parameters";
+
+ /**
+ * Property scope. Properties scoped as <code>APPLICATION</code> are
+ * visible to handlers,
+ * client applications and service endpoints; properties scoped as
+ * <code>HANDLER</code>
+ * are only normally visible to handlers.
+ */
+ public enum Scope
+ {
+ APPLICATION, HANDLER
+ };
+
+ /**
+ * Sets the scope of a property.
+ *
+ * @param name Name of the property associated with the
+ * <code>MessageContext</code>
+ * @param scope Desired scope of the property
+ * @throws java.lang.IllegalArgumentException if an illegal
+ * property name is specified
+ */
+ public void setScope(String name, Scope scope);
+
+ /**
+ * Gets the scope of a property.
+ *
+ * @param name Name of the property
+ * @return Scope of the property
+ * @throws java.lang.IllegalArgumentException if a non-existant
+ * property name is specified
+ */
+ public Scope getScope(String name);
+}
Property changes on: trunk/jbossws-api/src/java/javax/xml/ws/handler/MessageContext.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/jbossws-api/src/java/javax/xml/ws/handler/PortInfo.java
===================================================================
--- trunk/jbossws-api/src/java/javax/xml/ws/handler/PortInfo.java (rev 0)
+++ trunk/jbossws-api/src/java/javax/xml/ws/handler/PortInfo.java 2007-04-23 06:12:12 UTC (rev 2897)
@@ -0,0 +1,64 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package javax.xml.ws.handler;
+
+// $Id$
+
+import javax.xml.namespace.QName;
+
+/**
+ * The <code>PortInfo</code> interface is used by a
+ * <code>HandlerResolver</code> to query information about
+ * the port it is being asked to create a handler chain for.
+ * <p>
+ * This interface is never implemented by an application,
+ * only by a JAX-WS implementation.
+ *
+ * @since JAX-WS 2.0
+**/
+public interface PortInfo {
+
+ /**
+ * Gets the qualified name of the WSDL service name containing
+ * the port being accessed.
+ *
+ * @return javax.xml.namespace.QName The qualified name of the WSDL service.
+ **/
+ public QName getServiceName();
+
+ /**
+ * Gets the qualified name of the WSDL port being accessed.
+ *
+ * @return javax.xml.namespace.QName The qualified name of the WSDL port.
+ **/
+ public QName getPortName();
+
+ /**
+ * Gets the URI identifying the binding used by the port being accessed.
+ *
+ * @return String The binding identifier for the port.
+ *
+ * @see javax.xml.ws.Binding
+ **/
+ public String getBindingID();
+
+}
Property changes on: trunk/jbossws-api/src/java/javax/xml/ws/handler/PortInfo.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/jbossws-api/src/java/javax/xml/ws/handler/soap/SOAPHandler.java
===================================================================
--- trunk/jbossws-api/src/java/javax/xml/ws/handler/soap/SOAPHandler.java (rev 0)
+++ trunk/jbossws-api/src/java/javax/xml/ws/handler/soap/SOAPHandler.java 2007-04-23 06:12:12 UTC (rev 2897)
@@ -0,0 +1,48 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package javax.xml.ws.handler.soap;
+
+// $Id$
+
+import java.util.Set;
+
+import javax.xml.namespace.QName;
+import javax.xml.ws.handler.Handler;
+
+/** The <code>SOAPHandler</code> class extends <code>Handler</code>
+ * to provide typesafety for the message context parameter and add a method
+ * to obtain access to the headers that may be processed by the handler.
+ *
+ * @since JAX-WS 2.0
+**/
+public interface SOAPHandler<T extends SOAPMessageContext>
+ extends Handler<T> {
+
+ /** Gets the header blocks that can be processed by this Handler
+ * instance.
+ *
+ * @return Set of QNames of header blocks processed by this
+ * handler instance. <code>QName</code> is the qualified
+ * name of the outermost element of the Header block.
+ **/
+ Set<QName> getHeaders();
+}
Property changes on: trunk/jbossws-api/src/java/javax/xml/ws/handler/soap/SOAPHandler.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/jbossws-api/src/java/javax/xml/ws/handler/soap/SOAPMessageContext.java
===================================================================
--- trunk/jbossws-api/src/java/javax/xml/ws/handler/soap/SOAPMessageContext.java (rev 0)
+++ trunk/jbossws-api/src/java/javax/xml/ws/handler/soap/SOAPMessageContext.java 2007-04-23 06:12:12 UTC (rev 2897)
@@ -0,0 +1,99 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package javax.xml.ws.handler.soap;
+
+// $Id$
+
+import java.util.Set;
+
+import javax.xml.bind.JAXBContext;
+import javax.xml.namespace.QName;
+import javax.xml.soap.SOAPMessage;
+import javax.xml.ws.WebServiceException;
+
+/** The interface <code>SOAPMessageContext</code>
+ * provides access to the SOAP message for either RPC request or
+ * response. The <code>javax.xml.soap.SOAPMessage</code> specifies
+ * the standard Java API for the representation of a SOAP 1.1 message
+ * with attachments.
+ *
+ * @see javax.xml.soap.SOAPMessage
+ *
+ * @since JAX-WS 2.0
+**/
+public interface SOAPMessageContext
+ extends javax.xml.ws.handler.MessageContext {
+
+ /** Gets the SOAPMessage from this message context. Modifications
+ * to the returned SOAPMessage change the message in-place, there
+ * is no need to susequently call <code>setMessage</code>.
+ *
+ * @return Returns the SOAPMessage; returns null if no
+ * SOAPMessage is present in this message context
+ **/
+ public SOAPMessage getMessage();
+
+ /** Sets the SOAPMessage in this message context
+ *
+ * @param message SOAP message
+ * @throws WebServiceException If any error during the setting
+ * of the SOAPMessage in this message context
+ * @throws java.lang.UnsupportedOperationException If this
+ * operation is not supported
+ **/
+ public void setMessage(SOAPMessage message);
+
+ /** Gets headers that have a particular qualified name from the message in the
+ * message context. Note that a SOAP message can contain multiple headers
+ * with the same qualified name.
+ *
+ * @param header The XML qualified name of the SOAP header(s).
+ * @param context The JAXBContext that should be used to unmarshall the
+ * header
+ * @param allRoles If <code>true</code> then returns headers for all SOAP
+ * roles, if <code>false</code> then only returns headers targetted
+ * at the roles currently being played by this SOAP node, see
+ * <code>getRoles</code>.
+ * @return An array of unmarshalled headers; returns an empty array if no
+ * message is present in this message context or no headers match
+ * the supplied qualified name.
+ * @throws WebServiceException If an error occurs when using the supplied
+ * JAXBContext to unmarshall. The cause of
+ * the WebServiceException is the original JAXBException.
+ **/
+ public Object[] getHeaders(QName header, JAXBContext context,
+ boolean allRoles);
+
+ /** Gets the SOAP actor roles associated with an execution
+ * of the handler chain.
+ * Note that SOAP actor roles apply to the SOAP node and
+ * are managed using <code>SOAPBinding.setRoles</code> and
+ * <code>SOAPBinding.getRoles</code>. Handler instances in
+ * the handler chain use this information about the SOAP actor
+ * roles to process the SOAP header blocks. Note that the
+ * SOAP actor roles are invariant during the processing of
+ * SOAP message through the handler chain.
+ *
+ * @return Array of String for SOAP actor roles
+ **/
+ public Set<String> getRoles();
+}
Property changes on: trunk/jbossws-api/src/java/javax/xml/ws/handler/soap/SOAPMessageContext.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/jbossws-api/src/java/javax/xml/ws/http/HTTPBinding.java
===================================================================
--- trunk/jbossws-api/src/java/javax/xml/ws/http/HTTPBinding.java (rev 0)
+++ trunk/jbossws-api/src/java/javax/xml/ws/http/HTTPBinding.java 2007-04-23 06:12:12 UTC (rev 2897)
@@ -0,0 +1,39 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package javax.xml.ws.http;
+
+// $Id$
+
+import javax.xml.ws.Binding;
+
+/** The <code>HTTPBinding</code> interface is an
+ * abstraction for the XML/HTTP binding.
+ *
+ * @since JAX-WS 2.0
+**/
+public interface HTTPBinding extends Binding {
+
+ /**
+ * A constant representing the identity of the XML/HTTP binding.
+ */
+ public static final String HTTP_BINDING = "http://www.w3.org/2004/08/wsdl/http";
+}
Property changes on: trunk/jbossws-api/src/java/javax/xml/ws/http/HTTPBinding.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/jbossws-api/src/java/javax/xml/ws/http/HTTPException.java
===================================================================
--- trunk/jbossws-api/src/java/javax/xml/ws/http/HTTPException.java (rev 0)
+++ trunk/jbossws-api/src/java/javax/xml/ws/http/HTTPException.java 2007-04-23 06:12:12 UTC (rev 2897)
@@ -0,0 +1,54 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package javax.xml.ws.http;
+
+// $Id$
+
+
+/** The <code>HTTPException</code> exception represents a
+ * XML/HTTP fault.
+ *
+ * <p>Since there is no standard format for faults or exceptions
+ * in XML/HTTP messaging, only the HTTP status code is captured.
+ *
+ * @since JAX-WS 2.0
+**/
+public class HTTPException extends javax.xml.ws.ProtocolException {
+
+ private int statusCode;
+
+ /** Constructor for the HTTPException
+ * @param statusCode <code>int</code> for the HTTP status code
+ **/
+ public HTTPException(int statusCode) {
+ super();
+ this.statusCode = statusCode;
+ }
+
+ /** Gets the HTTP status code.
+ *
+ * @return HTTP status code
+ **/
+ public int getStatusCode() {
+ return statusCode;
+ }
+}
Property changes on: trunk/jbossws-api/src/java/javax/xml/ws/http/HTTPException.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/jbossws-api/src/java/javax/xml/ws/soap/Addressing.java
===================================================================
--- trunk/jbossws-api/src/java/javax/xml/ws/soap/Addressing.java (rev 0)
+++ trunk/jbossws-api/src/java/javax/xml/ws/soap/Addressing.java 2007-04-23 06:12:12 UTC (rev 2897)
@@ -0,0 +1,90 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package javax.xml.ws.soap;
+
+// $Id$
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+import javax.xml.ws.spi.WebServiceFeatureAnnotation;
+
+/**
+ * This feature represents the use of WS-Addressing with either
+ * the SOAP 1.1/HTTP or SOAP 1.2/HTTP binding. Using this feature
+ * with any other binding is NOT required.
+ * <p>
+ * Enabling this feature will result in the
+ * <code>wsaw:UsingAddressing</code> element being added to the
+ * <code>wsdl:Binding</code> for
+ * the endpoint and in the runtime being capable of responding to
+ * WS-Addressing headers.
+ * <p>
+ * The following describes the affects of this feature with respect
+ * to be enabled or disabled:
+ * <ul>
+ * <li> ENABLED: In this Mode, Addressing will be enabled.
+ * If there is not a WSDL associated with the Endpoint and
+ * a WSDL is to be generated, it MUST be generated with the
+ * wsaw:UsingAddressing element. At runtime, Addressing headers
+ * MUST be consumed by the receiver and generated by the
+ * sender even if the WSDL declares otherwise. The
+ * mustUnderstand="0" attribute MUST be used on the Addressing
+ * headers.
+ * <li> DISABLED: In this Mode, Addressing will be disabled
+ * even if an associated WSDL specifies otherwise. At runtime,
+ * Addressing headers MUST NOT be used.
+ * </ul>
+ * <p>
+ * The {@link #required} property can be used to
+ * specify if the <code>required</code> attribute on the
+ * <code>wsaw:UsingAddressing</code> element should
+ * be <code>true</code> or <code>false</code>. By default the
+ * <code>wsdl:required</code> parameter is <code>false</code>.
+ *
+ * See <a href="http://www.w3.org/TR/2006/REC-ws-addr-core-20060509/">WS-Addressing</a>
+ * for more information on WS-Addressing.
+ * See <a href="http://www.w3.org/TR/2006/CR-ws-addr-wsdl-20060529/">WS-Addressing - WSDL 1.0
+ * </a> for more information on <code>wsaw:UsingAddressing</code>.
+ *
+ * @since JAX-WS 2.1
+ */
+(a)Target(ElementType.TYPE)
+(a)Retention(RetentionPolicy.RUNTIME)
+@Documented
+(a)WebServiceFeatureAnnotation(id=AddressingFeature.ID,bean=AddressingFeature.class)
+public @interface Addressing {
+ /**
+ * Specifies if this feature is enabled or disabled.
+ */
+ boolean enabled() default true;
+
+ /**
+ * Property to determine the value of the
+ * <code>wsdl:required</code> attribute on
+ * <code>wsaw:UsingAddressing</code> element in the WSDL.
+ */
+ boolean required() default false;
+}
Property changes on: trunk/jbossws-api/src/java/javax/xml/ws/soap/Addressing.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/jbossws-api/src/java/javax/xml/ws/soap/AddressingFeature.java
===================================================================
--- trunk/jbossws-api/src/java/javax/xml/ws/soap/AddressingFeature.java (rev 0)
+++ trunk/jbossws-api/src/java/javax/xml/ws/soap/AddressingFeature.java 2007-04-23 06:12:12 UTC (rev 2897)
@@ -0,0 +1,143 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package javax.xml.ws.soap;
+
+// $Id$
+
+import javax.xml.ws.WebServiceFeature;
+
+/**
+ * This feature represents the use of WS-Addressing with either
+ * the SOAP 1.1/HTTP or SOAP 1.2/HTTP binding. Using this feature
+ * with any other binding is NOT required.
+ * <p>
+ * Enabling this feature on the server will result in the
+ * <code>wsaw:UsingAddressing</code> element being added to the
+ * <code>wsdl:Binding</code> for
+ * the endpoint and in the runtime being capable of responding to
+ * WS-Addressing headers.
+ * <p>
+ * Enabling this feature on the client will cause the JAX-WS runtime
+ * to include WS-Addressing headers in SOAP messages.
+ * <p>
+ * If the web service developer has not explicitly enabled this feature,
+ * it may be automatically enabled if the associated WSDL enables
+ * WS-Addressing via the <code>wsaw:UsingAddressing</code> element with
+ * the <code>wsdl:required</code> attribute set to <code>true</code>.
+ * <br>
+ * See {@link javax.xml.ws.RespectBindingFeature} for more information
+ * on required WSDL extensions.
+ * <p>
+ * The following describes the affects of this feature with respect
+ * to be enabled or disabled:
+ * <ul>
+ * <li> ENABLED: In this Mode, Addressing will be enabled.
+ * If there is not a WSDL associated with the Endpoint and
+ * a WSDL is to be generated, it MUST be generated with the
+ * wsaw:UsingAddressing element. At runtime, Addressing headers
+ * MUST be consumed by the receiver and generated by the
+ * sender even if the WSDL declares otherwise. The
+ * mustUnderstand="0" attribute MUST be used on the Addressing
+ * headers.
+ * <li> DISABLED: In this Mode, Addressing will be disabled
+ * even if an associated WSDL specifies otherwise. At runtime,
+ * Addressing headers MUST NOT be used.
+ * </ul>
+ * <p>
+ * The {@link #required} property can be used to
+ * specify if the <code>required</code> attribute on the
+ * <code>wsaw:UsingAddressing</code> element should
+ * be <code>true</code> or <code>false</code>. By default the
+ * <code>wsdl:required</code> parameter is <code>false</code>.
+ *
+ * See <a href="http://www.w3.org/TR/2006/REC-ws-addr-core-20060509/">WS-Addressing</a>
+ * for more information on WS-Addressing.
+ * See <a href="http://www.w3.org/TR/2006/CR-ws-addr-wsdl-20060529/">WS-Addressing - WSDL 1.0
+ * </a> for more information on <code>wsaw:UsingAddressing</code>.
+ *
+ * @since JAX-WS 2.1
+ */
+public final class AddressingFeature extends WebServiceFeature {
+ /**
+ * Constant value identifying the AddressingFeature
+ */
+ public static final String ID = "http://www.w3.org/2005/08/addressing/module";
+
+ /**
+ * Property for <code>required</code> feature parameter. When Addressing
+ * is enabled, the value of this property will be set to the
+ * <code>wsdl:required</code> attribute on
+ * <code>wsaw:UsingAddressing</code> element in the WSDL.
+ */
+ protected boolean required = false;
+
+ /**
+ * Create an <code>AddressingFeature</code>.
+ * The instance created will be enabled.
+ */
+ public AddressingFeature() {
+ this.enabled = true;
+ }
+
+ /**
+ * Create an <code>AddressingFeature</code>
+ *
+ * @param enabled specifies whether this feature should
+ * be enabled or not.
+ */
+ public AddressingFeature(boolean enabled) {
+ this.enabled = enabled;
+ }
+
+ /**
+ * Create an <code>AddressingFeature</code>
+ *
+ * @param enabled specifies whether this feature should
+ * be enabled or not.
+ * @param required specifies the value that will be used
+ * for the <code>wsdl:required</code> attribute on the
+ * <code>wsaw:UsingAddressing</code> element.
+ */
+ public AddressingFeature(boolean enabled, boolean required) {
+ this.enabled = enabled;
+ this.required = required;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public String getID() {
+ return ID;
+ }
+
+ /**
+ * Gets the boolean value used to set the
+ * <code>wsdl:required</code> attribute on
+ * <code>wsaw:UsingAddressing</code> element
+ * in the WSDL.
+ *
+ * @return the current required value
+ */
+ public boolean isRequired() {
+ return required;
+ }
+}
Property changes on: trunk/jbossws-api/src/java/javax/xml/ws/soap/AddressingFeature.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/jbossws-api/src/java/javax/xml/ws/soap/MTOM.java
===================================================================
--- trunk/jbossws-api/src/java/javax/xml/ws/soap/MTOM.java (rev 0)
+++ trunk/jbossws-api/src/java/javax/xml/ws/soap/MTOM.java 2007-04-23 06:12:12 UTC (rev 2897)
@@ -0,0 +1,67 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package javax.xml.ws.soap;
+
+// $Id$
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+import javax.xml.ws.spi.WebServiceFeatureAnnotation;
+
+/**
+ * This feature represents the use of MTOM with a
+ * web service.
+ *
+ * <p>
+ * The following describes the affects of this feature with respect
+ * to being enabled or disabled:
+ * <ul>
+ * <li> ENABLED: In this Mode, MTOM will be enabled.
+ * <li> DISABLED: In this Mode, MTOM will be disabled
+ * </ul>
+ * <p>
+ * The {@link #threshold} property can be used to set the threshold
+ * value used to determine when binary data should be XOP encoded.
+ *
+ * @since JAX-WS 2.1
+ */
+(a)Target(ElementType.TYPE)
+(a)Retention(RetentionPolicy.RUNTIME)
+@Documented
+(a)WebServiceFeatureAnnotation(id=MTOMFeature.ID,bean=MTOMFeature.class)
+public @interface MTOM {
+ /**
+ * Specifies if this feature is enabled or disabled.
+ */
+ boolean enabled() default true;
+
+ /**
+ * Property for MTOM threshold value. When MTOM is enabled, binary data above this
+ * size in bytes will be XOP encoded or sent as attachment. The value of this property
+ * MUST always be >= 0. Default value is 0.
+ */
+ int threshold() default 0;
+}
Property changes on: trunk/jbossws-api/src/java/javax/xml/ws/soap/MTOM.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/jbossws-api/src/java/javax/xml/ws/soap/MTOMFeature.java
===================================================================
--- trunk/jbossws-api/src/java/javax/xml/ws/soap/MTOMFeature.java (rev 0)
+++ trunk/jbossws-api/src/java/javax/xml/ws/soap/MTOMFeature.java 2007-04-23 06:12:12 UTC (rev 2897)
@@ -0,0 +1,129 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package javax.xml.ws.soap;
+
+// $Id$
+
+import javax.xml.ws.WebServiceException;
+import javax.xml.ws.WebServiceFeature;
+
+
+/**
+ * This feature represents the use of MTOM with a
+ * web service.
+ *
+ * <p>
+ * The following describes the affects of this feature with respect
+ * to being enabled or disabled:
+ * <ul>
+ * <li> ENABLED: In this Mode, MTOM will be enabled.
+ * <li> DISABLED: In this Mode, MTOM will be disabled
+ * </ul>
+ * <p>
+ * The {@link #threshold} property can be used to set the threshold
+ * value used to determine when binary data should be XOP encoded.
+ *
+ * @since JAX-WS 2.1
+ */
+public final class MTOMFeature extends WebServiceFeature {
+ /**
+ * Constant value identifying the MTOMFeature
+ */
+ public static final String ID = "http://www.w3.org/2004/08/soap/features/http-optimization";
+
+
+ /**
+ * Property for MTOM threshold value. This property serves as a hint when
+ * MTOM is enabled, binary data above this size in bytes SHOULD be sent
+ * as attachment.
+ * The value of this property MUST always be >= 0. Default value is 0.
+ */
+ protected int threshold = 0;
+
+
+ /**
+ * Create an <code>MTOMFeature</code>.
+ * The instance created will be enabled.
+ */
+ public MTOMFeature() {
+ this.enabled = true;
+ }
+
+ /**
+ * Creates an <code>MTOMFeature</code>.
+ *
+ * @param enabled specifies if this feature should be enabled or not
+ */
+ public MTOMFeature(boolean enabled) {
+ this.enabled = enabled;
+ }
+
+
+ /**
+ * Creates an <code>MTOMFeature</code>.
+ * The instance created will be enabled.
+ *
+ * @param threshold the size in bytes that binary data SHOULD be before
+ * being sent as an attachment.
+ *
+ * @throws WebServiceException if threshold is < 0
+ */
+ public MTOMFeature(int threshold) {
+ if (threshold < 0)
+ throw new WebServiceException("MTOMFeature.threshold must be >= 0, actual value: "+threshold);
+ this.enabled = true;
+ this.threshold = threshold;
+ }
+
+ /**
+ * Creates an <code>MTOMFeature</code>.
+ *
+ * @param enabled specifies if this feature should be enabled or not
+ * @param threshold the size in bytes that binary data SHOULD be before
+ * being sent as an attachment.
+ *
+ * @throws WebServiceException if threshold is < 0
+ */
+ public MTOMFeature(boolean enabled, int threshold) {
+ if (threshold < 0)
+ throw new WebServiceException("MTOMFeature.threshold must be >= 0, actual value: "+threshold);
+ this.enabled = enabled;
+ this.threshold = threshold;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public String getID() {
+ return ID;
+ }
+
+ /**
+ * Gets the threshold value used to determine when binary data
+ * should be sent as an attachment.
+ *
+ * @return the current threshold size in bytes
+ */
+ public int getThreshold() {
+ return threshold;
+ }
+}
Property changes on: trunk/jbossws-api/src/java/javax/xml/ws/soap/MTOMFeature.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/jbossws-api/src/java/javax/xml/ws/soap/SOAPBinding.java
===================================================================
--- trunk/jbossws-api/src/java/javax/xml/ws/soap/SOAPBinding.java (rev 0)
+++ trunk/jbossws-api/src/java/javax/xml/ws/soap/SOAPBinding.java 2007-04-23 06:12:12 UTC (rev 2897)
@@ -0,0 +1,108 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package javax.xml.ws.soap;
+
+// $Id$
+
+import java.util.Set;
+
+import javax.xml.soap.MessageFactory;
+import javax.xml.soap.SOAPFactory;
+import javax.xml.ws.Binding;
+import javax.xml.ws.WebServiceException;
+
+/** The <code>SOAPBinding</code> interface is an abstraction for
+ * the SOAP binding.
+ *
+ * @since JAX-WS 2.0
+ **/
+public interface SOAPBinding extends Binding
+{
+ /**
+ * A constant representing the identity of the SOAP 1.1 over HTTP binding.
+ */
+ public static final String SOAP11HTTP_BINDING = "http://schemas.xmlsoap.org/wsdl/soap/http";
+
+ /**
+ * A constant representing the identity of the SOAP 1.2 over HTTP binding.
+ */
+ public static final String SOAP12HTTP_BINDING = "http://www.w3.org/2003/05/soap/bindings/HTTP/";
+
+ /**
+ * A constant representing the identity of the SOAP 1.1 over HTTP binding
+ * with MTOM enabled by default.
+ */
+ public static final String SOAP11HTTP_MTOM_BINDING = "http://schemas.xmlsoap.org/wsdl/soap/http?mtom=true";
+
+ /**
+ * A constant representing the identity of the SOAP 1.2 over HTTP binding
+ * with MTOM enabled by default.
+ */
+ public static final String SOAP12HTTP_MTOM_BINDING = "http://www.w3.org/2003/05/soap/bindings/HTTP/?mtom=true";
+
+ /** Gets the roles played by the SOAP binding instance.
+ *
+ * @return Set<String> The set of roles played by the binding instance.
+ **/
+ public Set<String> getRoles();
+
+ /** Sets the roles played by the SOAP binding instance.
+ *
+ * @param roles The set of roles played by the binding instance.
+ * @throws WebServiceException On an error in the configuration of
+ * the list of roles.
+ **/
+ public void setRoles(Set<String> roles);
+
+ /**
+ * Returns <code>true</code> if the use of MTOM is enabled.
+ *
+ * @return <code>true</code> if and only if the use of MTOM is enabled.
+ **/
+
+ public boolean isMTOMEnabled();
+
+ /**
+ * Enables or disables use of MTOM.
+ *
+ * @param flag A <code>boolean</code> specifying whether the use of MTOM should
+ * be enabled or disabled.
+ * @throws WebServiceException If the specified setting is not supported
+ * by this binding instance.
+ * *
+ **/
+ public void setMTOMEnabled(boolean flag);
+
+ /**
+ * Gets the SAAJ <code>SOAPFactory</code> instance used by this SOAP binding.
+ *
+ * @return SOAPFactory instance used by this SOAP binding.
+ **/
+ public SOAPFactory getSOAPFactory();
+
+ /**
+ * Gets the SAAJ <code>MessageFactory</code> instance used by this SOAP binding.
+ *
+ * @return MessageFactory instance used by this SOAP binding.
+ **/
+ public MessageFactory getMessageFactory();
+}
Property changes on: trunk/jbossws-api/src/java/javax/xml/ws/soap/SOAPBinding.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/jbossws-api/src/java/javax/xml/ws/soap/SOAPFaultException.java
===================================================================
--- trunk/jbossws-api/src/java/javax/xml/ws/soap/SOAPFaultException.java (rev 0)
+++ trunk/jbossws-api/src/java/javax/xml/ws/soap/SOAPFaultException.java 2007-04-23 06:12:12 UTC (rev 2897)
@@ -0,0 +1,91 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package javax.xml.ws.soap;
+
+// $Id$
+
+import javax.xml.soap.SOAPFault;
+
+/** The <code>SOAPFaultException</code> exception represents a
+ * SOAP 1.1 or 1.2 fault.
+ *
+ * <p>A <code>SOAPFaultException</code> wraps a SAAJ <code>SOAPFault</code>
+ * that manages the SOAP-specific representation of faults.
+ * The <code>createFault</code> method of
+ * <code>javax.xml.soap.SOAPFactory</code> may be used to create an instance
+ * of <code>javax.xml.soap.SOAPFault</code> for use with the
+ * constructor. <code>SOAPBinding</code> contains an accessor for the
+ * <code>SOAPFactory</code> used by the binding instance.
+ *
+ * <p>Note that the value of <code>getFault</code> is the only part of the
+ * exception used when searializing a SOAP fault.
+ *
+ * <p>Refer to the SOAP specification for a complete
+ * description of SOAP faults.
+ *
+ * @see javax.xml.soap.SOAPFault
+ * @see javax.xml.ws.soap.SOAPBinding#getSOAPFactory
+ * @see javax.xml.ws.ProtocolException
+ *
+ * @since JAX-WS 2.0
+ **/
+public class SOAPFaultException extends javax.xml.ws.ProtocolException
+{
+
+ private SOAPFault fault;
+
+ /** Constructor for SOAPFaultException
+ * @param fault <code>SOAPFault</code> representing the fault
+ *
+ * @see javax.xml.soap.SOAPFactory#createFault
+ **/
+ public SOAPFaultException(SOAPFault fault)
+ {
+ super(fault.getFaultString());
+ this.fault = fault;
+ }
+
+ public SOAPFaultException(String message)
+ {
+ super(message);
+ }
+
+ public SOAPFaultException(String message, Exception ex)
+ {
+ super(message, ex);
+ }
+
+ public SOAPFaultException(Exception ex)
+ {
+ super(ex);
+ }
+
+ /** Gets the embedded <code>SOAPFault</code> instance.
+ *
+ * @return <code>javax.xml.soap.SOAPFault</code> SOAP
+ * fault element
+ **/
+ public javax.xml.soap.SOAPFault getFault()
+ {
+ return this.fault;
+ }
+}
Property changes on: trunk/jbossws-api/src/java/javax/xml/ws/soap/SOAPFaultException.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/jbossws-api/src/java/javax/xml/ws/spi/Provider.java
===================================================================
--- trunk/jbossws-api/src/java/javax/xml/ws/spi/Provider.java (rev 0)
+++ trunk/jbossws-api/src/java/javax/xml/ws/spi/Provider.java 2007-04-23 06:12:12 UTC (rev 2897)
@@ -0,0 +1,301 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package javax.xml.ws.spi;
+
+// $Id$
+
+import java.util.List;
+
+import javax.xml.namespace.QName;
+import javax.xml.soap.FactoryLoader;
+import javax.xml.transform.Source;
+import javax.xml.ws.Endpoint;
+import javax.xml.ws.EndpointReference;
+import javax.xml.ws.WebServiceException;
+import javax.xml.ws.WebServiceFeature;
+import javax.xml.ws.wsaddressing.W3CEndpointReference;
+
+import org.w3c.dom.Element;
+
+/**
+ * Service provider for ServiceDelegate and Endpoint objects.
+ *
+ * @author Thomas.Diesler(a)jboss.com
+ * @since 03-May-2006
+ */
+public abstract class Provider
+{
+ public static final String JAXWSPROVIDER_PROPERTY = "javax.xml.ws.spi.Provider";
+ private static final String DEFAULT_JAXWSPROVIDER = "org.jboss.ws.core.jaxws.spi.ProviderImpl";
+
+ /**
+ * Creates a new instance of Provider
+ */
+ protected Provider()
+ {
+ }
+
+ /**
+ *
+ * Creates a new provider object.
+ * <p>
+ * The algorithm used to locate the provider subclass to use consists
+ * of the following steps:
+ * <p>
+ * <ul>
+ * <li>
+ * If a resource with the name of
+ * <code>META-INF/services/javax.xml.ws.spi.Provider</code>
+ * exists, then its first line, if present, is used as the UTF-8 encoded
+ * name of the implementation class.
+ * </li>
+ * <li>
+ * If the $java.home/lib/jaxws.properties file exists and it is readable by
+ * the <code>java.util.Properties.load(InputStream)</code> method and it contains
+ * an entry whose key is <code>javax.xml.ws.spi.Provider</code>, then the value of
+ * that entry is used as the name of the implementation class.
+ * </li>
+ * <li>
+ * If a system property with the name <code>javax.xml.ws.spi.Provider</code>
+ * is defined, then its value is used as the name of the implementation class.
+ * </li>
+ * <li>
+ * Finally, a default implementation class name is used.
+ * </li>
+ * </ul>
+ *
+ */
+ public static Provider provider()
+ {
+ try
+ {
+ return (Provider)FactoryLoader.loadFactory(JAXWSPROVIDER_PROPERTY, DEFAULT_JAXWSPROVIDER);
+ }
+ catch (WebServiceException ex)
+ {
+ throw ex;
+ }
+ catch (Exception ex)
+ {
+ throw new WebServiceException("Unable to createEndpointReference Provider: " + ex.getMessage());
+ }
+
+ }
+
+ /**
+ * Creates a service delegate object.
+ * <p>
+ * @param wsdlDocumentLocation A URL pointing to the WSDL document
+ * for the service, or <code>null</code> if there isn't one.
+ * @param serviceName The qualified name of the service.
+ * @param serviceClass The service class, which MUST be either
+ * <code>javax.xml.ws.Service</code> or a subclass thereof.
+ * @return The newly created service delegate.
+ */
+ public abstract ServiceDelegate createServiceDelegate(java.net.URL wsdlDocumentLocation, QName serviceName, Class serviceClass);
+
+ /**
+ *
+ * Creates an endpoint object with the provided binding and implementation
+ * object.
+ *
+ * @param bindingId A URI specifying the desired binding (e.g. SOAP/HTTP)
+ * @param implementor A service implementation object to which
+ * incoming requests will be dispatched. The corresponding
+ * class MUST be annotated with all the necessary Web service
+ * annotations.
+ * @return The newly created endpoint.
+ */
+ public abstract Endpoint createEndpoint(String bindingId, Object implementor);
+
+ /**
+ * Creates and publishes an endpoint object with the specified
+ * address and implementation object.
+ *
+ * @param address A URI specifying the address and transport/protocol
+ * to use. A http: URI MUST result in the SOAP 1.1/HTTP
+ * binding being used. Implementations may support other
+ * URI schemes.
+ * @param implementor A service implementation object to which
+ * incoming requests will be dispatched. The corresponding
+ * class MUST be annotated with all the necessary Web service
+ * annotations.
+ * @return The newly created endpoint.
+ */
+ public abstract Endpoint createAndPublishEndpoint(String address, Object implementor);
+
+ /**
+ * read an EndpointReference from the infoset contained in
+ * <code>eprInfoset</code>.
+ *
+ * @returns the <code>EndpointReference</code> unmarshalled from
+ * <code>eprInfoset</code>. This method never returns <code>null</code>.
+ *
+ * @throws WebServiceException If there is an error creating the
+ * <code>EndpointReference</code> from the specified <code>eprInfoset</code>.
+ *
+ * @throws NullPointerException If the <code>null</code>
+ * <code>eprInfoset</code> value is given.
+ *
+ * @since JAX-WS 2.1
+ **/
+ public abstract EndpointReference readEndpointReference(javax.xml.transform.Source eprInfoset);
+
+ /**
+ * Create an EndpointReference for <code>serviceName</code>
+ * service and <code>portName</code> port from the WSDL <code>wsdlDocumentLocation</code>. The instance
+ * returned will be of type <code>clazz</code> and contain the <code>referenceParameters</code>
+ * reference parameters. This method delegates to the vendor specific
+ * implementation of the {@link javax.xml.ws.spi.Provider#createEndpointReference(Class<T>, javax.xml.namespace.QName, javax.xml.namespace.QName, javax.xml.transform.Source, org.w3c.dom.Element...)} method.
+ *
+ * @param clazz Specifies the type of <code>EndpointReference</code> that MUST be returned.
+ * @param serviceName Qualified name of the service in the WSDL.
+ * @param portName Qualified name of the endpoint in the WSDL.
+ * @param wsdlDocumentLocation URL for the WSDL document location for the service.
+ * @param referenceParameters Reference parameters to be associated with the
+ * returned <code>EndpointReference</code> instance.
+ *
+ * @return the EndpointReference created from <code>serviceName</code>, <code>portName</code>,
+ * <code>wsdlDocumentLocation</code> and <code>referenceParameters</code>. This method
+ * never returns <code>null</code>.
+ * @throws WebServiceException
+ * <UL>
+ * <li>If the <code>serviceName</code> service is not present in the WSDL.
+ * <li>If the <code>portName</code> port is not present in <code>serviceName</code> service in the WSDL.
+ * <li>If the <code>wsdlDocumentLocation</code> does not represent a valid WSDL.
+ * <li>If an error occurs while creating the <code>EndpointReference</code>.
+ * <li>If the Class <code>clazz</code> is not supported by this implementation.
+ * </UL>
+ * @throws java.lang.IllegalArgumentException
+ * if any of the <code>clazz</code>, <code>serviceName</code>, <code>portName</code> and <code>wsdlDocumentLocation</code> is null.
+ */
+ public abstract <T extends EndpointReference> T createEndpointReference(Class<T> clazz, QName serviceName, QName portName, Source wsdlDocumentLocation,
+ Element... referenceParameters);
+
+ /**
+ * The getPort method returns a proxy. If there
+ * are any reference parameters in the
+ * <code>endpointReference</code>, then those reference
+ * parameters MUST appear as SOAP headers, indicating them to be
+ * reference parameters, on all messages sent to the endpoint.
+ * The parameter <code>serviceEndpointInterface</code> specifies
+ * the service endpoint interface that is supported by the
+ * returned proxy.
+ * The parameter <code>endpointReference</code> specifies the
+ * endpoint that will be invoked by the returned proxy.
+ * In the implementation of this method, the JAX-WS
+ * runtime system takes the responsibility of selecting a protocol
+ * binding (and a port) and configuring the proxy accordingly from
+ * the WSDL Metadata from the <code>EndpointReference</code>.
+ *
+ *
+ * @param endpointReference the EndpointReference that will
+ * be invoked by the returned proxy.
+ * @param serviceEndpointInterface Service endpoint interface
+ * @param features A list of WebServiceFeatures to configure on the
+ * proxy. Supported features not in the <code>features
+ * </code> parameter will have their default values.
+ * @return Object Proxy instance that supports the
+ * specified service endpoint interface
+ * @throws WebServiceException
+ * <UL>
+ * <LI>If there is an error during creation
+ * of the proxy
+ * <LI>If there is any missing WSDL metadata
+ * as required by this method
+ * <LI>If this
+ * <code>endpointReference</code>
+ * is illegal
+ * <LI>If an illegal
+ * <code>serviceEndpointInterface</code>
+ * is specified
+ * <LI>If feature is enabled that is not compatible with
+ * this port or is unsupported.
+ * </UL>
+ *
+ * @see WebServiceFeature
+ *
+ * @since JAX-WS 2.1
+ **/
+ public abstract <T> T getPort(EndpointReference endpointReference, Class<T> serviceEndpointInterface, WebServiceFeature... features);
+
+ /**
+ * Factory method to create a <code>W3CEndpointReference</code>.
+ *
+ * <p>
+ * This method can be used to create a <code>W3CEndpointReference</code>
+ * for any endpoint by specifying the <code>address</code> property along
+ * with any other desired properties. This method
+ * can also be used to create a <code>W3CEndpointReference</code> for
+ * an endpoint that is published by the same Java EE application.
+ * To do so the <code>address</code> property can be provided or this
+ * method can automatically determine the <code>address</code> of
+ * an endpoint that is published by the same Java EE application and is
+ * identified by the <code>serviceName</code> and
+ * <code>portName</code> propeties. If the <code>address</code> is
+ * <code>null</code> and the <code>serviceName</code> and
+ * <code>portName</code> do not identify an endpoint published by the
+ * same Java EE application, a
+ * <code>javax.lang.IllegalArgumentException</code> MUST be thrown.
+ *
+ * @param address Specifies the address of the target endpoint
+ * @param serviceName Qualified name of the service in the WSDL.
+ * @param portName Qualified name of the endpoint in the WSDL.
+ * @param metadata A list of elements that should be added to the
+ * <code>W3CEndpointReference</code> instances <code>wsa:metadata</code>
+ * element.
+ * @param wsdlDocumentLocation URL for the WSDL document location for
+ * the service.
+ * @param referenceParameters Reference parameters to be associated
+ * with the returned <code>EndpointReference</code> instance.
+ *
+ * @return the <code>W3CEndpointReference<code> created from
+ * <code>serviceName</code>, <code>portName</code>,
+ * <code>metadata</code>, <code>wsdlDocumentLocation</code>
+ * and <code>referenceParameters</code>. This method
+ * never returns <code>null</code>.
+ *
+ * @throws javax.lang.IllegalArgumentException
+ * <ul>
+ * <li>If the <code>address</code>, <code>serviceName</code> and
+ * <code>portName</code> are all <code>null</code>.
+ * <li>If the <code>serviceName</code> service is <code>null</code> and the
+ * <code>portName> is NOT <code>null</code>.
+ * <li>If the <code>address</code> property is <code>null</code> and
+ * the <code>serviceName</code> and <code>portName</code> do not
+ * specify a valid endpoint published by the same Java EE
+ * application.
+ * <li>If the <code>serviceName</code>is NOT <code>null</code>
+ * and is not present in the specified WSDL.
+ * <li>If the <code>portName</code> port is not <code>null<code> and it
+ * is not present in <code>serviceName</code> service in the WSDL.
+ * <li>If the <code>wsdlDocumentLocation</code> is NOT <code>null</code>
+ * and does not represent a valid WSDL.
+ * </ul>
+ * @throws WebServiceException If an error occurs while creating the
+ * <code>W3CEndpointReference</code>.
+ *
+ * @since JAX-WS 2.1
+ */
+ public abstract W3CEndpointReference createW3CEndpointReference(String address, QName serviceName, QName portName, List<Element> metadata,
+ String wsdlDocumentLocation, List<Element> referenceParameters);
+}
Property changes on: trunk/jbossws-api/src/java/javax/xml/ws/spi/Provider.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/jbossws-api/src/java/javax/xml/ws/spi/ServiceDelegate.java
===================================================================
--- trunk/jbossws-api/src/java/javax/xml/ws/spi/ServiceDelegate.java (rev 0)
+++ trunk/jbossws-api/src/java/javax/xml/ws/spi/ServiceDelegate.java 2007-04-23 06:12:12 UTC (rev 2897)
@@ -0,0 +1,641 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package javax.xml.ws.spi;
+
+// $Id$
+
+import java.util.Iterator;
+
+import javax.xml.bind.JAXBContext;
+import javax.xml.namespace.QName;
+import javax.xml.rpc.ServiceException;
+import javax.xml.ws.Dispatch;
+import javax.xml.ws.EndpointReference;
+import javax.xml.ws.Service;
+import javax.xml.ws.WebServiceException;
+import javax.xml.ws.WebServiceFeature;
+import javax.xml.ws.handler.HandlerResolver;
+
+/**
+ * Service delegates are used internally by <code>Service</code> objects
+ * to allow pluggability of JAX-WS implementations.
+ * <p>
+ * Every <code>Service</code> object has its own delegate, created using
+ * the javax.xml.ws.Provider#createServiceDelegate method. A <code>Service</code>
+ * object delegates all of its instance methods to its delegate.
+ *
+ * @see javax.xml.ws.Service
+ * @see javax.xml.ws.spi.Provider
+ *
+ * @since JAX-WS 2.0
+ */
+public abstract class ServiceDelegate {
+
+ protected ServiceDelegate() {
+ }
+
+ /**
+ * The getPort method returns a proxy. A service client
+ * uses this proxy to invoke operations on the target
+ * service endpoint. The <code>serviceEndpointInterface</code>
+ * specifies the service endpoint interface that is supported by
+ * the created dynamic proxy instance.
+ *
+ * @param portName Qualified name of the service endpoint in
+ * the WSDL service description
+ * @param serviceEndpointInterface Service endpoint interface
+ * supported by the dynamic proxy
+ * @return Object Proxy instance that
+ * supports the specified service endpoint
+ * interface
+ * @throws WebServiceException This exception is thrown in the
+ * following cases:
+ * <UL>
+ * <LI>If there is an error in creation of
+ * the proxy
+ * <LI>If there is any missing WSDL metadata
+ * as required by this method
+ * <LI>If an illegal
+ * <code>serviceEndpointInterface</code>
+ * or <code>portName</code> is specified
+ * </UL>
+ * @see java.lang.reflect.Proxy
+ * @see java.lang.reflect.InvocationHandler
+ **/
+ public abstract <T> T getPort(QName portName,
+ Class<T> serviceEndpointInterface);
+
+ /**
+ * The getPort method returns a proxy. A service client
+ * uses this proxy to invoke operations on the target
+ * service endpoint. The <code>serviceEndpointInterface</code>
+ * specifies the service endpoint interface that is supported by
+ * the created dynamic proxy instance.
+ *
+ * @param portName Qualified name of the service endpoint in
+ * the WSDL service description
+ * @param serviceEndpointInterface Service endpoint interface
+ * supported by the dynamic proxy or instance
+ * @param features A list of WebServiceFeatures to configure on the
+ * proxy. Supported features not in the <code>features
+ * </code> parameter will have their default values.
+ * @return Object Proxy instance that
+ * supports the specified service endpoint
+ * interface
+ * @throws WebServiceException This exception is thrown in the
+ * following cases:
+ * <UL>
+ * <LI>If there is an error in creation of
+ * the proxy
+ * <LI>If there is any missing WSDL metadata
+ * as required by this method
+ * <LI>If an illegal
+ * <code>serviceEndpointInterface</code>
+ * or <code>portName</code> is specified
+ * <LI>If a feature is enabled that is not compatible
+ * with this port or is unsupported.
+ * </UL>
+ * @see java.lang.reflect.Proxy
+ * @see java.lang.reflect.InvocationHandler
+ * @see WebServiceFeature
+ *
+ * @since JAX-WS 2.1
+ **/
+ public abstract <T> T getPort(QName portName,
+ Class<T> serviceEndpointInterface, WebServiceFeature... features);
+
+ /**
+ * The getPort method returns a proxy.
+ * The parameter <code>endpointReference</code> specifies the
+ * endpoint that will be invoked by the returned proxy. If there
+ * are any reference parameters in the
+ * <code>endpointReference</code>, then those reference
+ * parameters MUST appear as SOAP headers, indicating them to be
+ * reference parameters, on all messages sent to the endpoint.
+ * The <code>endpointReference's</code> address MUST be used
+ * for invocations on the endpoint.
+ * The parameter <code>serviceEndpointInterface</code> specifies
+ * the service endpoint interface that is supported by the
+ * returned proxy.
+ * In the implementation of this method, the JAX-WS
+ * runtime system takes the responsibility of selecting a protocol
+ * binding (and a port) and configuring the proxy accordingly from
+ * the WSDL associated with this <code>Service</code> instance or
+ * from the WSDL Metadata from the <code>endpointReference</code>.
+ * If this <code>Service</code> instance has a WSDL and
+ * the <code>endpointReference</code>
+ * also has a WSDL, then the WSDL from this instance will be used.
+ * If this <code>Service</code> instance does not have a WSDL and
+ * the <code>endpointReference</code> does have a WSDL, then the
+ * WSDL from the <code>endpointReference</code> will be used.
+ * The returned proxy should not be reconfigured by the client.
+ * If this <code>Service</code> instance has a known proxy
+ * port that matches the information contained in
+ * the WSDL,
+ * then that proxy is returned, otherwise a WebServiceException
+ * is thrown.
+ * <p>
+ * Calling this method has the same behavior as the following
+ * <pre>
+ * port = service.getPort(portName, serviceEndpointInterface);
+ * </pre>
+ * where the <code>portName</code> is retrieved from the
+ * <code>wsaw:EndpontName</code> attribute of the
+ * <code>wsaw:ServiceName</code> element in the
+ * metadata of the <code>endpointReference</code> or from the
+ * <code>serviceEndpointInterface</code> and the WSDL
+ * associated with this <code>Service</code> instance.
+ * <br>
+ * See <a href="http://www.w3.org/TR/2006/CR-ws-addr-wsdl-20060529/">WS-Addressing - WSDL 1.0
+ * </a>.
+ *
+ * @param endpointReference The <code>EndpointReference</code>
+ * for the target service endpoint that will be invoked by the
+ * returned proxy.
+ * @param serviceEndpointInterface Service endpoint interface.
+ * @param features A list of WebServiceFeatures to configure on the
+ * proxy. Supported features not in the <code>features
+ * </code> parameter will have their default values.
+ * @return Object Proxy instance that supports the
+ * specified service endpoint interface.
+ * @throws WebServiceException
+ * <UL>
+ * <LI>If there is an error during creation
+ * of the proxy.
+ * <LI>If there is any missing WSDL metadata
+ * as required by this method.
+ * <LI>If the <code>wsaw:EndpointName</code> is
+ * missing from the <code>endpointReference</code>
+ * or does not match a wsdl:Port
+ * in the WSDL metadata.
+ * <LI>If the <code>wsaw:ServiceName</code> in the
+ * <code>endpointReference</code> metadata does not
+ * match the <code>serviceName</code> of this
+ * <code>Service</code> instance.
+ * <LI>If an invalid
+ * <code>endpointReference</code>
+ * is specified.
+ * <LI>If an invalid
+ * <code>serviceEndpointInterface</code>
+ * is specified.
+ * <LI>If a feature is enabled that is not compatible
+ * with this port or is unsupported.
+ * </UL>
+ *
+ * @since JAX-WS 2.1
+ **/
+ public abstract <T> T getPort(EndpointReference endpointReference,
+ Class<T> serviceEndpointInterface, WebServiceFeature... features);
+
+
+ /**
+ * The getPort method returns a proxy. The parameter
+ * <code>serviceEndpointInterface</code> specifies the service
+ * endpoint interface that is supported by the returned proxy.
+ * In the implementation of this method, the JAX-WS
+ * runtime system takes the responsibility of selecting a protocol
+ * binding (and a port) and configuring the proxy accordingly.
+ * The returned proxy should not be reconfigured by the client.
+ *
+ * @param serviceEndpointInterface Service endpoint interface
+ * @return Object instance that supports the
+ * specified service endpoint interface
+ * @throws WebServiceException
+ * <UL>
+ * <LI>If there is an error during creation
+ * of the proxy
+ * <LI>If there is any missing WSDL metadata
+ * as required by this method
+ * <LI>If an illegal
+ * <code>serviceEndpointInterface</code>
+ * is specified
+ * </UL>
+ **/
+ public abstract <T> T getPort(Class<T> serviceEndpointInterface);
+
+
+ /**
+ * The getPort method returns a proxy. The parameter
+ * <code>serviceEndpointInterface</code> specifies the service
+ * endpoint interface that is supported by the returned proxy.
+ * In the implementation of this method, the JAX-WS
+ * runtime system takes the responsibility of selecting a protocol
+ * binding (and a port) and configuring the proxy accordingly.
+ * The returned proxy should not be reconfigured by the client.
+ *
+ * @param serviceEndpointInterface Service endpoint interface
+ * @param features An array of WebServiceFeatures to configure on the
+ * proxy. Supported features not in the <code>features
+ * </code> parameter will have their default values.
+ * @return Object instance that supports the
+ * specified service endpoint interface
+ * @throws WebServiceException
+ * <UL>
+ * <LI>If there is an error during creation
+ * of the proxy
+ * <LI>If there is any missing WSDL metadata
+ * as required by this method
+ * <LI>If an illegal
+ * <code>serviceEndpointInterface</code>
+ * is specified
+ * <LI>If a feature is enabled that is not compatible
+ * with this port or is unsupported.
+ * </UL>
+ *
+ * @see WebServiceFeature
+ *
+ * @since JAX-WS 2.1
+ **/
+ public abstract <T> T getPort(Class<T> serviceEndpointInterface,
+ WebServiceFeature... features);
+
+
+
+ /**
+ * Creates a new port for the service. Ports created in this way contain
+ * no WSDL port type information and can only be used for creating
+ * <code>Dispatch</code>instances.
+ *
+ * @param portName Qualified name for the target service endpoint
+ * @param bindingId A URI identifier of a binding.
+ * @param endpointAddress Address of the target service endpoint as a URI
+ * @throws WebServiceException If any error in the creation of
+ * the port
+ *
+ * @see javax.xml.ws.soap.SOAPBinding#SOAP11HTTP_BINDING
+ * @see javax.xml.ws.soap.SOAPBinding#SOAP12HTTP_BINDING
+ * @see javax.xml.ws.http.HTTPBinding#HTTP_BINDING
+ **/
+ public abstract void addPort(QName portName, String bindingId,
+ String endpointAddress);
+
+
+
+ /**
+ * Creates a <code>Dispatch</code> instance for use with objects of
+ * the users choosing.
+ *
+ * @param portName Qualified name for the target service endpoint
+ * @param type The class of object used for messages or message
+ * payloads. Implementations are required to support
+ * javax.xml.transform.Source and javax.xml.soap.SOAPMessage.
+ * @param mode Controls whether the created dispatch instance is message
+ * or payload oriented, i.e. whether the user will work with complete
+ * protocol messages or message payloads. E.g. when using the SOAP
+ * protocol, this parameter controls whether the user will work with
+ * SOAP messages or the contents of a SOAP body. Mode MUST be MESSAGE
+ * when type is SOAPMessage.
+ *
+ * @return Dispatch instance
+ * @throws WebServiceException If any error in the creation of
+ * the <code>Dispatch</code> object
+ * @see javax.xml.transform.Source
+ * @see javax.xml.soap.SOAPMessage
+ **/
+ public abstract <T> Dispatch<T> createDispatch(QName portName, Class<T> type,
+ Service.Mode mode);
+
+ /**
+ * Creates a <code>Dispatch</code> instance for use with objects of
+ * the users choosing.
+ *
+ * @param portName Qualified name for the target service endpoint
+ * @param type The class of object used for messages or message
+ * payloads. Implementations are required to support
+ * javax.xml.transform.Source and javax.xml.soap.SOAPMessage.
+ * @param mode Controls whether the created dispatch instance is message
+ * or payload oriented, i.e. whether the user will work with complete
+ * protocol messages or message payloads. E.g. when using the SOAP
+ * protocol, this parameter controls whether the user will work with
+ * SOAP messages or the contents of a SOAP body. Mode MUST be MESSAGE
+ * when type is SOAPMessage.
+ * @param features A list of WebServiceFeatures to configure on the
+ * proxy. Supported features not in the <code>features
+ * </code> parameter will have their default values.
+ *
+ * @return Dispatch instance
+ * @throws WebServiceException If any error in the creation of
+ * the <code>Dispatch</code> object or if a
+ * feature is enabled that is not compatible with
+ * this port or is unsupported.
+ *
+ * @see javax.xml.transform.Source
+ * @see javax.xml.soap.SOAPMessage
+ * @see WebServiceFeature
+ *
+ * @since JAX-WS 2.1
+ **/
+ public abstract <T> Dispatch<T> createDispatch(QName portName, Class<T> type,
+ Service.Mode mode, WebServiceFeature... features);
+
+
+ /**
+ * Creates a <code>Dispatch</code> instance for use with objects of
+ * the users choosing. If there
+ * are any reference parameters in the
+ * <code>endpointReference</code>, then those reference
+ * parameters MUST appear as SOAP headers, indicating them to be
+ * reference parameters, on all messages sent to the endpoint.
+ * The <code>endpointReference's</code> address MUST be used
+ * for invocations on the endpoint.
+ * In the implementation of this method, the JAX-WS
+ * runtime system takes the responsibility of selecting a protocol
+ * binding (and a port) and configuring the dispatch accordingly from
+ * the WSDL associated with this <code>Service</code> instance or
+ * from the WSDL Metadata from the <code>endpointReference</code>.
+ * If this <code>Service</code> instance has a WSDL and
+ * the <code>endpointReference</code>
+ * also has a WSDL, then the WSDL from this instance will be used.
+ * If this <code>Service</code> instance does not have a WSDL and
+ * the <code>endpointReference</code> does have a WSDL, then the
+ * WSDL from the <code>endpointReference</code> will be used.
+ * <p>
+ * This method behaves the same as calling
+ * <pre>
+ * dispatch = service.createDispatch(portName, type, mode, features);
+ * </pre>
+ * where the <code>portName</code> is retrieved from the
+ * <code>wsaw:EndpointName</code> attribute of the <code>wsaw:ServiceName</code>
+ * element in the
+ * metadata of the <code>endpointReference</code>.
+ * <br>
+ * See <a href="http://www.w3.org/TR/2006/CR-ws-addr-wsdl-20060529/">WS-Addressing - WSDL 1.0
+ * </a>.
+ *
+ * @param endpointReference The <code>EndpointReference</code>
+ * for the target service endpoint that will be invoked by the
+ * returned <code>Dispatch</code> object.
+ * @param type The class of object used to messages or message
+ * payloads. Implementations are required to support
+ * javax.xml.transform.Source and javax.xml.soap.SOAPMessage.
+ * @param mode Controls whether the created dispatch instance is message
+ * or payload oriented, i.e. whether the user will work with complete
+ * protocol messages or message payloads. E.g. when using the SOAP
+ * protocol, this parameter controls whether the user will work with
+ * SOAP messages or the contents of a SOAP body. Mode MUST be MESSAGE
+ * when type is SOAPMessage.
+ * @param features An array of WebServiceFeatures to configure on the
+ * proxy. Supported features not in the <code>features
+ * </code> parameter will have their default values.
+ *
+ * @return Dispatch instance
+ * @throws WebServiceException
+ * <UL>
+ * <LI>If there is any missing WSDL metadata
+ * as required by this method.
+ * <li>If the <code>wsaw:ServiceName</code> element
+ * or the <code>wsaw:EndpointName</code> attribute
+ * is missing in the metdata of the
+ * <code>endpointReference</code>.
+ * <li>If the <code>wsaw:ServiceName</code> does not
+ * match the <code>serviceName</code> of this instance.
+ * <li>If the <code>wsaw:EndpointName</code> does not
+ * match a valid wsdl:Port in the WSDL metadata.
+ * <li>If any error in the creation of
+ * the <code>Dispatch</code> object.
+ * <li>if a feature is enabled that is not
+ * compatible with this port or is unsupported.
+ * </UL>
+ *
+ * @see javax.xml.transform.Source
+ * @see javax.xml.soap.SOAPMessage
+ * @see WebServiceFeature;
+ *
+ * @since JAX-WS 2.1
+ **/
+ public abstract <T> Dispatch<T> createDispatch(EndpointReference endpointReference,
+ Class<T> type, Service.Mode mode,
+ WebServiceFeature... features);
+
+
+
+ /**
+ * Creates a <code>Dispatch</code> instance for use with JAXB
+ * generated objects.
+ *
+ * @param portName Qualified name for the target service endpoint
+ * @param context The JAXB context used to marshall and unmarshall
+ * messages or message payloads.
+ * @param mode Controls whether the created dispatch instance is message
+ * or payload oriented, i.e. whether the user will work with complete
+ * protocol messages or message payloads. E.g. when using the SOAP
+ * protocol, this parameter controls whether the user will work with
+ * SOAP messages or the contents of a SOAP body.
+ *
+ * @return Dispatch instance
+ * @throws ServiceException If any error in the creation of
+ * the <code>Dispatch</code> object
+ *
+ * @see javax.xml.bind.JAXBContext
+ **/
+ public abstract Dispatch<Object> createDispatch(QName portName,
+ JAXBContext context, Service.Mode mode);
+
+
+ /**
+ * Creates a <code>Dispatch</code> instance for use with JAXB
+ * generated objects.
+ *
+ * @param portName Qualified name for the target service endpoint
+ * @param context The JAXB context used to marshall and unmarshall
+ * messages or message payloads.
+ * @param mode Controls whether the created dispatch instance is message
+ * or payload oriented, i.e. whether the user will work with complete
+ * protocol messages or message payloads. E.g. when using the SOAP
+ * protocol, this parameter controls whether the user will work with
+ * SOAP messages or the contents of a SOAP body.
+ * @param features A list of WebServiceFeatures to configure on the
+ * proxy. Supported features not in the <code>features
+ * </code> parameter will have their default values.
+ *
+ * @return Dispatch instance
+ * @throws WebServiceException If any error in the creation of
+ * the <code>Dispatch</code> object or if a
+ * feature is enabled that is not compatible with
+ * this port or is unsupported.
+ *
+ * @see javax.xml.bind.JAXBContext
+ * @see WebServiceFeature
+ *
+ * @since JAX-WS 2.1
+ **/
+ public abstract Dispatch<Object> createDispatch(QName portName,
+ JAXBContext context, Service.Mode mode, WebServiceFeature... features);
+
+ /**
+ * Creates a <code>Dispatch</code> instance for use with JAXB
+ * generated objects. If there
+ * are any reference parameters in the
+ * <code>endpointReference</code>, then those reference
+ * parameters MUST appear as SOAP headers, indicating them to be
+ * reference parameters, on all messages sent to the endpoint.
+ * The <code>endpointReference's</code> address MUST be used
+ * for invocations on the endpoint.
+ * In the implementation of this method, the JAX-WS
+ * runtime system takes the responsibility of selecting a protocol
+ * binding (and a port) and configuring the dispatch accordingly from
+ * the WSDL associated with this <code>Service</code> instance or
+ * from the WSDL Metadata from the <code>endpointReference</code>.
+ * If this <code>Service</code> instance has a WSDL and
+ * the <code>endpointReference</code>
+ * also has a WSDL, then the WSDL from this instance will be used.
+ * If this <code>Service</code> instance does not have a WSDL and
+ * the <code>endpointReference</code> does have a WSDL, then the
+ * WSDL from the <code>endpointReference</code> will be used.
+ * <p>
+ * This method behavies the same as calling
+ * <pre>
+ * dispatch = service.createDispatch(portName, context, mode, features);
+ * </pre>
+ * where the <code>portName</code> is retrieved from the
+ * <code>wsaw:EndpointName</code> attribute of the <code>wsaw:ServiceName</code>
+ * element in the
+ * metadata of the <code>endpointReference</code>.
+ * <br>
+ * See <a href="http://www.w3.org/TR/2006/CR-ws-addr-wsdl-20060529/">WS-Addressing - WSDL 1.0
+ * </a>.
+ *
+ * @param endpointReference The <code>EndpointReference</code>
+ * for the target service endpoint that will be invoked by the
+ * returned <code>Dispatch</code> object.
+ * @param context The JAXB context used to marshall and unmarshall
+ * messages or message payloads.
+ * @param mode Controls whether the created dispatch instance is message
+ * or payload oriented, i.e. whether the user will work with complete
+ * protocol messages or message payloads. E.g. when using the SOAP
+ * protocol, this parameter controls whether the user will work with
+ * SOAP messages or the contents of a SOAP body.
+ * @param features An array of WebServiceFeatures to configure on the
+ * proxy. Supported features not in the <code>features
+ * </code> parameter will have their default values.
+ *
+ * @return Dispatch instance
+ * @throws WebServiceException
+ * @throws WebServiceException
+ * <UL>
+ * <li>If there is any missing WSDL metadata
+ * as required by this method.
+ * <li>If the <code>wsaw:ServiceName</code> element
+ * or the <code>wsaw:EndpointName</code> attribute
+ * is missing in the metdata of the
+ * <code>endpointReference</code>.
+ * <li>If the <code>wsaw:ServiceName</code> does not
+ * match the <code>serviceName</code> of this instance.
+ * <li>If the <code>wsaw:EndpointName</code> does not
+ * match a valid wsdl:Port in the WSDL metadata.
+ * <li>If any error in the creation of
+ * the <code>Dispatch</code> object.
+ * <li>if a feature is enabled that is not
+ * compatible with this port or is unsupported.
+ * </UL>
+ *
+ * @see javax.xml.bind.JAXBContext
+ * @see WebServiceFeature
+ *
+ * @since JAX-WS 2.1
+ **/
+ public abstract Dispatch<Object> createDispatch(EndpointReference endpointReference,
+ JAXBContext context, Service.Mode mode,
+ WebServiceFeature... features);
+
+
+ /**
+ * Gets the name of this service.
+ * @return Qualified name of this service
+ **/
+ public abstract QName getServiceName();
+
+ /**
+ * Returns an <code>Iterator</code> for the list of
+ * <code>QName</code>s of service endpoints grouped by this
+ * service
+ *
+ * @return Returns <code>java.util.Iterator</code> with elements
+ * of type <code>javax.xml.namespace.QName</code>
+ * @throws WebServiceException If this Service class does not
+ * have access to the required WSDL metadata
+ **/
+ public abstract Iterator<javax.xml.namespace.QName> getPorts();
+
+ /**
+ * Gets the location of the WSDL document for this Service.
+ *
+ * @return URL for the location of the WSDL document for
+ * this service
+ **/
+ public abstract java.net.URL getWSDLDocumentLocation();
+
+ /**
+ * Returns the configured handler resolver.
+ *
+ * @return HandlerResolver The <code>HandlerResolver</code> being
+ * used by this <code>Service</code> instance, or <code>null</code>
+ * if there isn't one.
+ **/
+ public abstract HandlerResolver getHandlerResolver();
+
+ /**
+ * Sets the <code>HandlerResolver</code> for this <code>Service</code>
+ * instance.
+ * <p>
+ * The handler resolver, if present, will be called once for each
+ * proxy or dispatch instance that is created, and the handler chain
+ * returned by the resolver will be set on the instance.
+ *
+ * @param handlerResolver The <code>HandlerResolver</code> to use
+ * for all subsequently created proxy/dispatch objects.
+ *
+ * @see javax.xml.ws.handler.HandlerResolver
+ **/
+ public abstract void setHandlerResolver(HandlerResolver handlerResolver);
+
+ /**
+ * Returns the executor for this <code>Service</code>instance.
+ *
+ * The executor is used for all asynchronous invocations that
+ * require callbacks.
+ *
+ * @return The <code>java.util.concurrent.Executor</code> to be
+ * used to invoke a callback.
+ *
+ * @see java.util.concurrent.Executor
+ **/
+ public abstract java.util.concurrent.Executor getExecutor();
+
+ /**
+ * Sets the executor for this <code>Service</code> instance.
+ *
+ * The executor is used for all asynchronous invocations that
+ * require callbacks.
+ *
+ * @param executor The <code>java.util.concurrent.Executor</code>
+ * to be used to invoke a callback.
+ *
+ * @throws SecurityException If the instance does not support
+ * setting an executor for security reasons (e.g. the
+ * necessary permissions are missing).
+ *
+ * @see java.util.concurrent.Executor
+ **/
+ public abstract void setExecutor(java.util.concurrent.Executor executor);
+
+}
Property changes on: trunk/jbossws-api/src/java/javax/xml/ws/spi/ServiceDelegate.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/jbossws-api/src/java/javax/xml/ws/spi/WebServiceFeatureAnnotation.java
===================================================================
--- trunk/jbossws-api/src/java/javax/xml/ws/spi/WebServiceFeatureAnnotation.java (rev 0)
+++ trunk/jbossws-api/src/java/javax/xml/ws/spi/WebServiceFeatureAnnotation.java 2007-04-23 06:12:12 UTC (rev 2897)
@@ -0,0 +1,71 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package javax.xml.ws.spi;
+
+// $Id$
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+import javax.xml.ws.WebServiceFeature;
+
+/**
+ * Annotation used to identify other annotations
+ * as a <code>WebServiceFeature</code>.
+ *
+ * Each <code>WebServiceFeature</code> annotation annotated with
+ * this annotation MUST contain an
+ * <code>enabled</code> property of type
+ * <code>boolean</code> with a default value of <code>true</code>.
+ * JAX-WS defines the following
+ * <code>WebServiceFeature</code> annotations, however, an implementation
+ * may define vendors specific annotations for other features.
+ * If a JAX-WS implementation encounters an annotation annotated
+ * with the <code>WebServiceFeatureAnnotation</code> that is does not
+ * recognize/support an error MUST be given.
+ *
+ * @see javax.xml.ws.soap.WSAddressing
+ * @see javax.xml.ws.soap.MTOM
+ * @see javax.xml.ws.RespectBinding
+ *
+ * @since JAX-WS 2.1
+ */
+(a)Target(ElementType.ANNOTATION_TYPE)
+(a)Retention(RetentionPolicy.RUNTIME)
+@Documented
+public @interface WebServiceFeatureAnnotation {
+ /**
+ * Unique identifier for the WebServiceFeature. This
+ * identifier MUST be unique across all implementations
+ * of JAX-WS.
+ */
+ String id();
+
+ /**
+ * The <code>WebServiceFeature</code> bean that is associated
+ * with the <code>WebServiceFeature</code> annotation
+ */
+ Class<? extends WebServiceFeature> bean();
+}
Property changes on: trunk/jbossws-api/src/java/javax/xml/ws/spi/WebServiceFeatureAnnotation.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/jbossws-api/src/java/javax/xml/ws/wsaddressing/W3CEndpointReference.java
===================================================================
--- trunk/jbossws-api/src/java/javax/xml/ws/wsaddressing/W3CEndpointReference.java (rev 0)
+++ trunk/jbossws-api/src/java/javax/xml/ws/wsaddressing/W3CEndpointReference.java 2007-04-23 06:12:12 UTC (rev 2897)
@@ -0,0 +1,153 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package javax.xml.ws.wsaddressing;
+
+// $Id$
+
+import java.util.List;
+import java.util.Map;
+
+import javax.xml.bind.JAXBContext;
+import javax.xml.bind.JAXBException;
+import javax.xml.bind.Marshaller;
+import javax.xml.bind.annotation.XmlAnyAttribute;
+import javax.xml.bind.annotation.XmlAnyElement;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+import javax.xml.bind.annotation.XmlValue;
+import javax.xml.namespace.QName;
+import javax.xml.transform.Result;
+import javax.xml.transform.Source;
+import javax.xml.ws.EndpointReference;
+import javax.xml.ws.WebServiceException;
+
+import org.w3c.dom.Element;
+
+
+/**
+ * This class represents a W3C Addressing EndpointReferece which is
+ * a remote reference to a web service endpoint that supports the
+ * W3C WS-Addressing 1.0 - Core Recommendation.
+ * <p>
+ * Developers should use this class in their SEIs if they want to
+ * pass/return endpoint references that represent the W3C WS-Addressing
+ * recommendation.
+ * <p>
+ * JAXB will use the JAXB annotations and bind this class to XML infoset
+ * that is consistent with that defined by WS-Addressing. See
+ * <a href="http://www.w3.org/TR/2006/REC-ws-addr-core-20060509/">
+ * WS-Addressing</a>
+ * for more information on WS-Addressing EndpointReferences.
+ *
+ * @since JAX-WS 2.1
+ */
+
+// XmlRootElement allows this class to be marshalled on its own
+@XmlRootElement(name="EndpointReference",namespace=W3CEndpointReference.NS)
+@XmlType(name="EndpointReferenceType",namespace=W3CEndpointReference.NS)
+public final class W3CEndpointReference extends EndpointReference {
+
+ private final static JAXBContext w3cjc = getW3CJaxbContext();
+
+ protected W3CEndpointReference() {
+ }
+
+ /**
+ * construct an EPR from infoset representation
+ *
+ * @param source A source object containing valid XmlInfoset
+ * instance consistent with the W3C WS-Addressing Core
+ * recommendation.
+ *
+ * @throws WebServiceException
+ * If the source does NOT contain a valid W3C WS-Addressing
+ * EndpointReference.
+ * @throws NullPointerException
+ * If the <code>null</code> <code>source</code> value is given
+ */
+ public W3CEndpointReference(Source source) {
+ try {
+ W3CEndpointReference epr = w3cjc.createUnmarshaller().unmarshal(source,W3CEndpointReference.class).getValue();
+ this.address = epr.address;
+ this.metadata = epr.metadata;
+ this.referenceParameters = epr.referenceParameters;
+ } catch (JAXBException e) {
+ throw new WebServiceException("Error unmarshalling W3CEndpointReference " ,e);
+ } catch (ClassCastException e) {
+ throw new WebServiceException("Source did not contain W3CEndpointReference", e);
+ }
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public void writeTo(Result result){
+ try {
+ Marshaller marshaller = w3cjc.createMarshaller();
+ marshaller.setProperty(Marshaller.JAXB_FRAGMENT, true);
+ marshaller.marshal(this, result);
+ } catch (JAXBException e) {
+ throw new WebServiceException("Error marshalling W3CEndpointReference. ", e);
+ }
+ }
+
+ private static JAXBContext getW3CJaxbContext() {
+ try {
+ return JAXBContext.newInstance(W3CEndpointReference.class);
+ } catch (JAXBException e) {
+ throw new WebServiceException("Error creating JAXBContext for W3CEndpointReference. ", e);
+ }
+ }
+
+ // private but necessary properties for databinding
+ @XmlElement(name="Address",namespace=NS)
+ private Address address;
+ @XmlElement(name="ReferenceParameters",namespace=NS)
+ private Elements referenceParameters;
+ @XmlElement(name="Metadata",namespace=NS)
+ private Elements metadata;
+ @XmlAnyAttribute
+ Map<QName,String> attributes;
+ @XmlAnyElement
+ List<Element> elements;
+
+
+ private static class Address {
+ protected Address() {}
+ @XmlValue
+ String uri;
+ @XmlAnyAttribute
+ Map<QName,String> attributes;
+ }
+
+
+ private static class Elements {
+ protected Elements() {}
+ @XmlAnyElement
+ List<Element> elements;
+ @XmlAnyAttribute
+ Map<QName,String> attributes;
+ }
+
+ protected static final String NS = "http://www.w3.org/2005/08/addressing";
+}
Property changes on: trunk/jbossws-api/src/java/javax/xml/ws/wsaddressing/W3CEndpointReference.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/jbossws-api/src/java/javax/xml/ws/wsaddressing/W3CEndpointReferenceBuilder.java
===================================================================
--- trunk/jbossws-api/src/java/javax/xml/ws/wsaddressing/W3CEndpointReferenceBuilder.java (rev 0)
+++ trunk/jbossws-api/src/java/javax/xml/ws/wsaddressing/W3CEndpointReferenceBuilder.java 2007-04-23 06:12:12 UTC (rev 2897)
@@ -0,0 +1,262 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package javax.xml.ws.wsaddressing;
+
+// $Id$
+
+
+import java.util.ArrayList;
+import java.util.List;
+
+import javax.xml.namespace.QName;
+import javax.xml.ws.WebServiceException;
+import javax.xml.ws.spi.Provider;
+
+import org.w3c.dom.Element;
+
+
+/**
+ * This class is used to build <code>W3CEndpointReference</code>
+ * instances. The intended use of this clsss is for
+ * an application component, for example a factory component,
+ * to create an <code>W3CEndpointReference</code> for a
+ * web service endpoint published by the same
+ * Java EE application. It can also be used to create
+ * <code>W3CEndpointReferences</code> for an Java SE based
+ * endpoint by providing the <code>address</code> property.
+ * <p>
+ * When creating a <code>W3CEndpointReference</code> for an
+ * endpoint that is not published by the same Java EE application,
+ * the <code>address</code> property MUST be specified.
+ * <p>
+ * When creating a <code>W3CEndpointReference</code> for an endpoint
+ * published by the same Java EE application, the <code>address</code>
+ * property MAY be <code>null</code> but then the <code>serviceName</code>
+ * and <code>endpointName</code> MUST specify an endpoint published by
+ * the same Java EE application.
+ * <p>
+ * When the <code>wsdlDocumentLocation</code> is specified it MUST refer
+ * to a valid WSDL document and the <code>serviceName</code> and
+ * <code>endpointName</code> (if specified) MUST match a service and port
+ * in the WSDL document.
+ *
+ * @since JAX-WS 2.1
+ */
+public final class W3CEndpointReferenceBuilder {
+
+ public W3CEndpointReferenceBuilder() {
+ referenceParameters = new ArrayList<Element>();
+ metadata = new ArrayList<Element>();
+ }
+
+ /**
+ * Sets the <code>address</code> to the
+ * <code>W3CEndpointReference</code> instance's
+ * <code>wsa:Address</code>.
+ * <p>
+ * The <code>address</code> MUST be set to a non-<code>null</code>
+ * value when building a <code>W3CEndpointReference</code> for a
+ * web service endpoint that is not published by the same
+ * Java EE application or when running on Java SE.
+ *
+ * @param address The address of the endpoint to be targeted
+ * by the returned <code>W3CEndpointReference<code>.
+ *
+ * @return A <code>W3CEndpointReferenceBuilder</code> instance with
+ * the <code>address</code> set to the <code>wsa:Address</code>.
+ */
+ public W3CEndpointReferenceBuilder address(String address) {
+ this.address = address;
+ return this;
+ }
+
+ /**
+ * Sets the <code>serviceName</code> as the
+ * <code>wsaw:ServiceName</code> element in the
+ * <code>wsa:Metadata</code> element.
+ *
+ * @param serviceName The service name of the endpoint to be targeted
+ * by the returned <code>W3CEndpointReference<code>. This property
+ * may also be used with the <code>endpointName</code> (portName)
+ * property to lookup the <code>address</code> of a web service
+ * endpoint that is published by the same Java EE application.
+ *
+ * @return A <code>W3CEndpointReferenceBuilder</code> instance with
+ * the <code>serviceName</code> element added to the
+ * <code>wsa:Metadata</code> element.
+ *
+ */
+ public W3CEndpointReferenceBuilder serviceName(QName serviceName) {
+ this.serviceName = serviceName;
+ return this;
+ }
+
+ /**
+ * Sets the <code>endpointName</code> as and attribute on
+ * <code>wsaw:ServiceName</code> element in the
+ * <code>wsa:Metadata</code> element. This method can only
+ * be called after the {@link #serviceName} method has been called.
+ *
+ * @param endpointName The name of the endpoint to be targeted
+ * by the returned <code>W3CEndpointReference<code>. The
+ * <code>endpointName</code> (portName) property may also be
+ * used with the <code>serviceName</code> property to lookup
+ * the <code>address</code> of a web service
+ * endpoint published by the same Java EE application.
+ *
+ * @return A <code>W3CEndpointReferenceBuilder</code> instance with
+ * the <code>endpointName</code> atrribute added to the
+ * <code>wsaw:ServiceName</code> element in the
+ * <code>wsa:Metadata</code> element.
+ *
+ * @throws javax.lang.IllegalStateException If the <code>serviceName</code> has not
+ * been set.
+ */
+ public W3CEndpointReferenceBuilder endpointName(QName endpointName) {
+ if (serviceName == null) {
+ throw new IllegalStateException("The W3CEndpointReferenceBuilder's serviceName must be set before setting the endpointName: "+endpointName);
+ }
+
+ this.endpointName = endpointName;
+ return this;
+ }
+
+ /**
+ * Sets the <code>wsdlDocumentLocation</code> that will be inlined
+ * in the <code>W3CEndpointReferenc</code> instance's
+ * <code>wsa:Metadata</code>.
+ *
+ * @param wsdlDocumentLocation The location of the WSDL document to
+ * be inlined in the <code>wsa:Metadata</code> of the
+ * <code>W3CEndpointReference<code>.
+ *
+ * @return A <code>W3CEndpointReferenceBuilder</code> instance with
+ * the <code>wsdlDocumentLocation</code> that is to be inlined.
+ *
+ */
+ public W3CEndpointReferenceBuilder wsdlDocumentLocation(String wsdlDocumentLocation) {
+ this.wsdlDocumentLocation = wsdlDocumentLocation;
+ return this;
+ }
+
+ /**
+ * Adds the <code>referenceParameter</code> to the
+ * <code>W3CEndpointReference</code> instance
+ * <code>wsa:ReferenceParameters</code> element.
+ *
+ * @param referenceParameter The element to be added to the
+ * <code>wsa:ReferenceParameters</code> element.
+ *
+ * @return A <code>W3CEndpointReferenceBuilder</code> instance with
+ * the <code>referenceParameter</code> added to the
+ * <code>wsa:ReferenceParameters</code> element.
+ *
+ * @throws java.lang.IllegalArgumentException if <code>referenceParameter</code>
+ * is <code>null</code>.
+ */
+ public W3CEndpointReferenceBuilder referenceParameter(Element referenceParameter) {
+ if (referenceParameter == null)
+ throw new java.lang.IllegalArgumentException("The referenceParameter cannot be null.");
+ referenceParameters.add(referenceParameter);
+ return this;
+ }
+
+ /**
+ * Adds the <code>metadataElement</code> to the
+ * <code>W3CEndpointReference</code> instance's
+ * <code>wsa:Metadata</code> element.
+ *
+ * @param metadataElement The element to be added to the
+ * <code>wsa:Metadata</code> element.
+ *
+ * @return A <code>W3CEndpointReferenceBuilder</code> instance with
+ * the <code>metadataElement</code> added to the
+ * <code>wsa:Metadata</code> element.
+ *
+ * @throws java.lang.IllegalArgumentException if <code>metadataElement</code>
+ * is <code>null</code>.
+ */
+ public W3CEndpointReferenceBuilder metadata(Element metadataElement) {
+ if (metadataElement == null)
+ throw new java.lang.IllegalArgumentException("The metadataElement cannot be null.");
+ metadata.add(metadataElement);
+ return this;
+ }
+
+ /**
+ * Builds a <code>W3CEndpointReference</code> from the accumulated
+ * properties set on this <code>W3CEndpointReferenceBuilder</code>
+ * instance.
+ * <p>
+ * This method can be used to create a <code>W3CEndpointReference</code>
+ * for any endpoint by specifying the <code>address</code> property along
+ * with any other desired properties. This method
+ * can also be used to create a <code>W3CEndpointReference</code> for
+ * an endpoint that is published by the same Java EE application.
+ * This method can automatically determine the <code>address</code> of
+ * an endpoint published by the same Java EE application that is identified by the
+ * <code>serviceName</code> and
+ * <code>endpointName</code> properties. If the <code>address</code> is
+ * <code>null</code> and the <code>serviceName</code> and
+ * <code>endpointName</code>
+ * do not identify an endpoint published by the same Java EE application, a
+ * <code>javax.lang.IllegalStateException</code> MUST be thrown.
+ *
+ *
+ * @return <code>W3CEndpointReference</code> from the accumulated
+ * properties set on this <code>W3CEndpointReferenceBuilder</code>
+ * instance. This method never returns <code>null</code>.
+ *
+ * @throws javax.lang.IllegalStateException
+ * <ul>
+ * <li>If the <code>address</code>, <code>serviceName</code> and
+ * <code>endpointName</code> are all <code>null</code>.
+ * <li>If the <code>serviceName</code> service is <code>null</code> and the
+ * <code>endpointName</code> is NOT <code>null</code>.
+ * <li>If the <code>address</code> property is <code>null</code> and
+ * the <code>serviceName</code> and <code>endpointName</code> do not
+ * specify a valid endpoint published by the same Java EE
+ * application.
+ * <li>If the <code>serviceName</code>is NOT <code>null</code>
+ * and is not present in the specified WSDL.
+ * <li>If the <code>endpointName</code> port is not <code>null<code> and it
+ * is not present in <code>serviceName</code> service in the WSDL.
+ * <li>If the <code>wsdlDocumentLocation</code> is NOT <code>null</code>
+ * and does not represent a valid WSDL.
+ * </ul>
+ * @throws WebServiceException If an error occurs while creating the
+ * <code>W3CEndpointReference</code>.
+ *
+ */
+ public W3CEndpointReference build() {
+ return Provider.provider().createW3CEndpointReference(address,
+ serviceName, endpointName, metadata, wsdlDocumentLocation,
+ referenceParameters);
+ }
+
+ private String address;
+ private List<Element> referenceParameters;
+ private List<Element> metadata;
+ private QName serviceName;
+ private QName endpointName;
+ private String wsdlDocumentLocation;
+}
Property changes on: trunk/jbossws-api/src/java/javax/xml/ws/wsaddressing/W3CEndpointReferenceBuilder.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/jbossws-api/src/resources/jboss-jaxws.jar/META-INF/services/javax.xml.ws.spi.Provider
===================================================================
--- trunk/jbossws-api/src/resources/jboss-jaxws.jar/META-INF/services/javax.xml.ws.spi.Provider (rev 0)
+++ trunk/jbossws-api/src/resources/jboss-jaxws.jar/META-INF/services/javax.xml.ws.spi.Provider 2007-04-23 06:12:12 UTC (rev 2897)
@@ -0,0 +1 @@
+org.jboss.ws.core.jaxws.spi.ProviderImpl
\ No newline at end of file
Added: trunk/jbossws-api/src/resources/jboss-saaj.jar/META-INF/services/javax.xml.soap.MessageFactory
===================================================================
--- trunk/jbossws-api/src/resources/jboss-saaj.jar/META-INF/services/javax.xml.soap.MessageFactory (rev 0)
+++ trunk/jbossws-api/src/resources/jboss-saaj.jar/META-INF/services/javax.xml.soap.MessageFactory 2007-04-23 06:12:12 UTC (rev 2897)
@@ -0,0 +1 @@
+org.jboss.ws.core.soap.MessageFactoryImpl
\ No newline at end of file
Added: trunk/jbossws-api/src/resources/jboss-saaj.jar/META-INF/services/javax.xml.soap.MetaFactory
===================================================================
--- trunk/jbossws-api/src/resources/jboss-saaj.jar/META-INF/services/javax.xml.soap.MetaFactory (rev 0)
+++ trunk/jbossws-api/src/resources/jboss-saaj.jar/META-INF/services/javax.xml.soap.MetaFactory 2007-04-23 06:12:12 UTC (rev 2897)
@@ -0,0 +1 @@
+org.jboss.ws.core.soap.SAAJMetaFactoryImpl
\ No newline at end of file
Added: trunk/jbossws-api/src/resources/jboss-saaj.jar/META-INF/services/javax.xml.soap.SOAPFactory
===================================================================
--- trunk/jbossws-api/src/resources/jboss-saaj.jar/META-INF/services/javax.xml.soap.SOAPFactory (rev 0)
+++ trunk/jbossws-api/src/resources/jboss-saaj.jar/META-INF/services/javax.xml.soap.SOAPFactory 2007-04-23 06:12:12 UTC (rev 2897)
@@ -0,0 +1 @@
+org.jboss.ws.core.soap.SOAPFactoryImpl
\ No newline at end of file
Modified: trunk/jbossws-core/.classpath
===================================================================
--- trunk/jbossws-core/.classpath 2007-04-23 06:06:16 UTC (rev 2896)
+++ trunk/jbossws-core/.classpath 2007-04-23 06:12:12 UTC (rev 2897)
@@ -31,5 +31,6 @@
<classpathentry kind="lib" path="/build/thirdparty/wstx.jar"/>
<classpathentry kind="lib" path="/build/thirdparty/getopt.jar"/>
<classpathentry kind="lib" path="/build/thirdparty/jboss-common.jar" sourcepath="/build/thirdparty/jboss-common-sources.jar"/>
+ <classpathentry combineaccessrules="false" kind="src" path="/jbossws-api"/>
<classpathentry kind="output" path="output-eclipse"/>
</classpath>
Modified: trunk/jbossws-core/build.xml
===================================================================
--- trunk/jbossws-core/build.xml 2007-04-23 06:06:16 UTC (rev 2896)
+++ trunk/jbossws-core/build.xml 2007-04-23 06:12:12 UTC (rev 2897)
@@ -15,6 +15,7 @@
<import file="${basedir}/../build/ant-import/build-thirdparty.xml"/>
<import file="${basedir}/../build/ant-import/build-setup.xml"/>
+ <import file="${basedir}/../integration/build.xml"/>
<property name="core.src.dir" value="${core.dir}/src"/>
<property name="core.java.dir" value="${core.src.dir}/java"/>
@@ -23,7 +24,6 @@
<property name="core.output.dir" value="${core.dir}/output"/>
<property name="core.output.apidocs.dir" value="${core.output.dir}/apidocs"/>
<property name="core.output.classes.dir" value="${core.output.dir}/classes"/>
- <property name="core.output.classes14.dir" value="${core.output.dir}/classes14"/>
<property name="core.output.lib.dir" value="${core.output.dir}/lib"/>
<target name="core-init" depends="prepare, thirdparty">
@@ -41,48 +41,27 @@
| documentation compiles.
-->
- <target name="core-compile" depends="core-init,core-compile-classes,core-compile-etc" description="Compile all source files."/>
+ <target name="core-compile" depends="core-init,core-compile-classes,core-compile-etc"
+ description="Compile all source files."/>
<!-- Compile java sources -->
- <target name="core-compile-classes" depends="core-init">
+ <target name="core-compile-classes" depends="core-init,integration-compile-classes">
- <!-- Compile interfaces with jdk1.4 -->
- <mkdir dir="${core.output.classes14.dir}"/>
- <javac srcdir="${core.java.dir}" destdir="${core.output.classes14.dir}" encoding="utf-8" debug="${javac.debug}" verbose="${javac.verbose}" deprecation="${javac.deprecation}"
- failonerror="${javac.fail.onerror}" source="1.4" target="1.4">
- <include name="javax/xml/rpc/**"/>
- <include name="javax/xml/soap/**"/>
- <classpath refid="core.classpath"/>
- </javac>
-
<!-- Compile core classes with jdk1.5 -->
<mkdir dir="${core.output.classes.dir}"/>
<javac srcdir="${core.java.dir}" sourcepath="" destdir="${core.output.classes.dir}" encoding="utf-8" debug="${javac.debug}" verbose="${javac.verbose}"
deprecation="${javac.deprecation}" failonerror="${javac.fail.onerror}" source="1.5" target="1.5">
- <include name="javax/annotation/**"/>
- <include name="javax/xml/ws/**"/>
- <include name="javax/jws/**"/>
<include name="org/jboss/annotation/**"/>
<include name="org/jboss/ws/**"/>
- <classpath path="${core.output.classes14.dir}"/>
<classpath refid="core.classpath"/>
+ <classpath path="${api.output.classes14.dir}"/>
+ <classpath path="${api.output.classes.dir}"/>
+ <classpath path="${integration.output.classes.dir}"/>
</javac>
</target>
-
<!-- Compile etc files (manifests and such) -->
- <target name="core-compile-etc" depends="core-init">
- <mkdir dir="${build.etc.dir}"/>
- <copy todir="${build.etc.dir}" filtering="yes" overwrite="yes">
- <fileset dir="${build.dir}/etc"/>
- <filterset>
- <filter token="java.vm.version" value="${java.vm.version}"/>
- <filter token="java.vm.vendor" value="${java.vm.vendor}"/>
- <filter token="build.id" value="${build.id}"/>
- <filter token="implementation.version" value="jbossws-${version.id}"/>
- <filtersfile file="${build.dir}/version.properties"/>
- </filterset>
- </copy>
+ <target name="core-compile-etc" depends="core-init,integration-compile-etc">
</target>
<!-- ================================================================== -->
@@ -100,34 +79,6 @@
-->
<target name="core-module-jars">
- <!-- Build jboss-jaxrpc.jar -->
- <mkdir dir="${core.output.lib.dir}"/>
- <jar jarfile="${core.output.lib.dir}/jboss-jaxrpc.jar" manifest="${build.etc.dir}/default.mf">
- <fileset dir="${core.output.classes14.dir}">
- <include name="javax/xml/rpc/**"/>
- </fileset>
- </jar>
-
- <!-- Build jboss-saaj.jar -->
- <mkdir dir="${core.output.lib.dir}"/>
- <jar jarfile="${core.output.lib.dir}/jboss-saaj.jar" manifest="${build.etc.dir}/default.mf">
- <fileset dir="${core.output.classes14.dir}">
- <include name="javax/xml/soap/**"/>
- </fileset>
- <metainf dir="${core.resources.dir}/jboss-saaj.jar/META-INF"/>
- </jar>
-
- <!-- Build jboss-jaxws.jar -->
- <mkdir dir="${core.output.lib.dir}"/>
- <jar jarfile="${core.output.lib.dir}/jboss-jaxws.jar" manifest="${build.etc.dir}/default.mf">
- <fileset dir="${core.output.classes.dir}">
- <include name="javax/annotation/**"/>
- <include name="javax/jws/**"/>
- <include name="javax/xml/ws/**"/>
- </fileset>
- <metainf dir="${core.resources.dir}/jboss-jaxws.jar/META-INF"/>
- </jar>
-
<!-- Build jbossws-core.jar -->
<mkdir dir="${core.output.lib.dir}"/>
<jar jarfile="${core.output.lib.dir}/jbossws-core.jar" manifest="${build.etc.dir}/default.mf">
@@ -141,14 +92,6 @@
</fileset>
</jar>
- <!-- Build jbossws-integration.jar -->
- <mkdir dir="${core.output.lib.dir}"/>
- <jar jarfile="${core.output.lib.dir}/jbossws-integration.jar" manifest="${build.etc.dir}/default.mf">
- <fileset dir="${core.output.classes.dir}">
- <include name="org/jboss/ws/integration/**"/>
- </fileset>
- </jar>
-
<!-- Build jbossws-client.jar -->
<jar jarfile="${core.output.lib.dir}/jbossws-client.jar" manifest="${build.etc.dir}/default.mf">
<fileset dir="${core.output.classes.dir}">
17 years
JBossWS SVN: r2896 - in trunk/integration: src/main/java/org/jboss/ws/integration and 4 other directories.
by jbossws-commits@lists.jboss.org
Author: thomas.diesler(a)jboss.com
Date: 2007-04-23 02:06:16 -0400 (Mon, 23 Apr 2007)
New Revision: 2896
Added:
trunk/integration/build.xml
trunk/integration/src/main/java/org/jboss/ws/integration/BasicEndpoint.java
trunk/integration/src/main/java/org/jboss/ws/integration/BasicService.java
trunk/integration/src/main/java/org/jboss/ws/integration/KernelLocator.java
trunk/integration/src/main/java/org/jboss/ws/integration/ObjectNameFactory.java
trunk/integration/src/main/java/org/jboss/ws/integration/ResourceLoaderAdapter.java
trunk/integration/src/main/java/org/jboss/ws/integration/ServiceRefElement.java
trunk/integration/src/main/java/org/jboss/ws/integration/ServiceRefHandler.java
trunk/integration/src/main/java/org/jboss/ws/integration/ServiceRefMetaData.java
trunk/integration/src/main/java/org/jboss/ws/integration/URLLoaderAdapter.java
trunk/integration/src/main/java/org/jboss/ws/integration/UnifiedVirtualFile.java
trunk/integration/src/main/java/org/jboss/ws/integration/deployment/AbstractDeployer.java
trunk/integration/src/main/java/org/jboss/ws/integration/deployment/DeploymentManagerFactory.java
trunk/integration/src/main/java/org/jboss/ws/integration/deployment/EndpointNameDeployer.java
trunk/integration/src/main/java/org/jboss/ws/integration/deployment/RegisteringDeployer.java
trunk/integration/src/main/java/org/jboss/ws/integration/deployment/ValidatingDeployer.java
trunk/integration/src/main/java/org/jboss/ws/integration/management/EndpointRegistryFactory.java
trunk/integration/src/test/java/org/jboss/test/ws/integration/basic/BasicEndpointImp.java
trunk/integration/src/test/java/org/jboss/test/ws/integration/basic/InvalidEndpointImp.java
Modified:
trunk/integration/.classpath
trunk/integration/src/main/java/org/jboss/ws/integration/Service.java
trunk/integration/src/main/java/org/jboss/ws/integration/deployment/BasicDeploymentManager.java
trunk/integration/src/main/java/org/jboss/ws/integration/deployment/DeploymentManager.java
trunk/integration/src/main/java/org/jboss/ws/integration/management/EndpointRegistry.java
trunk/integration/src/test/java/org/jboss/test/ws/integration/basic/BasicDeploymentTest.java
trunk/integration/src/test/resources/basic/basic-deployers.xml
Log:
More work on general integration
Modified: trunk/integration/.classpath
===================================================================
--- trunk/integration/.classpath 2007-04-20 23:49:59 UTC (rev 2895)
+++ trunk/integration/.classpath 2007-04-23 06:06:16 UTC (rev 2896)
@@ -14,5 +14,6 @@
<classpathentry kind="lib" path="/build/thirdparty/jboss-logging-spi.jar"/>
<classpathentry kind="lib" path="/build/thirdparty/xalan.jar" sourcepath="/usr/java/xalan-j_2_7_0/src"/>
<classpathentry kind="lib" path="/build/thirdparty/xercesImpl.jar"/>
+ <classpathentry combineaccessrules="false" kind="src" path="/jbossws-api"/>
<classpathentry kind="output" path="output-eclipse"/>
</classpath>
Added: trunk/integration/build.xml
===================================================================
--- trunk/integration/build.xml (rev 0)
+++ trunk/integration/build.xml 2007-04-23 06:06:16 UTC (rev 2896)
@@ -0,0 +1,127 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!-- ====================================================================== -->
+<!-- -->
+<!-- JBoss, the OpenSource J2EE webOS -->
+<!-- -->
+<!-- Distributable under LGPL license. -->
+<!-- See terms of license at http://www.gnu.org. -->
+<!-- -->
+<!-- ====================================================================== -->
+
+<!-- $Id$ -->
+
+<project default="main" basedir="../integration" name="WebService Integration">
+
+ <import file="${basedir}/../build/ant-import/build-thirdparty.xml"/>
+ <import file="${basedir}/../build/ant-import/build-setup.xml"/>
+ <import file="${basedir}/../jbossws-api/build.xml"/>
+
+ <property name="integration.src.dir" value="${integration.dir}/src"/>
+ <property name="integration.java.dir" value="${integration.src.dir}/main/java"/>
+ <property name="integration.resources.dir" value="${integration.src.dir}/main/resources"/>
+ <property name="integration.output.dir" value="${integration.dir}/output"/>
+ <property name="integration.output.apidocs.dir" value="${integration.output.dir}/apidocs"/>
+ <property name="integration.output.classes.dir" value="${integration.output.dir}/classes"/>
+ <property name="integration.output.lib.dir" value="${integration.output.dir}/lib"/>
+
+ <target name="integration-init" depends="prepare, thirdparty">
+ </target>
+
+ <!-- ================================================================== -->
+ <!-- Compile -->
+ <!-- ================================================================== -->
+
+ <!--
+ | Compile everything.
+ |
+ | This target should depend on other compile-* targets for each
+ | different type of compile that needs to be performed, short of
+ | documentation compiles.
+ -->
+
+ <target name="integration-compile" depends="integration-init,integration-compile-classes,integration-compile-etc"
+ description="Compile all source files."/>
+
+ <!-- Compile java sources -->
+ <target name="integration-compile-classes" depends="integration-init,api-compile-classes">
+
+ <!-- Compile integration classes with jdk1.5 -->
+ <mkdir dir="${integration.output.classes.dir}"/>
+ <javac srcdir="${integration.java.dir}" sourcepath="" destdir="${integration.output.classes.dir}" encoding="utf-8" debug="${javac.debug}" verbose="${javac.verbose}"
+ deprecation="${javac.deprecation}" failonerror="${javac.fail.onerror}" source="1.5" target="1.5">
+ <include name="org/jboss/ws/integration/**"/>
+ <classpath refid="core.classpath"/>
+ <classpath path="${api.output.classes.dir}"/>
+ </javac>
+ </target>
+
+ <!-- Compile etc files (manifests and such) -->
+ <target name="integration-compile-etc" depends="integration-init,api-compile-etc">
+ </target>
+
+ <!-- ================================================================== -->
+ <!-- Archives -->
+ <!-- ================================================================== -->
+
+ <!--
+ | Build all jar files.
+ -->
+ <target name="integration-jars" depends="integration-compile,integration-module-jars" description="Builds all jar files.">
+ </target>
+
+ <!--
+ | Build all jar files.
+ -->
+ <target name="integration-module-jars">
+
+ <!-- Build jbossws-integration.jar -->
+ <mkdir dir="${integration.output.lib.dir}"/>
+ <jar jarfile="${integration.output.lib.dir}/jbossws-integration.jar" manifest="${build.etc.dir}/default.mf">
+ <fileset dir="${integration.output.classes.dir}">
+ <include name="org/jboss/ws/integration/**"/>
+ </fileset>
+ </jar>
+
+ <!-- Build jbossws-integration-src.zip -->
+ <zip zipfile="${integration.output.lib.dir}/jbossws-integration-src.zip" >
+ <fileset dir="${integration.java.dir}"/>
+ </zip>
+
+ </target>
+
+ <!-- ================================================================== -->
+ <!-- Documentation -->
+ <!-- ================================================================== -->
+
+ <!-- Generate the JavaDoc -->
+ <target name="integration-javadoc" depends="integration-init" description="Generate the Javadoc">
+
+ <mkdir dir="${integration.output.apidocs.dir}"/>
+ <javadoc destdir="${integration.output.apidocs.dir}" author="true" version="true" use="true" windowtitle="JBossWS API">
+ <classpath refid="integration.classpath"/>
+ <packageset dir="${integration.java.dir}" defaultexcludes="yes">
+ <include name="org/jboss/ws/**"/>
+ </packageset>
+ <doctitle><![CDATA[<h1>JBossWS</h1>]]></doctitle>
+ <tag name="todo" scope="all" description="To do:"/>
+ <group title="Core" packages="org.jboss.ws.integration*"/>
+ <group title="Metadata" packages="org.jboss.ws.metadata*"/>
+ <group title="Integration" packages="org.jboss.ws.integration*"/>
+ <group title="Extensions" packages="org.jboss.ws.extensions*"/>
+ <group title="Tools" packages="org.jboss.ws.tools*"/>
+ </javadoc>
+ </target>
+
+ <target name="clean" depends="prepare" description="Cleans up most generated files.">
+ <delete dir="${integration.output.dir}"/>
+ </target>
+
+ <target name="main" description="Executes the default target (most)." depends="most"/>
+
+ <target name="most" description="Builds almost everything." depends="integration-jars"/>
+
+ <target name="all" description="Create a distribution zip file" depends="main">
+ </target>
+
+</project>
Property changes on: trunk/integration/build.xml
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/integration/src/main/java/org/jboss/ws/integration/BasicEndpoint.java
===================================================================
--- trunk/integration/src/main/java/org/jboss/ws/integration/BasicEndpoint.java (rev 0)
+++ trunk/integration/src/main/java/org/jboss/ws/integration/BasicEndpoint.java 2007-04-23 06:06:16 UTC (rev 2896)
@@ -0,0 +1,143 @@
+/*
+ * ====================================================================
+ *
+ * The Apache Software License, Version 1.1
+ *
+ * Copyright (c) 1999 The Apache Software Foundation. All rights
+ * reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in
+ * the documentation and/or other materials provided with the
+ * distribution.
+ *
+ * 3. The end-user documentation included with the redistribution, if
+ * any, must include the following acknowlegement:
+ * "This product includes software developed by the
+ * Apache Software Foundation (http://www.apache.org/)."
+ * Alternately, this acknowlegement may appear in the software itself,
+ * if and wherever such third-party acknowlegements normally appear.
+ *
+ * 4. The names "The Jakarta Project", "Tomcat", and "Apache Software
+ * Foundation" must not be used to endorse or promote products derived
+ * from this software without prior written permission. For written
+ * permission, please contact apache(a)apache.org.
+ *
+ * 5. Products derived from this software may not be called "Apache"
+ * nor may "Apache" appear in their names without prior written
+ * permission of the Apache Group.
+ *
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
+ * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+ * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ * ====================================================================
+ *
+ * This software consists of voluntary contributions made by many
+ * individuals on behalf of the Apache Software Foundation. For more
+ * information on the Apache Software Foundation, please see
+ * <http://www.apache.org/>.
+ */
+package org.jboss.ws.integration;
+
+import java.util.List;
+
+import javax.management.ObjectName;
+import javax.xml.transform.Source;
+
+/**
+ * A general JAXWS endpoint.
+ *
+ * @author Thomas.Diesler(a)jboss.com
+ * @since 20-Apr-2007
+ */
+public class BasicEndpoint implements Endpoint
+{
+ private Service service;
+ private ObjectName name;
+ private Class endpointImpl;
+ private List<Source> metaData;
+ private RequestHandler requestHandler;
+ private LifecycleHandler lifecycleHandler;
+
+ public BasicEndpoint(Service service, Class impl)
+ {
+ this.service = service;
+ this.endpointImpl = impl;
+ }
+
+ public Service getService()
+ {
+ return service;
+ }
+
+ public void setService(Service service)
+ {
+ this.service = service;
+ }
+
+ public Class getEndpointImpl()
+ {
+ return endpointImpl;
+ }
+
+ public void setEndpointImpl(Class endpointImpl)
+ {
+ this.endpointImpl = endpointImpl;
+ }
+
+ public LifecycleHandler getLifecycleHandler()
+ {
+ return lifecycleHandler;
+ }
+
+ public void setLifecycleHandler(LifecycleHandler lifecycleHandler)
+ {
+ this.lifecycleHandler = lifecycleHandler;
+ }
+
+ public List<Source> getMetaData()
+ {
+ return metaData;
+ }
+
+ public void addMetaData(Source metaData)
+ {
+ this.metaData.add(metaData);
+ }
+
+ public ObjectName getName()
+ {
+ return name;
+ }
+
+ public void setName(ObjectName name)
+ {
+ this.name = name;
+ }
+
+ public RequestHandler getRequestHandler()
+ {
+ return requestHandler;
+ }
+
+ public void setRequestHandler(RequestHandler requestHandler)
+ {
+ this.requestHandler = requestHandler;
+ }
+}
Property changes on: trunk/integration/src/main/java/org/jboss/ws/integration/BasicEndpoint.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/integration/src/main/java/org/jboss/ws/integration/BasicService.java
===================================================================
--- trunk/integration/src/main/java/org/jboss/ws/integration/BasicService.java (rev 0)
+++ trunk/integration/src/main/java/org/jboss/ws/integration/BasicService.java 2007-04-23 06:06:16 UTC (rev 2896)
@@ -0,0 +1,104 @@
+/*
+ * ====================================================================
+ *
+ * The Apache Software License, Version 1.1
+ *
+ * Copyright (c) 1999 The Apache Software Foundation. All rights
+ * reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in
+ * the documentation and/or other materials provided with the
+ * distribution.
+ *
+ * 3. The end-user documentation included with the redistribution, if
+ * any, must include the following acknowlegement:
+ * "This product includes software developed by the
+ * Apache Software Foundation (http://www.apache.org/)."
+ * Alternately, this acknowlegement may appear in the software itself,
+ * if and wherever such third-party acknowlegements normally appear.
+ *
+ * 4. The names "The Jakarta Project", "Tomcat", and "Apache Software
+ * Foundation" must not be used to endorse or promote products derived
+ * from this software without prior written permission. For written
+ * permission, please contact apache(a)apache.org.
+ *
+ * 5. Products derived from this software may not be called "Apache"
+ * nor may "Apache" appear in their names without prior written
+ * permission of the Apache Group.
+ *
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
+ * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+ * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ * ====================================================================
+ *
+ * This software consists of voluntary contributions made by many
+ * individuals on behalf of the Apache Software Foundation. For more
+ * information on the Apache Software Foundation, please see
+ * <http://www.apache.org/>.
+ */
+package org.jboss.ws.integration;
+
+// $Id$
+
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Set;
+
+import org.jboss.ws.integration.deployment.DeploymentUnit;
+
+/**
+ * A general service.
+ *
+ * Maintains a named set of Endpoints
+ *
+ * @author Thomas.Diesler(a)jboss.com
+ * @since 20-Apr-2007
+ */
+public class BasicService implements Service
+{
+ private DeploymentUnit unit;
+ private List<Endpoint> endpoints = new LinkedList<Endpoint>();
+
+ public BasicService(DeploymentUnit unit)
+ {
+ this.unit = unit;
+ this.unit.setService(this);
+ }
+
+ public DeploymentUnit getDeploymentUnit()
+ {
+ return unit;
+ }
+
+ public void setDeploymentUnit(DeploymentUnit unit)
+ {
+ this.unit = unit;
+ }
+
+ public void addEndpoint(Endpoint endpoint)
+ {
+ endpoints.add(endpoint);
+ }
+
+ public List<Endpoint> getEndpoints()
+ {
+ return endpoints;
+ }
+}
Property changes on: trunk/integration/src/main/java/org/jboss/ws/integration/BasicService.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/integration/src/main/java/org/jboss/ws/integration/KernelLocator.java
===================================================================
--- trunk/integration/src/main/java/org/jboss/ws/integration/KernelLocator.java (rev 0)
+++ trunk/integration/src/main/java/org/jboss/ws/integration/KernelLocator.java 2007-04-23 06:06:16 UTC (rev 2896)
@@ -0,0 +1,47 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.ws.integration;
+
+//$Id$
+
+import org.jboss.kernel.Kernel;
+
+/**
+ * Locate the single instance of the kernel
+ *
+ * @author Thomas.Diesler(a)jboss.org
+ * @since 12-May-2006
+ */
+public class KernelLocator
+{
+ private static Kernel kernel;
+
+ public static Kernel getKernel()
+ {
+ return KernelLocator.kernel;
+ }
+
+ public void setKernel(Kernel kernel)
+ {
+ KernelLocator.kernel = kernel;
+ }
+}
Property changes on: trunk/integration/src/main/java/org/jboss/ws/integration/KernelLocator.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/integration/src/main/java/org/jboss/ws/integration/ObjectNameFactory.java
===================================================================
--- trunk/integration/src/main/java/org/jboss/ws/integration/ObjectNameFactory.java (rev 0)
+++ trunk/integration/src/main/java/org/jboss/ws/integration/ObjectNameFactory.java 2007-04-23 06:06:16 UTC (rev 2896)
@@ -0,0 +1,72 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.ws.integration;
+
+import java.util.Hashtable;
+
+import javax.management.MalformedObjectNameException;
+import javax.management.ObjectName;
+
+/**
+ * A simple factory for creating safe object names.
+ *
+ * @author Thomas.Diesler(a)jboss.org
+ * @since 08-May-2006
+ */
+public class ObjectNameFactory
+{
+ public static ObjectName create(String name)
+ {
+ try
+ {
+ return new ObjectName(name);
+ }
+ catch (MalformedObjectNameException e)
+ {
+ throw new Error("Invalid ObjectName: " + name + "; " + e);
+ }
+ }
+
+ public static ObjectName create(String domain, String key, String value)
+ {
+ try
+ {
+ return new ObjectName(domain, key, value);
+ }
+ catch (MalformedObjectNameException e)
+ {
+ throw new Error("Invalid ObjectName: " + domain + "," + key + "," + value + "; " + e);
+ }
+ }
+
+ public static ObjectName create(String domain, Hashtable table)
+ {
+ try
+ {
+ return new ObjectName(domain, table);
+ }
+ catch (MalformedObjectNameException e)
+ {
+ throw new Error("Invalid ObjectName: " + domain + "," + table + "; " + e);
+ }
+ }
+}
Property changes on: trunk/integration/src/main/java/org/jboss/ws/integration/ObjectNameFactory.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/integration/src/main/java/org/jboss/ws/integration/ResourceLoaderAdapter.java
===================================================================
--- trunk/integration/src/main/java/org/jboss/ws/integration/ResourceLoaderAdapter.java (rev 0)
+++ trunk/integration/src/main/java/org/jboss/ws/integration/ResourceLoaderAdapter.java 2007-04-23 06:06:16 UTC (rev 2896)
@@ -0,0 +1,116 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.ws.integration;
+
+// $Id$
+
+import java.io.File;
+import java.io.IOException;
+import java.net.MalformedURLException;
+import java.net.URL;
+
+
+/**
+ * The default file adapter loads resources through an associated classloader.
+ * If no classload is set, the the thread context classloader will be used.
+ *
+ * @author Heiko.Braun(a)jboss.org
+ * @since 25.01.2007
+ */
+public class ResourceLoaderAdapter implements UnifiedVirtualFile
+{
+ private URL resourceURL;
+ private ClassLoader loader;
+
+ public ResourceLoaderAdapter()
+ {
+ this(Thread.currentThread().getContextClassLoader());
+ }
+
+ public ResourceLoaderAdapter(ClassLoader loader)
+ {
+ this.loader = loader;
+ }
+
+ private ResourceLoaderAdapter(ClassLoader loader, URL resourceURL)
+ {
+ this.resourceURL = resourceURL;
+ this.loader = loader;
+ }
+
+ public UnifiedVirtualFile findChild(String resourcePath) throws IOException
+ {
+ URL resourceURL = null;
+ if (resourcePath != null)
+ {
+ // Try the child as URL
+ try
+ {
+ resourceURL = new URL(resourcePath);
+ }
+ catch (MalformedURLException ex)
+ {
+ // ignore
+ }
+
+ // Try the filename as File
+ if (resourceURL == null)
+ {
+ try
+ {
+ File file = new File(resourcePath);
+ if (file.exists())
+ resourceURL = file.toURL();
+ }
+ catch (MalformedURLException e)
+ {
+ // ignore
+ }
+ }
+
+ // Try the filename as Resource
+ if (resourceURL == null)
+ {
+ try
+ {
+ resourceURL = loader.getResource(resourcePath);
+ }
+ catch (Exception ex)
+ {
+ // ignore
+ }
+ }
+ }
+
+ if (resourceURL == null)
+ throw new IOException("Cannot get URL for: " + resourcePath);
+
+ return new ResourceLoaderAdapter(loader, resourceURL);
+ }
+
+ public URL toURL()
+ {
+ if (null == this.resourceURL)
+ throw new IllegalStateException("UnifiedVirtualFile not initialized");
+ return resourceURL;
+ }
+}
Property changes on: trunk/integration/src/main/java/org/jboss/ws/integration/ResourceLoaderAdapter.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Modified: trunk/integration/src/main/java/org/jboss/ws/integration/Service.java
===================================================================
--- trunk/integration/src/main/java/org/jboss/ws/integration/Service.java 2007-04-20 23:49:59 UTC (rev 2895)
+++ trunk/integration/src/main/java/org/jboss/ws/integration/Service.java 2007-04-23 06:06:16 UTC (rev 2896)
@@ -57,7 +57,7 @@
// $Id$
-import java.util.Set;
+import java.util.List;
import org.jboss.ws.integration.deployment.DeploymentUnit;
@@ -80,5 +80,6 @@
/** Add an endpoint to the service */
void addEndpoint(Endpoint endpoint);
- Set<Endpoint> getEndpoints();
+ /** Get the list of endpoints */
+ List<Endpoint> getEndpoints();
}
Added: trunk/integration/src/main/java/org/jboss/ws/integration/ServiceRefElement.java
===================================================================
--- trunk/integration/src/main/java/org/jboss/ws/integration/ServiceRefElement.java (rev 0)
+++ trunk/integration/src/main/java/org/jboss/ws/integration/ServiceRefElement.java 2007-04-23 06:06:16 UTC (rev 2896)
@@ -0,0 +1,36 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.ws.integration;
+
+// $Id$
+
+import java.io.Serializable;
+
+/**
+ * A marker for all <service-ref> related objects.
+ *
+ * @author Thomas.Diesler(a)jboss.org
+ * @since 08-Mar-2007
+ */
+public abstract class ServiceRefElement implements Serializable
+{
+}
Property changes on: trunk/integration/src/main/java/org/jboss/ws/integration/ServiceRefElement.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/integration/src/main/java/org/jboss/ws/integration/ServiceRefHandler.java
===================================================================
--- trunk/integration/src/main/java/org/jboss/ws/integration/ServiceRefHandler.java (rev 0)
+++ trunk/integration/src/main/java/org/jboss/ws/integration/ServiceRefHandler.java 2007-04-23 06:06:16 UTC (rev 2896)
@@ -0,0 +1,49 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.ws.integration;
+
+// $Id$
+
+import javax.naming.Context;
+import javax.naming.NamingException;
+
+import org.jboss.xb.binding.UnmarshallingContext;
+import org.xml.sax.Attributes;
+
+/**
+ * An implementation of this interface handles all service-ref binding concerns
+ *
+ * @author Thomas.Diesler(a)jboss.org
+ * @since 05-May-2004
+ */
+public interface ServiceRefHandler
+{
+ String BEAN_NAME = "ServiceRefHandler";
+
+ ServiceRefMetaData newServiceRefMetaData();
+
+ Object newChild(ServiceRefElement ref, UnmarshallingContext navigator, String namespaceURI, String localName, Attributes attrs);
+
+ void setValue(ServiceRefElement ref, UnmarshallingContext navigator, String namespaceURI, String localName, String value);
+
+ void bindServiceRef(Context encCtx, String encName, UnifiedVirtualFile vfsRoot, ClassLoader loader, ServiceRefMetaData sref) throws NamingException;
+}
Property changes on: trunk/integration/src/main/java/org/jboss/ws/integration/ServiceRefHandler.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/integration/src/main/java/org/jboss/ws/integration/ServiceRefMetaData.java
===================================================================
--- trunk/integration/src/main/java/org/jboss/ws/integration/ServiceRefMetaData.java (rev 0)
+++ trunk/integration/src/main/java/org/jboss/ws/integration/ServiceRefMetaData.java 2007-04-23 06:06:16 UTC (rev 2896)
@@ -0,0 +1,55 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.ws.integration;
+
+// $Id$
+
+import java.io.Serializable;
+
+import org.w3c.dom.Element;
+
+/**
+ * An abstract service-ref meta data object.
+ *
+ * @author Thomas.Diesler(a)jboss.org
+ * @since 08-Mar-2007
+ */
+public abstract class ServiceRefMetaData extends ServiceRefElement implements Serializable
+{
+ public abstract String getServiceRefName();
+
+ public abstract void setServiceRefName(String name);
+
+ public abstract Object getAnnotatedElement();
+
+ public abstract void setAnnotatedElement(Object anElement);
+
+ public abstract boolean isProcessed();
+
+ public abstract void setProcessed(boolean flag);
+
+ public abstract void importStandardXml(Element element);
+
+ public abstract void importJBossXml(Element element);
+
+ public abstract void merge(ServiceRefMetaData targetRef);
+}
Property changes on: trunk/integration/src/main/java/org/jboss/ws/integration/ServiceRefMetaData.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/integration/src/main/java/org/jboss/ws/integration/URLLoaderAdapter.java
===================================================================
--- trunk/integration/src/main/java/org/jboss/ws/integration/URLLoaderAdapter.java (rev 0)
+++ trunk/integration/src/main/java/org/jboss/ws/integration/URLLoaderAdapter.java 2007-04-23 06:06:16 UTC (rev 2896)
@@ -0,0 +1,124 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.ws.integration;
+
+// $Id$
+
+import java.io.File;
+import java.io.IOException;
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.net.URLClassLoader;
+
+/**
+ * The default file adapter loads resources through an associated classloader.
+ * If no classload is set, the the thread context classloader will be used.
+ *
+ * @author Heiko.Braun(a)jboss.org
+ * @since 25.01.2007
+ */
+public class URLLoaderAdapter implements UnifiedVirtualFile
+{
+ private URL rootURL;
+ private URL resourceURL;
+ private transient URLClassLoader loader;
+
+ public URLLoaderAdapter(URL rootURL)
+ {
+ this.rootURL = rootURL;
+ }
+
+ private URLLoaderAdapter(URL rootURL, URLClassLoader loader, URL resourceURL)
+ {
+ this.rootURL = rootURL;
+ this.resourceURL = resourceURL;
+ this.loader = loader;
+ }
+
+ public UnifiedVirtualFile findChild(String resourcePath) throws IOException
+ {
+ URL resourceURL = null;
+ if (resourcePath != null)
+ {
+ // Try the child as URL
+ try
+ {
+ resourceURL = new URL(resourcePath);
+ }
+ catch (MalformedURLException ex)
+ {
+ // ignore
+ }
+
+ // Try the filename as File
+ if (resourceURL == null)
+ {
+ try
+ {
+ File file = new File(resourcePath);
+ if (file.exists())
+ resourceURL = file.toURL();
+ }
+ catch (MalformedURLException e)
+ {
+ // ignore
+ }
+ }
+
+ // Try the filename as Resource
+ if (resourceURL == null)
+ {
+ try
+ {
+ resourceURL = getResourceLoader().getResource(resourcePath);
+ }
+ catch (Exception ex)
+ {
+ // ignore
+ }
+ }
+ }
+
+ if (resourceURL == null)
+ throw new IOException("Cannot get URL for: " + resourcePath);
+
+ return new URLLoaderAdapter(rootURL, loader, resourceURL);
+ }
+
+ public URL toURL()
+ {
+ if (resourceURL != null)
+ return resourceURL;
+ else
+ return rootURL;
+ }
+
+ private URLClassLoader getResourceLoader()
+ {
+ if (loader == null)
+ {
+ ClassLoader ctxLoader = Thread.currentThread().getContextClassLoader();
+ loader = new URLClassLoader(new URL[]{rootURL}, ctxLoader);
+ }
+ return loader;
+ }
+}
Property changes on: trunk/integration/src/main/java/org/jboss/ws/integration/URLLoaderAdapter.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/integration/src/main/java/org/jboss/ws/integration/UnifiedVirtualFile.java
===================================================================
--- trunk/integration/src/main/java/org/jboss/ws/integration/UnifiedVirtualFile.java (rev 0)
+++ trunk/integration/src/main/java/org/jboss/ws/integration/UnifiedVirtualFile.java 2007-04-23 06:06:16 UTC (rev 2896)
@@ -0,0 +1,42 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.ws.integration;
+
+// $Id$
+
+import java.io.IOException;
+import java.io.Serializable;
+import java.net.URL;
+
+/**
+ * An adaptor to a VirtualFile from jboss-vfs.jar
+ * jboss-vfs cannot be used in jboss-4.x because of its dependeny on jboss-common-core.jar
+ *
+ * @author Thomas.Diesler(a)jboss.org
+ * @since 05-May-2006
+ */
+public interface UnifiedVirtualFile extends Serializable
+{
+ UnifiedVirtualFile findChild(String child) throws IOException;
+
+ URL toURL();
+}
Property changes on: trunk/integration/src/main/java/org/jboss/ws/integration/UnifiedVirtualFile.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/integration/src/main/java/org/jboss/ws/integration/deployment/AbstractDeployer.java
===================================================================
--- trunk/integration/src/main/java/org/jboss/ws/integration/deployment/AbstractDeployer.java (rev 0)
+++ trunk/integration/src/main/java/org/jboss/ws/integration/deployment/AbstractDeployer.java 2007-04-23 06:06:16 UTC (rev 2896)
@@ -0,0 +1,84 @@
+/*
+ * ====================================================================
+ *
+ * The Apache Software License, Version 1.1
+ *
+ * Copyright (c) 1999 The Apache Software Foundation. All rights
+ * reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in
+ * the documentation and/or other materials provided with the
+ * distribution.
+ *
+ * 3. The end-user documentation included with the redistribution, if
+ * any, must include the following acknowlegement:
+ * "This product includes software developed by the
+ * Apache Software Foundation (http://www.apache.org/)."
+ * Alternately, this acknowlegement may appear in the software itself,
+ * if and wherever such third-party acknowlegements normally appear.
+ *
+ * 4. The names "The Jakarta Project", "Tomcat", and "Apache Software
+ * Foundation" must not be used to endorse or promote products derived
+ * from this software without prior written permission. For written
+ * permission, please contact apache(a)apache.org.
+ *
+ * 5. Products derived from this software may not be called "Apache"
+ * nor may "Apache" appear in their names without prior written
+ * permission of the Apache Group.
+ *
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
+ * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+ * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ * ====================================================================
+ *
+ * This software consists of voluntary contributions made by many
+ * individuals on behalf of the Apache Software Foundation. For more
+ * information on the Apache Software Foundation, please see
+ * <http://www.apache.org/>.
+ */
+package org.jboss.ws.integration.deployment;
+
+// $Id$
+
+/**
+ * An abstract deployer that does nothing.
+ * Overwrite the deployer methods appropriately.
+ *
+ * @author Thomas.Diesler(a)jboss.com
+ * @since 20-Apr-2007
+ */
+public abstract class AbstractDeployer implements Deployer
+{
+ public void create(DeploymentUnit unit)
+ {
+ }
+
+ public void destroy(DeploymentUnit unit)
+ {
+ }
+
+ public void start(DeploymentUnit unit)
+ {
+ }
+
+ public void stop(DeploymentUnit unit)
+ {
+ }
+}
\ No newline at end of file
Property changes on: trunk/integration/src/main/java/org/jboss/ws/integration/deployment/AbstractDeployer.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Modified: trunk/integration/src/main/java/org/jboss/ws/integration/deployment/BasicDeploymentManager.java
===================================================================
--- trunk/integration/src/main/java/org/jboss/ws/integration/deployment/BasicDeploymentManager.java 2007-04-20 23:49:59 UTC (rev 2895)
+++ trunk/integration/src/main/java/org/jboss/ws/integration/deployment/BasicDeploymentManager.java 2007-04-23 06:06:16 UTC (rev 2896)
@@ -57,7 +57,7 @@
// $Id$
-import java.util.ArrayList;
+import java.util.LinkedList;
import java.util.List;
/**
@@ -68,7 +68,7 @@
*/
public class BasicDeploymentManager implements DeploymentManager
{
- private List<Deployer> deployers = new ArrayList<Deployer>();
+ private List<Deployer> deployers = new LinkedList<Deployer>();
public List<Deployer> getDeployers()
{
Modified: trunk/integration/src/main/java/org/jboss/ws/integration/deployment/DeploymentManager.java
===================================================================
--- trunk/integration/src/main/java/org/jboss/ws/integration/deployment/DeploymentManager.java 2007-04-20 23:49:59 UTC (rev 2895)
+++ trunk/integration/src/main/java/org/jboss/ws/integration/deployment/DeploymentManager.java 2007-04-23 06:06:16 UTC (rev 2896)
@@ -68,7 +68,7 @@
public interface DeploymentManager
{
/** The bean name in the kernel registry */
- static String BEAN_NAME = "WebServiceDeploymentManager";
+ static String BEAN_NAME = "WSDeploymentManager";
/** Get the list of registered deployers */
List<Deployer> getDeployers();
Added: trunk/integration/src/main/java/org/jboss/ws/integration/deployment/DeploymentManagerFactory.java
===================================================================
--- trunk/integration/src/main/java/org/jboss/ws/integration/deployment/DeploymentManagerFactory.java (rev 0)
+++ trunk/integration/src/main/java/org/jboss/ws/integration/deployment/DeploymentManagerFactory.java 2007-04-23 06:06:16 UTC (rev 2896)
@@ -0,0 +1,86 @@
+/*
+ * ====================================================================
+ *
+ * The Apache Software License, Version 1.1
+ *
+ * Copyright (c) 1999 The Apache Software Foundation. All rights
+ * reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in
+ * the documentation and/or other materials provided with the
+ * distribution.
+ *
+ * 3. The end-user documentation included with the redistribution, if
+ * any, must include the following acknowlegement:
+ * "This product includes software developed by the
+ * Apache Software Foundation (http://www.apache.org/)."
+ * Alternately, this acknowlegement may appear in the software itself,
+ * if and wherever such third-party acknowlegements normally appear.
+ *
+ * 4. The names "The Jakarta Project", "Tomcat", and "Apache Software
+ * Foundation" must not be used to endorse or promote products derived
+ * from this software without prior written permission. For written
+ * permission, please contact apache(a)apache.org.
+ *
+ * 5. Products derived from this software may not be called "Apache"
+ * nor may "Apache" appear in their names without prior written
+ * permission of the Apache Group.
+ *
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
+ * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+ * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ * ====================================================================
+ *
+ * This software consists of voluntary contributions made by many
+ * individuals on behalf of the Apache Software Foundation. For more
+ * information on the Apache Software Foundation, please see
+ * <http://www.apache.org/>.
+ */
+package org.jboss.ws.integration.deployment;
+
+//$Id$
+
+import org.jboss.kernel.Kernel;
+import org.jboss.kernel.plugins.util.KernelLocator;
+import org.jboss.kernel.spi.registry.KernelRegistry;
+import org.jboss.kernel.spi.registry.KernelRegistryEntry;
+
+/**
+ * Get the deployment manager from the kernel
+ *
+ * @author Thomas.Diesler(a)jboss.com
+ * @since 20-Apr-2007
+ */
+public class DeploymentManagerFactory
+{
+ private static DeploymentManager epRegistry;
+
+ public static DeploymentManager getDeploymentManager()
+ {
+ if (epRegistry == null)
+ {
+ Kernel kernel = KernelLocator.getKernel();
+ KernelRegistry registry = kernel.getRegistry();
+ KernelRegistryEntry entry = registry.getEntry(DeploymentManager.BEAN_NAME);
+ epRegistry = (DeploymentManager)entry.getTarget();
+ }
+ return epRegistry;
+ }
+}
Property changes on: trunk/integration/src/main/java/org/jboss/ws/integration/deployment/DeploymentManagerFactory.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/integration/src/main/java/org/jboss/ws/integration/deployment/EndpointNameDeployer.java
===================================================================
--- trunk/integration/src/main/java/org/jboss/ws/integration/deployment/EndpointNameDeployer.java (rev 0)
+++ trunk/integration/src/main/java/org/jboss/ws/integration/deployment/EndpointNameDeployer.java 2007-04-23 06:06:16 UTC (rev 2896)
@@ -0,0 +1,90 @@
+/*
+ * ====================================================================
+ *
+ * The Apache Software License, Version 1.1
+ *
+ * Copyright (c) 1999 The Apache Software Foundation. All rights
+ * reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in
+ * the documentation and/or other materials provided with the
+ * distribution.
+ *
+ * 3. The end-user documentation included with the redistribution, if
+ * any, must include the following acknowlegement:
+ * "This product includes software developed by the
+ * Apache Software Foundation (http://www.apache.org/)."
+ * Alternately, this acknowlegement may appear in the software itself,
+ * if and wherever such third-party acknowlegements normally appear.
+ *
+ * 4. The names "The Jakarta Project", "Tomcat", and "Apache Software
+ * Foundation" must not be used to endorse or promote products derived
+ * from this software without prior written permission. For written
+ * permission, please contact apache(a)apache.org.
+ *
+ * 5. Products derived from this software may not be called "Apache"
+ * nor may "Apache" appear in their names without prior written
+ * permission of the Apache Group.
+ *
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
+ * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+ * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ * ====================================================================
+ *
+ * This software consists of voluntary contributions made by many
+ * individuals on behalf of the Apache Software Foundation. For more
+ * information on the Apache Software Foundation, please see
+ * <http://www.apache.org/>.
+ */
+package org.jboss.ws.integration.deployment;
+
+// $Id$
+
+import javax.management.ObjectName;
+
+import org.jboss.ws.integration.Endpoint;
+import org.jboss.ws.integration.ObjectNameFactory;
+
+/**
+ * A deployer that gives the endpoint its name
+ *
+ * @author Thomas.Diesler(a)jboss.com
+ * @since 20-Apr-2007
+ */
+public class EndpointNameDeployer extends AbstractDeployer
+{
+ public void create(DeploymentUnit unit)
+ {
+ for (Endpoint ep : unit.getService().getEndpoints())
+ {
+ ObjectName name = ep.getName();
+ if (name == null)
+ {
+ Class epImpl = ep.getEndpointImpl();
+ if (epImpl == null)
+ throw new IllegalStateException("Endpoint implementation bean cannot be null: " + ep);
+
+ String className = epImpl.getName();
+ className = className.substring(className.lastIndexOf(".") + 1);
+ ep.setName(ObjectNameFactory.create("jboss.ws:endpoint=" + className));
+ }
+ }
+ }
+}
\ No newline at end of file
Property changes on: trunk/integration/src/main/java/org/jboss/ws/integration/deployment/EndpointNameDeployer.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/integration/src/main/java/org/jboss/ws/integration/deployment/RegisteringDeployer.java
===================================================================
--- trunk/integration/src/main/java/org/jboss/ws/integration/deployment/RegisteringDeployer.java (rev 0)
+++ trunk/integration/src/main/java/org/jboss/ws/integration/deployment/RegisteringDeployer.java 2007-04-23 06:06:16 UTC (rev 2896)
@@ -0,0 +1,88 @@
+/*
+ * ====================================================================
+ *
+ * The Apache Software License, Version 1.1
+ *
+ * Copyright (c) 1999 The Apache Software Foundation. All rights
+ * reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in
+ * the documentation and/or other materials provided with the
+ * distribution.
+ *
+ * 3. The end-user documentation included with the redistribution, if
+ * any, must include the following acknowlegement:
+ * "This product includes software developed by the
+ * Apache Software Foundation (http://www.apache.org/)."
+ * Alternately, this acknowlegement may appear in the software itself,
+ * if and wherever such third-party acknowlegements normally appear.
+ *
+ * 4. The names "The Jakarta Project", "Tomcat", and "Apache Software
+ * Foundation" must not be used to endorse or promote products derived
+ * from this software without prior written permission. For written
+ * permission, please contact apache(a)apache.org.
+ *
+ * 5. Products derived from this software may not be called "Apache"
+ * nor may "Apache" appear in their names without prior written
+ * permission of the Apache Group.
+ *
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
+ * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+ * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ * ====================================================================
+ *
+ * This software consists of voluntary contributions made by many
+ * individuals on behalf of the Apache Software Foundation. For more
+ * information on the Apache Software Foundation, please see
+ * <http://www.apache.org/>.
+ */
+package org.jboss.ws.integration.deployment;
+
+import org.jboss.ws.integration.Endpoint;
+import org.jboss.ws.integration.management.EndpointRegistry;
+import org.jboss.ws.integration.management.EndpointRegistryFactory;
+
+
+/**
+ * A deployer that registers the endpoints
+ *
+ * @author Thomas.Diesler(a)jboss.com
+ * @since 20-Apr-2007
+ */
+public class RegisteringDeployer extends AbstractDeployer
+{
+ public void create(DeploymentUnit unit)
+ {
+ EndpointRegistry registry = EndpointRegistryFactory.getEndpointRegistry();
+ for (Endpoint ep : unit.getService().getEndpoints())
+ {
+ registry.register(ep);
+ }
+ }
+
+ public void destroy(DeploymentUnit unit)
+ {
+ EndpointRegistry registry = EndpointRegistryFactory.getEndpointRegistry();
+ for (Endpoint ep : unit.getService().getEndpoints())
+ {
+ registry.unregister(ep);
+ }
+ }
+}
\ No newline at end of file
Property changes on: trunk/integration/src/main/java/org/jboss/ws/integration/deployment/RegisteringDeployer.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/integration/src/main/java/org/jboss/ws/integration/deployment/ValidatingDeployer.java
===================================================================
--- trunk/integration/src/main/java/org/jboss/ws/integration/deployment/ValidatingDeployer.java (rev 0)
+++ trunk/integration/src/main/java/org/jboss/ws/integration/deployment/ValidatingDeployer.java 2007-04-23 06:06:16 UTC (rev 2896)
@@ -0,0 +1,84 @@
+/*
+ * ====================================================================
+ *
+ * The Apache Software License, Version 1.1
+ *
+ * Copyright (c) 1999 The Apache Software Foundation. All rights
+ * reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in
+ * the documentation and/or other materials provided with the
+ * distribution.
+ *
+ * 3. The end-user documentation included with the redistribution, if
+ * any, must include the following acknowlegement:
+ * "This product includes software developed by the
+ * Apache Software Foundation (http://www.apache.org/)."
+ * Alternately, this acknowlegement may appear in the software itself,
+ * if and wherever such third-party acknowlegements normally appear.
+ *
+ * 4. The names "The Jakarta Project", "Tomcat", and "Apache Software
+ * Foundation" must not be used to endorse or promote products derived
+ * from this software without prior written permission. For written
+ * permission, please contact apache(a)apache.org.
+ *
+ * 5. Products derived from this software may not be called "Apache"
+ * nor may "Apache" appear in their names without prior written
+ * permission of the Apache Group.
+ *
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
+ * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+ * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ * ====================================================================
+ *
+ * This software consists of voluntary contributions made by many
+ * individuals on behalf of the Apache Software Foundation. For more
+ * information on the Apache Software Foundation, please see
+ * <http://www.apache.org/>.
+ */
+package org.jboss.ws.integration.deployment;
+
+import javax.jws.WebService;
+import javax.xml.ws.Provider;
+
+import org.jboss.ws.integration.Endpoint;
+
+
+/**
+ * A deployer that validates the endpoints
+ *
+ * @author Thomas.Diesler(a)jboss.com
+ * @since 20-Apr-2007
+ */
+public class ValidatingDeployer extends AbstractDeployer
+{
+ public void create(DeploymentUnit unit)
+ {
+ for (Endpoint ep : unit.getService().getEndpoints())
+ {
+ Class epImpl = ep.getEndpointImpl();
+ if (epImpl == null)
+ throw new IllegalStateException("Endpoint implementation bean cannot be null: " + ep);
+
+ if (!epImpl.isAnnotationPresent(WebService.class) && !epImpl.isAnnotationPresent(Provider.class))
+ throw new IllegalStateException("Not a valid JAXWS endpoint: " + epImpl.getName());
+ }
+ }
+}
\ No newline at end of file
Property changes on: trunk/integration/src/main/java/org/jboss/ws/integration/deployment/ValidatingDeployer.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Modified: trunk/integration/src/main/java/org/jboss/ws/integration/management/EndpointRegistry.java
===================================================================
--- trunk/integration/src/main/java/org/jboss/ws/integration/management/EndpointRegistry.java 2007-04-20 23:49:59 UTC (rev 2895)
+++ trunk/integration/src/main/java/org/jboss/ws/integration/management/EndpointRegistry.java 2007-04-23 06:06:16 UTC (rev 2896)
@@ -72,7 +72,7 @@
public interface EndpointRegistry
{
/** The bean name in the kernel registry */
- static String BEAN_NAME = "WebServiceEndpointRegistry";
+ static String BEAN_NAME = "WSEndpointRegistry";
/** Get the list of registered endpoints */
Set<ObjectName> getEndpoints();
Added: trunk/integration/src/main/java/org/jboss/ws/integration/management/EndpointRegistryFactory.java
===================================================================
--- trunk/integration/src/main/java/org/jboss/ws/integration/management/EndpointRegistryFactory.java (rev 0)
+++ trunk/integration/src/main/java/org/jboss/ws/integration/management/EndpointRegistryFactory.java 2007-04-23 06:06:16 UTC (rev 2896)
@@ -0,0 +1,86 @@
+/*
+ * ====================================================================
+ *
+ * The Apache Software License, Version 1.1
+ *
+ * Copyright (c) 1999 The Apache Software Foundation. All rights
+ * reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in
+ * the documentation and/or other materials provided with the
+ * distribution.
+ *
+ * 3. The end-user documentation included with the redistribution, if
+ * any, must include the following acknowlegement:
+ * "This product includes software developed by the
+ * Apache Software Foundation (http://www.apache.org/)."
+ * Alternately, this acknowlegement may appear in the software itself,
+ * if and wherever such third-party acknowlegements normally appear.
+ *
+ * 4. The names "The Jakarta Project", "Tomcat", and "Apache Software
+ * Foundation" must not be used to endorse or promote products derived
+ * from this software without prior written permission. For written
+ * permission, please contact apache(a)apache.org.
+ *
+ * 5. Products derived from this software may not be called "Apache"
+ * nor may "Apache" appear in their names without prior written
+ * permission of the Apache Group.
+ *
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
+ * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+ * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ * ====================================================================
+ *
+ * This software consists of voluntary contributions made by many
+ * individuals on behalf of the Apache Software Foundation. For more
+ * information on the Apache Software Foundation, please see
+ * <http://www.apache.org/>.
+ */
+package org.jboss.ws.integration.management;
+
+//$Id$
+
+import org.jboss.kernel.Kernel;
+import org.jboss.kernel.plugins.util.KernelLocator;
+import org.jboss.kernel.spi.registry.KernelRegistry;
+import org.jboss.kernel.spi.registry.KernelRegistryEntry;
+
+/**
+ * Get the endpoint registry from the kernel
+ *
+ * @author Thomas.Diesler(a)jboss.com
+ * @since 20-Apr-2007
+ */
+public class EndpointRegistryFactory
+{
+ private static EndpointRegistry epRegistry;
+
+ public static EndpointRegistry getEndpointRegistry()
+ {
+ if (epRegistry == null)
+ {
+ Kernel kernel = KernelLocator.getKernel();
+ KernelRegistry registry = kernel.getRegistry();
+ KernelRegistryEntry entry = registry.getEntry(EndpointRegistry.BEAN_NAME);
+ epRegistry = (EndpointRegistry)entry.getTarget();
+ }
+ return epRegistry;
+ }
+}
Property changes on: trunk/integration/src/main/java/org/jboss/ws/integration/management/EndpointRegistryFactory.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Modified: trunk/integration/src/test/java/org/jboss/test/ws/integration/basic/BasicDeploymentTest.java
===================================================================
--- trunk/integration/src/test/java/org/jboss/test/ws/integration/basic/BasicDeploymentTest.java 2007-04-20 23:49:59 UTC (rev 2895)
+++ trunk/integration/src/test/java/org/jboss/test/ws/integration/basic/BasicDeploymentTest.java 2007-04-23 06:06:16 UTC (rev 2896)
@@ -55,12 +55,21 @@
*/
package org.jboss.test.ws.integration.basic;
+import java.util.Set;
+
+import javax.management.ObjectName;
+
import junit.framework.Test;
import org.jboss.test.ws.integration.KernelBasedTest;
import org.jboss.test.ws.integration.KernelTestSetup;
+import org.jboss.ws.integration.BasicEndpoint;
+import org.jboss.ws.integration.BasicService;
+import org.jboss.ws.integration.deployment.BasicDeploymentUnit;
import org.jboss.ws.integration.deployment.DeploymentManager;
+import org.jboss.ws.integration.deployment.DeploymentManagerFactory;
import org.jboss.ws.integration.management.EndpointRegistry;
+import org.jboss.ws.integration.management.EndpointRegistryFactory;
/**
*
@@ -79,10 +88,22 @@
public void testDeployerOrder()
{
- DeploymentManager manger = (DeploymentManager)setup.getRegisteredBean(DeploymentManager.BEAN_NAME);
- assertNotNull("DeploymentManager not null", manger);
+ DeploymentManager depManager = DeploymentManagerFactory.getDeploymentManager();
+ EndpointRegistry epRegistry = EndpointRegistryFactory.getEndpointRegistry();
- EndpointRegistry registry = (EndpointRegistry)setup.getRegisteredBean(EndpointRegistry.BEAN_NAME);
- assertNotNull("EndpointRegistry not null", registry);
+ // create the deployment unit
+ BasicDeploymentUnit unit = new BasicDeploymentUnit();
+ BasicService service = new BasicService(unit);
+ service.addEndpoint(new BasicEndpoint(service, BasicEndpointImp.class));
+
+ // deploy the endpoints
+ depManager.deploy(unit);
+
+ // validate the number of deployed endpoints
+ Set<ObjectName> endpoints = epRegistry.getEndpoints();
+ assertEquals(1, endpoints.size());
+
+ // undeploy the endpoints
+ depManager.undeploy(unit);
}
}
Added: trunk/integration/src/test/java/org/jboss/test/ws/integration/basic/BasicEndpointImp.java
===================================================================
--- trunk/integration/src/test/java/org/jboss/test/ws/integration/basic/BasicEndpointImp.java (rev 0)
+++ trunk/integration/src/test/java/org/jboss/test/ws/integration/basic/BasicEndpointImp.java 2007-04-23 06:06:16 UTC (rev 2896)
@@ -0,0 +1,69 @@
+/*
+ * ====================================================================
+ *
+ * The Apache Software License, Version 1.1
+ *
+ * Copyright (c) 1999 The Apache Software Foundation. All rights
+ * reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in
+ * the documentation and/or other materials provided with the
+ * distribution.
+ *
+ * 3. The end-user documentation included with the redistribution, if
+ * any, must include the following acknowlegement:
+ * "This product includes software developed by the
+ * Apache Software Foundation (http://www.apache.org/)."
+ * Alternately, this acknowlegement may appear in the software itself,
+ * if and wherever such third-party acknowlegements normally appear.
+ *
+ * 4. The names "The Jakarta Project", "Tomcat", and "Apache Software
+ * Foundation" must not be used to endorse or promote products derived
+ * from this software without prior written permission. For written
+ * permission, please contact apache(a)apache.org.
+ *
+ * 5. Products derived from this software may not be called "Apache"
+ * nor may "Apache" appear in their names without prior written
+ * permission of the Apache Group.
+ *
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
+ * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+ * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ * ====================================================================
+ *
+ * This software consists of voluntary contributions made by many
+ * individuals on behalf of the Apache Software Foundation. For more
+ * information on the Apache Software Foundation, please see
+ * <http://www.apache.org/>.
+ */
+package org.jboss.test.ws.integration.basic;
+
+import javax.jws.WebMethod;
+import javax.jws.WebService;
+
+@WebService
+public class BasicEndpointImp
+{
+ @WebMethod
+ public String echo(String msg)
+ {
+ return msg;
+ }
+}
Property changes on: trunk/integration/src/test/java/org/jboss/test/ws/integration/basic/BasicEndpointImp.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/integration/src/test/java/org/jboss/test/ws/integration/basic/InvalidEndpointImp.java
===================================================================
--- trunk/integration/src/test/java/org/jboss/test/ws/integration/basic/InvalidEndpointImp.java (rev 0)
+++ trunk/integration/src/test/java/org/jboss/test/ws/integration/basic/InvalidEndpointImp.java 2007-04-23 06:06:16 UTC (rev 2896)
@@ -0,0 +1,68 @@
+/*
+ * ====================================================================
+ *
+ * The Apache Software License, Version 1.1
+ *
+ * Copyright (c) 1999 The Apache Software Foundation. All rights
+ * reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in
+ * the documentation and/or other materials provided with the
+ * distribution.
+ *
+ * 3. The end-user documentation included with the redistribution, if
+ * any, must include the following acknowlegement:
+ * "This product includes software developed by the
+ * Apache Software Foundation (http://www.apache.org/)."
+ * Alternately, this acknowlegement may appear in the software itself,
+ * if and wherever such third-party acknowlegements normally appear.
+ *
+ * 4. The names "The Jakarta Project", "Tomcat", and "Apache Software
+ * Foundation" must not be used to endorse or promote products derived
+ * from this software without prior written permission. For written
+ * permission, please contact apache(a)apache.org.
+ *
+ * 5. Products derived from this software may not be called "Apache"
+ * nor may "Apache" appear in their names without prior written
+ * permission of the Apache Group.
+ *
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
+ * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+ * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ * ====================================================================
+ *
+ * This software consists of voluntary contributions made by many
+ * individuals on behalf of the Apache Software Foundation. For more
+ * information on the Apache Software Foundation, please see
+ * <http://www.apache.org/>.
+ */
+package org.jboss.test.ws.integration.basic;
+
+import javax.jws.WebMethod;
+
+//@WebService
+public class InvalidEndpointImp
+{
+ @WebMethod
+ public String echo(String msg)
+ {
+ return msg;
+ }
+}
Property changes on: trunk/integration/src/test/java/org/jboss/test/ws/integration/basic/InvalidEndpointImp.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Modified: trunk/integration/src/test/resources/basic/basic-deployers.xml
===================================================================
--- trunk/integration/src/test/resources/basic/basic-deployers.xml 2007-04-20 23:49:59 UTC (rev 2895)
+++ trunk/integration/src/test/resources/basic/basic-deployers.xml 2007-04-23 06:06:16 UTC (rev 2896)
@@ -2,10 +2,24 @@
<deployment xmlns="urn:jboss:bean-deployer:2.0">
- <bean name="WebServiceDeploymentManager" class="org.jboss.ws.integration.deployment.BasicDeploymentManager">
- </bean>
+ <!-- A simple singleton that provides access to the Kernel -->
+ <bean name="KernelLocator" class="org.jboss.kernel.plugins.util.KernelLocator"/>
- <bean name="WebServiceEndpointRegistry" class="org.jboss.ws.integration.management.BasicEndpointRegistry">
+ <!-- The deployment manger registers the list of web service deployers -->
+ <bean name="WSDeploymentManager" class="org.jboss.ws.integration.deployment.BasicDeploymentManager">
+ <property name="deployers">
+ <list class="java.util.LinkedList" elementClass="org.jboss.ws.integration.deployment.Deployer">
+ <inject bean="WSValidatingDeployer"/>
+ <inject bean="WSEndpointNameDeployer"/>
+ <inject bean="WSRegisteringDeployer"/>
+ </list>
+ </property>
</bean>
-</deployment>
+ <bean name="WSValidatingDeployer" class="org.jboss.ws.integration.deployment.ValidatingDeployer"/>
+ <bean name="WSEndpointNameDeployer" class="org.jboss.ws.integration.deployment.EndpointNameDeployer"/>
+ <bean name="WSRegisteringDeployer" class="org.jboss.ws.integration.deployment.RegisteringDeployer"/>
+
+ <bean name="WSEndpointRegistry" class="org.jboss.ws.integration.management.BasicEndpointRegistry"/>
+
+</deployment>
\ No newline at end of file
17 years
JBossWS SVN: r2895 - in trunk: build and 25 other directories.
by jbossws-commits@lists.jboss.org
Author: thomas.diesler(a)jboss.com
Date: 2007-04-20 19:49:59 -0400 (Fri, 20 Apr 2007)
New Revision: 2895
Added:
trunk/integration/
trunk/integration/.classpath
trunk/integration/.project
trunk/integration/src/
trunk/integration/src/main/
trunk/integration/src/main/java/
trunk/integration/src/main/java/org/
trunk/integration/src/main/java/org/jboss/
trunk/integration/src/main/java/org/jboss/ws/
trunk/integration/src/main/java/org/jboss/ws/integration/
trunk/integration/src/main/java/org/jboss/ws/integration/ContractHandler.java
trunk/integration/src/main/java/org/jboss/ws/integration/Endpoint.java
trunk/integration/src/main/java/org/jboss/ws/integration/LifecycleHandler.java
trunk/integration/src/main/java/org/jboss/ws/integration/RequestHandler.java
trunk/integration/src/main/java/org/jboss/ws/integration/Service.java
trunk/integration/src/main/java/org/jboss/ws/integration/deployment/
trunk/integration/src/main/java/org/jboss/ws/integration/deployment/BasicDeploymentContext.java
trunk/integration/src/main/java/org/jboss/ws/integration/deployment/BasicDeploymentManager.java
trunk/integration/src/main/java/org/jboss/ws/integration/deployment/BasicDeploymentUnit.java
trunk/integration/src/main/java/org/jboss/ws/integration/deployment/Deployer.java
trunk/integration/src/main/java/org/jboss/ws/integration/deployment/DeploymentContext.java
trunk/integration/src/main/java/org/jboss/ws/integration/deployment/DeploymentException.java
trunk/integration/src/main/java/org/jboss/ws/integration/deployment/DeploymentManager.java
trunk/integration/src/main/java/org/jboss/ws/integration/deployment/DeploymentUnit.java
trunk/integration/src/main/java/org/jboss/ws/integration/management/
trunk/integration/src/main/java/org/jboss/ws/integration/management/BasicEndpointRegistry.java
trunk/integration/src/main/java/org/jboss/ws/integration/management/EndpointRegistry.java
trunk/integration/src/main/java/org/jboss/ws/integration/message/
trunk/integration/src/main/java/org/jboss/ws/integration/message/Message.java
trunk/integration/src/main/java/org/jboss/ws/integration/message/MimeHeader.java
trunk/integration/src/main/java/org/jboss/ws/integration/message/MimeHeaders.java
trunk/integration/src/main/java/org/jboss/ws/integration/message/RequestMessage.java
trunk/integration/src/main/java/org/jboss/ws/integration/message/ResponseMessage.java
trunk/integration/src/test/
trunk/integration/src/test/java/
trunk/integration/src/test/java/org/
trunk/integration/src/test/java/org/jboss/
trunk/integration/src/test/java/org/jboss/test/
trunk/integration/src/test/java/org/jboss/test/ws/
trunk/integration/src/test/java/org/jboss/test/ws/integration/
trunk/integration/src/test/java/org/jboss/test/ws/integration/KernelBasedTest.java
trunk/integration/src/test/java/org/jboss/test/ws/integration/KernelTestSetup.java
trunk/integration/src/test/java/org/jboss/test/ws/integration/basic/
trunk/integration/src/test/java/org/jboss/test/ws/integration/basic/BasicDeploymentTest.java
trunk/integration/src/test/resources/
trunk/integration/src/test/resources/basic/
trunk/integration/src/test/resources/basic/basic-deployers.xml
Modified:
trunk/build/ant-import/build-thirdparty.xml
trunk/build/version.properties
trunk/jbossws-core/.classpath
trunk/jbossws-core/src/java/javax/xml/rpc/JAXRPCException.java
trunk/jbossws-core/src/java/javax/xml/rpc/ServiceException.java
trunk/jbossws-core/src/java/javax/xml/soap/SOAPException.java
Log:
Add integration layer, first cut
Modified: trunk/build/ant-import/build-thirdparty.xml
===================================================================
--- trunk/build/ant-import/build-thirdparty.xml 2007-04-20 11:50:27 UTC (rev 2894)
+++ trunk/build/ant-import/build-thirdparty.xml 2007-04-20 23:49:59 UTC (rev 2895)
@@ -44,8 +44,8 @@
<get src="${jboss.repository}/jaxen/${jaxen}/lib/jaxen.jar" dest="${thirdparty.dir}/jaxen.jar" usetimestamp="true" verbose="true"/>
<get src="${jboss.repository}/javassist/${javassist}/lib/javassist.jar" dest="${thirdparty.dir}/javassist.jar" usetimestamp="true" verbose="true"/>
<get src="${jboss.repository}/jboss/backport-concurrent/${jboss-backport-concurrent}/lib/jboss-backport-concurrent.jar" dest="${thirdparty.dir}/jboss-backport-concurrent.jar" usetimestamp="true" verbose="true"/>
- <get src="${jboss.repository}/jboss/common/${jboss-common}/lib/jboss-common.jar" dest="${thirdparty.dir}/jboss-common.jar" usetimestamp="true" verbose="true"/>
- <get src="${jboss.repository}/jboss/common/${jboss-common}/lib/jboss-common-sources.jar" dest="${thirdparty.dir}/jboss-common-sources.jar" usetimestamp="true" verbose="true"/>
+ <get src="${jboss.repository}/jboss/common-core/${jboss-common-core}/lib/jboss-common-core.jar" dest="${thirdparty.dir}/jboss-common-core.jar" usetimestamp="true" verbose="true"/>
+ <get src="${jboss.repository}/jboss/common-core/${jboss-common-core}/lib/jboss-common-core-sources.jar" dest="${thirdparty.dir}/jboss-common-core-sources.jar" usetimestamp="true" verbose="true"/>
<get src="${jboss.repository}/jboss/common-logging-log4j/${jboss-common-logging-log4j}/lib/jboss-logging-log4j.jar" dest="${thirdparty.dir}/jboss-logging-log4j.jar" usetimestamp="true" verbose="true"/>
<get src="${jboss.repository}/jboss/common-logging-spi/${jboss-common-logging-spi}/lib/jboss-logging-spi.jar" dest="${thirdparty.dir}/jboss-logging-spi.jar" usetimestamp="true" verbose="true"/>
<get src="${jboss.repository}/jboss/ejb3/${jboss-ejb3}/bin/ejb3.deployer" dest="${thirdparty.dir}/ejb3.deployer.zip" usetimestamp="true" verbose="true"/>
@@ -60,6 +60,8 @@
<get src="${jboss.repository}/jboss/microcontainer/${jboss-microcontainer}/lib/jboss-container.jar" dest="${thirdparty.dir}/jboss-container.jar" usetimestamp="true" verbose="true"/>
<get src="${jboss.repository}/jboss/microcontainer/${jboss-microcontainer}/lib/jboss-dependency.jar" dest="${thirdparty.dir}/jboss-dependency.jar" usetimestamp="true" verbose="true"/>
<get src="${jboss.repository}/jboss/microcontainer/${jboss-microcontainer}/lib/jboss-microcontainer.jar" dest="${thirdparty.dir}/jboss-microcontainer.jar" usetimestamp="true" verbose="true"/>
+ <get src="${jboss.repository}/jboss/microcontainer/${jboss-microcontainer}/lib/jboss-dependency-src.zip" dest="${thirdparty.dir}/jboss-dependency-src.zip" usetimestamp="true" verbose="true"/>
+ <get src="${jboss.repository}/jboss/microcontainer/${jboss-microcontainer}/lib/jboss-microcontainer-src.zip" dest="${thirdparty.dir}/jboss-microcontainer-src.zip" usetimestamp="true" verbose="true"/>
<get src="${jboss.repository}/jboss/remoting/${jboss-remoting}/lib/jboss-remoting.jar" dest="${thirdparty.dir}/jboss-remoting.jar" usetimestamp="true" verbose="true"/>
<get src="${jboss.repository}/jboss/security/${jboss-security}/lib/jbosssx-client.jar" dest="${thirdparty.dir}/jbosssx-client.jar" usetimestamp="true" verbose="true"/>
<get src="${jboss.repository}/jboss/security/${jboss-security}/lib/jbosssx-src.zip" dest="${thirdparty.dir}/jbosssx-src.zip" usetimestamp="true" verbose="true"/>
@@ -95,7 +97,7 @@
<pathelement location="${thirdparty.dir}/jaxb-api.jar"/>
<pathelement location="${thirdparty.dir}/jaxb-impl.jar"/>
<pathelement location="${thirdparty.dir}/jaxb-xjc.jar"/>
- <pathelement location="${thirdparty.dir}/jboss-common.jar"/>
+ <pathelement location="${thirdparty.dir}/jboss-common-core.jar"/>
<pathelement location="${thirdparty.dir}/jboss-dependency.jar"/>
<pathelement location="${thirdparty.dir}/jboss-j2ee.jar"/>
<pathelement location="${thirdparty.dir}/jboss-logging-spi.jar"/>
Modified: trunk/build/version.properties
===================================================================
--- trunk/build/version.properties 2007-04-20 11:50:27 UTC (rev 2894)
+++ trunk/build/version.properties 2007-04-20 23:49:59 UTC (rev 2895)
@@ -24,7 +24,7 @@
# Build and Tomcat
jboss-jbossxb=1.0.0.CR10
-jboss-microcontainer=1.0.2
+jboss-microcontainer=2.0.0.Beta3
jboss-remoting=2.0.0.GA
# JBossAS-5.0
@@ -56,7 +56,7 @@
hibernate=3.2.1.GA
jaxen=1.1-beta-10
jboss-backport-concurrent=2.1.0.GA
-jboss-common=1.0.3.GA
+jboss-common-core=2.0.2.GA
jboss-common-logging-log4j=2.0.2.GA
jboss-common-logging-spi=2.0.2.GA
jboss-ejb3=1.0.0.CR9-jboss4.0.5
Property changes on: trunk/integration
___________________________________________________________________
Name: svn:ignore
+ output*
Added: trunk/integration/.classpath
===================================================================
--- trunk/integration/.classpath (rev 0)
+++ trunk/integration/.classpath 2007-04-20 23:49:59 UTC (rev 2895)
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="src" path="src/main/java"/>
+ <classpathentry kind="src" path="src/test/java"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.junit.JUNIT_CONTAINER/3.8.1"/>
+ <classpathentry kind="lib" path="/build/thirdparty/jboss-microcontainer.jar" sourcepath="/build/thirdparty/jboss-microcontainer-src.zip"/>
+ <classpathentry kind="lib" path="/build/thirdparty/jboss-dependency.jar"/>
+ <classpathentry kind="lib" path="/build/thirdparty/jboss-container.jar"/>
+ <classpathentry kind="lib" path="/build/thirdparty/jboss-xml-binding.jar" sourcepath="/build/thirdparty/jboss-xml-binding-sources.jar"/>
+ <classpathentry kind="lib" path="/build/thirdparty/concurrent.jar"/>
+ <classpathentry kind="lib" path="/build/thirdparty/jboss-common-core.jar"/>
+ <classpathentry kind="lib" path="/build/thirdparty/jboss-logging-log4j.jar"/>
+ <classpathentry kind="lib" path="/build/thirdparty/jboss-logging-spi.jar"/>
+ <classpathentry kind="lib" path="/build/thirdparty/xalan.jar" sourcepath="/usr/java/xalan-j_2_7_0/src"/>
+ <classpathentry kind="lib" path="/build/thirdparty/xercesImpl.jar"/>
+ <classpathentry kind="output" path="output-eclipse"/>
+</classpath>
Added: trunk/integration/.project
===================================================================
--- trunk/integration/.project (rev 0)
+++ trunk/integration/.project 2007-04-20 23:49:59 UTC (rev 2895)
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>integration</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ </natures>
+</projectDescription>
Added: trunk/integration/src/main/java/org/jboss/ws/integration/ContractHandler.java
===================================================================
--- trunk/integration/src/main/java/org/jboss/ws/integration/ContractHandler.java (rev 0)
+++ trunk/integration/src/main/java/org/jboss/ws/integration/ContractHandler.java 2007-04-20 23:49:59 UTC (rev 2895)
@@ -0,0 +1,76 @@
+/*
+ * ====================================================================
+ *
+ * The Apache Software License, Version 1.1
+ *
+ * Copyright (c) 1999 The Apache Software Foundation. All rights
+ * reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in
+ * the documentation and/or other materials provided with the
+ * distribution.
+ *
+ * 3. The end-user documentation included with the redistribution, if
+ * any, must include the following acknowlegement:
+ * "This product includes software developed by the
+ * Apache Software Foundation (http://www.apache.org/)."
+ * Alternately, this acknowlegement may appear in the software itself,
+ * if and wherever such third-party acknowlegements normally appear.
+ *
+ * 4. The names "The Jakarta Project", "Tomcat", and "Apache Software
+ * Foundation" must not be used to endorse or promote products derived
+ * from this software without prior written permission. For written
+ * permission, please contact apache(a)apache.org.
+ *
+ * 5. Products derived from this software may not be called "Apache"
+ * nor may "Apache" appear in their names without prior written
+ * permission of the Apache Group.
+ *
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
+ * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+ * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ * ====================================================================
+ *
+ * This software consists of voluntary contributions made by many
+ * individuals on behalf of the Apache Software Foundation. For more
+ * information on the Apache Software Foundation, please see
+ * <http://www.apache.org/>.
+ */
+package org.jboss.ws.integration;
+
+import javax.xml.transform.Source;
+
+
+/**
+ * A general contract handler.
+ *
+ * The abstract contract for an endpoint is for example its wsdl + schema
+ *
+ * @author Thomas.Diesler(a)jboss.com
+ * @since 20-Apr-2007
+ */
+public interface ContractHandler
+{
+ /** Get the endpoint this handler belongs to */
+ Endpoint getEndpoint();
+
+ /** Get the abstract contract for this endpoint */
+ Source getAbstractContract();
+}
Property changes on: trunk/integration/src/main/java/org/jboss/ws/integration/ContractHandler.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/integration/src/main/java/org/jboss/ws/integration/Endpoint.java
===================================================================
--- trunk/integration/src/main/java/org/jboss/ws/integration/Endpoint.java (rev 0)
+++ trunk/integration/src/main/java/org/jboss/ws/integration/Endpoint.java 2007-04-20 23:49:59 UTC (rev 2895)
@@ -0,0 +1,107 @@
+/*
+ * ====================================================================
+ *
+ * The Apache Software License, Version 1.1
+ *
+ * Copyright (c) 1999 The Apache Software Foundation. All rights
+ * reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in
+ * the documentation and/or other materials provided with the
+ * distribution.
+ *
+ * 3. The end-user documentation included with the redistribution, if
+ * any, must include the following acknowlegement:
+ * "This product includes software developed by the
+ * Apache Software Foundation (http://www.apache.org/)."
+ * Alternately, this acknowlegement may appear in the software itself,
+ * if and wherever such third-party acknowlegements normally appear.
+ *
+ * 4. The names "The Jakarta Project", "Tomcat", and "Apache Software
+ * Foundation" must not be used to endorse or promote products derived
+ * from this software without prior written permission. For written
+ * permission, please contact apache(a)apache.org.
+ *
+ * 5. Products derived from this software may not be called "Apache"
+ * nor may "Apache" appear in their names without prior written
+ * permission of the Apache Group.
+ *
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
+ * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+ * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ * ====================================================================
+ *
+ * This software consists of voluntary contributions made by many
+ * individuals on behalf of the Apache Software Foundation. For more
+ * information on the Apache Software Foundation, please see
+ * <http://www.apache.org/>.
+ */
+package org.jboss.ws.integration;
+
+import java.util.List;
+
+import javax.management.ObjectName;
+import javax.xml.transform.Source;
+
+
+/**
+ * A general JAXWS endpoint.
+ *
+ * @author Thomas.Diesler(a)jboss.com
+ * @since 20-Apr-2007
+ */
+public interface Endpoint
+{
+ /** Get the service this endpoint belongs to */
+ Service getService();
+
+ /** Set the service this endpoint belongs to */
+ void setService(Service service);
+
+ /** Get the unique identifier for this endpoint */
+ ObjectName getName();
+
+ /** Set the unique identifier for this endpoint */
+ void setName(ObjectName epName);
+
+ /** Get the endpoint implementation bean */
+ Class getEndpointImpl();
+
+ /** Set the endpoint implementation bean */
+ void setEndpointImpl(Class epImpl);
+
+ /** Add an arbitry source of meta data */
+ void addMetaData(Source metaSource);
+
+ /** Get the list of meta data */
+ List<Source> getMetaData();
+
+ /** Set the request handler for this endpoint */
+ void setRequestHandler(RequestHandler handler);
+
+ /** Get the request handler for this endpoint */
+ RequestHandler getRequestHandler();
+
+ /** Get the lifecycle handler for this endpoint */
+ LifecycleHandler getLifecycleHandler();
+
+ /** Set the lifecycle handler for this endpoint */
+ void setLifecycleHandler(LifecycleHandler handler);
+}
Property changes on: trunk/integration/src/main/java/org/jboss/ws/integration/Endpoint.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/integration/src/main/java/org/jboss/ws/integration/LifecycleHandler.java
===================================================================
--- trunk/integration/src/main/java/org/jboss/ws/integration/LifecycleHandler.java (rev 0)
+++ trunk/integration/src/main/java/org/jboss/ws/integration/LifecycleHandler.java 2007-04-20 23:49:59 UTC (rev 2895)
@@ -0,0 +1,77 @@
+/*
+ * ====================================================================
+ *
+ * The Apache Software License, Version 1.1
+ *
+ * Copyright (c) 1999 The Apache Software Foundation. All rights
+ * reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in
+ * the documentation and/or other materials provided with the
+ * distribution.
+ *
+ * 3. The end-user documentation included with the redistribution, if
+ * any, must include the following acknowlegement:
+ * "This product includes software developed by the
+ * Apache Software Foundation (http://www.apache.org/)."
+ * Alternately, this acknowlegement may appear in the software itself,
+ * if and wherever such third-party acknowlegements normally appear.
+ *
+ * 4. The names "The Jakarta Project", "Tomcat", and "Apache Software
+ * Foundation" must not be used to endorse or promote products derived
+ * from this software without prior written permission. For written
+ * permission, please contact apache(a)apache.org.
+ *
+ * 5. Products derived from this software may not be called "Apache"
+ * nor may "Apache" appear in their names without prior written
+ * permission of the Apache Group.
+ *
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
+ * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+ * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ * ====================================================================
+ *
+ * This software consists of voluntary contributions made by many
+ * individuals on behalf of the Apache Software Foundation. For more
+ * information on the Apache Software Foundation, please see
+ * <http://www.apache.org/>.
+ */
+package org.jboss.ws.integration;
+
+/**
+ * Handles endpoint Lifecycle events
+ *
+ * @author Thomas.Diesler(a)jboss.com
+ * @since 20-Apr-2007
+ */
+public interface LifecycleHandler
+{
+ /** Handle the create step of an endpoint */
+ void create(Endpoint endpoint);
+
+ /** Handle the start step of an endpoint */
+ void start(Endpoint endpoint);
+
+ /** Handle the stop step of an endpoint */
+ void stop(Endpoint endpoint);
+
+ /** Handle the destroy step of an endpoint */
+ void destroy(Endpoint endpoint);
+}
Property changes on: trunk/integration/src/main/java/org/jboss/ws/integration/LifecycleHandler.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/integration/src/main/java/org/jboss/ws/integration/RequestHandler.java
===================================================================
--- trunk/integration/src/main/java/org/jboss/ws/integration/RequestHandler.java (rev 0)
+++ trunk/integration/src/main/java/org/jboss/ws/integration/RequestHandler.java 2007-04-20 23:49:59 UTC (rev 2895)
@@ -0,0 +1,75 @@
+/*
+ * ====================================================================
+ *
+ * The Apache Software License, Version 1.1
+ *
+ * Copyright (c) 1999 The Apache Software Foundation. All rights
+ * reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in
+ * the documentation and/or other materials provided with the
+ * distribution.
+ *
+ * 3. The end-user documentation included with the redistribution, if
+ * any, must include the following acknowlegement:
+ * "This product includes software developed by the
+ * Apache Software Foundation (http://www.apache.org/)."
+ * Alternately, this acknowlegement may appear in the software itself,
+ * if and wherever such third-party acknowlegements normally appear.
+ *
+ * 4. The names "The Jakarta Project", "Tomcat", and "Apache Software
+ * Foundation" must not be used to endorse or promote products derived
+ * from this software without prior written permission. For written
+ * permission, please contact apache(a)apache.org.
+ *
+ * 5. Products derived from this software may not be called "Apache"
+ * nor may "Apache" appear in their names without prior written
+ * permission of the Apache Group.
+ *
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
+ * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+ * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ * ====================================================================
+ *
+ * This software consists of voluntary contributions made by many
+ * individuals on behalf of the Apache Software Foundation. For more
+ * information on the Apache Software Foundation, please see
+ * <http://www.apache.org/>.
+ */
+package org.jboss.ws.integration;
+
+import org.jboss.ws.integration.message.RequestMessage;
+import org.jboss.ws.integration.message.ResponseMessage;
+
+
+/**
+ * A general JAXWS request handler.
+ *
+ * @author Thomas.Diesler(a)jboss.com
+ * @since 20-Apr-2007
+ */
+public interface RequestHandler
+{
+ /** Get the endpoint this handler belongs to */
+ Endpoint getEndpoint();
+
+ /** Handle a web service request */
+ ResponseMessage handleRequest(RequestMessage message);
+}
Property changes on: trunk/integration/src/main/java/org/jboss/ws/integration/RequestHandler.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/integration/src/main/java/org/jboss/ws/integration/Service.java
===================================================================
--- trunk/integration/src/main/java/org/jboss/ws/integration/Service.java (rev 0)
+++ trunk/integration/src/main/java/org/jboss/ws/integration/Service.java 2007-04-20 23:49:59 UTC (rev 2895)
@@ -0,0 +1,84 @@
+/*
+ * ====================================================================
+ *
+ * The Apache Software License, Version 1.1
+ *
+ * Copyright (c) 1999 The Apache Software Foundation. All rights
+ * reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in
+ * the documentation and/or other materials provided with the
+ * distribution.
+ *
+ * 3. The end-user documentation included with the redistribution, if
+ * any, must include the following acknowlegement:
+ * "This product includes software developed by the
+ * Apache Software Foundation (http://www.apache.org/)."
+ * Alternately, this acknowlegement may appear in the software itself,
+ * if and wherever such third-party acknowlegements normally appear.
+ *
+ * 4. The names "The Jakarta Project", "Tomcat", and "Apache Software
+ * Foundation" must not be used to endorse or promote products derived
+ * from this software without prior written permission. For written
+ * permission, please contact apache(a)apache.org.
+ *
+ * 5. Products derived from this software may not be called "Apache"
+ * nor may "Apache" appear in their names without prior written
+ * permission of the Apache Group.
+ *
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
+ * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+ * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ * ====================================================================
+ *
+ * This software consists of voluntary contributions made by many
+ * individuals on behalf of the Apache Software Foundation. For more
+ * information on the Apache Software Foundation, please see
+ * <http://www.apache.org/>.
+ */
+package org.jboss.ws.integration;
+
+// $Id$
+
+import java.util.Set;
+
+import org.jboss.ws.integration.deployment.DeploymentUnit;
+
+/**
+ * A general service deployment.
+ *
+ * Maintains a named set of EndpointDeployments
+ *
+ * @author Thomas.Diesler(a)jboss.com
+ * @since 20-Apr-2007
+ */
+public interface Service
+{
+ /** Get the deployment unit this service belongs to */
+ DeploymentUnit getDeploymentUnit();
+
+ /** Set the deployment unit this service belongs to */
+ void setDeploymentUnit(DeploymentUnit unit);
+
+ /** Add an endpoint to the service */
+ void addEndpoint(Endpoint endpoint);
+
+ Set<Endpoint> getEndpoints();
+}
Property changes on: trunk/integration/src/main/java/org/jboss/ws/integration/Service.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/integration/src/main/java/org/jboss/ws/integration/deployment/BasicDeploymentContext.java
===================================================================
--- trunk/integration/src/main/java/org/jboss/ws/integration/deployment/BasicDeploymentContext.java (rev 0)
+++ trunk/integration/src/main/java/org/jboss/ws/integration/deployment/BasicDeploymentContext.java 2007-04-20 23:49:59 UTC (rev 2895)
@@ -0,0 +1,82 @@
+/*
+ * ====================================================================
+ *
+ * The Apache Software License, Version 1.1
+ *
+ * Copyright (c) 1999 The Apache Software Foundation. All rights
+ * reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in
+ * the documentation and/or other materials provided with the
+ * distribution.
+ *
+ * 3. The end-user documentation included with the redistribution, if
+ * any, must include the following acknowlegement:
+ * "This product includes software developed by the
+ * Apache Software Foundation (http://www.apache.org/)."
+ * Alternately, this acknowlegement may appear in the software itself,
+ * if and wherever such third-party acknowlegements normally appear.
+ *
+ * 4. The names "The Jakarta Project", "Tomcat", and "Apache Software
+ * Foundation" must not be used to endorse or promote products derived
+ * from this software without prior written permission. For written
+ * permission, please contact apache(a)apache.org.
+ *
+ * 5. Products derived from this software may not be called "Apache"
+ * nor may "Apache" appear in their names without prior written
+ * permission of the Apache Group.
+ *
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
+ * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+ * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ * ====================================================================
+ *
+ * This software consists of voluntary contributions made by many
+ * individuals on behalf of the Apache Software Foundation. For more
+ * information on the Apache Software Foundation, please see
+ * <http://www.apache.org/>.
+ */
+package org.jboss.ws.integration.deployment;
+
+//$Id$
+
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * A general web service deployment context.
+ *
+ * @author Thomas.Diesler(a)jboss.com
+ * @since 20-Apr-2007
+ */
+public class BasicDeploymentContext implements DeploymentContext
+{
+ private Map<Class, Object> attachments = new HashMap<Class, Object>();
+
+ public Object getAttachment(Class clazz)
+ {
+ return attachments.get(clazz);
+ }
+
+ public Object addAttachment(Class clazz, Object obj)
+ {
+ return attachments.put(clazz, obj);
+ }
+}
Property changes on: trunk/integration/src/main/java/org/jboss/ws/integration/deployment/BasicDeploymentContext.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/integration/src/main/java/org/jboss/ws/integration/deployment/BasicDeploymentManager.java
===================================================================
--- trunk/integration/src/main/java/org/jboss/ws/integration/deployment/BasicDeploymentManager.java (rev 0)
+++ trunk/integration/src/main/java/org/jboss/ws/integration/deployment/BasicDeploymentManager.java 2007-04-20 23:49:59 UTC (rev 2895)
@@ -0,0 +1,158 @@
+/*
+ * ====================================================================
+ *
+ * The Apache Software License, Version 1.1
+ *
+ * Copyright (c) 1999 The Apache Software Foundation. All rights
+ * reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in
+ * the documentation and/or other materials provided with the
+ * distribution.
+ *
+ * 3. The end-user documentation included with the redistribution, if
+ * any, must include the following acknowlegement:
+ * "This product includes software developed by the
+ * Apache Software Foundation (http://www.apache.org/)."
+ * Alternately, this acknowlegement may appear in the software itself,
+ * if and wherever such third-party acknowlegements normally appear.
+ *
+ * 4. The names "The Jakarta Project", "Tomcat", and "Apache Software
+ * Foundation" must not be used to endorse or promote products derived
+ * from this software without prior written permission. For written
+ * permission, please contact apache(a)apache.org.
+ *
+ * 5. Products derived from this software may not be called "Apache"
+ * nor may "Apache" appear in their names without prior written
+ * permission of the Apache Group.
+ *
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
+ * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+ * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ * ====================================================================
+ *
+ * This software consists of voluntary contributions made by many
+ * individuals on behalf of the Apache Software Foundation. For more
+ * information on the Apache Software Foundation, please see
+ * <http://www.apache.org/>.
+ */
+package org.jboss.ws.integration.deployment;
+
+// $Id$
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * A general service deployment manger.
+ *
+ * @author Thomas.Diesler(a)jboss.com
+ * @since 20-Apr-2007
+ */
+public class BasicDeploymentManager implements DeploymentManager
+{
+ private List<Deployer> deployers = new ArrayList<Deployer>();
+
+ public List<Deployer> getDeployers()
+ {
+ return deployers;
+ }
+
+ public void setDeployers(List<Deployer> deployers)
+ {
+ this.deployers = deployers;
+ }
+
+ /**
+ * Iterate over the registered deployers calls create on each.
+ * Iterate over the registered deployers again and calls start on each.
+ * If start fails it automaticall calls destroy in the reverse order
+ * starting with the deployer that failed
+ */
+ public void deploy(DeploymentUnit unit)
+ {
+ // create the deployment
+ for (int i = 0; i < deployers.size(); i++)
+ {
+ Deployer deployer = deployers.get(i);
+ deployer.create(unit);
+ }
+
+ // start the deployment
+ for (int i = 0; i < deployers.size(); i++)
+ {
+ Deployer deployer = deployers.get(i);
+ try
+ {
+ deployer.start(unit);
+ }
+ catch (RuntimeException rte)
+ {
+ while (i-- >= 0)
+ {
+ // destroy the deployment
+ failsafeDestroy(deployer, unit);
+ }
+ throw rte;
+ }
+ }
+ }
+
+ public void undeploy(DeploymentUnit unit)
+ {
+ // stop the deployment
+ for (int i = deployers.size(); 0 < i; i--)
+ {
+ Deployer deployer = deployers.get(i - 1);
+ failsafeStop(deployer, unit);
+ }
+
+ // destroy the deployment
+ for (int i = deployers.size(); 0 < i; i--)
+ {
+ Deployer deployer = deployers.get(i - 1);
+ failsafeDestroy(deployer, unit);
+ }
+ }
+
+ private void failsafeStop(Deployer deployer, DeploymentUnit unit)
+ {
+ try
+ {
+ deployer.stop(unit);
+ }
+ catch (RuntimeException rte)
+ {
+ DeploymentException.rethrow(rte);
+ }
+ }
+
+ private void failsafeDestroy(Deployer deployer, DeploymentUnit unit)
+ {
+ try
+ {
+ deployer.destroy(unit);
+ }
+ catch (RuntimeException rte)
+ {
+ DeploymentException.rethrow(rte);
+ }
+ }
+}
Property changes on: trunk/integration/src/main/java/org/jboss/ws/integration/deployment/BasicDeploymentManager.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/integration/src/main/java/org/jboss/ws/integration/deployment/BasicDeploymentUnit.java
===================================================================
--- trunk/integration/src/main/java/org/jboss/ws/integration/deployment/BasicDeploymentUnit.java (rev 0)
+++ trunk/integration/src/main/java/org/jboss/ws/integration/deployment/BasicDeploymentUnit.java 2007-04-20 23:49:59 UTC (rev 2895)
@@ -0,0 +1,96 @@
+/*
+ * ====================================================================
+ *
+ * The Apache Software License, Version 1.1
+ *
+ * Copyright (c) 1999 The Apache Software Foundation. All rights
+ * reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in
+ * the documentation and/or other materials provided with the
+ * distribution.
+ *
+ * 3. The end-user documentation included with the redistribution, if
+ * any, must include the following acknowlegement:
+ * "This product includes software developed by the
+ * Apache Software Foundation (http://www.apache.org/)."
+ * Alternately, this acknowlegement may appear in the software itself,
+ * if and wherever such third-party acknowlegements normally appear.
+ *
+ * 4. The names "The Jakarta Project", "Tomcat", and "Apache Software
+ * Foundation" must not be used to endorse or promote products derived
+ * from this software without prior written permission. For written
+ * permission, please contact apache(a)apache.org.
+ *
+ * 5. Products derived from this software may not be called "Apache"
+ * nor may "Apache" appear in their names without prior written
+ * permission of the Apache Group.
+ *
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
+ * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+ * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ * ====================================================================
+ *
+ * This software consists of voluntary contributions made by many
+ * individuals on behalf of the Apache Software Foundation. For more
+ * information on the Apache Software Foundation, please see
+ * <http://www.apache.org/>.
+ */
+package org.jboss.ws.integration.deployment;
+
+//$Id$
+
+import org.jboss.ws.integration.Service;
+
+/**
+ * A general web service deployment unit.
+ *
+ * It has no notion of J2EE deployment packages.
+ *
+ * @author Thomas.Diesler(a)jboss.com
+ * @since 20-Apr-2007
+ */
+public class BasicDeploymentUnit implements DeploymentUnit
+{
+ // The context for this deployment unit
+ private DeploymentContext context;
+ // A deployment has one service
+ private Service service;
+
+ public BasicDeploymentUnit()
+ {
+ context = new BasicDeploymentContext();
+ }
+
+ public DeploymentContext getContext()
+ {
+ return context;
+ }
+
+ public Service getService()
+ {
+ return service;
+ }
+
+ public void setService(Service service)
+ {
+ this.service = service;
+ }
+}
Property changes on: trunk/integration/src/main/java/org/jboss/ws/integration/deployment/BasicDeploymentUnit.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/integration/src/main/java/org/jboss/ws/integration/deployment/Deployer.java
===================================================================
--- trunk/integration/src/main/java/org/jboss/ws/integration/deployment/Deployer.java (rev 0)
+++ trunk/integration/src/main/java/org/jboss/ws/integration/deployment/Deployer.java 2007-04-20 23:49:59 UTC (rev 2895)
@@ -0,0 +1,76 @@
+/*
+ * ====================================================================
+ *
+ * The Apache Software License, Version 1.1
+ *
+ * Copyright (c) 1999 The Apache Software Foundation. All rights
+ * reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in
+ * the documentation and/or other materials provided with the
+ * distribution.
+ *
+ * 3. The end-user documentation included with the redistribution, if
+ * any, must include the following acknowlegement:
+ * "This product includes software developed by the
+ * Apache Software Foundation (http://www.apache.org/)."
+ * Alternately, this acknowlegement may appear in the software itself,
+ * if and wherever such third-party acknowlegements normally appear.
+ *
+ * 4. The names "The Jakarta Project", "Tomcat", and "Apache Software
+ * Foundation" must not be used to endorse or promote products derived
+ * from this software without prior written permission. For written
+ * permission, please contact apache(a)apache.org.
+ *
+ * 5. Products derived from this software may not be called "Apache"
+ * nor may "Apache" appear in their names without prior written
+ * permission of the Apache Group.
+ *
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
+ * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+ * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ * ====================================================================
+ *
+ * This software consists of voluntary contributions made by many
+ * individuals on behalf of the Apache Software Foundation. For more
+ * information on the Apache Software Foundation, please see
+ * <http://www.apache.org/>.
+ */
+package org.jboss.ws.integration.deployment;
+
+// $Id$
+
+/**
+ * A general web service deployer.
+ *
+ * @author Thomas.Diesler(a)jboss.com
+ * @since 20-Apr-2007
+ */
+public interface Deployer
+{
+ void create (DeploymentUnit unit);
+
+ void start (DeploymentUnit unit);
+
+ void stop (DeploymentUnit unit);
+
+ void destroy (DeploymentUnit unit);
+}
+
Property changes on: trunk/integration/src/main/java/org/jboss/ws/integration/deployment/Deployer.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/integration/src/main/java/org/jboss/ws/integration/deployment/DeploymentContext.java
===================================================================
--- trunk/integration/src/main/java/org/jboss/ws/integration/deployment/DeploymentContext.java (rev 0)
+++ trunk/integration/src/main/java/org/jboss/ws/integration/deployment/DeploymentContext.java 2007-04-20 23:49:59 UTC (rev 2895)
@@ -0,0 +1,10 @@
+package org.jboss.ws.integration.deployment;
+
+public interface DeploymentContext
+{
+
+ Object getAttachment(Class clazz);
+
+ Object addAttachment(Class clazz, Object obj);
+
+}
\ No newline at end of file
Property changes on: trunk/integration/src/main/java/org/jboss/ws/integration/deployment/DeploymentContext.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/integration/src/main/java/org/jboss/ws/integration/deployment/DeploymentException.java
===================================================================
--- trunk/integration/src/main/java/org/jboss/ws/integration/deployment/DeploymentException.java (rev 0)
+++ trunk/integration/src/main/java/org/jboss/ws/integration/deployment/DeploymentException.java 2007-04-20 23:49:59 UTC (rev 2895)
@@ -0,0 +1,90 @@
+/*
+ * ====================================================================
+ *
+ * The Apache Software License, Version 1.1
+ *
+ * Copyright (c) 1999 The Apache Software Foundation. All rights
+ * reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in
+ * the documentation and/or other materials provided with the
+ * distribution.
+ *
+ * 3. The end-user documentation included with the redistribution, if
+ * any, must include the following acknowlegement:
+ * "This product includes software developed by the
+ * Apache Software Foundation (http://www.apache.org/)."
+ * Alternately, this acknowlegement may appear in the software itself,
+ * if and wherever such third-party acknowlegements normally appear.
+ *
+ * 4. The names "The Jakarta Project", "Tomcat", and "Apache Software
+ * Foundation" must not be used to endorse or promote products derived
+ * from this software without prior written permission. For written
+ * permission, please contact apache(a)apache.org.
+ *
+ * 5. Products derived from this software may not be called "Apache"
+ * nor may "Apache" appear in their names without prior written
+ * permission of the Apache Group.
+ *
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
+ * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+ * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ * ====================================================================
+ *
+ * This software consists of voluntary contributions made by many
+ * individuals on behalf of the Apache Software Foundation. For more
+ * information on the Apache Software Foundation, please see
+ * <http://www.apache.org/>.
+ */
+package org.jboss.ws.integration.deployment;
+
+// $Id$
+
+/**
+ * A general deployment exception
+ *
+ * @author Thomas.Diesler(a)jboss.com
+ * @since 20-Apr-2007
+ */
+public class DeploymentException extends RuntimeException
+{
+ public DeploymentException(String message, Throwable cause)
+ {
+ super(message, cause);
+ }
+
+ public DeploymentException(String message)
+ {
+ super(message);
+ }
+
+ public DeploymentException(Throwable cause)
+ {
+ super(cause);
+ }
+
+ public static void rethrow(Throwable cause)
+ {
+ if (cause instanceof DeploymentException)
+ throw (DeploymentException)cause;
+
+ throw new DeploymentException(cause);
+ }
+}
Property changes on: trunk/integration/src/main/java/org/jboss/ws/integration/deployment/DeploymentException.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/integration/src/main/java/org/jboss/ws/integration/deployment/DeploymentManager.java
===================================================================
--- trunk/integration/src/main/java/org/jboss/ws/integration/deployment/DeploymentManager.java (rev 0)
+++ trunk/integration/src/main/java/org/jboss/ws/integration/deployment/DeploymentManager.java 2007-04-20 23:49:59 UTC (rev 2895)
@@ -0,0 +1,84 @@
+/*
+ * ====================================================================
+ *
+ * The Apache Software License, Version 1.1
+ *
+ * Copyright (c) 1999 The Apache Software Foundation. All rights
+ * reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in
+ * the documentation and/or other materials provided with the
+ * distribution.
+ *
+ * 3. The end-user documentation included with the redistribution, if
+ * any, must include the following acknowlegement:
+ * "This product includes software developed by the
+ * Apache Software Foundation (http://www.apache.org/)."
+ * Alternately, this acknowlegement may appear in the software itself,
+ * if and wherever such third-party acknowlegements normally appear.
+ *
+ * 4. The names "The Jakarta Project", "Tomcat", and "Apache Software
+ * Foundation" must not be used to endorse or promote products derived
+ * from this software without prior written permission. For written
+ * permission, please contact apache(a)apache.org.
+ *
+ * 5. Products derived from this software may not be called "Apache"
+ * nor may "Apache" appear in their names without prior written
+ * permission of the Apache Group.
+ *
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
+ * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+ * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ * ====================================================================
+ *
+ * This software consists of voluntary contributions made by many
+ * individuals on behalf of the Apache Software Foundation. For more
+ * information on the Apache Software Foundation, please see
+ * <http://www.apache.org/>.
+ */
+package org.jboss.ws.integration.deployment;
+
+// $Id$
+
+import java.util.List;
+
+/**
+ * A general service deployment manger.
+ *
+ * @author Thomas.Diesler(a)jboss.com
+ * @since 20-Apr-2007
+ */
+public interface DeploymentManager
+{
+ /** The bean name in the kernel registry */
+ static String BEAN_NAME = "WebServiceDeploymentManager";
+
+ /** Get the list of registered deployers */
+ List<Deployer> getDeployers();
+
+ /** Set the list of registered deployers */
+ void setDeployers(List<Deployer> deployers);
+
+ /** Deploy a web service */
+ void deploy(DeploymentUnit unit);
+
+ /** Undeploy a web service */
+ void undeploy(DeploymentUnit unit);
+}
Property changes on: trunk/integration/src/main/java/org/jboss/ws/integration/deployment/DeploymentManager.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/integration/src/main/java/org/jboss/ws/integration/deployment/DeploymentUnit.java
===================================================================
--- trunk/integration/src/main/java/org/jboss/ws/integration/deployment/DeploymentUnit.java (rev 0)
+++ trunk/integration/src/main/java/org/jboss/ws/integration/deployment/DeploymentUnit.java 2007-04-20 23:49:59 UTC (rev 2895)
@@ -0,0 +1,78 @@
+/*
+ * ====================================================================
+ *
+ * The Apache Software License, Version 1.1
+ *
+ * Copyright (c) 1999 The Apache Software Foundation. All rights
+ * reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in
+ * the documentation and/or other materials provided with the
+ * distribution.
+ *
+ * 3. The end-user documentation included with the redistribution, if
+ * any, must include the following acknowlegement:
+ * "This product includes software developed by the
+ * Apache Software Foundation (http://www.apache.org/)."
+ * Alternately, this acknowlegement may appear in the software itself,
+ * if and wherever such third-party acknowlegements normally appear.
+ *
+ * 4. The names "The Jakarta Project", "Tomcat", and "Apache Software
+ * Foundation" must not be used to endorse or promote products derived
+ * from this software without prior written permission. For written
+ * permission, please contact apache(a)apache.org.
+ *
+ * 5. Products derived from this software may not be called "Apache"
+ * nor may "Apache" appear in their names without prior written
+ * permission of the Apache Group.
+ *
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
+ * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+ * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ * ====================================================================
+ *
+ * This software consists of voluntary contributions made by many
+ * individuals on behalf of the Apache Software Foundation. For more
+ * information on the Apache Software Foundation, please see
+ * <http://www.apache.org/>.
+ */
+package org.jboss.ws.integration.deployment;
+
+import org.jboss.ws.integration.Service;
+
+/**
+ * A general web service deployment unit.
+ *
+ * It has no notion of J2EE deployment packages.
+ *
+ * @author Thomas.Diesler(a)jboss.com
+ * @since 20-Apr-2007
+ */
+public interface DeploymentUnit
+{
+ /** Get the context for this deployment unit */
+ DeploymentContext getContext();
+
+ /** Get the service that is being deployed */
+ Service getService();
+
+ /** Set the service that is being deployed */
+ void setService(Service service);
+}
\ No newline at end of file
Property changes on: trunk/integration/src/main/java/org/jboss/ws/integration/deployment/DeploymentUnit.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/integration/src/main/java/org/jboss/ws/integration/management/BasicEndpointRegistry.java
===================================================================
--- trunk/integration/src/main/java/org/jboss/ws/integration/management/BasicEndpointRegistry.java (rev 0)
+++ trunk/integration/src/main/java/org/jboss/ws/integration/management/BasicEndpointRegistry.java 2007-04-20 23:49:59 UTC (rev 2895)
@@ -0,0 +1,129 @@
+/*
+ * ====================================================================
+ *
+ * The Apache Software License, Version 1.1
+ *
+ * Copyright (c) 1999 The Apache Software Foundation. All rights
+ * reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in
+ * the documentation and/or other materials provided with the
+ * distribution.
+ *
+ * 3. The end-user documentation included with the redistribution, if
+ * any, must include the following acknowlegement:
+ * "This product includes software developed by the
+ * Apache Software Foundation (http://www.apache.org/)."
+ * Alternately, this acknowlegement may appear in the software itself,
+ * if and wherever such third-party acknowlegements normally appear.
+ *
+ * 4. The names "The Jakarta Project", "Tomcat", and "Apache Software
+ * Foundation" must not be used to endorse or promote products derived
+ * from this software without prior written permission. For written
+ * permission, please contact apache(a)apache.org.
+ *
+ * 5. Products derived from this software may not be called "Apache"
+ * nor may "Apache" appear in their names without prior written
+ * permission of the Apache Group.
+ *
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
+ * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+ * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ * ====================================================================
+ *
+ * This software consists of voluntary contributions made by many
+ * individuals on behalf of the Apache Software Foundation. For more
+ * information on the Apache Software Foundation, please see
+ * <http://www.apache.org/>.
+ */
+package org.jboss.ws.integration.management;
+
+// $Id$
+
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Set;
+
+import javax.management.ObjectName;
+
+import org.jboss.ws.integration.Endpoint;
+
+/**
+ * A general endpoint registry.
+ *
+ * @author Thomas.Diesler(a)jboss.com
+ * @since 20-Apr-2007
+ */
+public class BasicEndpointRegistry implements EndpointRegistry
+{
+ private Map<ObjectName, Endpoint> endpoints = new HashMap<ObjectName, Endpoint>();
+
+ public Endpoint getEndpoint(ObjectName epName)
+ {
+ if (epName == null)
+ throw new IllegalArgumentException("Endpoint name cannot be null");
+
+ if (isRegistered(epName) == false)
+ throw new IllegalStateException("Endpoint not registered: " + epName);
+
+ Endpoint endpoint = endpoints.get(epName);
+ return endpoint;
+ }
+
+ public boolean isRegistered(ObjectName epName)
+ {
+ if (epName == null)
+ throw new IllegalArgumentException("Endpoint name cannot be null");
+
+ return endpoints.get(epName) != null;
+ }
+
+ public Set<ObjectName> getEndpoints()
+ {
+ return endpoints.keySet();
+ }
+
+ public void register(Endpoint endpoint)
+ {
+ if (endpoint == null)
+ throw new IllegalArgumentException("Endpoint cannot be null");
+
+ ObjectName epName = endpoint.getName();
+ if (epName == null)
+ throw new IllegalStateException("Endpoint name cannot be null for: " + endpoint);
+
+ if (isRegistered(epName))
+ throw new IllegalStateException("Endpoint already registered: " + epName);
+
+ endpoints.put(epName, endpoint);
+ }
+
+ public void unregister(Endpoint endpoint)
+ {
+ if (endpoint == null)
+ throw new IllegalArgumentException("Endpoint cannot be null");
+
+ ObjectName epName = endpoint.getName();
+ if (isRegistered(epName) == false)
+ throw new IllegalStateException("Endpoint not registered: " + epName);
+
+ endpoints.remove(epName);
+ }
+}
Property changes on: trunk/integration/src/main/java/org/jboss/ws/integration/management/BasicEndpointRegistry.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/integration/src/main/java/org/jboss/ws/integration/management/EndpointRegistry.java
===================================================================
--- trunk/integration/src/main/java/org/jboss/ws/integration/management/EndpointRegistry.java (rev 0)
+++ trunk/integration/src/main/java/org/jboss/ws/integration/management/EndpointRegistry.java 2007-04-20 23:49:59 UTC (rev 2895)
@@ -0,0 +1,91 @@
+/*
+ * ====================================================================
+ *
+ * The Apache Software License, Version 1.1
+ *
+ * Copyright (c) 1999 The Apache Software Foundation. All rights
+ * reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in
+ * the documentation and/or other materials provided with the
+ * distribution.
+ *
+ * 3. The end-user documentation included with the redistribution, if
+ * any, must include the following acknowlegement:
+ * "This product includes software developed by the
+ * Apache Software Foundation (http://www.apache.org/)."
+ * Alternately, this acknowlegement may appear in the software itself,
+ * if and wherever such third-party acknowlegements normally appear.
+ *
+ * 4. The names "The Jakarta Project", "Tomcat", and "Apache Software
+ * Foundation" must not be used to endorse or promote products derived
+ * from this software without prior written permission. For written
+ * permission, please contact apache(a)apache.org.
+ *
+ * 5. Products derived from this software may not be called "Apache"
+ * nor may "Apache" appear in their names without prior written
+ * permission of the Apache Group.
+ *
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
+ * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+ * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ * ====================================================================
+ *
+ * This software consists of voluntary contributions made by many
+ * individuals on behalf of the Apache Software Foundation. For more
+ * information on the Apache Software Foundation, please see
+ * <http://www.apache.org/>.
+ */
+package org.jboss.ws.integration.management;
+
+// $Id$
+
+import java.util.Set;
+
+import javax.management.ObjectName;
+
+import org.jboss.ws.integration.Endpoint;
+
+/**
+ * A general endpoint registry.
+ *
+ * @author Thomas.Diesler(a)jboss.com
+ * @since 20-Apr-2007
+ */
+public interface EndpointRegistry
+{
+ /** The bean name in the kernel registry */
+ static String BEAN_NAME = "WebServiceEndpointRegistry";
+
+ /** Get the list of registered endpoints */
+ Set<ObjectName> getEndpoints();
+
+ /** Get the registered endpoint */
+ Endpoint getEndpoint(ObjectName epName);
+
+ /** True is an endpoint for that name is registered */
+ boolean isRegistered(ObjectName epName);
+
+ /** Register an endpoint */
+ void register(Endpoint endpoint);
+
+ /** Unregister an endpoint */
+ void unregister(Endpoint endpoint);
+}
Property changes on: trunk/integration/src/main/java/org/jboss/ws/integration/management/EndpointRegistry.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/integration/src/main/java/org/jboss/ws/integration/message/Message.java
===================================================================
--- trunk/integration/src/main/java/org/jboss/ws/integration/message/Message.java (rev 0)
+++ trunk/integration/src/main/java/org/jboss/ws/integration/message/Message.java 2007-04-20 23:49:59 UTC (rev 2895)
@@ -0,0 +1,85 @@
+/*
+ * ====================================================================
+ *
+ * The Apache Software License, Version 1.1
+ *
+ * Copyright (c) 1999 The Apache Software Foundation. All rights
+ * reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in
+ * the documentation and/or other materials provided with the
+ * distribution.
+ *
+ * 3. The end-user documentation included with the redistribution, if
+ * any, must include the following acknowlegement:
+ * "This product includes software developed by the
+ * Apache Software Foundation (http://www.apache.org/)."
+ * Alternately, this acknowlegement may appear in the software itself,
+ * if and wherever such third-party acknowlegements normally appear.
+ *
+ * 4. The names "The Jakarta Project", "Tomcat", and "Apache Software
+ * Foundation" must not be used to endorse or promote products derived
+ * from this software without prior written permission. For written
+ * permission, please contact apache(a)apache.org.
+ *
+ * 5. Products derived from this software may not be called "Apache"
+ * nor may "Apache" appear in their names without prior written
+ * permission of the Apache Group.
+ *
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
+ * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+ * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ * ====================================================================
+ *
+ * This software consists of voluntary contributions made by many
+ * individuals on behalf of the Apache Software Foundation. For more
+ * information on the Apache Software Foundation, please see
+ * <http://www.apache.org/>.
+ */
+package org.jboss.ws.integration.message;
+
+// $Id$
+
+import java.util.Set;
+
+import org.jboss.ws.integration.message.MimeHeaders;
+
+/**
+ * A general message.
+ *
+ * @author Thomas.Diesler(a)jboss.com
+ * @since 20-Apr-2007
+ */
+public interface Message
+{
+ /** Add arbitrary meta data to the message */
+ void addMetaData(String key, Object value);
+
+ /** Get meta data for a given key */
+ void getMetaData(String key);
+
+ /** Get meta data keys */
+ Set<String> getMetaDataKeys();
+
+ /**
+ * Returns all the transport-specific MIME headers for this Message object in a transport-independent fashion.
+ */
+ MimeHeaders getMimeHeaders();
+}
Property changes on: trunk/integration/src/main/java/org/jboss/ws/integration/message/Message.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/integration/src/main/java/org/jboss/ws/integration/message/MimeHeader.java
===================================================================
--- trunk/integration/src/main/java/org/jboss/ws/integration/message/MimeHeader.java (rev 0)
+++ trunk/integration/src/main/java/org/jboss/ws/integration/message/MimeHeader.java 2007-04-20 23:49:59 UTC (rev 2895)
@@ -0,0 +1,71 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.ws.integration.message;
+
+// $Id$
+
+/**
+ * An object that stores a MIME header name and its value. One or more
+ * MimeHeader objects may be contained in a MimeHeaders object.
+ *
+ * @author Thomas.Diesler(a)jboss.com
+ * @since 20-Apr-2007
+ */
+public class MimeHeader
+{
+ private String name;
+ private String value;
+
+ public MimeHeader(String name, String value)
+ {
+ this.name = name;
+ this.value = value;
+ }
+
+ public String getName()
+ {
+ return name;
+ }
+
+ public String getValue()
+ {
+ return value;
+ }
+
+ public int hashCode()
+ {
+ return toString().hashCode();
+ }
+
+ public boolean equals(Object obj)
+ {
+ if (!(obj instanceof MimeHeader))
+ return false;
+ MimeHeader other = (MimeHeader)obj;
+ return toString().equals(other.toString());
+ }
+
+ public String toString()
+ {
+ return "[" + name + "=" + value + "]";
+ }
+}
Property changes on: trunk/integration/src/main/java/org/jboss/ws/integration/message/MimeHeader.java
___________________________________________________________________
Name: svn:executable
+ *
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/integration/src/main/java/org/jboss/ws/integration/message/MimeHeaders.java
===================================================================
--- trunk/integration/src/main/java/org/jboss/ws/integration/message/MimeHeaders.java (rev 0)
+++ trunk/integration/src/main/java/org/jboss/ws/integration/message/MimeHeaders.java 2007-04-20 23:49:59 UTC (rev 2895)
@@ -0,0 +1,232 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.ws.integration.message;
+
+// $Id$
+
+import java.util.ArrayList;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.LinkedList;
+import java.util.List;
+
+/**
+ * A container for MimeHeader objects, which represent the MIME headers present
+ * in a MIME part of a message.
+ *
+ * This class is used primarily when an application wants to retrieve specific
+ * attachments based on certain MIME headers and values. This class will most
+ * likely be used by implementations of AttachmentPart and other MIME dependent
+ * parts of the SAAJ API.
+ *
+ * @author Thomas.Diesler(a)jboss.com
+ * @since 20-Apr-2007
+ */
+public class MimeHeaders
+{
+ private List<MimeHeader> headers = new LinkedList<MimeHeader>();
+
+ /**
+ * Adds a MimeHeader object with the specified name and value to this MimeHeaders object's list of headers.
+ *
+ * Note that RFC822 headers can contain only US-ASCII characters.
+ *
+ * @param name a String with the name of the header to be added
+ * @param value a String with the value of the header to be added
+ * @throws IllegalArgumentException - if there was a problem in the mime header name or value being added
+ */
+ public void addHeader(String name, String value) throws IllegalArgumentException
+ {
+ if (name == null || name.length() == 0)
+ throw new IllegalArgumentException("Invalid null or empty header name");
+
+ MimeHeader header = new MimeHeader(name, value);
+ headers.add(header);
+ }
+
+ /**
+ * Returns all the MimeHeaders in this MimeHeaders object.
+ * @return an Iterator object over this MimeHeaders object's list of MimeHeader objects
+ */
+ public Iterator getAllHeaders()
+ {
+ return headers.iterator();
+ }
+
+ /**
+ * Returns all of the values for the specified header as an array of String objects.
+ *
+ * @param name the name of the header for which values will be returned
+ * @return a String array with all of the values for the specified header
+ */
+ public String[] getHeader(String name)
+ {
+ ArrayList tmp = new ArrayList();
+ for (int n = 0; n < headers.size(); n++)
+ {
+ MimeHeader mh = (MimeHeader)headers.get(n);
+ if (mh.getName().equalsIgnoreCase(name))
+ tmp.add(mh.getValue());
+ }
+ String[] values = null;
+ if (tmp.size() > 0)
+ {
+ values = new String[tmp.size()];
+ tmp.toArray(values);
+ }
+ return values;
+ }
+
+ /**
+ * Returns all the MimeHeader objects whose name matches a name in the given array of names.
+ * @param names an array of String objects with the names for which to search
+ * @return an Iterator object over the MimeHeader objects whose name matches one of the names in the given list
+ */
+ public Iterator getMatchingHeaders(String[] names)
+ {
+ MatchingIterator iter = new MatchingIterator(headers, names, true);
+ return iter;
+ }
+
+ /**
+ * Returns all of the MimeHeader objects whose name does not match a name in the given array of names.
+ * @param names an array of String objects with the names for which to search
+ * @return an Iterator object over the MimeHeader objects whose name does not match one of the names in the given list
+ */
+ public Iterator getNonMatchingHeaders(String[] names)
+ {
+ MatchingIterator iter = new MatchingIterator(headers, names, false);
+ return iter;
+ }
+
+ /**
+ * Removes all the header entries from this MimeHeaders object.
+ */
+ public void removeAllHeaders()
+ {
+ headers.clear();
+ }
+
+ /**
+ * Remove all MimeHeader objects whose name matches the given name.
+ * @param name a String with the name of the header for which to search
+ */
+ public void removeHeader(String name)
+ {
+ Iterator iter = headers.iterator();
+ while (iter.hasNext())
+ {
+ MimeHeader mh = (MimeHeader)iter.next();
+ if (mh.getName().equalsIgnoreCase(name))
+ iter.remove();
+ }
+ }
+
+ /**
+ * Replaces the current value of the first header entry whose name matches
+ * the given name with the given value, adding a new header if no existing
+ * header name matches. This method also removes all matching headers after
+ * the first one.
+ *
+ * Note that RFC822 headers can contain only US-ASCII characters.
+ *
+ * @param name a String with the name of the header for which to search
+ * @param value a String with the value that will replace the current value of the specified header
+ * @throws IllegalArgumentException if there was a problem in the mime header name or the value being set
+ */
+ public void setHeader(String name, String value)
+ {
+ boolean didSet = false;
+ for (int n = 0; n < headers.size(); n++)
+ {
+ MimeHeader mh = (MimeHeader)headers.get(n);
+ if (mh.getName().equalsIgnoreCase(name))
+ {
+ if (didSet == true)
+ {
+ headers.remove(n);
+ n--;
+ }
+ else
+ {
+ mh = new MimeHeader(name, value);
+ headers.set(n, mh);
+ didSet = true;
+ }
+ }
+ }
+
+ if (didSet == false)
+ {
+ this.addHeader(name, value);
+ }
+ }
+
+ public String toString()
+ {
+ return "[MimeHeaders=" + headers + "]";
+ }
+
+ private static class MatchingIterator implements Iterator
+ {
+ private List<MimeHeader> headers;
+ private HashSet names;
+ private boolean match;
+ private int index;
+ private MimeHeader mh;
+
+ MatchingIterator(List<MimeHeader> headers, String[] names, boolean match)
+ {
+ this.headers = headers;
+ this.index = 0;
+ this.names = new HashSet();
+ for (int n = 0; n < names.length; n++)
+ this.names.add(names[n].toLowerCase());
+ this.match = match;
+ }
+
+ public boolean hasNext()
+ {
+ boolean hasNext = index < headers.size();
+ while (hasNext == true)
+ {
+ mh = (MimeHeader)headers.get(index);
+ index++;
+ String name = mh.getName().toLowerCase();
+ if (names.contains(name) == match)
+ break;
+ hasNext = index < headers.size();
+ }
+ return hasNext;
+ }
+
+ public Object next()
+ {
+ return mh;
+ }
+
+ public void remove()
+ {
+ headers.remove(index - 1);
+ }
+ }
+}
Property changes on: trunk/integration/src/main/java/org/jboss/ws/integration/message/MimeHeaders.java
___________________________________________________________________
Name: svn:executable
+ *
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/integration/src/main/java/org/jboss/ws/integration/message/RequestMessage.java
===================================================================
--- trunk/integration/src/main/java/org/jboss/ws/integration/message/RequestMessage.java (rev 0)
+++ trunk/integration/src/main/java/org/jboss/ws/integration/message/RequestMessage.java 2007-04-20 23:49:59 UTC (rev 2895)
@@ -0,0 +1,74 @@
+/*
+ * ====================================================================
+ *
+ * The Apache Software License, Version 1.1
+ *
+ * Copyright (c) 1999 The Apache Software Foundation. All rights
+ * reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in
+ * the documentation and/or other materials provided with the
+ * distribution.
+ *
+ * 3. The end-user documentation included with the redistribution, if
+ * any, must include the following acknowlegement:
+ * "This product includes software developed by the
+ * Apache Software Foundation (http://www.apache.org/)."
+ * Alternately, this acknowlegement may appear in the software itself,
+ * if and wherever such third-party acknowlegements normally appear.
+ *
+ * 4. The names "The Jakarta Project", "Tomcat", and "Apache Software
+ * Foundation" must not be used to endorse or promote products derived
+ * from this software without prior written permission. For written
+ * permission, please contact apache(a)apache.org.
+ *
+ * 5. Products derived from this software may not be called "Apache"
+ * nor may "Apache" appear in their names without prior written
+ * permission of the Apache Group.
+ *
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
+ * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+ * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ * ====================================================================
+ *
+ * This software consists of voluntary contributions made by many
+ * individuals on behalf of the Apache Software Foundation. For more
+ * information on the Apache Software Foundation, please see
+ * <http://www.apache.org/>.
+ */
+package org.jboss.ws.integration.message;
+
+// $Id$
+
+import java.io.InputStream;
+import java.io.OutputStream;
+
+/**
+ * A general request message.
+ *
+ * @author Thomas.Diesler(a)jboss.com
+ * @since 20-Apr-2007
+ */
+public interface RequestMessage extends Message
+{
+ InputStream getInputStream();
+
+ OutputStream getOutputStream();
+}
Property changes on: trunk/integration/src/main/java/org/jboss/ws/integration/message/RequestMessage.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/integration/src/main/java/org/jboss/ws/integration/message/ResponseMessage.java
===================================================================
--- trunk/integration/src/main/java/org/jboss/ws/integration/message/ResponseMessage.java (rev 0)
+++ trunk/integration/src/main/java/org/jboss/ws/integration/message/ResponseMessage.java 2007-04-20 23:49:59 UTC (rev 2895)
@@ -0,0 +1,74 @@
+/*
+ * ====================================================================
+ *
+ * The Apache Software License, Version 1.1
+ *
+ * Copyright (c) 1999 The Apache Software Foundation. All rights
+ * reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in
+ * the documentation and/or other materials provided with the
+ * distribution.
+ *
+ * 3. The end-user documentation included with the redistribution, if
+ * any, must include the following acknowlegement:
+ * "This product includes software developed by the
+ * Apache Software Foundation (http://www.apache.org/)."
+ * Alternately, this acknowlegement may appear in the software itself,
+ * if and wherever such third-party acknowlegements normally appear.
+ *
+ * 4. The names "The Jakarta Project", "Tomcat", and "Apache Software
+ * Foundation" must not be used to endorse or promote products derived
+ * from this software without prior written permission. For written
+ * permission, please contact apache(a)apache.org.
+ *
+ * 5. Products derived from this software may not be called "Apache"
+ * nor may "Apache" appear in their names without prior written
+ * permission of the Apache Group.
+ *
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
+ * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+ * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ * ====================================================================
+ *
+ * This software consists of voluntary contributions made by many
+ * individuals on behalf of the Apache Software Foundation. For more
+ * information on the Apache Software Foundation, please see
+ * <http://www.apache.org/>.
+ */
+package org.jboss.ws.integration.message;
+
+// $Id$
+
+import java.io.OutputStream;
+import java.io.Writer;
+
+/**
+ * A general response message.
+ *
+ * @author Thomas.Diesler(a)jboss.com
+ * @since 20-Apr-2007
+ */
+public interface ResponseMessage extends Message
+{
+ OutputStream getOutputStream();
+
+ Writer getWriter();
+}
Property changes on: trunk/integration/src/main/java/org/jboss/ws/integration/message/ResponseMessage.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/integration/src/test/java/org/jboss/test/ws/integration/KernelBasedTest.java
===================================================================
--- trunk/integration/src/test/java/org/jboss/test/ws/integration/KernelBasedTest.java (rev 0)
+++ trunk/integration/src/test/java/org/jboss/test/ws/integration/KernelBasedTest.java 2007-04-20 23:49:59 UTC (rev 2895)
@@ -0,0 +1,70 @@
+/*
+ * ====================================================================
+ *
+ * The Apache Software License, Version 1.1
+ *
+ * Copyright (c) 1999 The Apache Software Foundation. All rights
+ * reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in
+ * the documentation and/or other materials provided with the
+ * distribution.
+ *
+ * 3. The end-user documentation included with the redistribution, if
+ * any, must include the following acknowlegement:
+ * "This product includes software developed by the
+ * Apache Software Foundation (http://www.apache.org/)."
+ * Alternately, this acknowlegement may appear in the software itself,
+ * if and wherever such third-party acknowlegements normally appear.
+ *
+ * 4. The names "The Jakarta Project", "Tomcat", and "Apache Software
+ * Foundation" must not be used to endorse or promote products derived
+ * from this software without prior written permission. For written
+ * permission, please contact apache(a)apache.org.
+ *
+ * 5. Products derived from this software may not be called "Apache"
+ * nor may "Apache" appear in their names without prior written
+ * permission of the Apache Group.
+ *
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
+ * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+ * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ * ====================================================================
+ *
+ * This software consists of voluntary contributions made by many
+ * individuals on behalf of the Apache Software Foundation. For more
+ * information on the Apache Software Foundation, please see
+ * <http://www.apache.org/>.
+ */
+package org.jboss.test.ws.integration;
+
+// $Id$
+
+import junit.framework.TestCase;
+
+/**
+ * A kernel based test
+ *
+ * @author Thomas.Diesler(a)jboss.com
+ * @since 20-Apr-2007
+ */
+public abstract class KernelBasedTest extends TestCase
+{
+}
Property changes on: trunk/integration/src/test/java/org/jboss/test/ws/integration/KernelBasedTest.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/integration/src/test/java/org/jboss/test/ws/integration/KernelTestSetup.java
===================================================================
--- trunk/integration/src/test/java/org/jboss/test/ws/integration/KernelTestSetup.java (rev 0)
+++ trunk/integration/src/test/java/org/jboss/test/ws/integration/KernelTestSetup.java 2007-04-20 23:49:59 UTC (rev 2895)
@@ -0,0 +1,122 @@
+/*
+ * ====================================================================
+ *
+ * The Apache Software License, Version 1.1
+ *
+ * Copyright (c) 1999 The Apache Software Foundation. All rights
+ * reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in
+ * the documentation and/or other materials provided with the
+ * distribution.
+ *
+ * 3. The end-user documentation included with the redistribution, if
+ * any, must include the following acknowlegement:
+ * "This product includes software developed by the
+ * Apache Software Foundation (http://www.apache.org/)."
+ * Alternately, this acknowlegement may appear in the software itself,
+ * if and wherever such third-party acknowlegements normally appear.
+ *
+ * 4. The names "The Jakarta Project", "Tomcat", and "Apache Software
+ * Foundation" must not be used to endorse or promote products derived
+ * from this software without prior written permission. For written
+ * permission, please contact apache(a)apache.org.
+ *
+ * 5. Products derived from this software may not be called "Apache"
+ * nor may "Apache" appear in their names without prior written
+ * permission of the Apache Group.
+ *
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
+ * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+ * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ * ====================================================================
+ *
+ * This software consists of voluntary contributions made by many
+ * individuals on behalf of the Apache Software Foundation. For more
+ * information on the Apache Software Foundation, please see
+ * <http://www.apache.org/>.
+ */
+package org.jboss.test.ws.integration;
+
+// $Id$
+
+import java.io.File;
+import java.net.URL;
+
+import junit.extensions.TestSetup;
+import junit.framework.Test;
+import junit.framework.TestSuite;
+
+import org.jboss.kernel.Kernel;
+import org.jboss.kernel.plugins.bootstrap.basic.BasicBootstrap;
+import org.jboss.kernel.plugins.deployment.xml.BeanXMLDeployer;
+import org.jboss.kernel.spi.registry.KernelRegistry;
+import org.jboss.kernel.spi.registry.KernelRegistryEntry;
+
+/**
+ * A test setup that bootstraps a kernel.
+ *
+ * @author Thomas.Diesler(a)jboss.com
+ * @since 20-Apr-2007
+ */
+public class KernelTestSetup extends TestSetup
+{
+ private String beansXML;
+ private Kernel kernel;
+
+ public KernelTestSetup(Class test, String beansXML) throws Exception
+ {
+ super(new TestSuite(test));
+ this.beansXML = beansXML;
+ }
+
+ protected void setUp() throws Exception
+ {
+ super.setUp();
+ try
+ {
+ BasicBootstrap bootstrap = new BasicBootstrap();
+ bootstrap.run();
+
+ kernel = bootstrap.getKernel();
+
+ BeanXMLDeployer deployer = new BeanXMLDeployer(kernel);
+ URL beansURL = new File(beansXML).toURL();
+ deployer.deploy(beansURL);
+ deployer.validate();
+ }
+ catch (Throwable th)
+ {
+ throw new RuntimeException(th);
+ }
+ }
+
+ public Kernel getKernel()
+ {
+ return kernel;
+ }
+
+ public Object getRegisteredBean(String beanName)
+ {
+ KernelRegistry registry = kernel.getRegistry();
+ KernelRegistryEntry entry = registry.getEntry(beanName);
+ return entry.getTarget();
+ }
+}
Property changes on: trunk/integration/src/test/java/org/jboss/test/ws/integration/KernelTestSetup.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/integration/src/test/java/org/jboss/test/ws/integration/basic/BasicDeploymentTest.java
===================================================================
--- trunk/integration/src/test/java/org/jboss/test/ws/integration/basic/BasicDeploymentTest.java (rev 0)
+++ trunk/integration/src/test/java/org/jboss/test/ws/integration/basic/BasicDeploymentTest.java 2007-04-20 23:49:59 UTC (rev 2895)
@@ -0,0 +1,88 @@
+/*
+ * ====================================================================
+ *
+ * The Apache Software License, Version 1.1
+ *
+ * Copyright (c) 1999 The Apache Software Foundation. All rights
+ * reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in
+ * the documentation and/or other materials provided with the
+ * distribution.
+ *
+ * 3. The end-user documentation included with the redistribution, if
+ * any, must include the following acknowlegement:
+ * "This product includes software developed by the
+ * Apache Software Foundation (http://www.apache.org/)."
+ * Alternately, this acknowlegement may appear in the software itself,
+ * if and wherever such third-party acknowlegements normally appear.
+ *
+ * 4. The names "The Jakarta Project", "Tomcat", and "Apache Software
+ * Foundation" must not be used to endorse or promote products derived
+ * from this software without prior written permission. For written
+ * permission, please contact apache(a)apache.org.
+ *
+ * 5. Products derived from this software may not be called "Apache"
+ * nor may "Apache" appear in their names without prior written
+ * permission of the Apache Group.
+ *
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
+ * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+ * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ * ====================================================================
+ *
+ * This software consists of voluntary contributions made by many
+ * individuals on behalf of the Apache Software Foundation. For more
+ * information on the Apache Software Foundation, please see
+ * <http://www.apache.org/>.
+ */
+package org.jboss.test.ws.integration.basic;
+
+import junit.framework.Test;
+
+import org.jboss.test.ws.integration.KernelBasedTest;
+import org.jboss.test.ws.integration.KernelTestSetup;
+import org.jboss.ws.integration.deployment.DeploymentManager;
+import org.jboss.ws.integration.management.EndpointRegistry;
+
+/**
+ *
+ * @author Thomas.Diesler(a)jboss.com
+ * @since 20-Apr-2007
+ */
+public class BasicDeploymentTest extends KernelBasedTest
+{
+ private static KernelTestSetup setup;
+
+ public static Test suite() throws Exception
+ {
+ setup = new KernelTestSetup(BasicDeploymentTest.class, "resources/basic/basic-deployers.xml");
+ return setup;
+ }
+
+ public void testDeployerOrder()
+ {
+ DeploymentManager manger = (DeploymentManager)setup.getRegisteredBean(DeploymentManager.BEAN_NAME);
+ assertNotNull("DeploymentManager not null", manger);
+
+ EndpointRegistry registry = (EndpointRegistry)setup.getRegisteredBean(EndpointRegistry.BEAN_NAME);
+ assertNotNull("EndpointRegistry not null", registry);
+ }
+}
Property changes on: trunk/integration/src/test/java/org/jboss/test/ws/integration/basic/BasicDeploymentTest.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/integration/src/test/resources/basic/basic-deployers.xml
===================================================================
--- trunk/integration/src/test/resources/basic/basic-deployers.xml (rev 0)
+++ trunk/integration/src/test/resources/basic/basic-deployers.xml 2007-04-20 23:49:59 UTC (rev 2895)
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<deployment xmlns="urn:jboss:bean-deployer:2.0">
+
+ <bean name="WebServiceDeploymentManager" class="org.jboss.ws.integration.deployment.BasicDeploymentManager">
+ </bean>
+
+ <bean name="WebServiceEndpointRegistry" class="org.jboss.ws.integration.management.BasicEndpointRegistry">
+ </bean>
+
+</deployment>
Property changes on: trunk/integration/src/test/resources/basic/basic-deployers.xml
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Modified: trunk/jbossws-core/.classpath
===================================================================
--- trunk/jbossws-core/.classpath 2007-04-20 11:50:27 UTC (rev 2894)
+++ trunk/jbossws-core/.classpath 2007-04-20 23:49:59 UTC (rev 2895)
@@ -20,7 +20,7 @@
<classpathentry kind="lib" path="/build/thirdparty/ejb3.deployer/jboss-annotations-ejb3.jar"/>
<classpathentry kind="lib" path="/build/thirdparty/ejb3.deployer/jboss-ejb3x.jar"/>
<classpathentry kind="lib" path="/build/thirdparty/jaxb-xjc.jar"/>
- <classpathentry kind="lib" path="/build/thirdparty/jboss-dependency.jar"/>
+ <classpathentry kind="lib" path="/build/thirdparty/jboss-dependency.jar" sourcepath="/build/thirdparty/jboss-dependency-src.zip"/>
<classpathentry kind="lib" path="/build/thirdparty/jboss-microcontainer.jar"/>
<classpathentry kind="lib" path="/build/thirdparty/servlet-api.jar"/>
<classpathentry kind="lib" path="/build/thirdparty/stax-api.jar"/>
Modified: trunk/jbossws-core/src/java/javax/xml/rpc/JAXRPCException.java
===================================================================
--- trunk/jbossws-core/src/java/javax/xml/rpc/JAXRPCException.java 2007-04-20 11:50:27 UTC (rev 2894)
+++ trunk/jbossws-core/src/java/javax/xml/rpc/JAXRPCException.java 2007-04-20 23:49:59 UTC (rev 2895)
@@ -21,7 +21,6 @@
*/
package javax.xml.rpc;
-import org.jboss.util.id.SerialVersion;
/**
* @author Scott.Stark(a)jboss.org
@@ -29,15 +28,6 @@
*/
public class JAXRPCException extends RuntimeException
{
- /** @since 4.0.2 */
- static final long serialVersionUID;
- static
- {
- if (SerialVersion.version == SerialVersion.LEGACY)
- serialVersionUID = 2012915834079496799L;
- else serialVersionUID = 5213579554532711730L;
- }
-
public JAXRPCException()
{
}
Modified: trunk/jbossws-core/src/java/javax/xml/rpc/ServiceException.java
===================================================================
--- trunk/jbossws-core/src/java/javax/xml/rpc/ServiceException.java 2007-04-20 11:50:27 UTC (rev 2894)
+++ trunk/jbossws-core/src/java/javax/xml/rpc/ServiceException.java 2007-04-20 23:49:59 UTC (rev 2895)
@@ -21,7 +21,6 @@
*/
package javax.xml.rpc;
-import org.jboss.util.id.SerialVersion;
/**
* @author Scott.Stark(a)jboss.org
@@ -29,15 +28,6 @@
*/
public class ServiceException extends Exception
{
- /** @since 4.0.2 */
- static final long serialVersionUID;
- static
- {
- if (SerialVersion.version == SerialVersion.LEGACY)
- serialVersionUID = -4042547292194127311L;
- else serialVersionUID = -6582148924441189775L;
- }
-
public ServiceException()
{
}
Modified: trunk/jbossws-core/src/java/javax/xml/soap/SOAPException.java
===================================================================
--- trunk/jbossws-core/src/java/javax/xml/soap/SOAPException.java 2007-04-20 11:50:27 UTC (rev 2894)
+++ trunk/jbossws-core/src/java/javax/xml/soap/SOAPException.java 2007-04-20 23:49:59 UTC (rev 2895)
@@ -21,7 +21,6 @@
*/
package javax.xml.soap;
-import org.jboss.util.id.SerialVersion;
/**
* @author Scott.Stark(a)jboss.org
@@ -29,15 +28,6 @@
*/
public class SOAPException extends Exception
{
- /** @since 4.0.2 */
- static final long serialVersionUID;
- static
- {
- if (SerialVersion.version == SerialVersion.LEGACY)
- serialVersionUID = -4385552115225336830L;
- else serialVersionUID = 5083961510786058130L;
- }
-
public SOAPException()
{
}
17 years
JBossWS SVN: r2894 - subprojects/jbossws-wsconsume-impl.
by jbossws-commits@lists.jboss.org
Author: heiko.braun(a)jboss.com
Date: 2007-04-20 07:50:27 -0400 (Fri, 20 Apr 2007)
New Revision: 2894
Added:
subprojects/jbossws-wsconsume-impl/good_with_1.2.1.txt
Log:
dev pointer
Added: subprojects/jbossws-wsconsume-impl/good_with_1.2.1.txt
===================================================================
--- subprojects/jbossws-wsconsume-impl/good_with_1.2.1.txt (rev 0)
+++ subprojects/jbossws-wsconsume-impl/good_with_1.2.1.txt 2007-04-20 11:50:27 UTC (rev 2894)
@@ -0,0 +1,11 @@
+Path: .
+URL: https://svn.jboss.org/repos/jbossws/subprojects/jbossws-wsconsume-impl
+Repository Root: https://svn.jboss.org/repos/jbossws
+Repository UUID: 50344849-fb0f-0410-a53f-a94597aac05c
+Revision: 2893
+Node Kind: directory
+Schedule: normal
+Last Changed Author: jason.greene(a)jboss.com
+Last Changed Rev: 2410
+Last Changed Date: 2007-02-21 00:12:43 +0100 (Wed, 21 Feb 2007)
+
Property changes on: subprojects/jbossws-wsconsume-impl/good_with_1.2.1.txt
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
17 years
JBossWS SVN: r2893 - branches/hbraun.
by jbossws-commits@lists.jboss.org
Author: heiko.braun(a)jboss.com
Date: 2007-04-20 07:02:19 -0400 (Fri, 20 Apr 2007)
New Revision: 2893
Added:
branches/hbraun/trunk/
Log:
Create user branch
Copied: branches/hbraun/trunk (from rev 2892, trunk)
17 years
JBossWS SVN: r2892 - branches/hbraun.
by jbossws-commits@lists.jboss.org
Author: heiko.braun(a)jboss.com
Date: 2007-04-20 07:01:16 -0400 (Fri, 20 Apr 2007)
New Revision: 2892
Removed:
branches/hbraun/trunk/
Log:
Restart
17 years
JBossWS SVN: r2891 - branches/jbossws-2.0/build.
by jbossws-commits@lists.jboss.org
Author: thomas.diesler(a)jboss.com
Date: 2007-04-19 14:44:19 -0400 (Thu, 19 Apr 2007)
New Revision: 2891
Modified:
branches/jbossws-2.0/build/version.properties
Log:
2.0.0.GA
Modified: branches/jbossws-2.0/build/version.properties
===================================================================
--- branches/jbossws-2.0/build/version.properties 2007-04-19 10:32:03 UTC (rev 2890)
+++ branches/jbossws-2.0/build/version.properties 2007-04-19 18:44:19 UTC (rev 2891)
@@ -5,8 +5,8 @@
specification.vendor=JBoss (http://www.jboss.org)
specification.version=jbossws-2.0
-version.id=2.0.0.CR5
-repository.id=2.0.0.CR5
+version.id=2.0.0.GA
+repository.id=2.0.0.GA
implementation.title=JBoss Web Services (JBossWS)
implementation.url=http://www.jboss.org/products/jbossws
17 years
JBossWS SVN: r2890 - tags.
by jbossws-commits@lists.jboss.org
Author: thomas.diesler(a)jboss.com
Date: 2007-04-19 06:32:03 -0400 (Thu, 19 Apr 2007)
New Revision: 2890
Added:
tags/jbossws-2.0.0.CR5/
Log:
Release 2.0.0.CR5
Copied: tags/jbossws-2.0.0.CR5 (from rev 2889, branches/jbossws-2.0)
17 years
JBossWS SVN: r2889 - branches/jbossws-2.0/build.
by jbossws-commits@lists.jboss.org
Author: thomas.diesler(a)jboss.com
Date: 2007-04-19 06:28:06 -0400 (Thu, 19 Apr 2007)
New Revision: 2889
Modified:
branches/jbossws-2.0/build/version.properties
Log:
jbossws-2.0.0.CR5
Modified: branches/jbossws-2.0/build/version.properties
===================================================================
--- branches/jbossws-2.0/build/version.properties 2007-04-19 10:06:50 UTC (rev 2888)
+++ branches/jbossws-2.0/build/version.properties 2007-04-19 10:28:06 UTC (rev 2889)
@@ -3,10 +3,10 @@
specification.title=JBossWS
specification.vendor=JBoss (http://www.jboss.org)
-specification.version=jbossws-1.2
+specification.version=jbossws-2.0
-version.id=2.0.0.DEV
-repository.id=2.0.0.DEV
+version.id=2.0.0.CR5
+repository.id=2.0.0.CR5
implementation.title=JBoss Web Services (JBossWS)
implementation.url=http://www.jboss.org/products/jbossws
17 years
JBossWS SVN: r2888 - branches.
by jbossws-commits@lists.jboss.org
Author: thomas.diesler(a)jboss.com
Date: 2007-04-19 06:06:50 -0400 (Thu, 19 Apr 2007)
New Revision: 2888
Added:
branches/jbossws-2.0/
Removed:
branches/jbossws-1.2.2/
Log:
Move to branches/jbossws-2.0
Copied: branches/jbossws-2.0 (from rev 2887, branches/jbossws-1.2.2)
17 years