cxf-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From dand...@apache.org
Subject svn commit: r488948 [3/3] - in /incubator/cxf/trunk: ./ api/src/main/java/org/apache/cxf/io/ api/src/main/java/org/apache/cxf/phase/ api/src/main/java/org/apache/cxf/service/model/ buildtools/src/main/resources/ integration/jca/src/main/java/org/apache...
Date Wed, 20 Dec 2006 08:07:59 GMT
Added: incubator/cxf/trunk/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/holder/echo.xml
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/holder/echo.xml?view=auto&rev=488948
==============================================================================
--- incubator/cxf/trunk/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/holder/echo.xml (added)
+++ incubator/cxf/trunk/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/holder/echo.xml Wed Dec 20 00:07:54 2006
@@ -0,0 +1,26 @@
+<!--
+    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.
+-->
+<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
+    <s:Body>
+        <echo xmlns="http://holder.jaxws.cxf.apache.org">
+            <s1>one</s1>
+            <s2>two</s2>
+        </echo>
+    </s:Body>
+</s:Envelope>

Propchange: incubator/cxf/trunk/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/holder/echo.xml
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Propchange: incubator/cxf/trunk/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/holder/echo.xml
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Added: incubator/cxf/trunk/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/holder/echo2.xml
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/holder/echo2.xml?view=auto&rev=488948
==============================================================================
--- incubator/cxf/trunk/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/holder/echo2.xml (added)
+++ incubator/cxf/trunk/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/holder/echo2.xml Wed Dec 20 00:07:54 2006
@@ -0,0 +1,26 @@
+<!--
+    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.
+-->
+<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
+    <s:Body>
+        <echo2 xmlns="http://holder.jaxws.cxf.apache.org">
+            <s1>one</s1>
+            <s2>two</s2>
+        </echo2>
+    </s:Body>
+</s:Envelope>

Propchange: incubator/cxf/trunk/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/holder/echo2.xml
------------------------------------------------------------------------------
    svn:executable = *

Propchange: incubator/cxf/trunk/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/holder/echo2.xml
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Propchange: incubator/cxf/trunk/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/holder/echo2.xml
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Added: incubator/cxf/trunk/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/holder/echo3.xml
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/holder/echo3.xml?view=auto&rev=488948
==============================================================================
--- incubator/cxf/trunk/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/holder/echo3.xml (added)
+++ incubator/cxf/trunk/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/holder/echo3.xml Wed Dec 20 00:07:54 2006
@@ -0,0 +1,29 @@
+<!--
+	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.
+-->
+<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"
+	xmlns="http://holder.jaxws.cxf.apache.org">
+	<s:Header>
+		<header>header</header>
+	</s:Header>
+	<s:Body>
+		<echo3>
+			<s1>one</s1>
+		</echo3>
+	</s:Body>
+</s:Envelope>

Propchange: incubator/cxf/trunk/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/holder/echo3.xml
------------------------------------------------------------------------------
    svn:executable = *

Propchange: incubator/cxf/trunk/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/holder/echo3.xml
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Propchange: incubator/cxf/trunk/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/holder/echo3.xml
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Added: incubator/cxf/trunk/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/holder/echoResponse.xml
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/holder/echoResponse.xml?view=auto&rev=488948
==============================================================================
--- incubator/cxf/trunk/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/holder/echoResponse.xml (added)
+++ incubator/cxf/trunk/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/holder/echoResponse.xml Wed Dec 20 00:07:54 2006
@@ -0,0 +1,26 @@
+<!--
+    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.
+-->
+<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
+    <s:Body>
+        <echoResponse xmlns="http://holder.jaxws.cxf.apache.org">
+            <return>one</return>
+            <outS2>two</outS2>
+        </echoResponse>
+    </s:Body>
+</s:Envelope>

Propchange: incubator/cxf/trunk/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/holder/echoResponse.xml
------------------------------------------------------------------------------
    svn:executable = *

Propchange: incubator/cxf/trunk/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/holder/echoResponse.xml
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Propchange: incubator/cxf/trunk/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/holder/echoResponse.xml
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Modified: incubator/cxf/trunk/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/support/JaxWsServiceFactoryBeanTest.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/support/JaxWsServiceFactoryBeanTest.java?view=diff&rev=488948&r1=488947&r2=488948
==============================================================================
--- incubator/cxf/trunk/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/support/JaxWsServiceFactoryBeanTest.java (original)
+++ incubator/cxf/trunk/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/support/JaxWsServiceFactoryBeanTest.java Wed Dec 20 00:07:54 2006
@@ -30,6 +30,7 @@
 import org.apache.cxf.mime.types.XopType;
 import org.apache.cxf.mtom_xop.TestMtomImpl;
 import org.apache.cxf.service.Service;
+import org.apache.cxf.service.factory.ReflectionServiceFactoryBean;
 import org.apache.cxf.service.invoker.BeanInvoker;
 import org.apache.cxf.service.model.FaultInfo;
 import org.apache.cxf.service.model.InterfaceInfo;
@@ -39,7 +40,7 @@
 
 public class JaxWsServiceFactoryBeanTest extends AbstractJaxWsTest {
     public void testEndpoint() throws Exception {
-        JaxWsServiceFactoryBean bean = new JaxWsServiceFactoryBean();
+        ReflectionServiceFactoryBean bean = new JaxWsServiceFactoryBean();
 
         URL resource = getClass().getResource("/wsdl/hello_world.wsdl");
         assertNotNull(resource);
@@ -84,7 +85,7 @@
     }
     
     public void testHolder() throws Exception {
-        JaxWsServiceFactoryBean bean = new JaxWsServiceFactoryBean();
+        ReflectionServiceFactoryBean bean = new JaxWsServiceFactoryBean();
 
         Bus bus = getBus();
         bean.setBus(bus);

Modified: incubator/cxf/trunk/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/support/ProviderServiceFactoryBeanTest.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/support/ProviderServiceFactoryBeanTest.java?view=diff&rev=488948&r1=488947&r2=488948
==============================================================================
--- incubator/cxf/trunk/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/support/ProviderServiceFactoryBeanTest.java (original)
+++ incubator/cxf/trunk/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/support/ProviderServiceFactoryBeanTest.java Wed Dec 20 00:07:54 2006
@@ -28,9 +28,9 @@
 import org.apache.cxf.binding.xml.XMLBinding;
 import org.apache.cxf.endpoint.Endpoint;
 import org.apache.cxf.endpoint.ServerImpl;
+import org.apache.cxf.frontend.ServerFactoryBean;
 import org.apache.cxf.jaxws.AbstractJaxWsTest;
 import org.apache.cxf.service.Service;
-import org.apache.cxf.service.factory.ServerFactoryBean;
 import org.apache.cxf.service.model.EndpointInfo;
 import org.apache.cxf.service.model.InterfaceInfo;
 import org.apache.hello_world_soap_http.HWSoapMessageProvider;

Copied: incubator/cxf/trunk/rt/frontend/simple/src/main/java/org/apache/cxf/frontend/AbstractEndpointFactory.java (from r488793, incubator/cxf/trunk/rt/frontend/simple/src/main/java/org/apache/cxf/service/factory/AbstractEndpointFactory.java)
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/frontend/simple/src/main/java/org/apache/cxf/frontend/AbstractEndpointFactory.java?view=diff&rev=488948&p1=incubator/cxf/trunk/rt/frontend/simple/src/main/java/org/apache/cxf/service/factory/AbstractEndpointFactory.java&r1=488793&p2=incubator/cxf/trunk/rt/frontend/simple/src/main/java/org/apache/cxf/frontend/AbstractEndpointFactory.java&r2=488948
==============================================================================
--- incubator/cxf/trunk/rt/frontend/simple/src/main/java/org/apache/cxf/service/factory/AbstractEndpointFactory.java (original)
+++ incubator/cxf/trunk/rt/frontend/simple/src/main/java/org/apache/cxf/frontend/AbstractEndpointFactory.java Wed Dec 20 00:07:54 2006
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.cxf.service.factory;
+package org.apache.cxf.frontend;
 
 import java.util.Map;
 
@@ -29,6 +29,8 @@
 import org.apache.cxf.endpoint.Endpoint;
 import org.apache.cxf.endpoint.EndpointException;
 import org.apache.cxf.service.Service;
+import org.apache.cxf.service.factory.AbstractBindingInfoFactoryBean;
+import org.apache.cxf.service.factory.ReflectionServiceFactoryBean;
 import org.apache.cxf.service.model.BindingInfo;
 import org.apache.cxf.service.model.EndpointInfo;
 import org.apache.cxf.transport.DestinationFactory;

Copied: incubator/cxf/trunk/rt/frontend/simple/src/main/java/org/apache/cxf/frontend/ClientFactoryBean.java (from r488793, incubator/cxf/trunk/rt/frontend/simple/src/main/java/org/apache/cxf/service/factory/ClientFactoryBean.java)
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/frontend/simple/src/main/java/org/apache/cxf/frontend/ClientFactoryBean.java?view=diff&rev=488948&p1=incubator/cxf/trunk/rt/frontend/simple/src/main/java/org/apache/cxf/service/factory/ClientFactoryBean.java&r1=488793&p2=incubator/cxf/trunk/rt/frontend/simple/src/main/java/org/apache/cxf/frontend/ClientFactoryBean.java&r2=488948
==============================================================================
--- incubator/cxf/trunk/rt/frontend/simple/src/main/java/org/apache/cxf/service/factory/ClientFactoryBean.java (original)
+++ incubator/cxf/trunk/rt/frontend/simple/src/main/java/org/apache/cxf/frontend/ClientFactoryBean.java Wed Dec 20 00:07:54 2006
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.cxf.service.factory;
+package org.apache.cxf.frontend;
 
 import org.apache.cxf.BusException;
 import org.apache.cxf.binding.soap.SoapBindingInfoFactoryBean;
@@ -24,6 +24,8 @@
 import org.apache.cxf.endpoint.ClientImpl;
 import org.apache.cxf.endpoint.Endpoint;
 import org.apache.cxf.endpoint.EndpointException;
+import org.apache.cxf.service.factory.ReflectionServiceFactoryBean;
+import org.apache.cxf.service.factory.ServiceConstructionException;
 
 public class ClientFactoryBean extends AbstractEndpointFactory {
     private Client client;
@@ -54,7 +56,5 @@
 
     public void setClient(Client client) {
         this.client = client;
-    }
-    
-    
+    }    
 }

Added: incubator/cxf/trunk/rt/frontend/simple/src/main/java/org/apache/cxf/frontend/ClientProxy.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/frontend/simple/src/main/java/org/apache/cxf/frontend/ClientProxy.java?view=auto&rev=488948
==============================================================================
--- incubator/cxf/trunk/rt/frontend/simple/src/main/java/org/apache/cxf/frontend/ClientProxy.java (added)
+++ incubator/cxf/trunk/rt/frontend/simple/src/main/java/org/apache/cxf/frontend/ClientProxy.java Wed Dec 20 00:07:54 2006
@@ -0,0 +1,89 @@
+/**
+ * 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 org.apache.cxf.frontend;
+
+import java.lang.reflect.InvocationHandler;
+import java.lang.reflect.Method;
+import java.lang.reflect.Proxy;
+import java.util.Map;
+import java.util.logging.Logger;
+
+import org.apache.cxf.common.i18n.Message;
+import org.apache.cxf.common.logging.LogUtils;
+import org.apache.cxf.endpoint.Client;
+import org.apache.cxf.endpoint.Endpoint;
+import org.apache.cxf.interceptor.Fault;
+import org.apache.cxf.service.model.BindingOperationInfo;
+
+public class ClientProxy implements InvocationHandler {
+
+    private static final Logger LOG = LogUtils.getL7dLogger(ClientProxy.class);
+
+    private Endpoint endpoint;
+
+    private Client client;
+
+    public ClientProxy(Client c) {
+        endpoint = c.getEndpoint();
+        client = c;
+    }
+
+    public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
+
+        MethodDispatcher dispatcher = (MethodDispatcher)endpoint.getService().get(
+                                                                                  MethodDispatcher.class
+                                                                                      .getName());
+        BindingOperationInfo oi = dispatcher.getBindingOperation(method, endpoint);
+        if (oi == null) {
+            // check for method on BindingProvider and Object
+            if (method.getDeclaringClass().equals(Object.class)) {
+                return method.invoke(this);
+            }
+
+            throw new Fault(new Message("NO_OPERATION_INFO", LOG, method.getName()));
+        }
+
+        Object[] params = args;
+        if (null == params) {
+            params = new Object[0];
+        }
+
+        return invokeSync(method, oi, params, null);
+    }
+
+    public Object invokeSync(Method method, BindingOperationInfo oi, Object[] params,
+                             Map<String, Object> context) throws Exception {
+        Object rawRet[] = client.invoke(oi, params, context);
+
+        if (rawRet != null && rawRet.length > 0) {
+            return rawRet[0];
+        } else {
+            return null;
+        }
+    }
+
+    public Client getClient() {
+        return client;
+    }
+
+    public static Client getClient(Object o) {
+        return ((ClientProxy)Proxy.getInvocationHandler(o)).getClient();
+    }
+}

Added: incubator/cxf/trunk/rt/frontend/simple/src/main/java/org/apache/cxf/frontend/ClientProxyFactoryBean.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/frontend/simple/src/main/java/org/apache/cxf/frontend/ClientProxyFactoryBean.java?view=auto&rev=488948
==============================================================================
--- incubator/cxf/trunk/rt/frontend/simple/src/main/java/org/apache/cxf/frontend/ClientProxyFactoryBean.java (added)
+++ incubator/cxf/trunk/rt/frontend/simple/src/main/java/org/apache/cxf/frontend/ClientProxyFactoryBean.java Wed Dec 20 00:07:54 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.
+ */
+package org.apache.cxf.frontend;
+
+import java.lang.reflect.Proxy;
+
+import org.apache.cxf.endpoint.Client;
+
+public class ClientProxyFactoryBean {
+    private ClientFactoryBean clientFactoryBean;
+
+    public ClientProxyFactoryBean() {
+        super();
+        this.clientFactoryBean = new ClientFactoryBean();
+    }
+
+    public Object create() {
+        Client c = clientFactoryBean.create();
+
+        ClientProxy handler = new ClientProxy(c);
+
+        Class cls = clientFactoryBean.getServiceClass();
+        Object obj = Proxy.newProxyInstance(cls.getClassLoader(), new Class[] {cls}, handler);
+
+        return obj;
+    }
+
+    public ClientFactoryBean getClientFactoryBean() {
+        return clientFactoryBean;
+    }
+
+    public void setClientFactoryBean(ClientFactoryBean clientFactoryBean) {
+        this.clientFactoryBean = clientFactoryBean;
+    }
+    
+    
+}

Added: incubator/cxf/trunk/rt/frontend/simple/src/main/java/org/apache/cxf/frontend/Messages.properties
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/frontend/simple/src/main/java/org/apache/cxf/frontend/Messages.properties?view=auto&rev=488948
==============================================================================
--- incubator/cxf/trunk/rt/frontend/simple/src/main/java/org/apache/cxf/frontend/Messages.properties (added)
+++ incubator/cxf/trunk/rt/frontend/simple/src/main/java/org/apache/cxf/frontend/Messages.properties Wed Dec 20 00:07:54 2006
@@ -0,0 +1,20 @@
+#
+#
+#    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.
+#
+#

Propchange: incubator/cxf/trunk/rt/frontend/simple/src/main/java/org/apache/cxf/frontend/Messages.properties
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/cxf/trunk/rt/frontend/simple/src/main/java/org/apache/cxf/frontend/Messages.properties
------------------------------------------------------------------------------
    svn:executable = *

Propchange: incubator/cxf/trunk/rt/frontend/simple/src/main/java/org/apache/cxf/frontend/Messages.properties
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Propchange: incubator/cxf/trunk/rt/frontend/simple/src/main/java/org/apache/cxf/frontend/Messages.properties
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Copied: incubator/cxf/trunk/rt/frontend/simple/src/main/java/org/apache/cxf/frontend/ServerFactoryBean.java (from r488793, incubator/cxf/trunk/rt/frontend/simple/src/main/java/org/apache/cxf/service/factory/ServerFactoryBean.java)
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/frontend/simple/src/main/java/org/apache/cxf/frontend/ServerFactoryBean.java?view=diff&rev=488948&p1=incubator/cxf/trunk/rt/frontend/simple/src/main/java/org/apache/cxf/service/factory/ServerFactoryBean.java&r1=488793&p2=incubator/cxf/trunk/rt/frontend/simple/src/main/java/org/apache/cxf/frontend/ServerFactoryBean.java&r2=488948
==============================================================================
--- incubator/cxf/trunk/rt/frontend/simple/src/main/java/org/apache/cxf/service/factory/ServerFactoryBean.java (original)
+++ incubator/cxf/trunk/rt/frontend/simple/src/main/java/org/apache/cxf/frontend/ServerFactoryBean.java Wed Dec 20 00:07:54 2006
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.cxf.service.factory;
+package org.apache.cxf.frontend;
 
 import java.io.IOException;
 
@@ -26,6 +26,10 @@
 import org.apache.cxf.endpoint.EndpointException;
 import org.apache.cxf.endpoint.Server;
 import org.apache.cxf.endpoint.ServerImpl;
+import org.apache.cxf.service.factory.ReflectionServiceFactoryBean;
+import org.apache.cxf.service.factory.ServiceConstructionException;
+import org.apache.cxf.service.invoker.BeanInvoker;
+import org.apache.cxf.service.invoker.Invoker;
 import org.apache.cxf.transport.ChainInitiationObserver;
 
 /**
@@ -61,6 +65,7 @@
 public class ServerFactoryBean extends AbstractEndpointFactory {
     private Server server;
     private boolean start = true;
+    private Object serviceBean;
     
     public ServerFactoryBean() {
         super();
@@ -74,9 +79,17 @@
 
     public Server create() {
         try {
+            if (serviceBean != null && getServiceClass() == null) {
+                setServiceClass(serviceBean.getClass());
+            }
+            
             Endpoint ep = createEndpoint();
             server = new ServerImpl(getBus(), ep, new ChainInitiationObserver(ep, getBus()));
             
+            if (serviceBean != null && ep.getService().getInvoker() == null) {
+                ep.getService().setInvoker(createInvoker());
+            }
+            
             if (start) {
                 server.start();
             }
@@ -91,6 +104,10 @@
         return server;
     }
 
+    protected Invoker createInvoker() {
+        return new BeanInvoker(serviceBean);
+    }
+
     public Server getServer() {
         return server;
     }
@@ -99,11 +116,30 @@
         this.server = server;
     }
 
+    /**
+     * Whether or not the Server should be started upon creation.
+     * @return
+     */
     public boolean isStart() {
         return start;
     }
 
     public void setStart(boolean start) {
         this.start = start;
-    }    
+    }
+
+    public Object getServiceBean() {
+        return serviceBean;
+    }
+
+    /**
+     * Set the backing service bean. If this is set a BeanInvoker is created for
+     * the provide bean.
+     * 
+     * @return
+     */
+    public void setServiceBean(Object serviceBean) {
+        this.serviceBean = serviceBean;
+    }
+    
 }

Copied: incubator/cxf/trunk/rt/frontend/simple/src/main/java/org/apache/cxf/frontend/SimpleMethodDispatcher.java (from r488793, incubator/cxf/trunk/rt/frontend/simple/src/main/java/org/apache/cxf/service/factory/SimpleMethodDispatcher.java)
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/frontend/simple/src/main/java/org/apache/cxf/frontend/SimpleMethodDispatcher.java?view=diff&rev=488948&p1=incubator/cxf/trunk/rt/frontend/simple/src/main/java/org/apache/cxf/service/factory/SimpleMethodDispatcher.java&r1=488793&p2=incubator/cxf/trunk/rt/frontend/simple/src/main/java/org/apache/cxf/frontend/SimpleMethodDispatcher.java&r2=488948
==============================================================================
--- incubator/cxf/trunk/rt/frontend/simple/src/main/java/org/apache/cxf/service/factory/SimpleMethodDispatcher.java (original)
+++ incubator/cxf/trunk/rt/frontend/simple/src/main/java/org/apache/cxf/frontend/SimpleMethodDispatcher.java Wed Dec 20 00:07:54 2006
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.cxf.service.factory;
+package org.apache.cxf.frontend;
 
 import java.lang.reflect.Method;
 import java.util.HashMap;

Modified: incubator/cxf/trunk/rt/frontend/simple/src/main/java/org/apache/cxf/service/factory/ReflectionServiceFactoryBean.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/frontend/simple/src/main/java/org/apache/cxf/service/factory/ReflectionServiceFactoryBean.java?view=diff&rev=488948&r1=488947&r2=488948
==============================================================================
--- incubator/cxf/trunk/rt/frontend/simple/src/main/java/org/apache/cxf/service/factory/ReflectionServiceFactoryBean.java (original)
+++ incubator/cxf/trunk/rt/frontend/simple/src/main/java/org/apache/cxf/service/factory/ReflectionServiceFactoryBean.java Wed Dec 20 00:07:54 2006
@@ -19,7 +19,11 @@
 
 package org.apache.cxf.service.factory;
 
+import java.lang.reflect.Array;
+import java.lang.reflect.GenericArrayType;
 import java.lang.reflect.Method;
+import java.lang.reflect.ParameterizedType;
+import java.lang.reflect.Type;
 import java.net.URL;
 import java.util.ArrayList;
 import java.util.Arrays;
@@ -31,7 +35,7 @@
 import java.util.logging.Logger;
 
 import javax.xml.namespace.QName;
-import javax.xml.ws.handler.MessageContext;
+import javax.xml.ws.Holder;
 
 import org.w3c.dom.Document;
 import org.w3c.dom.Element;
@@ -41,6 +45,8 @@
 import org.apache.cxf.endpoint.Endpoint;
 import org.apache.cxf.endpoint.EndpointException;
 import org.apache.cxf.endpoint.EndpointImpl;
+import org.apache.cxf.frontend.MethodDispatcher;
+import org.apache.cxf.frontend.SimpleMethodDispatcher;
 import org.apache.cxf.helpers.MethodComparator;
 import org.apache.cxf.interceptor.Fault;
 import org.apache.cxf.jaxb.JAXBDataBinding;
@@ -81,6 +87,10 @@
 public class ReflectionServiceFactoryBean extends AbstractServiceFactoryBean {
 
     public static final String GENERIC_TYPE = "generic.type";
+    public static final String MODE_OUT = "messagepart.mode.out";
+    public static final String MODE_INOUT = "messagepart.mode.inout";
+    public static final String HOLDER = "messagepart.isholder";
+    
     private static final Logger LOG = Logger.getLogger(ReflectionServiceFactoryBean.class.getName());
     private static final ResourceBundle BUNDLE = BundleUtils.getBundle(ReflectionServiceFactoryBean.class);
     
@@ -153,7 +163,7 @@
         }
     }
 
-    protected Endpoint createEndpoint(EndpointInfo ei) throws EndpointException {
+    public Endpoint createEndpoint(EndpointInfo ei) throws EndpointException {
         return new EndpointImpl(getBus(), getService(), ei);
     }
 
@@ -297,7 +307,8 @@
                                        op.getName().getLocalPart() + "Response");
                 MessageInfo msg = new MessageInfo(op, name);
                 op.setOutput(uOp.getOutputName(), msg);
-                msg.addMessagePart(name);
+                MessagePartInfo part = msg.addMessagePart(name);
+                part.setIndex(-1);
             }
         } else {
             createMessageParts(intf, op, m);
@@ -404,11 +415,11 @@
         op.setInput(inMsg.getName().getLocalPart(), inMsg);
 
         for (int j = 0; j < paramClasses.length; j++) {
-            if (!isHeader(method, j) && isInParam(method, j)) {
+            if (isInParam(method, j)) {
                 final QName q = getInParameterName(op, method, j);
                 MessagePartInfo part = inMsg.addMessagePart(q);
-                part.setTypeClass(paramClasses[j]);
-                part.setProperty(GENERIC_TYPE, method.getGenericParameterTypes()[j]);
+                initializeParameter(part, paramClasses[j], method.getGenericParameterTypes()[j]);
+                part.setIndex(j);
             }
         }
 
@@ -418,20 +429,23 @@
             op.setOutput(outMsg.getName().getLocalPart(), outMsg);
 
             final Class<?> returnType = method.getReturnType();
-            if (!returnType.isAssignableFrom(void.class) && !isHeader(method, -1)) {
+            if (!returnType.isAssignableFrom(void.class)) {
                 final QName q = getOutParameterName(op, method, -1);
                 MessagePartInfo part = outMsg.addMessagePart(q);
-                part.setTypeClass(method.getReturnType());
-                part.setProperty(GENERIC_TYPE, method.getGenericReturnType());
+                initializeParameter(part, method.getReturnType(), method.getGenericReturnType());
+                part.setIndex(-1);
             }
 
             for (int j = 0; j < paramClasses.length; j++) {
-                if (!paramClasses[j].equals(MessageContext.class) && !isHeader(method, j)
-                    && isOutParam(method, j)) {
+                if (isOutParam(method, j)) {
                     final QName q = getInParameterName(op, method, j);
                     MessagePartInfo part = outMsg.addMessagePart(q);
-                    part.setTypeClass(paramClasses[j]);
-                    part.setProperty(GENERIC_TYPE, method.getGenericParameterTypes()[j]);
+                    initializeParameter(part, paramClasses[j], method.getGenericParameterTypes()[j]);
+                    part.setIndex(j);
+                    
+                    if (isInParam(method, j)) {
+                        part.setProperty(MODE_INOUT, Boolean.TRUE);
+                    }
                 }
             }
         }
@@ -439,6 +453,34 @@
         initializeFaults(intf, op, method);
     }
 
+    // TODO: Remove reference to JAX-WS holder if possible
+    // We do need holder support in the simple frontend though as Aegis has its own
+    // holder class. I'll tackle refactoring this into a more generic way of handling
+    // holders in phase 2.
+    protected void initializeParameter(MessagePartInfo part, Class rawClass, Type type) {
+        if (rawClass.equals(Holder.class) && type instanceof ParameterizedType) {
+            ParameterizedType paramType = (ParameterizedType)type;
+            rawClass = getHolderClass(paramType);
+        }
+        part.setProperty(GENERIC_TYPE, type);
+        part.setTypeClass(rawClass);
+    }
+
+    protected Class getHolderClass(ParameterizedType paramType) {
+        Object rawType = paramType.getActualTypeArguments()[0];
+        Class rawClass;
+        if (rawType instanceof GenericArrayType) {
+            rawClass = (Class) ((GenericArrayType) rawType).getGenericComponentType();
+            rawClass = Array.newInstance(rawClass, 0).getClass();
+        } else {
+            if (rawType instanceof ParameterizedType) {
+                rawType = (Class) ((ParameterizedType) rawType).getRawType();
+            }
+            rawClass = (Class) rawType;
+        }
+        return rawClass;
+    }
+    
     protected QName getServiceQName() { 
         if (serviceName == null) {
             serviceName = new QName(getServiceNamespace(), getServiceName());
@@ -447,7 +489,7 @@
         return serviceName;
     }
     
-    protected QName getEndpointName() {
+    public QName getEndpointName() {
         for (AbstractServiceConfiguration c : serviceConfigurations) {
             QName name = c.getEndpointName();
             if (name != null) {
@@ -634,7 +676,7 @@
         throw new IllegalStateException("ServiceConfiguration must provide a value!");
     }
 
-    protected boolean isHeader(Method method, int j) {
+    public boolean isHeader(Method method, int j) {
         for (Iterator itr = serviceConfigurations.iterator(); itr.hasNext();) {
             AbstractServiceConfiguration c = (AbstractServiceConfiguration)itr.next();
             Boolean b = c.isHeader(method, j);

Modified: incubator/cxf/trunk/rt/frontend/simple/src/test/java/org/apache/cxf/service/factory/AbstractSimpleFrontendTest.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/frontend/simple/src/test/java/org/apache/cxf/service/factory/AbstractSimpleFrontendTest.java?view=diff&rev=488948&r1=488947&r2=488948
==============================================================================
--- incubator/cxf/trunk/rt/frontend/simple/src/test/java/org/apache/cxf/service/factory/AbstractSimpleFrontendTest.java (original)
+++ incubator/cxf/trunk/rt/frontend/simple/src/test/java/org/apache/cxf/service/factory/AbstractSimpleFrontendTest.java Wed Dec 20 00:07:54 2006
@@ -21,7 +21,7 @@
 import org.apache.cxf.Bus;
 import org.apache.cxf.binding.BindingFactoryManager;
 import org.apache.cxf.binding.soap.SoapBindingFactory;
-import org.apache.cxf.binding.soap.SoapDestinationFactory;
+import org.apache.cxf.binding.soap.SoapTransportFactory;
 import org.apache.cxf.test.AbstractCXFTest;
 import org.apache.cxf.transport.ConduitInitiatorManager;
 import org.apache.cxf.transport.DestinationFactoryManager;
@@ -40,10 +40,10 @@
             .registerBindingFactory("http://schemas.xmlsoap.org/wsdl/soap/", bindingFactory);
 
         DestinationFactoryManager dfm = bus.getExtension(DestinationFactoryManager.class);
-        SoapDestinationFactory soapDF = new SoapDestinationFactory();
-        soapDF.setBus(bus);
-        dfm.registerDestinationFactory("http://schemas.xmlsoap.org/wsdl/soap/", soapDF);
-        dfm.registerDestinationFactory("http://schemas.xmlsoap.org/soap/", soapDF);
+        SoapTransportFactory soapTF = new SoapTransportFactory();
+        soapTF.setBus(bus);
+        dfm.registerDestinationFactory("http://schemas.xmlsoap.org/wsdl/soap/", soapTF);
+        dfm.registerDestinationFactory("http://schemas.xmlsoap.org/soap/", soapTF);
 
         LocalTransportFactory localTransport = new LocalTransportFactory();
         dfm.registerDestinationFactory("http://schemas.xmlsoap.org/wsdl/soap/http", localTransport);
@@ -53,6 +53,8 @@
         extension.registerConduitInitiator(LocalTransportFactory.TRANSPORT_ID, localTransport);
         extension.registerConduitInitiator("http://schemas.xmlsoap.org/wsdl/soap/http", localTransport);
         extension.registerConduitInitiator("http://schemas.xmlsoap.org/soap/http", localTransport);
+        
+        extension.registerConduitInitiator("http://schemas.xmlsoap.org/wsdl/soap/", soapTF);
     }
     
 }

Modified: incubator/cxf/trunk/rt/frontend/simple/src/test/java/org/apache/cxf/service/factory/ClientFactoryBeanTest.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/frontend/simple/src/test/java/org/apache/cxf/service/factory/ClientFactoryBeanTest.java?view=diff&rev=488948&r1=488947&r2=488948
==============================================================================
--- incubator/cxf/trunk/rt/frontend/simple/src/test/java/org/apache/cxf/service/factory/ClientFactoryBeanTest.java (original)
+++ incubator/cxf/trunk/rt/frontend/simple/src/test/java/org/apache/cxf/service/factory/ClientFactoryBeanTest.java Wed Dec 20 00:07:54 2006
@@ -27,6 +27,7 @@
 import org.apache.cxf.binding.soap.model.SoapOperationInfo;
 import org.apache.cxf.endpoint.Client;
 import org.apache.cxf.endpoint.Endpoint;
+import org.apache.cxf.frontend.ClientFactoryBean;
 import org.apache.cxf.service.Service;
 import org.apache.cxf.service.model.BindingInfo;
 import org.apache.cxf.service.model.BindingOperationInfo;

Added: incubator/cxf/trunk/rt/frontend/simple/src/test/java/org/apache/cxf/service/factory/HelloServiceImpl.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/frontend/simple/src/test/java/org/apache/cxf/service/factory/HelloServiceImpl.java?view=auto&rev=488948
==============================================================================
--- incubator/cxf/trunk/rt/frontend/simple/src/test/java/org/apache/cxf/service/factory/HelloServiceImpl.java (added)
+++ incubator/cxf/trunk/rt/frontend/simple/src/test/java/org/apache/cxf/service/factory/HelloServiceImpl.java Wed Dec 20 00:07:54 2006
@@ -0,0 +1,41 @@
+/**
+ * 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 org.apache.cxf.service.factory;
+
+import org.apache.cxf.message.Exchange;
+
+public class HelloServiceImpl implements HelloService {
+
+    public String echo(String text) {
+        return text;
+    }
+
+    public String echoWithExchange(Exchange ex, String text) {
+        return text;
+    }
+
+    public void ping() {
+        
+    }
+
+    public String sayHello() {
+        return "hello";
+    }
+
+}

Propchange: incubator/cxf/trunk/rt/frontend/simple/src/test/java/org/apache/cxf/service/factory/HelloServiceImpl.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/cxf/trunk/rt/frontend/simple/src/test/java/org/apache/cxf/service/factory/HelloServiceImpl.java
------------------------------------------------------------------------------
    svn:executable = *

Propchange: incubator/cxf/trunk/rt/frontend/simple/src/test/java/org/apache/cxf/service/factory/HelloServiceImpl.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Modified: incubator/cxf/trunk/rt/frontend/simple/src/test/java/org/apache/cxf/service/factory/ReflectionServiceFactoryTest.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/frontend/simple/src/test/java/org/apache/cxf/service/factory/ReflectionServiceFactoryTest.java?view=diff&rev=488948&r1=488947&r2=488948
==============================================================================
--- incubator/cxf/trunk/rt/frontend/simple/src/test/java/org/apache/cxf/service/factory/ReflectionServiceFactoryTest.java (original)
+++ incubator/cxf/trunk/rt/frontend/simple/src/test/java/org/apache/cxf/service/factory/ReflectionServiceFactoryTest.java Wed Dec 20 00:07:54 2006
@@ -30,6 +30,7 @@
 import org.apache.cxf.binding.soap.model.SoapOperationInfo;
 import org.apache.cxf.endpoint.Endpoint;
 import org.apache.cxf.endpoint.Server;
+import org.apache.cxf.frontend.ServerFactoryBean;
 import org.apache.cxf.service.Service;
 import org.apache.cxf.service.model.BindingInfo;
 import org.apache.cxf.service.model.BindingOperationInfo;

Added: incubator/cxf/trunk/rt/frontend/simple/src/test/java/org/apache/cxf/service/factory/RountripTest.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/frontend/simple/src/test/java/org/apache/cxf/service/factory/RountripTest.java?view=auto&rev=488948
==============================================================================
--- incubator/cxf/trunk/rt/frontend/simple/src/test/java/org/apache/cxf/service/factory/RountripTest.java (added)
+++ incubator/cxf/trunk/rt/frontend/simple/src/test/java/org/apache/cxf/service/factory/RountripTest.java Wed Dec 20 00:07:54 2006
@@ -0,0 +1,54 @@
+/**
+ * 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 org.apache.cxf.service.factory;
+
+import org.apache.cxf.endpoint.ClientImpl;
+import org.apache.cxf.frontend.ClientFactoryBean;
+import org.apache.cxf.frontend.ClientProxyFactoryBean;
+import org.apache.cxf.frontend.ServerFactoryBean;
+import org.apache.cxf.interceptor.LoggingInInterceptor;
+import org.apache.cxf.interceptor.LoggingOutInterceptor;
+
+public class RountripTest extends AbstractSimpleFrontendTest {
+
+    public void testServerFactoryBean() throws Exception {
+        ServerFactoryBean svrBean = new ServerFactoryBean();
+        svrBean.setAddress("http://localhost/Hello");
+        svrBean.setTransportId("http://schemas.xmlsoap.org/soap/http");
+        svrBean.setServiceBean(new HelloServiceImpl());
+        svrBean.setBus(getBus());
+        
+        svrBean.create();
+        
+        ClientProxyFactoryBean proxyFactory = new ClientProxyFactoryBean();
+        ClientFactoryBean clientBean = proxyFactory.getClientFactoryBean();
+        clientBean.setAddress("http://localhost/Hello");
+        clientBean.setTransportId("http://schemas.xmlsoap.org/soap/http");
+        clientBean.setServiceClass(HelloService.class);
+        clientBean.setBus(getBus());
+
+        HelloService client = (HelloService) proxyFactory.create();
+        
+        ClientImpl c = (ClientImpl) clientBean.getClient();
+        c.getOutInterceptors().add(new LoggingOutInterceptor());
+        c.getInInterceptors().add(new LoggingInInterceptor());
+        
+        assertEquals("hello", client.sayHello());
+    }
+}

Propchange: incubator/cxf/trunk/rt/frontend/simple/src/test/java/org/apache/cxf/service/factory/RountripTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/cxf/trunk/rt/frontend/simple/src/test/java/org/apache/cxf/service/factory/RountripTest.java
------------------------------------------------------------------------------
    svn:executable = *

Propchange: incubator/cxf/trunk/rt/frontend/simple/src/test/java/org/apache/cxf/service/factory/RountripTest.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Modified: incubator/cxf/trunk/rt/ws/rm/src/main/java/org/apache/cxf/ws/rm/RMEndpoint.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/ws/rm/src/main/java/org/apache/cxf/ws/rm/RMEndpoint.java?view=diff&rev=488948&r1=488947&r2=488948
==============================================================================
--- incubator/cxf/trunk/rt/ws/rm/src/main/java/org/apache/cxf/ws/rm/RMEndpoint.java (original)
+++ incubator/cxf/trunk/rt/ws/rm/src/main/java/org/apache/cxf/ws/rm/RMEndpoint.java Wed Dec 20 00:07:54 2006
@@ -223,10 +223,10 @@
             // What we really should do here is on use the same interceptors on the outbound
             // path that would be used by the application endpoint without presuming any knowledge
             // of the applications endpoint's frontend.
-            // endpoint = new EndpointImpl(manager.getBus(), service, ei);
             endpoint = new JaxWsEndpointImpl(manager.getBus(), service, ei);
+            // endpoint = new JaxWsEndpointImpl(manager.getBus(), service, ei);
         } catch (EndpointException ex) {
-            ex.printStackTrace();
+            throw new RuntimeException(ex);
         }
         service.setExecutor(applicationEndpoint.getService().getExecutor());
     }

Modified: incubator/cxf/trunk/rt/ws/rm/src/main/java/org/apache/cxf/ws/rm/RMInInterceptor.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/ws/rm/src/main/java/org/apache/cxf/ws/rm/RMInInterceptor.java?view=diff&rev=488948&r1=488947&r2=488948
==============================================================================
--- incubator/cxf/trunk/rt/ws/rm/src/main/java/org/apache/cxf/ws/rm/RMInInterceptor.java (original)
+++ incubator/cxf/trunk/rt/ws/rm/src/main/java/org/apache/cxf/ws/rm/RMInInterceptor.java Wed Dec 20 00:07:54 2006
@@ -30,6 +30,8 @@
 import org.apache.cxf.common.logging.LogUtils;
 import org.apache.cxf.helpers.CastUtils;
 import org.apache.cxf.interceptor.InterceptorChain;
+import org.apache.cxf.jaxws.interceptors.HolderInInterceptor;
+import org.apache.cxf.jaxws.interceptors.HolderOutInterceptor;
 import org.apache.cxf.message.Message;
 import org.apache.cxf.phase.PhaseInterceptor;
 import org.apache.cxf.ws.addressing.AddressingProperties;
@@ -108,9 +110,24 @@
             while (it.hasNext()) {
                 PhaseInterceptor pi = (PhaseInterceptor)it.next();
                 if ("org.apache.cxf.jaxws.interceptors.WrapperClassInInterceptor".equals(pi.getId())) {
-                    chain.remove(pi);
+                    it.remove();
                     LOG.fine("Removed WrapperClassInInterceptor from interceptor chain.");
-                    break;
+                } else if (HolderInInterceptor.class.getName().equals(pi.getId())) {
+                    it.remove();
+                    LOG.fine("Removed WrapperClassInInterceptor from interceptor chain.");
+                }
+            }
+            
+            Message m = message.getExchange().getOutMessage();
+            if (m != null) {
+                chain = m.getInterceptorChain(); 
+                it = chain.getIterator();            
+                while (it.hasNext()) {
+                    PhaseInterceptor pi = (PhaseInterceptor)it.next();
+                    if (HolderOutInterceptor.class.getName().equals(pi.getId())) {
+                        it.remove();
+                        LOG.fine("Removed WrapperClassInInterceptor from interceptor chain.");
+                    }
                 }
             }
 

Modified: incubator/cxf/trunk/rt/ws/rm/src/main/java/org/apache/cxf/ws/rm/soap/RMSoapInterceptor.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/ws/rm/src/main/java/org/apache/cxf/ws/rm/soap/RMSoapInterceptor.java?view=diff&rev=488948&r1=488947&r2=488948
==============================================================================
--- incubator/cxf/trunk/rt/ws/rm/src/main/java/org/apache/cxf/ws/rm/soap/RMSoapInterceptor.java (original)
+++ incubator/cxf/trunk/rt/ws/rm/src/main/java/org/apache/cxf/ws/rm/soap/RMSoapInterceptor.java Wed Dec 20 00:07:54 2006
@@ -396,7 +396,7 @@
         assert !RMContextUtils.isOutbound(message);
         AddressingProperties maps = RMContextUtils.retrieveMAPs(message, false, false);
         AttributedURIType actionURI = null == maps ? null : maps.getAction();
-        String action = null == actionURI ? null : actionURI.getValue();
+        String action = null == actionURI ? null : actionURI.getValue().trim();
         
         LOG.fine("action: " + action);
    

Modified: incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/jaxws/fault-stack-trace.xml
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/jaxws/fault-stack-trace.xml?view=diff&rev=488948&r1=488947&r2=488948
==============================================================================
--- incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/jaxws/fault-stack-trace.xml (original)
+++ incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/jaxws/fault-stack-trace.xml Wed Dec 20 00:07:54 2006
@@ -22,7 +22,7 @@
     xsi:schemaLocation="
 http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
 
-    <bean class="org.apache.cxf.service.factory.ServerFactoryBean" id="org.apache.cxf.service.factory.ServerFactoryBean">
+    <bean class="org.apache.cxf.frontend.ServerFactoryBean" id="org.apache.cxf.service.factory.ServerFactoryBean">
         <property name="properties">
             <map>
                 <entry key="faultStackTraceEnabled" value="true" />

Modified: incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/js/Server.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/js/Server.java?view=diff&rev=488948&r1=488947&r2=488948
==============================================================================
--- incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/js/Server.java (original)
+++ incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/js/Server.java Wed Dec 20 00:07:54 2006
@@ -20,6 +20,7 @@
 package org.apache.cxf.systest.js;
 
 import java.io.File;
+import java.net.URLDecoder;
 
 import org.apache.cxf.js.rhino.ProviderFactory;
 import org.apache.cxf.systest.common.TestServerBase;
@@ -31,8 +32,10 @@
         try {            
             ProviderFactory pf = new ProviderFactory();            
             String f = getClass().getResource("resources/hello_world.js").getFile();
+            f = URLDecoder.decode(f, "UTF-8");
             pf.createAndPublish(new File(f), "http://localhost:9000/SoapContext/SoapPort", false);
             f = getClass().getResource("resources/hello_world.jsx").getFile();
+            f = URLDecoder.decode(f, "UTF-8");
             pf.createAndPublish(new File(f), "http://localhost:9100", false);
         } catch (Exception ex) {
             ex.printStackTrace();

Modified: incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/mtom/ClientMtomXopTest.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/mtom/ClientMtomXopTest.java?view=diff&rev=488948&r1=488947&r2=488948
==============================================================================
--- incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/mtom/ClientMtomXopTest.java (original)
+++ incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/mtom/ClientMtomXopTest.java Wed Dec 20 00:07:54 2006
@@ -35,12 +35,13 @@
 import org.apache.cxf.BusFactoryHelper;
 import org.apache.cxf.endpoint.Client;
 import org.apache.cxf.endpoint.ClientImpl;
-import org.apache.cxf.jaxws.EndpointInvocationHandler;
+import org.apache.cxf.jaxws.JaxWsClientProxy;
 import org.apache.cxf.jaxws.binding.soap.SOAPBindingImpl;
 import org.apache.cxf.jaxws.support.JaxWsEndpointImpl;
 import org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean;
 import org.apache.cxf.mime.TestMtom;
 import org.apache.cxf.service.Service;
+import org.apache.cxf.service.factory.ReflectionServiceFactoryBean;
 import org.apache.cxf.service.model.EndpointInfo;
 import org.apache.cxf.service.model.ServiceInfo;
 import org.apache.cxf.systest.common.ClientServerSetupBase;
@@ -110,7 +111,7 @@
     private static <T> T createPort(QName serviceName, QName portName, Class<T> serviceEndpointInterface)
         throws Exception {
         Bus bus = BusFactoryHelper.newInstance().getDefaultBus();
-        JaxWsServiceFactoryBean serviceFactory = new JaxWsServiceFactoryBean();
+        ReflectionServiceFactoryBean serviceFactory = new JaxWsServiceFactoryBean();
         serviceFactory.setBus(bus);
         serviceFactory.setServiceName(serviceName);
         serviceFactory.setServiceClass(serviceEndpointInterface);
@@ -126,7 +127,7 @@
         jaxwsEndpoint.getBinding().getOutInterceptors().add(new TestAttachmentOutInterceptor());
         
         Client client = new ClientImpl(bus, jaxwsEndpoint);
-        InvocationHandler ih = new EndpointInvocationHandler(client, jaxwsEndpoint.getJaxwsBinding());
+        InvocationHandler ih = new JaxWsClientProxy(client, jaxwsEndpoint.getJaxwsBinding());
         Object obj = Proxy.newProxyInstance(serviceEndpointInterface.getClassLoader(), new Class[] {
             serviceEndpointInterface, BindingProvider.class }, ih);
         return serviceEndpointInterface.cast(obj);

Modified: incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/ws/rm/JaxwsInterceptorRemover.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/ws/rm/JaxwsInterceptorRemover.java?view=diff&rev=488948&r1=488947&r2=488948
==============================================================================
--- incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/ws/rm/JaxwsInterceptorRemover.java (original)
+++ incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/ws/rm/JaxwsInterceptorRemover.java Wed Dec 20 00:07:54 2006
@@ -27,6 +27,9 @@
 import org.apache.cxf.jaxws.handler.LogicalHandlerInterceptor;
 import org.apache.cxf.jaxws.handler.StreamHandlerInterceptor;
 import org.apache.cxf.jaxws.handler.soap.SOAPHandlerInterceptor;
+import org.apache.cxf.jaxws.interceptors.HolderInInterceptor;
+import org.apache.cxf.jaxws.interceptors.HolderOutInterceptor;
+import org.apache.cxf.jaxws.interceptors.WrapperClassOutInterceptor;
 import org.apache.cxf.message.Message;
 import org.apache.cxf.phase.AbstractPhaseInterceptor;
 import org.apache.cxf.phase.Phase;
@@ -40,6 +43,8 @@
      
     public JaxwsInterceptorRemover() {
         setPhase(Phase.PRE_LOGICAL);
+        addBefore(WrapperClassOutInterceptor.class.getName());
+        addBefore(HolderOutInterceptor.class.getName());
     }
     
     public void handleMessage(Message message) throws Fault {
@@ -58,8 +63,11 @@
         while (it.hasNext()) {
             PhaseInterceptor pi = (PhaseInterceptor)it.next();
             if (SOAPHandlerInterceptor.class.getName().equals(pi.getId())) {
-                chain.remove(pi);
-                break;
+                it.remove();
+            } else if (HolderInInterceptor.class.getName().equals(pi.getId())) {
+                it.remove();
+            } else if (HolderOutInterceptor.class.getName().equals(pi.getId())) {
+                it.remove();
             }
         }
         it = chain.getIterator();

Modified: incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/ws/rm/SequenceTest.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/ws/rm/SequenceTest.java?view=diff&rev=488948&r1=488947&r2=488948
==============================================================================
--- incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/ws/rm/SequenceTest.java (original)
+++ incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/ws/rm/SequenceTest.java Wed Dec 20 00:07:54 2006
@@ -650,6 +650,7 @@
 
         outRecorder = new OutMessageRecorder();
         greeterBus.getOutInterceptors().add(new JaxwsInterceptorRemover());
+        greeterBus.getInInterceptors().add(new JaxwsInterceptorRemover());
         greeterBus.getOutInterceptors().add(outRecorder);
         inRecorder = new InMessageRecorder();
         greeterBus.getInInterceptors().add(inRecorder);



Mime
View raw message