You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by ff...@apache.org on 2006/11/01 10:39:03 UTC
svn commit: r469837 - in /incubator/cxf/trunk:
distribution/src/main/release/samples/integration/
distribution/src/main/release/samples/integration/JBI/
distribution/src/main/release/samples/integration/JBI/internal_provider_internal_consumer/
distribu...
Author: ffang
Date: Wed Nov 1 01:39:01 2006
New Revision: 469837
URL: http://svn.apache.org/viewvc?view=rev&rev=469837
Log:
[CXF-38] JBI Integration -- demo1 internal provider internal consumer
Added:
incubator/cxf/trunk/distribution/src/main/release/samples/integration/
incubator/cxf/trunk/distribution/src/main/release/samples/integration/JBI/
incubator/cxf/trunk/distribution/src/main/release/samples/integration/JBI/internal_provider_internal_consumer/
incubator/cxf/trunk/distribution/src/main/release/samples/integration/JBI/internal_provider_internal_consumer/README.txt (with props)
incubator/cxf/trunk/distribution/src/main/release/samples/integration/JBI/internal_provider_internal_consumer/build.properties (with props)
incubator/cxf/trunk/distribution/src/main/release/samples/integration/JBI/internal_provider_internal_consumer/build.xml (with props)
incubator/cxf/trunk/distribution/src/main/release/samples/integration/JBI/internal_provider_internal_consumer/service-assembly/
incubator/cxf/trunk/distribution/src/main/release/samples/integration/JBI/internal_provider_internal_consumer/service-assembly/build.xml (with props)
incubator/cxf/trunk/distribution/src/main/release/samples/integration/JBI/internal_provider_internal_consumer/service-assembly/etc/
incubator/cxf/trunk/distribution/src/main/release/samples/integration/JBI/internal_provider_internal_consumer/service-assembly/etc/jbi.xml (with props)
incubator/cxf/trunk/distribution/src/main/release/samples/integration/JBI/internal_provider_internal_consumer/service-engine/
incubator/cxf/trunk/distribution/src/main/release/samples/integration/JBI/internal_provider_internal_consumer/service-engine/build.xml (with props)
incubator/cxf/trunk/distribution/src/main/release/samples/integration/JBI/internal_provider_internal_consumer/service-engine/etc/
incubator/cxf/trunk/distribution/src/main/release/samples/integration/JBI/internal_provider_internal_consumer/service-engine/etc/cxf-config.xml (with props)
incubator/cxf/trunk/distribution/src/main/release/samples/integration/JBI/internal_provider_internal_consumer/service-engine/etc/jbi.xml (with props)
incubator/cxf/trunk/distribution/src/main/release/samples/integration/JBI/internal_provider_internal_consumer/service-unit/
incubator/cxf/trunk/distribution/src/main/release/samples/integration/JBI/internal_provider_internal_consumer/service-unit/build.xml (with props)
incubator/cxf/trunk/distribution/src/main/release/samples/integration/JBI/internal_provider_internal_consumer/service-unit/etc/
incubator/cxf/trunk/distribution/src/main/release/samples/integration/JBI/internal_provider_internal_consumer/service-unit/etc/consumer/
incubator/cxf/trunk/distribution/src/main/release/samples/integration/JBI/internal_provider_internal_consumer/service-unit/etc/consumer/jbi.xml (with props)
incubator/cxf/trunk/distribution/src/main/release/samples/integration/JBI/internal_provider_internal_consumer/service-unit/etc/provider/
incubator/cxf/trunk/distribution/src/main/release/samples/integration/JBI/internal_provider_internal_consumer/service-unit/etc/provider/jbi.xml (with props)
incubator/cxf/trunk/distribution/src/main/release/samples/integration/JBI/internal_provider_internal_consumer/service-unit/src/
incubator/cxf/trunk/distribution/src/main/release/samples/integration/JBI/internal_provider_internal_consumer/service-unit/src/test/
incubator/cxf/trunk/distribution/src/main/release/samples/integration/JBI/internal_provider_internal_consumer/service-unit/src/test/consumer/
incubator/cxf/trunk/distribution/src/main/release/samples/integration/JBI/internal_provider_internal_consumer/service-unit/src/test/consumer/HelloWorldConsumer.java (with props)
incubator/cxf/trunk/distribution/src/main/release/samples/integration/JBI/internal_provider_internal_consumer/service-unit/src/test/provider/
incubator/cxf/trunk/distribution/src/main/release/samples/integration/JBI/internal_provider_internal_consumer/service-unit/src/test/provider/HelloWorldProvider.java (with props)
incubator/cxf/trunk/distribution/src/main/release/samples/integration/JBI/internal_provider_internal_consumer/service-unit/wsdl/
incubator/cxf/trunk/distribution/src/main/release/samples/integration/JBI/internal_provider_internal_consumer/service-unit/wsdl/hello_world.wsdl (with props)
Modified:
incubator/cxf/trunk/integration/jbi/src/main/java/org/apache/cxf/jbi/se/CXFServiceUnit.java
incubator/cxf/trunk/integration/jbi/src/main/java/org/apache/cxf/jbi/se/ComponentClassLoader.java
incubator/cxf/trunk/integration/jbi/src/main/java/org/apache/cxf/jbi/se/filters.properties
incubator/cxf/trunk/integration/jbi/src/main/java/org/apache/cxf/jbi/se/state/AbstractServiceEngineStateMachine.java
incubator/cxf/trunk/integration/jbi/src/main/java/org/apache/cxf/jbi/se/state/ServiceEngineShutdown.java
incubator/cxf/trunk/integration/jbi/src/main/java/org/apache/cxf/jbi/transport/JBIConduitOutputStream.java
incubator/cxf/trunk/integration/jbi/src/main/java/org/apache/cxf/jbi/transport/JBITransportFactory.java
incubator/cxf/trunk/integration/jbi/src/main/java/org/apache/cxf/jbi/transport/Messages.properties
incubator/cxf/trunk/integration/jbi/src/test/java/org/apache/cxf/jbi/se/CXFServiceUnitManagerTest.java
Added: incubator/cxf/trunk/distribution/src/main/release/samples/integration/JBI/internal_provider_internal_consumer/README.txt
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/distribution/src/main/release/samples/integration/JBI/internal_provider_internal_consumer/README.txt?view=auto&rev=469837
==============================================================================
--- incubator/cxf/trunk/distribution/src/main/release/samples/integration/JBI/internal_provider_internal_consumer/README.txt (added)
+++ incubator/cxf/trunk/distribution/src/main/release/samples/integration/JBI/internal_provider_internal_consumer/README.txt Wed Nov 1 01:39:01 2006
@@ -0,0 +1,137 @@
+Overview
+========
+
+Prerequisite: This README assumes some familiarity with the Java
+Business Integration specification. See the following URL for more
+information: http://java.sun.com/integration/
+
+This demo shows how CXF can be used to implement service
+implementations for a Java Business Integration (JBI) container,. The
+demo consists of a CXF Service Engine and a test service assembly.
+The service assembly contains two service units: a service provider (server)
+and a service consumer (client).
+
+In each case the service units are written to the standard JAXWS 2.0
+API. The assembly is deployed to the CXF Service Engine (CSE).
+The CSE connects the service implementation (and client) to the JBI
+Normalized Message Router (NMR) using a customized CXF transport.
+
+The JBI/NMR transport in this demo support InOut and InOnly message exchange pattern.
+
+ServiceMix and OpenESB are two JBI container implementation we are
+using here. Here we can see CXF Service Engine can be deployed into
+different JBI implementation without any change.
+
+
+Deploy CXF Service Engine into ServiceMix
+============================================
+Build Instructions
+------------------
+. Download & Install ServiceMix
+ http://people.apache.org/maven-snapshot-repository/org/apache/servicemix/incubating-servicemix/3.0-SNAPSHOT/
+ Note: Must isntall the lastest 3.0 SNAPSHOT version since any previous version still
+ has bugs for CXF ServiceMix integration.
+
+. export SERVICE_MIX_HOME for your shell envirnoment
+
+. Edit build.properties to sepcify cxf.home and jbi.sdk.jar,
+ jbi.sdk.jar=$SERVICE_MIX_HOME/lib/servicemix-jbi-3.0-SNAPSHOT.jar
+
+
+. build everything using ant: 'ant build'
+
+Installation & Deployment
+-------------------------
+Ensure that the $SERVICE_MIX_HOME/bin is on the path.
+
+Start ServiceMix
+ >servicemix
+And then you can see logs from the shell which you start servicemix, including
+ServiceEngine install log, Service Assembly deploy log, cxf service
+consumer and provider communication log. To remove noisy log from the
+console, just edit servicemix starup script, add
+-Djava.util.logging.config.file="$CXF_HOME/etc/logging.properties" to
+java launch commandline
+
+Install and start the CXF Service Engine:
+
+ > ant -f $SERVICE_MIX_HOME/ant/servicemix-ant-task.xml install-component -Dsm.install.file=./service-engine/build/lib/cxf-service-engine.jar -Dsm.username=smx -Dsm.password=smx
+ > ant -f $SERVICE_MIX_HOME/ant/servicemix-ant-task.xml start-component -Dsm.component.name=CXFServiceEngine -Dsm.username=smx -Dsm.password=smx
+
+Deploy and start the CXF demo service assembly
+
+ > ant -f $SERVICE_MIX_HOME/ant/servicemix-ant-task.xml deploy-service-assembly -Dsm.deploy.file=./service-assembly/build/lib/cxf-service-assembly.zip -Dsm.username=smx -Dsm.password=smx
+ > ant -f $SERVICE_MIX_HOME/ant/servicemix-ant-task.xml start-service-assembly -Dsm.service.assembly.name=cxf-demo-service-assembly -Dsm.username=smx -Dsm.password=smx
+
+
+More lifecycle management task
+ > ant -f $SERVICE_MIX_HOME/ant/servicemix-ant-task.xml -projecthelp
+
+Deploy CXF Service Engine into OpenESB
+=========================================
+Build Instructions
+------------------
+. Download & Install Glassfish Application Server
+ https://glassfish.dev.java.net/downloads/04May06.html
+ Note: must install 9.0 (Build 48 04-May-06) since previous version use
+ early JAXB implementation which will conflict with CXF
+
+. export GLASSFISH_HOME for your shell environment
+
+. Download & Install OpenESB JBI Framework (v 1.1)
+
+. export OPEN_ESB_HOME for your shell environment
+
+. export JBI_HOME=$GLASSFISH_HOME/domains/domain1/jbi
+
+. Edit build.properties to sepcify cxf.home and jbi.sdk.jar,
+ jbi.sdk.jar=$OPEN_ESB_HOME/appserver/jbi.jar
+
+. build everything using ant: 'ant build'
+
+
+Installation & Deployment
+-------------------------
+
+Ensure that the $GLASSFISH_HOME/bin and $JBI_HOME/bin is on the path. If you deployed OpenESB
+into the default domain (domain1) on Glassfish, this JBI_HOME can be
+found in $GLASSFISH_HOME/domains/domain1/jbi.
+
+Start OpenESB
+
+ > asadmin start-domain domain1
+
+You should see log like
+Starting Domain domain1, please wait.
+Log redirected to /local/glassfish/domains/domain1/logs/server.log
+
+In server.log you can see ServiceEngine install log, Service Assembly deploy log, cxf service
+consumer and provider communication log.
+
+
+Install the CXF Service Engine:
+
+ > jbiadmin install-component service-engine/build/lib/cxf-service-engine.jar
+ > jbiadmin start-component CXFServiceEngine
+
+Deploy the CXF demo service assembly
+
+ > jbiadmin deploy-service-assembly service-assembly/build/lib/cxf-service-assembly.zip
+ > jbiadmin start-service-assembly cxf-demo-service-assembly
+
+More lifecycle management task
+
+ > jbiadmin help
+
+Stop OpenESB
+ > asadmin stop-domain domain1
+
+What happened
+=============
+The SE will start both Serivce Units in the assembly. The consumer is
+coded to wait for the providers endpoint to activate. Once the
+provider endpoint has activated, the consumer sends messages to the
+provider. These messages are taken by the CXF JBI transport,
+wrapped in a NormalizedMessage and sent via the NMR to the service
+provider. The responses are sent back in a similar fashion. greetMe/sayHi
+use InOut MEP, greetMeOneWay use InOnly MEP.
Propchange: incubator/cxf/trunk/distribution/src/main/release/samples/integration/JBI/internal_provider_internal_consumer/README.txt
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/cxf/trunk/distribution/src/main/release/samples/integration/JBI/internal_provider_internal_consumer/README.txt
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: incubator/cxf/trunk/distribution/src/main/release/samples/integration/JBI/internal_provider_internal_consumer/build.properties
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/distribution/src/main/release/samples/integration/JBI/internal_provider_internal_consumer/build.properties?view=auto&rev=469837
==============================================================================
--- incubator/cxf/trunk/distribution/src/main/release/samples/integration/JBI/internal_provider_internal_consumer/build.properties (added)
+++ incubator/cxf/trunk/distribution/src/main/release/samples/integration/JBI/internal_provider_internal_consumer/build.properties Wed Nov 1 01:39:01 2006
@@ -0,0 +1,6 @@
+# Edit these entries with the correct locations
+# (Use absolute paths)
+
+jbi.sdk.jar=/local/apache-servicemix-3.0-incubating/lib/servicemix-jbi-3.0-incubating.jar
+cxf.home=${user.home}/cxf-2.0-incubator-M1-SNAPSHOT
+
Propchange: incubator/cxf/trunk/distribution/src/main/release/samples/integration/JBI/internal_provider_internal_consumer/build.properties
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/cxf/trunk/distribution/src/main/release/samples/integration/JBI/internal_provider_internal_consumer/build.properties
------------------------------------------------------------------------------
svn:keywords = Rev Date
Propchange: incubator/cxf/trunk/distribution/src/main/release/samples/integration/JBI/internal_provider_internal_consumer/build.properties
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: incubator/cxf/trunk/distribution/src/main/release/samples/integration/JBI/internal_provider_internal_consumer/build.xml
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/distribution/src/main/release/samples/integration/JBI/internal_provider_internal_consumer/build.xml?view=auto&rev=469837
==============================================================================
--- incubator/cxf/trunk/distribution/src/main/release/samples/integration/JBI/internal_provider_internal_consumer/build.xml (added)
+++ incubator/cxf/trunk/distribution/src/main/release/samples/integration/JBI/internal_provider_internal_consumer/build.xml Wed Nov 1 01:39:01 2006
@@ -0,0 +1,35 @@
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+
+<project name="cxf-jbi-demo" default="build">
+
+ <target name="build">
+ <ant dir="service-engine"/>
+ <ant dir="service-unit"/>
+ <ant dir="service-assembly"/>
+ </target>
+
+ <target name="clean">
+ <ant dir="service-unit" target="clean"/>
+ <ant dir="service-engine" target="clean"/>
+ <ant dir="service-assembly" target="clean"/>
+ </target>
+
+
+</project>
Propchange: incubator/cxf/trunk/distribution/src/main/release/samples/integration/JBI/internal_provider_internal_consumer/build.xml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/cxf/trunk/distribution/src/main/release/samples/integration/JBI/internal_provider_internal_consumer/build.xml
------------------------------------------------------------------------------
svn:keywords = Rev Date
Propchange: incubator/cxf/trunk/distribution/src/main/release/samples/integration/JBI/internal_provider_internal_consumer/build.xml
------------------------------------------------------------------------------
svn:mime-type = text/xml
Added: incubator/cxf/trunk/distribution/src/main/release/samples/integration/JBI/internal_provider_internal_consumer/service-assembly/build.xml
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/distribution/src/main/release/samples/integration/JBI/internal_provider_internal_consumer/service-assembly/build.xml?view=auto&rev=469837
==============================================================================
--- incubator/cxf/trunk/distribution/src/main/release/samples/integration/JBI/internal_provider_internal_consumer/service-assembly/build.xml (added)
+++ incubator/cxf/trunk/distribution/src/main/release/samples/integration/JBI/internal_provider_internal_consumer/service-assembly/build.xml Wed Nov 1 01:39:01 2006
@@ -0,0 +1,53 @@
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+
+
+<project name="jbi-demo-service-engine" default="build">
+
+ <property name="build.dir" location="./build"/>
+ <property name="build.lib.dir" location="${build.dir}/lib"/>
+ <property name="src.dir" location="./src"/>
+
+ <property file="../build.properties"/>
+
+ <target name="build" depends="build-service-assembly"/>
+
+
+ <target name="build-service-assembly">
+ <mkdir dir="${build.lib.dir}"/>
+ <jar destfile="${build.lib.dir}/cxf-service-assembly.zip">
+ <fileset dir="../service-unit/build/lib">
+ <include name="cxf-service-provider.jar"/>
+ <include name="cxf-service-consumer.jar"/>
+ </fileset>
+ <metainf dir="./etc">
+ <include name="jbi.xml"/>
+ </metainf>
+ <metainf dir="./etc">
+ <include name="jbi.xml"/>
+ </metainf>
+ </jar>
+ </target>
+
+ <target name="clean">
+ <delete dir="${build.dir}"/>
+ </target>
+
+</project>
+
Propchange: incubator/cxf/trunk/distribution/src/main/release/samples/integration/JBI/internal_provider_internal_consumer/service-assembly/build.xml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/cxf/trunk/distribution/src/main/release/samples/integration/JBI/internal_provider_internal_consumer/service-assembly/build.xml
------------------------------------------------------------------------------
svn:keywords = Rev Date
Propchange: incubator/cxf/trunk/distribution/src/main/release/samples/integration/JBI/internal_provider_internal_consumer/service-assembly/build.xml
------------------------------------------------------------------------------
svn:mime-type = text/xml
Added: incubator/cxf/trunk/distribution/src/main/release/samples/integration/JBI/internal_provider_internal_consumer/service-assembly/etc/jbi.xml
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/distribution/src/main/release/samples/integration/JBI/internal_provider_internal_consumer/service-assembly/etc/jbi.xml?view=auto&rev=469837
==============================================================================
--- incubator/cxf/trunk/distribution/src/main/release/samples/integration/JBI/internal_provider_internal_consumer/service-assembly/etc/jbi.xml (added)
+++ incubator/cxf/trunk/distribution/src/main/release/samples/integration/JBI/internal_provider_internal_consumer/service-assembly/etc/jbi.xml Wed Nov 1 01:39:01 2006
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<jbi xmlns="http://java.sun.com/xml/ns/jbi" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.0" xsi:schemaLocation="http://java.sun.com/xml/ns/jbi ./jbi.xsd">
+ <service-assembly>
+ <identification>
+ <name>cxf-demo-service-assembly</name>
+ <description>Service Assembly for JBI Demo Component</description>
+ </identification>
+ <service-unit>
+ <identification>
+ <name>JBIDemoSE_AProvider</name>
+ <description>Service Engine Service Provider Sub-Assembly for JBI Demo</description>
+ </identification>
+ <target>
+ <artifacts-zip>cxf-service-provider.jar</artifacts-zip>
+ <component-name>CXFServiceEngine</component-name>
+ </target>
+ </service-unit>
+ <service-unit>
+ <identification>
+ <name>JBIDemoSE_BConsumer</name>
+ <description>Service Engine Service Consumer Sub-Assembly for JBI Demo</description>
+ </identification>
+ <target>
+ <artifacts-zip>cxf-service-consumer.jar</artifacts-zip>
+ <component-name>CXFServiceEngine</component-name>
+ </target>
+ </service-unit>
+ </service-assembly>
+</jbi>
Propchange: incubator/cxf/trunk/distribution/src/main/release/samples/integration/JBI/internal_provider_internal_consumer/service-assembly/etc/jbi.xml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/cxf/trunk/distribution/src/main/release/samples/integration/JBI/internal_provider_internal_consumer/service-assembly/etc/jbi.xml
------------------------------------------------------------------------------
svn:keywords = Rev Date
Propchange: incubator/cxf/trunk/distribution/src/main/release/samples/integration/JBI/internal_provider_internal_consumer/service-assembly/etc/jbi.xml
------------------------------------------------------------------------------
svn:mime-type = text/xml
Added: incubator/cxf/trunk/distribution/src/main/release/samples/integration/JBI/internal_provider_internal_consumer/service-engine/build.xml
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/distribution/src/main/release/samples/integration/JBI/internal_provider_internal_consumer/service-engine/build.xml?view=auto&rev=469837
==============================================================================
--- incubator/cxf/trunk/distribution/src/main/release/samples/integration/JBI/internal_provider_internal_consumer/service-engine/build.xml (added)
+++ incubator/cxf/trunk/distribution/src/main/release/samples/integration/JBI/internal_provider_internal_consumer/service-engine/build.xml Wed Nov 1 01:39:01 2006
@@ -0,0 +1,58 @@
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+
+<project name="jbi-demo-service-engine" default="build">
+
+ <property name="build.dir" location="./build"/>
+ <property name="build.classes.dir" location="${build.dir}/classes"/>
+ <property name="build.lib.dir" location="${build.dir}/lib"/>
+ <property name="src.dir" location="./src"/>
+
+ <property file="../build.properties"/>
+
+ <path id="build.classpath">
+ <fileset dir="${cxf.home}/lib">
+ <include name="cxf-incubator.jar"/>
+ </fileset>
+ <pathelement location="${jbi.sdk.dir}/jbi.jar"/>
+ <pathelement location="./build/classes"/>
+ </path>
+
+ <target name="build" depends="build-service-engine"/>
+
+ <target name="build-service-engine">
+ <mkdir dir="${build.lib.dir}"/>
+
+ <jar destfile="${build.lib.dir}/cxf-service-engine.jar">
+ <fileset dir="${cxf.home}/lib">
+ <include name="*.jar"/>
+ </fileset>
+ <metainf dir="./etc">
+ <include name="jbi.xml"/>
+ <include name="cxf-config.xml"/>
+ </metainf>
+ </jar>
+ </target>
+
+ <target name="clean">
+ <delete dir="${build.dir}"/>
+ </target>
+
+</project>
+
Propchange: incubator/cxf/trunk/distribution/src/main/release/samples/integration/JBI/internal_provider_internal_consumer/service-engine/build.xml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/cxf/trunk/distribution/src/main/release/samples/integration/JBI/internal_provider_internal_consumer/service-engine/build.xml
------------------------------------------------------------------------------
svn:keywords = Rev Date
Propchange: incubator/cxf/trunk/distribution/src/main/release/samples/integration/JBI/internal_provider_internal_consumer/service-engine/build.xml
------------------------------------------------------------------------------
svn:mime-type = text/xml
Added: incubator/cxf/trunk/distribution/src/main/release/samples/integration/JBI/internal_provider_internal_consumer/service-engine/etc/cxf-config.xml
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/distribution/src/main/release/samples/integration/JBI/internal_provider_internal_consumer/service-engine/etc/cxf-config.xml?view=auto&rev=469837
==============================================================================
--- incubator/cxf/trunk/distribution/src/main/release/samples/integration/JBI/internal_provider_internal_consumer/service-engine/etc/cxf-config.xml (added)
+++ incubator/cxf/trunk/distribution/src/main/release/samples/integration/JBI/internal_provider_internal_consumer/service-engine/etc/cxf-config.xml Wed Nov 1 01:39:01 2006
@@ -0,0 +1,2 @@
+
+
Propchange: incubator/cxf/trunk/distribution/src/main/release/samples/integration/JBI/internal_provider_internal_consumer/service-engine/etc/cxf-config.xml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/cxf/trunk/distribution/src/main/release/samples/integration/JBI/internal_provider_internal_consumer/service-engine/etc/cxf-config.xml
------------------------------------------------------------------------------
svn:keywords = Rev Date
Propchange: incubator/cxf/trunk/distribution/src/main/release/samples/integration/JBI/internal_provider_internal_consumer/service-engine/etc/cxf-config.xml
------------------------------------------------------------------------------
svn:mime-type = text/xml
Added: incubator/cxf/trunk/distribution/src/main/release/samples/integration/JBI/internal_provider_internal_consumer/service-engine/etc/jbi.xml
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/distribution/src/main/release/samples/integration/JBI/internal_provider_internal_consumer/service-engine/etc/jbi.xml?view=auto&rev=469837
==============================================================================
--- incubator/cxf/trunk/distribution/src/main/release/samples/integration/JBI/internal_provider_internal_consumer/service-engine/etc/jbi.xml (added)
+++ incubator/cxf/trunk/distribution/src/main/release/samples/integration/JBI/internal_provider_internal_consumer/service-engine/etc/jbi.xml Wed Nov 1 01:39:01 2006
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<jbi version="1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+xmlns="http://java.sun.com/xml/ns/jbi" xsi:schemaLocation="http://java.sun.com/xml/ns/jbi ./jbi.xsd">
+
+ <component type="service-engine">
+ <identification>
+ <name>CXFServiceEngine</name>
+ <description>This is a cxf service engine</description>
+ </identification>
+ <component-class-name description="description">org.apache.cxf.jbi.se.CXFServiceEngine</component-class-name>
+ <component-class-path>
+ <path-element>cxf-incubator.jar</path-element>
+ </component-class-path>
+ <bootstrap-class-name>org.apache.cxf.jbi.se.CXFBootstrap</bootstrap-class-name>
+ <bootstrap-class-path>
+ <path-element>cxf-incubator.jar</path-element>
+ </bootstrap-class-path>
+ </component>
+</jbi>
Propchange: incubator/cxf/trunk/distribution/src/main/release/samples/integration/JBI/internal_provider_internal_consumer/service-engine/etc/jbi.xml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/cxf/trunk/distribution/src/main/release/samples/integration/JBI/internal_provider_internal_consumer/service-engine/etc/jbi.xml
------------------------------------------------------------------------------
svn:keywords = Rev Date
Propchange: incubator/cxf/trunk/distribution/src/main/release/samples/integration/JBI/internal_provider_internal_consumer/service-engine/etc/jbi.xml
------------------------------------------------------------------------------
svn:mime-type = text/xml
Added: incubator/cxf/trunk/distribution/src/main/release/samples/integration/JBI/internal_provider_internal_consumer/service-unit/build.xml
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/distribution/src/main/release/samples/integration/JBI/internal_provider_internal_consumer/service-unit/build.xml?view=auto&rev=469837
==============================================================================
--- incubator/cxf/trunk/distribution/src/main/release/samples/integration/JBI/internal_provider_internal_consumer/service-unit/build.xml (added)
+++ incubator/cxf/trunk/distribution/src/main/release/samples/integration/JBI/internal_provider_internal_consumer/service-unit/build.xml Wed Nov 1 01:39:01 2006
@@ -0,0 +1,108 @@
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+
+<project name="jbi-demo-service-unit" default="build">
+
+ <property name="build.dir" location="./build"/>
+ <property name="build.classes.dir" location="${build.dir}/classes"/>
+ <property name="build.src.dir" location="${build.dir}/src"/>
+ <property name="build.lib.dir" location="${build.dir}/lib"/>
+ <property name="src.dir" location="./src"/>
+ <property name="wsdl.dir" location="./wsdl"/>
+
+ <property file="../build.properties"/>
+
+ <!-- reuse the macros defined in CXF samples -->
+ <import file="${cxf.home}/samples/common_build.xml"/>
+
+ <path id="build.classpath">
+ <pathelement location="${build.classes.dir}"/>
+ <pathelement location="${jbi.sdk.jar}"/>
+ <fileset dir="${cxf.home}/lib">
+ <include name="cxf-incubator.jar"/>
+ </fileset>
+ </path>
+
+ <target name="build" depends="build-service-units"/>
+
+ <target name="generate-code">
+ <mkdir dir="${build.src.dir}"/>
+ <echo level="info" message="Generating code using wsdl2java..."/>
+ <wsdl2java file="hello_world.wsdl"/>
+ </target>
+
+ <target name="update-code" description="updates code with actual wsdl location">
+
+ <replace dir="src" value="${wsdl.dir}${file.separator}">
+ <include name="**/*.java"/>
+ <replacetoken>@wsdl_path@</replacetoken>
+ </replace>
+
+ <!-- for windows make sure that '\' are escaped -->
+ <replace dir="src" value="\\">
+ <include name="**/*.java"/>
+ <replacetoken>\</replacetoken>
+ </replace>
+
+ </target>
+
+ <target name="compile" depends="generate-code">
+ <mkdir dir="${build.classes.dir}"/>
+ <javac destdir="${build.classes.dir}" srcdir="${build.src.dir}" debug="true">
+ <classpath refid="build.classpath"/>
+ </javac>
+ <javac destdir="${build.classes.dir}" srcdir="${src.dir}" debug="true">
+ <classpath refid="build.classpath"/>
+ </javac>
+ </target>
+
+ <target name="build-service-units" depends="compile">
+ <mkdir dir="${build.lib.dir}"/>
+ <jar destfile="${build.lib.dir}/cxf-service-provider.jar">
+ <fileset dir="${build.classes.dir}">
+ <include name="**/provider/**/*.class"/>
+ <include name="org/**/*.class"/>
+ </fileset>
+ <metainf dir="./etc/provider">
+ <include name="jbi.xml"/>
+ </metainf>
+ <metainf dir="./wsdl">
+ <include name="hello_world.wsdl"/>
+ </metainf>
+ </jar>
+ <jar destfile="${build.lib.dir}/cxf-service-consumer.jar">
+ <fileset dir="${build.classes.dir}">
+ <include name="**/consumer/**/*.class"/>
+ <include name="org/**/*.class"/>
+ </fileset>
+ <metainf dir="./etc/consumer">
+ <include name="jbi.xml"/>
+ </metainf>
+ <metainf dir="./wsdl">
+ <include name="hello_world.wsdl"/>
+ </metainf>
+ </jar>
+ </target>
+
+ <target name="clean">
+ <delete dir="${build.dir}"/>
+ </target>
+
+</project>
+
Propchange: incubator/cxf/trunk/distribution/src/main/release/samples/integration/JBI/internal_provider_internal_consumer/service-unit/build.xml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/cxf/trunk/distribution/src/main/release/samples/integration/JBI/internal_provider_internal_consumer/service-unit/build.xml
------------------------------------------------------------------------------
svn:keywords = Rev Date
Propchange: incubator/cxf/trunk/distribution/src/main/release/samples/integration/JBI/internal_provider_internal_consumer/service-unit/build.xml
------------------------------------------------------------------------------
svn:mime-type = text/xml
Added: incubator/cxf/trunk/distribution/src/main/release/samples/integration/JBI/internal_provider_internal_consumer/service-unit/etc/consumer/jbi.xml
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/distribution/src/main/release/samples/integration/JBI/internal_provider_internal_consumer/service-unit/etc/consumer/jbi.xml?view=auto&rev=469837
==============================================================================
--- incubator/cxf/trunk/distribution/src/main/release/samples/integration/JBI/internal_provider_internal_consumer/service-unit/etc/consumer/jbi.xml (added)
+++ incubator/cxf/trunk/distribution/src/main/release/samples/integration/JBI/internal_provider_internal_consumer/service-unit/etc/consumer/jbi.xml Wed Nov 1 01:39:01 2006
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<jbi version="1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+xmlns="http://java.sun.com/xml/ns/jbi" xsi:schemaLocation="http://java.sun.com/xml/ns/jbi ./jbi.xsd">
+
+ <services binding-component="false" xmlns:sns1="http://objectweb.org/hello_world">
+ <consumes interface-name="sns1:Greeter" service-name="sns1:HelloWorldService"/>
+ </services>
+</jbi>
Propchange: incubator/cxf/trunk/distribution/src/main/release/samples/integration/JBI/internal_provider_internal_consumer/service-unit/etc/consumer/jbi.xml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/cxf/trunk/distribution/src/main/release/samples/integration/JBI/internal_provider_internal_consumer/service-unit/etc/consumer/jbi.xml
------------------------------------------------------------------------------
svn:keywords = Rev Date
Propchange: incubator/cxf/trunk/distribution/src/main/release/samples/integration/JBI/internal_provider_internal_consumer/service-unit/etc/consumer/jbi.xml
------------------------------------------------------------------------------
svn:mime-type = text/xml
Added: incubator/cxf/trunk/distribution/src/main/release/samples/integration/JBI/internal_provider_internal_consumer/service-unit/etc/provider/jbi.xml
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/distribution/src/main/release/samples/integration/JBI/internal_provider_internal_consumer/service-unit/etc/provider/jbi.xml?view=auto&rev=469837
==============================================================================
--- incubator/cxf/trunk/distribution/src/main/release/samples/integration/JBI/internal_provider_internal_consumer/service-unit/etc/provider/jbi.xml (added)
+++ incubator/cxf/trunk/distribution/src/main/release/samples/integration/JBI/internal_provider_internal_consumer/service-unit/etc/provider/jbi.xml Wed Nov 1 01:39:01 2006
@@ -0,0 +1,16 @@
+<?xml version='1.0' ?>
+<jbi version="1.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns="http://java.sun.com/xml/ns/jbi"
+ xsi:schemaLocation="http://java.sun.com/xml/ns/jbi jbi.xsd">
+ <services binding-component = "false"
+ xmlns:sns1="http://apache.org/hello_world">
+
+ <provides interface-name = "sns1:Greeter"
+ service-name = "sns1:HelloWorldService"
+ endpoint-name = "SE_Endpoint">
+
+ </provides>
+
+ </services>
+</jbi>
Propchange: incubator/cxf/trunk/distribution/src/main/release/samples/integration/JBI/internal_provider_internal_consumer/service-unit/etc/provider/jbi.xml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/cxf/trunk/distribution/src/main/release/samples/integration/JBI/internal_provider_internal_consumer/service-unit/etc/provider/jbi.xml
------------------------------------------------------------------------------
svn:keywords = Rev Date
Propchange: incubator/cxf/trunk/distribution/src/main/release/samples/integration/JBI/internal_provider_internal_consumer/service-unit/etc/provider/jbi.xml
------------------------------------------------------------------------------
svn:mime-type = text/xml
Added: incubator/cxf/trunk/distribution/src/main/release/samples/integration/JBI/internal_provider_internal_consumer/service-unit/src/test/consumer/HelloWorldConsumer.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/distribution/src/main/release/samples/integration/JBI/internal_provider_internal_consumer/service-unit/src/test/consumer/HelloWorldConsumer.java?view=auto&rev=469837
==============================================================================
--- incubator/cxf/trunk/distribution/src/main/release/samples/integration/JBI/internal_provider_internal_consumer/service-unit/src/test/consumer/HelloWorldConsumer.java (added)
+++ incubator/cxf/trunk/distribution/src/main/release/samples/integration/JBI/internal_provider_internal_consumer/service-unit/src/test/consumer/HelloWorldConsumer.java Wed Nov 1 01:39:01 2006
@@ -0,0 +1,105 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+
+
+package test.consumer;
+
+import javax.jbi.component.ComponentContext;
+import javax.jbi.servicedesc.ServiceEndpoint;
+import javax.xml.namespace.QName;
+
+import org.apache.cxf.jbi.ServiceConsumer;
+import org.apache.hello_world.Greeter;
+import org.apache.hello_world.HelloWorldService;
+import org.apache.hello_world.PingMeFault;
+
+
+public class HelloWorldConsumer implements ServiceConsumer {
+
+ private volatile boolean running;
+ private ComponentContext ctx;
+
+ public void setComponentContext(ComponentContext cc) {
+ ctx = cc;
+ }
+
+ public void stop() {
+ running = false;
+ }
+
+ public void run() {
+ try {
+ Thread.currentThread().setContextClassLoader(getClass().getClassLoader());
+
+ running = true;
+ waitForEndpointActivation();
+ do {
+ System.out.println("getting service");
+
+ HelloWorldService service = new HelloWorldService();
+ System.out.println("got service");
+ Greeter g = service.getSoapPort();
+ System.out.println("invoking method");
+
+ String ret = g.greetMe("ffang");
+
+ System.out.println("greetMe service says: " + ret);
+
+ ret = g.sayHi();
+
+ System.out.println("sayHi service says: " + ret);
+ g.greetMeOneWay("ffang");
+ try {
+ System.out.println("Invoking pingMe, expecting exception...");
+ g.pingMe();
+ } catch (PingMeFault ex) {
+ System.out.println("Expected exception: PingMeFault has occurred: " + ex.getMessage());
+ }
+
+ Thread.sleep(10000);
+ } while (running);
+ } catch (Exception ex) {
+ ex.printStackTrace();
+ }
+ }
+
+
+ protected final void waitForEndpointActivation() {
+
+ final QName serviceName =
+ new QName("http://apache.org/hello_world", "HelloWorldService");
+ boolean ready = false;
+ do {
+ ServiceEndpoint[] eps = ctx.getEndpointsForService(serviceName);
+ if (eps.length == 0) {
+ System.out.println("waiting for endpoints to become active");
+ try {
+ Thread.sleep(5000);
+ } catch (Exception ex) {
+ //ignore it
+ }
+ } else {
+ System.out.println("endpoints ready, pump starting");
+ ready = true;
+ }
+ } while(!ready && running);
+ }
+
+}
Propchange: incubator/cxf/trunk/distribution/src/main/release/samples/integration/JBI/internal_provider_internal_consumer/service-unit/src/test/consumer/HelloWorldConsumer.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/cxf/trunk/distribution/src/main/release/samples/integration/JBI/internal_provider_internal_consumer/service-unit/src/test/consumer/HelloWorldConsumer.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Added: incubator/cxf/trunk/distribution/src/main/release/samples/integration/JBI/internal_provider_internal_consumer/service-unit/src/test/provider/HelloWorldProvider.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/distribution/src/main/release/samples/integration/JBI/internal_provider_internal_consumer/service-unit/src/test/provider/HelloWorldProvider.java?view=auto&rev=469837
==============================================================================
--- incubator/cxf/trunk/distribution/src/main/release/samples/integration/JBI/internal_provider_internal_consumer/service-unit/src/test/provider/HelloWorldProvider.java (added)
+++ incubator/cxf/trunk/distribution/src/main/release/samples/integration/JBI/internal_provider_internal_consumer/service-unit/src/test/provider/HelloWorldProvider.java Wed Nov 1 01:39:01 2006
@@ -0,0 +1,62 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+
+package test.provider;
+
+import org.apache.hello_world.Greeter;
+import org.apache.hello_world.PingMeFault;
+import org.apache.hello_world.types.FaultDetail;
+
+
+
+@javax.jws.WebService(portName = "SoapPort", serviceName = "HelloWorldService",
+ targetNamespace = "http://apache.org/hello_world",
+ endpointInterface = "org.apache.hello_world.Greeter",
+ wsdlLocation = "/META-INF/hello_world.wsdl")
+
+
+public class HelloWorldProvider implements Greeter {
+
+
+ public String greetMe(String me) {
+ System.out.println("Executing operation greetMe");
+ System.out.println("Message received: " + me);
+ return "Hello " + me;
+ }
+
+ public void greetMeOneWay(String me) {
+ System.out.println("Executing operation greetMe");
+ System.out.println("Message received: " + me);
+ }
+
+ public String sayHi() {
+ System.out.println("Executing operation sayHi");
+ return "Bonjour";
+ }
+
+ public void pingMe() throws PingMeFault {
+ FaultDetail faultDetail = new FaultDetail();
+ faultDetail.setMajor((short)2);
+ faultDetail.setMinor((short)1);
+ System.out.println("Executing operation pingMe, throwing PingMeFault exception\n");
+ throw new PingMeFault("PingMeFault raised by server", faultDetail);
+ }
+
+}
Propchange: incubator/cxf/trunk/distribution/src/main/release/samples/integration/JBI/internal_provider_internal_consumer/service-unit/src/test/provider/HelloWorldProvider.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/cxf/trunk/distribution/src/main/release/samples/integration/JBI/internal_provider_internal_consumer/service-unit/src/test/provider/HelloWorldProvider.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Added: incubator/cxf/trunk/distribution/src/main/release/samples/integration/JBI/internal_provider_internal_consumer/service-unit/wsdl/hello_world.wsdl
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/distribution/src/main/release/samples/integration/JBI/internal_provider_internal_consumer/service-unit/wsdl/hello_world.wsdl?view=auto&rev=469837
==============================================================================
--- incubator/cxf/trunk/distribution/src/main/release/samples/integration/JBI/internal_provider_internal_consumer/service-unit/wsdl/hello_world.wsdl (added)
+++ incubator/cxf/trunk/distribution/src/main/release/samples/integration/JBI/internal_provider_internal_consumer/service-unit/wsdl/hello_world.wsdl Wed Nov 1 01:39:01 2006
@@ -0,0 +1,206 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+<wsdl:definitions name="HelloWorld" targetNamespace="http://apache.org/hello_world"
+ xmlns="http://schemas.xmlsoap.org/wsdl/"
+ xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
+ xmlns:tns="http://apache.org/hello_world"
+ xmlns:x1="http://apache.org/hello_world/types"
+ xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:xformat="http://cxf.apache.org/bindings/xformat"
+ xmlns:jbi="http://apache.org/transport/jbi">
+
+ <wsdl:types>
+ <schema targetNamespace="http://apache.org/hello_world/types"
+ xmlns="http://www.w3.org/2001/XMLSchema"
+ xmlns:tns="http://apache.org/hello_world/types"
+ elementFormDefault="qualified">
+ <simpleType name="MyStringType">
+ <restriction base="string">
+ <maxLength value="30" />
+ </restriction>
+ </simpleType>
+
+ <element name="sayHi">
+ <complexType/>
+ </element>
+ <element name="sayHiResponse">
+ <complexType>
+ <sequence>
+ <element name="responseType" type="string"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="greetMe">
+ <complexType>
+ <sequence>
+ <element name="requestType" type="tns:MyStringType"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="greetMeResponse">
+ <complexType>
+ <sequence>
+ <element name="responseType" type="string"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="greetMeOneWay">
+ <complexType>
+ <sequence>
+ <element name="requestType" type="string"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="pingMe">
+ <complexType/>
+ </element>
+ <element name="pingMeResponse">
+ <complexType/>
+ </element>
+ <element name="faultDetail">
+ <complexType>
+ <sequence>
+ <element name="minor" type="short"/>
+ <element name="major" type="short"/>
+ </sequence>
+ </complexType>
+ </element>
+ </schema>
+ </wsdl:types>
+ <wsdl:message name="sayHiRequest">
+ <wsdl:part element="x1:sayHi" name="in"/>
+ </wsdl:message>
+ <wsdl:message name="sayHiResponse">
+ <wsdl:part element="x1:sayHiResponse" name="out"/>
+ </wsdl:message>
+ <wsdl:message name="greetMeRequest">
+ <wsdl:part element="x1:greetMe" name="in"/>
+ </wsdl:message>
+ <wsdl:message name="greetMeResponse">
+ <wsdl:part element="x1:greetMeResponse" name="out"/>
+ </wsdl:message>
+ <wsdl:message name="greetMeOneWayRequest">
+ <wsdl:part element="x1:greetMeOneWay" name="in"/>
+ </wsdl:message>
+ <wsdl:message name="pingMeRequest">
+ <wsdl:part name="in" element="x1:pingMe"/>
+ </wsdl:message>
+ <wsdl:message name="pingMeResponse">
+ <wsdl:part name="out" element="x1:pingMeResponse"/>
+ </wsdl:message>
+ <wsdl:message name="pingMeFault">
+ <wsdl:part name="faultDetail" element="x1:faultDetail"/>
+ </wsdl:message>
+
+ <wsdl:portType name="Greeter">
+ <wsdl:operation name="sayHi">
+ <wsdl:input message="tns:sayHiRequest" name="sayHiRequest"/>
+ <wsdl:output message="tns:sayHiResponse" name="sayHiResponse"/>
+ </wsdl:operation>
+
+ <wsdl:operation name="greetMe">
+ <wsdl:input message="tns:greetMeRequest" name="greetMeRequest"/>
+ <wsdl:output message="tns:greetMeResponse" name="greetMeResponse"/>
+ </wsdl:operation>
+
+ <wsdl:operation name="greetMeOneWay">
+ <wsdl:input message="tns:greetMeOneWayRequest" name="greetMeOneWayRequest"/>
+ </wsdl:operation>
+
+ <wsdl:operation name="pingMe">
+ <wsdl:input name="pingMeRequest" message="tns:pingMeRequest"/>
+ <wsdl:output name="pingMeResponse" message="tns:pingMeResponse"/>
+ <wsdl:fault name="pingMeFault" message="tns:pingMeFault"/>
+ </wsdl:operation>
+ </wsdl:portType>
+ <wsdl:binding name="Greeter_SOAPBinding" type="tns:Greeter">
+ <!--soap:binding style="document" transport="http://apache.org/transport/jbi"/>
+
+ <wsdl:operation name="sayHi">
+ <soap:operation soapAction="" style="document"/>
+ <wsdl:input name="sayHiRequest">
+ <soap:body use="literal"/>
+ </wsdl:input>
+ <wsdl:output name="sayHiResponse">
+ <soap:body use="literal"/>
+ </wsdl:output>
+ </wsdl:operation>
+
+ <wsdl:operation name="greetMe">
+ <soap:operation soapAction="" style="document"/>
+ <wsdl:input name="greetMeRequest">
+ <soap:body use="literal"/>
+ </wsdl:input>
+ <wsdl:output name="greetMeResponse">
+ <soap:body use="literal"/>
+ </wsdl:output>
+ </wsdl:operation>
+
+ <wsdl:operation name="greetMeOneWay">
+ <soap:operation soapAction="" style="document"/>
+ <wsdl:input name="greetMeOneWayRequest">
+ <soap:body use="literal"/>
+ </wsdl:input>
+ </wsdl:operation>
+
+ <wsdl:operation name="pingMe">
+ <soap:operation style="document"/>
+ <wsdl:input>
+ <soap:body use="literal"/>
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal"/>
+ </wsdl:output>
+ <wsdl:fault name="pingMeFault">
+ <soap:fault name="pingMeFault" use="literal"/>
+ </wsdl:fault>
+ </wsdl:operation-->
+ <xformat:binding />
+
+ <wsdl:operation name="sayHi">
+ <wsdl:input name="sayHiRequest" />
+ <wsdl:output name="sayHiResponse" />
+ </wsdl:operation>
+
+ <wsdl:operation name="greetMe">
+ <wsdl:input name="greetMeRequest" />
+ <wsdl:output name="greetMeResponse" />
+ </wsdl:operation>
+
+ <wsdl:operation name="greetMeOneWay">
+ <wsdl:input name="greetMeOneWayRequest" />
+ </wsdl:operation>
+
+ <wsdl:operation name="pingMe">
+ <wsdl:input />
+ <wsdl:output />
+ <wsdl:fault name="pingMeFault" />
+ </wsdl:operation>
+
+
+ </wsdl:binding>
+ <wsdl:service name="HelloWorldService">
+ <wsdl:port binding="tns:Greeter_SOAPBinding" name="SoapPort">
+ <jbi:address location="http://localhost:9000/SoapContext/SoapPort"/>
+ </wsdl:port>
+ </wsdl:service>
+</wsdl:definitions>
+
Propchange: incubator/cxf/trunk/distribution/src/main/release/samples/integration/JBI/internal_provider_internal_consumer/service-unit/wsdl/hello_world.wsdl
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/cxf/trunk/distribution/src/main/release/samples/integration/JBI/internal_provider_internal_consumer/service-unit/wsdl/hello_world.wsdl
------------------------------------------------------------------------------
svn:keywords = Rev Date
Propchange: incubator/cxf/trunk/distribution/src/main/release/samples/integration/JBI/internal_provider_internal_consumer/service-unit/wsdl/hello_world.wsdl
------------------------------------------------------------------------------
svn:mime-type = text/xml
Modified: incubator/cxf/trunk/integration/jbi/src/main/java/org/apache/cxf/jbi/se/CXFServiceUnit.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/integration/jbi/src/main/java/org/apache/cxf/jbi/se/CXFServiceUnit.java?view=diff&rev=469837&r1=469836&r2=469837
==============================================================================
--- incubator/cxf/trunk/integration/jbi/src/main/java/org/apache/cxf/jbi/se/CXFServiceUnit.java (original)
+++ incubator/cxf/trunk/integration/jbi/src/main/java/org/apache/cxf/jbi/se/CXFServiceUnit.java Wed Nov 1 01:39:01 2006
@@ -29,6 +29,7 @@
import javax.jbi.JBIException;
import javax.jbi.component.ComponentContext;
+import javax.jbi.messaging.MessagingException;
import javax.jbi.servicedesc.ServiceEndpoint;
import javax.jws.WebService;
import javax.xml.namespace.QName;
@@ -42,11 +43,14 @@
import org.apache.cxf.Bus;
+import org.apache.cxf.BusException;
import org.apache.cxf.common.i18n.Message;
import org.apache.cxf.common.logging.LogUtils;
import org.apache.cxf.jaxws.EndpointImpl;
import org.apache.cxf.jaxws.EndpointUtils;
import org.apache.cxf.jbi.ServiceConsumer;
+import org.apache.cxf.jbi.transport.JBITransportFactory;
+import org.apache.cxf.transport.ConduitInitiatorManager;
/**
* Wraps a Celtix service or client.
@@ -78,7 +82,7 @@
}
bus = b;
rootPath = path;
- parent.addResource(url.toString());
+ parent.addResource(url);
parentLoader = parent;
parseJbiDescriptor();
}
@@ -115,6 +119,17 @@
} else {
LOG.info(new Message("SU.START.CONSUMER", LOG).toString());
+ try {
+ ((JBITransportFactory)bus.getExtension(ConduitInitiatorManager.class).
+ getConduitInitiator(CXFServiceEngine.JBI_TRANSPORT_ID)).
+ setDeliveryChannel(ctx.getDeliveryChannel());
+ } catch (BusException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ } catch (MessagingException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
new Thread(serviceConsumer).start();
}
}
@@ -153,8 +168,8 @@
return endpointName;
}
- public void prepare(ComponentContext ctx) {
-
+ public void prepare(ComponentContext ctx) throws ClassNotFoundException {
+
try {
WebServiceClassFinder finder = new WebServiceClassFinder(rootPath, parentLoader);
Collection<Class<?>> classes = finder.findWebServiceClasses();
@@ -270,54 +285,11 @@
}
private void createProviderConfiguration() {
- //String oldConfiguration = System.getProperty("celtix.config.file");
- File metaInfDir = new File(rootPath, "META-INF");
- File celtixConfig = new File(metaInfDir, "celtix-server.xml");
- if (celtixConfig.exists()) {
- try {
- System.setProperty("celtix.config.file", celtixConfig.toURL().toString());
- } catch (MalformedURLException e) {
- e.printStackTrace();
- }
- LOG.info(new Message("SE.SET.CONFIGURATION", LOG) + System.getProperty("celtix.config.file"));
- } else {
- LOG.severe(new Message("SE.NOT.FOUND.CONFIGURATION", LOG).toString() + metaInfDir);
- }
-
- /*Configuration busCfg = bus.getConfiguration();
- if (null == busCfg) {
- return;
- }
-
- String id = getServiceName().toString();
- ConfigurationBuilder cb = ConfigurationBuilderFactory.getBuilder(null);
- cb.buildConfiguration(EndpointImpl.ENDPOINT_CONFIGURATION_URI, id, busCfg);
- System.setProperty("celtix.config.file", oldConfiguration);*/
+ //revisit later on
}
private void createConsumerConfiguration() {
- //String oldConfiguration = System.getProperty("celtix.config.file");
- File metaInfDir = new File(rootPath, "META-INF");
- File celtixConfig = new File(metaInfDir, "celtix-client.xml");
- if (celtixConfig.exists()) {
- try {
- System.setProperty("celtix.config.file", celtixConfig.toURL().toString());
- } catch (MalformedURLException e) {
- e.printStackTrace();
- }
- LOG.info(new Message("SE.SET.CONFIGURATION", LOG) + System.getProperty("celtix.config.file"));
- } else {
- LOG.severe(new Message("SE.NOT.FOUND.CONFIGURATION", LOG).toString() + metaInfDir);
- }
-
- /*Configuration busCfg = bus.getConfiguration();
- if (null == busCfg) {
- return;
- }
- String id = getServiceName().toString() + "/" + getEndpointName();
- ConfigurationBuilder cb = ConfigurationBuilderFactory.getBuilder(null);
- cb.buildConfiguration(ServiceImpl.PORT_CONFIGURATION_URI, id, busCfg);
- System.setProperty("celtix.config.file", oldConfiguration);*/
+ //revisit later on
}
}
Modified: incubator/cxf/trunk/integration/jbi/src/main/java/org/apache/cxf/jbi/se/ComponentClassLoader.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/integration/jbi/src/main/java/org/apache/cxf/jbi/se/ComponentClassLoader.java?view=diff&rev=469837&r1=469836&r2=469837
==============================================================================
--- incubator/cxf/trunk/integration/jbi/src/main/java/org/apache/cxf/jbi/se/ComponentClassLoader.java (original)
+++ incubator/cxf/trunk/integration/jbi/src/main/java/org/apache/cxf/jbi/se/ComponentClassLoader.java Wed Nov 1 01:39:01 2006
@@ -21,48 +21,34 @@
import java.io.IOException;
import java.io.InputStream;
-import java.net.MalformedURLException;
import java.net.URL;
-import java.security.ProtectionDomain;
-import java.security.SecureClassLoader;
+import java.net.URLClassLoader;
import java.util.Iterator;
import java.util.Properties;
import java.util.logging.Logger;
import org.apache.cxf.common.classloader.FireWallClassLoader;
-
-public class ComponentClassLoader extends SecureClassLoader {
+public class ComponentClassLoader extends URLClassLoader {
private static final Logger LOG = Logger.getLogger(ComponentClassLoader.class.getName());
- private static final String FILE_COLON = "file:";
- private static final String ZIP_COLON = "zip:";
- private static final String URL_SCHEME_COLON = "classloader:";
private static final String FILTERS_PROPS_FILE = "filters.properties";
private static final String NEFILTERS_PROPS_FILE = "negativefilters.properties";
- private String jarUrls[] = new String[0];
- private final ProtectionDomain protectionDomain;
-
- private ClassLoader ploader;
- public ComponentClassLoader(String[] urls, ClassLoader p) throws IOException {
- super(new FireWallClassLoader(p,
+
+ public ComponentClassLoader(URL[] urls, ClassLoader p) throws IOException {
+
+ super(urls, new FireWallClassLoader(p,
getFilterList(p, FILTERS_PROPS_FILE),
getFilterList(p, NEFILTERS_PROPS_FILE)));
- ploader = p;
- protectionDomain = getClass().getProtectionDomain();
- jarUrls = urls;
- processJarUrls(jarUrls);
+
}
-
- private void processJarUrls(String urls[]) {
- for (int i = 0; i < urls.length; i++) {
- if (urls[i].startsWith(ZIP_COLON)) {
- urls[i] = FILE_COLON + urls[i].substring(ZIP_COLON.length());
- }
- }
+
+ public void addResource(URL url) {
+ addURL(url);
}
-
+
+
private static String[] getFilterList(ClassLoader parent, String propFile) throws IOException {
Properties filtersProps = getProperties(parent, propFile);
Iterator<Object> i = filtersProps.keySet().iterator();
@@ -79,7 +65,7 @@
in = ComponentClassLoader.class.getResourceAsStream(propsFileName);
if (null == in) {
- String msg = "Internal rar classloader failed to locate configuration resource: "
+ String msg = "Internal component classloader failed to locate configuration resource: "
+ propsFileName;
IOException ioe = new IOException(msg);
@@ -95,74 +81,5 @@
return props;
}
-
-
- protected Class<?> findClass(String name) throws ClassNotFoundException {
- String path = name.replace('.', '/').concat(".class");
- LOG.fine("findClass " + path);
- byte bytes[] = null;
-
- for (int i = 0; i < jarUrls.length; i++) {
- String fullpath = jarUrls[i] + "!/" + path;
- try {
- bytes = ComponentClassLoaderHelper.getResourceAsBytes(fullpath);
-
- if (bytes != null) {
- break;
- }
- } catch (IOException ex) {
- // we should find everything we look for but if we don't our
- // parent can when we throw cnf below
- LOG.fine("findClass: " + name + ": " + ex.toString());
- }
- }
-
- if (bytes != null) {
- return defineClass(name, bytes, 0, bytes.length, protectionDomain);
- } else {
- LOG.config("can't find name " + name + " , try to using the ploader");
- Class<?> result = ploader.loadClass(name);
- if (null == result) {
- throw new ClassNotFoundException(name);
- } else {
- return result;
- }
- }
- }
-
-
- protected URL findResource(String name) {
- LOG.fine("findResource: " + name);
- for (int i = 0; i < jarUrls.length; i++) {
- String fullpath = jarUrls[i] + "!/" + name;
-
- if (ComponentClassLoaderHelper.hasResource(fullpath)) {
- return genURL(fullpath);
- }
- }
-
- return null;
- }
-
- protected URL genURL(String path) {
- URL url = null;
- String urlString = URL_SCHEME_COLON + path;
-
- try {
- url = new URL(null, urlString, new Handler());
- } catch (MalformedURLException mue) {
- LOG.warning(mue.toString());
- }
-
- return url;
- }
-
- public void addResource(String url) {
- String[] tmp = new String[jarUrls.length + 1];
- for (int i = 0; i < tmp.length - 1; i++) {
- tmp[i] = jarUrls[i];
- }
- tmp[jarUrls.length] = url;
- jarUrls = tmp;
- }
+
}
Modified: incubator/cxf/trunk/integration/jbi/src/main/java/org/apache/cxf/jbi/se/filters.properties
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/integration/jbi/src/main/java/org/apache/cxf/jbi/se/filters.properties?view=diff&rev=469837&r1=469836&r2=469837
==============================================================================
--- incubator/cxf/trunk/integration/jbi/src/main/java/org/apache/cxf/jbi/se/filters.properties (original)
+++ incubator/cxf/trunk/integration/jbi/src/main/java/org/apache/cxf/jbi/se/filters.properties Wed Nov 1 01:39:01 2006
@@ -19,7 +19,9 @@
#
#
java.*
+javax.*
org.*
com.sun.*
org.omg.*
org.apache.*
+test.*
Modified: incubator/cxf/trunk/integration/jbi/src/main/java/org/apache/cxf/jbi/se/state/AbstractServiceEngineStateMachine.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/integration/jbi/src/main/java/org/apache/cxf/jbi/se/state/AbstractServiceEngineStateMachine.java?view=diff&rev=469837&r1=469836&r2=469837
==============================================================================
--- incubator/cxf/trunk/integration/jbi/src/main/java/org/apache/cxf/jbi/se/state/AbstractServiceEngineStateMachine.java (original)
+++ incubator/cxf/trunk/integration/jbi/src/main/java/org/apache/cxf/jbi/se/state/AbstractServiceEngineStateMachine.java Wed Nov 1 01:39:01 2006
@@ -31,21 +31,23 @@
import org.apache.cxf.BusException;
import org.apache.cxf.common.i18n.Message;
import org.apache.cxf.common.logging.LogUtils;
+import org.apache.cxf.jbi.se.CXFServiceEngine;
import org.apache.cxf.jbi.se.CXFServiceUnitManager;
import org.apache.cxf.jbi.transport.JBITransportFactory;
-import org.apache.cxf.transport.DestinationFactory;
-import org.apache.cxf.transport.DestinationFactoryManager;
+import org.apache.cxf.transport.ConduitInitiatorManager;
+
public abstract class AbstractServiceEngineStateMachine implements ServiceEngineStateMachine {
static final String CXF_CONFIG_FILE = "cxf.xml";
static final String PROVIDER_PROP = "javax.xml.ws.spi.Provider";
+ static JBITransportFactory jbiTransportFactory;
static CXFServiceUnitManager suManager;
static ComponentContext ctx;
static Bus bus;
private static final Logger LOG = LogUtils.getL7dLogger(AbstractServiceEngineStateMachine.class);
- JBITransportFactory jbiTransportFactory;
+
public void changeState(SEOperation operation, ComponentContext context) throws JBIException {
@@ -53,7 +55,7 @@
}
void configureJBITransportFactory(DeliveryChannel chnl, CXFServiceUnitManager mgr)
- throws BusException {
+ throws BusException, JBIException {
getTransportFactory().setDeliveryChannel(chnl);
}
@@ -64,7 +66,6 @@
try {
getTransportFactory().setBus(argBus);
getTransportFactory().setServiceUnitManager(mgr);
- replaceDestionFactory();
} catch (Exception ex) {
LOG.severe(new Message("SE.FAILED.REGISTER.TRANSPORT.FACTORY",
LOG).toString());
@@ -77,47 +78,24 @@
return suManager;
}
- private void deregisterTransport(String transportId) {
- bus.getExtension(DestinationFactoryManager.class).deregisterDestinationFactory(transportId);
- }
-
/**
* @return
+ * @throws JBIException
+ * @throws BusException
*/
- protected JBITransportFactory getTransportFactory() {
+ protected JBITransportFactory getTransportFactory() throws JBIException, BusException {
assert bus != null;
if (jbiTransportFactory == null) {
- jbiTransportFactory = new JBITransportFactory();
+ jbiTransportFactory = (JBITransportFactory)bus.getExtension(ConduitInitiatorManager.class).
+ getConduitInitiator(CXFServiceEngine.JBI_TRANSPORT_ID);
jbiTransportFactory.setBus(bus);
+ jbiTransportFactory.setDeliveryChannel(ctx.getDeliveryChannel());
}
return jbiTransportFactory;
}
- private void registerTransport(DestinationFactory factory, String namespace) {
- bus.getExtension(DestinationFactoryManager.class).registerDestinationFactory(
- namespace,
- factory);
- }
-
- private void replaceDestionFactory() {
- DestinationFactory factory = getTransportFactory();
-
-
- deregisterTransport("http://schemas.xmlsoap.org/wsdl/soap/http");
- deregisterTransport("http://schemas.xmlsoap.org/soap/http");
- deregisterTransport("http://www.w3.org/2003/05/soap/bindings/HTTP/");
- deregisterTransport("http://schemas.xmlsoap.org/wsdl/http/");
- deregisterTransport("http://cxf.apache.org/transports/http/configuration");
- deregisterTransport("http://cxf.apache.org/bindings/xformat");
-
- registerTransport(factory, "http://schemas.xmlsoap.org/wsdl/soap/http");
- registerTransport(factory, "http://schemas.xmlsoap.org/soap/http");
- registerTransport(factory, "http://www.w3.org/2003/05/soap/bindings/HTTP/");
- registerTransport(factory, "http://schemas.xmlsoap.org/wsdl/http/");
- registerTransport(factory, "http://cxf.apache.org/transports/http/configuration");
- registerTransport(factory, "http://cxf.apache.org/bindings/xformat");
- }
+
}
Modified: incubator/cxf/trunk/integration/jbi/src/main/java/org/apache/cxf/jbi/se/state/ServiceEngineShutdown.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/integration/jbi/src/main/java/org/apache/cxf/jbi/se/state/ServiceEngineShutdown.java?view=diff&rev=469837&r1=469836&r2=469837
==============================================================================
--- incubator/cxf/trunk/integration/jbi/src/main/java/org/apache/cxf/jbi/se/state/ServiceEngineShutdown.java (original)
+++ incubator/cxf/trunk/integration/jbi/src/main/java/org/apache/cxf/jbi/se/state/ServiceEngineShutdown.java Wed Nov 1 01:39:01 2006
@@ -25,6 +25,7 @@
import java.io.FilenameFilter;
import java.io.IOException;
import java.net.MalformedURLException;
+import java.net.URL;
import java.util.logging.Level;
import java.util.logging.Logger;
@@ -109,24 +110,25 @@
}
- private ComponentClassLoader createClassLoader() throws JBIException, IOException {
+ private ComponentClassLoader createClassLoader() throws JBIException,
+ IOException, ClassNotFoundException {
try {
-
File root = new File(ctx.getInstallRoot());
+
File[] jars = root.listFiles(new FilenameFilter() {
public boolean accept(File f, String name) {
return name.endsWith(".jar");
}
});
- String[] urls;
+ URL[] urls;
if (jars.length == 0) {
- urls = new String[0];
+ urls = new URL[0];
} else {
- urls = new String[jars.length];
+ urls = new URL[jars.length];
int i = 0;
for (File jar : jars) {
- urls[i] = jar.toURL().toString();
+ urls[i] = jar.toURL();
i++;
}
}
Modified: incubator/cxf/trunk/integration/jbi/src/main/java/org/apache/cxf/jbi/transport/JBIConduitOutputStream.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/integration/jbi/src/main/java/org/apache/cxf/jbi/transport/JBIConduitOutputStream.java?view=diff&rev=469837&r1=469836&r2=469837
==============================================================================
--- incubator/cxf/trunk/integration/jbi/src/main/java/org/apache/cxf/jbi/transport/JBIConduitOutputStream.java (original)
+++ incubator/cxf/trunk/integration/jbi/src/main/java/org/apache/cxf/jbi/transport/JBIConduitOutputStream.java Wed Nov 1 01:39:01 2006
@@ -61,6 +61,7 @@
this.channel = channel;
this.conduit = conduit;
this.target = target;
+
}
@Override
@@ -72,7 +73,9 @@
protected void doClose() throws IOException {
isOneWay = message.getExchange().isOneWay();
commitOutputMessage();
-
+ if (target != null) {
+ target.getClass();
+ }
}
private void commitOutputMessage() throws IOException {
@@ -85,7 +88,18 @@
WebService ws = clz.getAnnotation(WebService.class);
assert ws != null;
QName interfaceName = new QName(ws.targetNamespace(), ws.name());
- QName serviceName = EndpointReferenceUtils.getServiceName(target);
+ QName serviceName = null;
+ if (target != null) {
+ serviceName = EndpointReferenceUtils.getServiceName(target);
+ } else {
+ serviceName = message.getExchange().get(org.apache.cxf.service.Service.class).
+ getServiceInfo().getName();
+ }
+
+
+
+
+
MessageExchangeFactory factory = channel.createExchangeFactoryForService(serviceName);
LOG.info(new org.apache.cxf.common.i18n.Message("CREATE.MESSAGE.EXCHANGE", LOG).toString()
+ serviceName);
Modified: incubator/cxf/trunk/integration/jbi/src/main/java/org/apache/cxf/jbi/transport/JBITransportFactory.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/integration/jbi/src/main/java/org/apache/cxf/jbi/transport/JBITransportFactory.java?view=diff&rev=469837&r1=469836&r2=469837
==============================================================================
--- incubator/cxf/trunk/integration/jbi/src/main/java/org/apache/cxf/jbi/transport/JBITransportFactory.java (original)
+++ incubator/cxf/trunk/integration/jbi/src/main/java/org/apache/cxf/jbi/transport/JBITransportFactory.java Wed Nov 1 01:39:01 2006
@@ -21,8 +21,10 @@
package org.apache.cxf.jbi.transport;
import java.io.IOException;
+import java.util.Collection;
import java.util.logging.Logger;
+import javax.annotation.PostConstruct;
import javax.annotation.Resource;
import javax.jbi.messaging.DeliveryChannel;
@@ -34,8 +36,10 @@
import org.apache.cxf.transport.AbstractTransportFactory;
import org.apache.cxf.transport.Conduit;
import org.apache.cxf.transport.ConduitInitiator;
+import org.apache.cxf.transport.ConduitInitiatorManager;
import org.apache.cxf.transport.Destination;
import org.apache.cxf.transport.DestinationFactory;
+import org.apache.cxf.transport.DestinationFactoryManager;
import org.apache.cxf.ws.addressing.EndpointReferenceType;
public class JBITransportFactory extends AbstractTransportFactory implements ConduitInitiator,
@@ -43,10 +47,13 @@
private static final Logger LOG = LogUtils.getL7dLogger(JBITransportFactory.class);
- private CXFServiceUnitManager suManager;
- private DeliveryChannel deliveryChannel;
+ private static CXFServiceUnitManager suManager;
+ private static DeliveryChannel deliveryChannel;
private Bus bus;
+
+ private Collection<String> activationNamespaces;
+
@Resource
public void setBus(Bus b) {
bus = b;
@@ -55,13 +62,39 @@
public Bus getBus() {
return bus;
}
+
+ @Resource
+ public void setActivationNamespaces(Collection<String> ans) {
+ activationNamespaces = ans;
+ }
+
+ @PostConstruct
+ void registerWithBindingManager() {
+ if (null == bus) {
+ return;
+ }
+ ConduitInitiatorManager cim = bus.getExtension(ConduitInitiatorManager.class);
+ if (null != cim) {
+ for (String ns : activationNamespaces) {
+ cim.registerConduitInitiator(ns, this);
+ }
+ }
+ DestinationFactoryManager dfm = bus.getExtension(DestinationFactoryManager.class);
+ if (null != dfm) {
+ for (String ns : activationNamespaces) {
+ dfm.registerDestinationFactory(ns, this);
+ }
+ }
+ }
+
+
public DeliveryChannel getDeliveryChannel() {
return deliveryChannel;
}
public void setDeliveryChannel(DeliveryChannel newDeliverychannel) {
- LOG.fine(new org.apache.cxf.common.i18n.Message(
+ LOG.info(new org.apache.cxf.common.i18n.Message(
"CONFIG.DELIVERY.CHANNEL", LOG).toString() + newDeliverychannel);
deliveryChannel = newDeliverychannel;
}
Modified: incubator/cxf/trunk/integration/jbi/src/main/java/org/apache/cxf/jbi/transport/Messages.properties
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/integration/jbi/src/main/java/org/apache/cxf/jbi/transport/Messages.properties?view=diff&rev=469837&r1=469836&r2=469837
==============================================================================
--- incubator/cxf/trunk/integration/jbi/src/main/java/org/apache/cxf/jbi/transport/Messages.properties (original)
+++ incubator/cxf/trunk/integration/jbi/src/main/java/org/apache/cxf/jbi/transport/Messages.properties Wed Nov 1 01:39:01 2006
@@ -0,0 +1,28 @@
+NOT.IMPLEMENTED=not yet implemented
+INVOKE.SERVICE=invoking service\t
+CREATE.MESSAGE.EXCHANGE=create message exchange svc:\t
+EXCHANGE.ENDPOINT=exchange endpoint:\t
+NO.MESSAGE=no message yet
+UNABLE.RETRIEVE.MESSAGE=unable to retrieve message
+CONTEXT.MUST.BE=context must be of type JBIOutputStreamMessageContext
+RECEIVED.MESSAGE=received message:\t
+ACTIVE.JBI.SERVER.TRANSPORT=activating JBI server transport
+BUILDING.DOCUMENT=building document from bytes
+CREATE.NORMALIZED.MESSAGE=creating NormalizedMessage
+POST.DISPATCH=postDispatch sending out message to NWR
+ERROR.SEND.MESSAGE=error sending Out message
+DISPATCH.MESSAGE.ON.CALLBACK=dispatching message on callback:\t
+ERROR.PREPARE.MESSAGE=error preparing message
+RECEIVE.THREAD.START=JBIServerTransport message receiving thread started
+DISPATCH.TO.SU=dispatching to CXF service unit
+NO.SU.FOUND=no CXFServiceUnit found
+ERROR.DISPATCH.THREAD=error running dispatch thread
+JBI.SERVER.TRANSPORT.MESSAGE.PROCESS.THREAD.EXIT=JBIServerTransport message processing thread exitting
+CONFIG.DELIVERY.CHANNEL=configuring DeliveryChannel:\t
+CONFIG.SU.MANAGER=configuring ServiceUnitManager:\t
+JBI.TRANSPORT.FACTORY.NOT.INITIALIZED=JBITransportFactory is not properly initialised
+SU.MANAGER=CXFServiceUnitManager:\t
+DELIVERY.CHANNEL=DeliveryChannel:\t
+JBI.TRANSPORT.FACTORY.NOT.FULLY.INITIALIZED=JBITransport factory not fully initalised
+CREATE.SERVER.TRANSPORT=creating JBI server transport
+CREATE.CLIENT.TRANSPORT=creating JBI client transport
Modified: incubator/cxf/trunk/integration/jbi/src/test/java/org/apache/cxf/jbi/se/CXFServiceUnitManagerTest.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/integration/jbi/src/test/java/org/apache/cxf/jbi/se/CXFServiceUnitManagerTest.java?view=diff&rev=469837&r1=469836&r2=469837
==============================================================================
--- incubator/cxf/trunk/integration/jbi/src/test/java/org/apache/cxf/jbi/se/CXFServiceUnitManagerTest.java (original)
+++ incubator/cxf/trunk/integration/jbi/src/test/java/org/apache/cxf/jbi/se/CXFServiceUnitManagerTest.java Wed Nov 1 01:39:01 2006
@@ -18,6 +18,7 @@
*/
package org.apache.cxf.jbi.se;
+import java.net.URL;
import java.util.logging.Logger;
import javax.jbi.component.ComponentContext;
@@ -47,7 +48,7 @@
bus = new SpringBusFactory().createBus();
ComponentClassLoader componentClassLoader =
- new ComponentClassLoader(new String[0], getClass().getClassLoader());
+ new ComponentClassLoader(new URL[0], getClass().getClassLoader());
csuManager = new CXFServiceUnitManager(bus, ctx, componentClassLoader);
}