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);
     }