You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by ni...@apache.org on 2006/10/18 11:18:17 UTC
svn commit: r465184 - in /incubator/cxf/trunk: api/
rt/bindings/xml/src/main/resources/META-INF/
rt/bindings/xml/src/main/resources/META-INF/cxf/
rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/
rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws...
Author: ningjiang
Date: Wed Oct 18 02:18:15 2006
New Revision: 465184
URL: http://svn.apache.org/viewvc?view=rev&rev=465184
Log:
[JIRA CXF-104] PhaseOne:
Added ContextProperitesMapping for mapping cxf properties to jaxws properties and mapping jaxws properties to cxf properties
Added HTTPBinding.HTTP_BINDING to xmlbinding namespace
Changed api.pom's CetliXfire to CXF
Update REST systest to using jax-ws properties name
Move out REST Provider Server for debuging
Added:
incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/support/ContextPropertiesMapping.java
incubator/cxf/trunk/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/support/ContextPropertiesMappingTest.java (with props)
incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/rest/Server.java
Modified:
incubator/cxf/trunk/api/pom.xml
incubator/cxf/trunk/rt/bindings/xml/src/main/resources/META-INF/bus-extensions.xml
incubator/cxf/trunk/rt/bindings/xml/src/main/resources/META-INF/cxf/cxf-extension.xml
incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/EndpointInvocationHandler.java
incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/context/WebServiceContextImpl.java
incubator/cxf/trunk/rt/transports/http/src/main/java/org/apache/cxf/transport/http/HTTPConduit.java
incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/rest/RestClientServerTest.java
incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/rest/RestSourcePayloadProvider.java
Modified: incubator/cxf/trunk/api/pom.xml
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/api/pom.xml?view=diff&rev=465184&r1=465183&r2=465184
==============================================================================
--- incubator/cxf/trunk/api/pom.xml (original)
+++ incubator/cxf/trunk/api/pom.xml Wed Oct 18 02:18:15 2006
@@ -85,8 +85,8 @@
<attach>true</attach>
<quiet>true</quiet>
<bottom>-</bottom>
- <header>CeltiXfire API</header>
- <footer>CeltiXfire API</footer>
+ <header>CXF API</header>
+ <footer>CXF API</footer>
<sourcepath>${basedir}/src/main/java${path.separator}${basedir}/target/generated/src/main/java</sourcepath>
<subpackages>org.apache.cxf</subpackages>
</configuration>
Modified: incubator/cxf/trunk/rt/bindings/xml/src/main/resources/META-INF/bus-extensions.xml
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/bindings/xml/src/main/resources/META-INF/bus-extensions.xml?view=diff&rev=465184&r1=465183&r2=465184
==============================================================================
--- incubator/cxf/trunk/rt/bindings/xml/src/main/resources/META-INF/bus-extensions.xml (original)
+++ incubator/cxf/trunk/rt/bindings/xml/src/main/resources/META-INF/bus-extensions.xml Wed Oct 18 02:18:15 2006
@@ -20,11 +20,13 @@
<extensions xmlns="http://cxf.apache.org/bus/extension">
<extension class="org.apache.cxf.binding.xml.XMLBindingFactory" deferred="true">
- <namespace>http://cxf.apache.org/bindings/xformat</namespace>
+ <namespace>http://cxf.apache.org/bindings/xformat</namespace>
+ <namespace>http://www.w3.org/2004/08/wsdl/http</namespace>
</extension>
<extension class="org.apache.cxf.binding.xml.XMLBindingInfoFactoryBean" deferred="true">
- <namespace>http://cxf.apache.org/bindings/xformat</namespace>
+ <namespace>http://cxf.apache.org/bindings/xformat</namespace>
+ <namespace>http://www.w3.org/2004/08/wsdl/http</namespace>
</extension>
</extensions>
Modified: incubator/cxf/trunk/rt/bindings/xml/src/main/resources/META-INF/cxf/cxf-extension.xml
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/bindings/xml/src/main/resources/META-INF/cxf/cxf-extension.xml?view=diff&rev=465184&r1=465183&r2=465184
==============================================================================
--- incubator/cxf/trunk/rt/bindings/xml/src/main/resources/META-INF/cxf/cxf-extension.xml (original)
+++ incubator/cxf/trunk/rt/bindings/xml/src/main/resources/META-INF/cxf/cxf-extension.xml Wed Oct 18 02:18:15 2006
@@ -28,6 +28,7 @@
<property name="activationNamespaces">
<set>
<value>http://cxf.apache.org/bindings/xformat</value>
+ <value>http://www.w3.org/2004/08/wsdl/http</value>
</set>
</property>
</bean>
@@ -37,6 +38,7 @@
<property name="activationNamespaces">
<set>
<value>http://cxf.apache.org/bindings/xformat</value>
+ <value>http://www.w3.org/2004/08/wsdl/http</value>
</set>
</property>
</bean>
Modified: incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/EndpointInvocationHandler.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/EndpointInvocationHandler.java?view=diff&rev=465184&r1=465183&r2=465184
==============================================================================
--- incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/EndpointInvocationHandler.java (original)
+++ incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/EndpointInvocationHandler.java Wed Oct 18 02:18:15 2006
@@ -41,6 +41,7 @@
import org.apache.cxf.common.logging.LogUtils;
import org.apache.cxf.endpoint.Client;
import org.apache.cxf.endpoint.Endpoint;
+import org.apache.cxf.jaxws.support.ContextPropertiesMapping;
import org.apache.cxf.service.factory.MethodDispatcher;
import org.apache.cxf.service.model.BindingOperationInfo;
@@ -82,17 +83,27 @@
Map<String, Object> requestContext = this.getRequestContext();
Map<String, Object> responseContext = this.getResponseContext();
Map<String, Object> context = new HashMap<String, Object>();
+
+ //need to do context mapping from jax-ws to cxf message
+ ContextPropertiesMapping.mapJaxws2Cxf(requestContext);
+
context.put(Client.REQUEST_CONTEXT, requestContext);
context.put(Client.RESPONSE_CONTEXT, responseContext);
requestContext.put(Method.class.getName(), method);
boolean isAsync = method.getName().endsWith("Async");
+
+ Object result = null;
if (isAsync) {
- return invokeAsync(method, oi, params, paramsWithOutHolder, context);
+ result = invokeAsync(method, oi, params, paramsWithOutHolder, context);
} else {
- return invokeSync(method, oi, params, paramsWithOutHolder, context);
+ result = invokeSync(method, oi, params, paramsWithOutHolder, context);
}
+ // need to do context mapping from cxf message to jax-ws
+ ContextPropertiesMapping.mapJaxws2Cxf(responseContext);
+ return result;
+
}
Modified: incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/context/WebServiceContextImpl.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/context/WebServiceContextImpl.java?view=diff&rev=465184&r1=465183&r2=465184
==============================================================================
--- incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/context/WebServiceContextImpl.java (original)
+++ incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/context/WebServiceContextImpl.java Wed Oct 18 02:18:15 2006
@@ -24,6 +24,8 @@
import javax.xml.ws.WebServiceContext;
import javax.xml.ws.handler.MessageContext;
+import org.apache.cxf.jaxws.support.ContextPropertiesMapping;
+
public class WebServiceContextImpl implements WebServiceContext {
@@ -51,6 +53,7 @@
}
public static void setMessageContext(MessageContext ctx) {
+ ContextPropertiesMapping.mapCxf2Jaxws(ctx);
context.set(ctx);
}
Added: incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/support/ContextPropertiesMapping.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/support/ContextPropertiesMapping.java?view=auto&rev=465184
==============================================================================
--- incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/support/ContextPropertiesMapping.java (added)
+++ incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/support/ContextPropertiesMapping.java Wed Oct 18 02:18:15 2006
@@ -0,0 +1,91 @@
+/**
+ * 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.jaxws.support;
+
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Set;
+
+import javax.xml.ws.BindingProvider;
+import javax.xml.ws.handler.MessageContext;
+
+import org.apache.cxf.message.Message;
+
+// Do some context mapping work from rt-core to jaxws stander
+// NOTE if there some change in cxf Message property name, this class should be update
+
+public final class ContextPropertiesMapping {
+
+ private static Map<String, String> cxf2jaxwsMap = new HashMap<String, String>();
+ private static Map<String, String> jaxws2cxfMap = new HashMap<String, String>();
+
+ static {
+ cxf2jaxwsMap.put(Message.ENDPOINT_ADDRESS,
+ BindingProvider.ENDPOINT_ADDRESS_PROPERTY);
+ cxf2jaxwsMap.put(Message.HTTP_REQUEST_METHOD,
+ MessageContext.HTTP_REQUEST_METHOD);
+ cxf2jaxwsMap.put(Message.RESPONSE_CODE,
+ MessageContext.HTTP_RESPONSE_CODE);
+ cxf2jaxwsMap.put(Message.PATH_INFO,
+ MessageContext.PATH_INFO);
+ cxf2jaxwsMap.put(Message.QUERY_STRING,
+ MessageContext.QUERY_STRING);
+
+ jaxws2cxfMap.put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY,
+ Message.ENDPOINT_ADDRESS);
+ jaxws2cxfMap.put(MessageContext.HTTP_REQUEST_METHOD,
+ Message.HTTP_REQUEST_METHOD);
+ jaxws2cxfMap.put(MessageContext.HTTP_RESPONSE_CODE,
+ Message.RESPONSE_CODE);
+ jaxws2cxfMap.put(MessageContext.PATH_INFO,
+ Message.PATH_INFO);
+ jaxws2cxfMap.put(MessageContext.QUERY_STRING,
+ Message.QUERY_STRING);
+
+ }
+
+ private ContextPropertiesMapping() {
+
+ }
+
+ private static void mapContext(Map<String, Object> context, Map<String, String> map) {
+ Set<String> keyset = context.keySet();
+ String[] keys = new String[0];
+ keys = keyset.toArray(keys);
+ for (int i = 0; i < keys.length; i++) {
+ String key = keys[i];
+ String mappingString = map.get(key);
+ if (null != mappingString) {
+ Object obj = context.get(key);
+ context.put(mappingString, obj);
+ }
+ }
+ }
+
+
+ public static void mapJaxws2Cxf(Map<String, Object> context) {
+ mapContext(context, jaxws2cxfMap);
+ }
+
+ public static void mapCxf2Jaxws(Map<String, Object> context) {
+ mapContext(context, cxf2jaxwsMap);
+ }
+
+
+}
Added: incubator/cxf/trunk/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/support/ContextPropertiesMappingTest.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/support/ContextPropertiesMappingTest.java?view=auto&rev=465184
==============================================================================
--- incubator/cxf/trunk/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/support/ContextPropertiesMappingTest.java (added)
+++ incubator/cxf/trunk/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/support/ContextPropertiesMappingTest.java Wed Oct 18 02:18:15 2006
@@ -0,0 +1,73 @@
+/**
+ * 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.jaxws.support;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import javax.xml.ws.BindingProvider;
+import javax.xml.ws.handler.MessageContext;
+
+import junit.framework.TestCase;
+
+import org.apache.cxf.message.Message;
+
+public class ContextPropertiesMappingTest extends TestCase {
+ private static final String ADDRESS = "test address";
+ private static final String REQUEST_METHOD = "GET";
+ private Map<String, Object> message = new HashMap<String, Object>();
+ private Map<String, Object> requestContext = new HashMap<String, Object>();
+ private Map<String, Object> responseContext = new HashMap<String, Object>();
+
+
+ public void setUp() throws Exception {
+ message.clear();
+ message.put(Message.ENDPOINT_ADDRESS, ADDRESS);
+ message.put(Message.HTTP_REQUEST_METHOD, REQUEST_METHOD);
+ requestContext.clear();
+ requestContext.put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY, ADDRESS + "jaxws");
+ responseContext.clear();
+ }
+
+ public void testJaxws2Cxf() {
+ Object address = requestContext.get(Message.ENDPOINT_ADDRESS);
+ assertTrue("address should be null", address == null);
+ ContextPropertiesMapping.mapJaxws2Cxf(requestContext);
+ address = requestContext.get(Message.ENDPOINT_ADDRESS);
+ assertTrue("address should not be null", address != null);
+ assertEquals("address should get from requestContext", address, ADDRESS + "jaxws");
+ message.putAll(requestContext);
+ address = message.get(Message.ENDPOINT_ADDRESS);
+ address = requestContext.get(Message.ENDPOINT_ADDRESS);
+ assertTrue("address should not be null", address != null);
+ assertEquals("address should get from requestContext", address, ADDRESS + "jaxws");
+ }
+
+ public void testCxf2Jaxws() {
+ responseContext.putAll(message);
+ Object requestMethod = responseContext.get(MessageContext.HTTP_REQUEST_METHOD);
+ assertTrue("requestMethod should be null", requestMethod == null);
+ ContextPropertiesMapping.mapCxf2Jaxws(responseContext);
+ requestMethod = responseContext.get(MessageContext.HTTP_REQUEST_METHOD);
+ assertTrue("requestMethod should not be null", requestMethod != null);
+ assertEquals(requestMethod, REQUEST_METHOD);
+ }
+
+
+}
Propchange: incubator/cxf/trunk/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/support/ContextPropertiesMappingTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/cxf/trunk/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/support/ContextPropertiesMappingTest.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Modified: incubator/cxf/trunk/rt/transports/http/src/main/java/org/apache/cxf/transport/http/HTTPConduit.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/transports/http/src/main/java/org/apache/cxf/transport/http/HTTPConduit.java?view=diff&rev=465184&r1=465183&r2=465184
==============================================================================
--- incubator/cxf/trunk/rt/transports/http/src/main/java/org/apache/cxf/transport/http/HTTPConduit.java (original)
+++ incubator/cxf/trunk/rt/transports/http/src/main/java/org/apache/cxf/transport/http/HTTPConduit.java Wed Oct 18 02:18:15 2006
@@ -180,6 +180,8 @@
hc.setRequestMethod("POST");
}
+ //TODO using Message context to deceided HTTP send properties
+
connection.setConnectTimeout((int)getClient().getConnectionTimeout());
connection.setReadTimeout((int)getClient().getReceiveTimeout());
Modified: incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/rest/RestClientServerTest.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/rest/RestClientServerTest.java?view=diff&rev=465184&r1=465183&r2=465184
==============================================================================
--- incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/rest/RestClientServerTest.java (original)
+++ incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/rest/RestClientServerTest.java Wed Oct 18 02:18:15 2006
@@ -21,7 +21,9 @@
import java.io.ByteArrayOutputStream;
import java.io.InputStream;
+import java.net.URI;
import java.net.URL;
+import java.util.Map;
import java.util.Properties;
import javax.xml.namespace.QName;
@@ -31,10 +33,11 @@
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
-//import javax.xml.transform.stream.StreamSource;
import javax.xml.ws.Dispatch;
-import javax.xml.ws.Endpoint;
+
import javax.xml.ws.Service;
+import javax.xml.ws.handler.MessageContext;
+import javax.xml.ws.http.HTTPBinding;
import org.w3c.dom.Document;
import org.w3c.dom.Node;
@@ -45,7 +48,6 @@
import org.apache.cxf.helpers.XMLUtils;
import org.apache.cxf.systest.common.ClientServerSetupBase;
import org.apache.cxf.systest.common.ClientServerTestBase;
-import org.apache.cxf.systest.common.TestServerBase;
import org.apache.hello_world_xml_http.wrapped.XMLService;
public class RestClientServerTest extends ClientServerTestBase {
@@ -55,27 +57,7 @@
private final QName portName = new QName("http://apache.org/hello_world_xml_http/wrapped",
"RestProviderPort");
- public static class Server extends TestServerBase {
-
- protected void run() {
- Object implementor = new RestSourcePayloadProvider();
- String address = "http://localhost:9023/XMLService/RestProviderPort/Customer";
- Endpoint.publish(address, implementor);
- }
-
- public static void main(String[] args) {
- try {
- Server s = new Server();
- s.start();
- } catch (Exception ex) {
- ex.printStackTrace();
- System.exit(-1);
- } finally {
- System.out.println("done!");
- }
- }
- }
-
+
public static Test suite() throws Exception {
TestSuite suite = new TestSuite(RestClientServerTest.class);
return new ClientServerSetupBase(suite) {
@@ -119,24 +101,31 @@
*/
}
- // Service.addPort() is not supported yet
- /*
- * public void testHttpGETDispatcher() throws Exception { String
- * endpointAddress =
- * "http://localhost:9023/XMLService/RestProviderPort/Customer"; Service
- * service = Service.create(serviceName); URI endpointURI = new
- * URI(endpointAddress.toString()); String path = null; String query = null;
- * if (endpointURI != null){ path = endpointURI.getPath(); query =
- * endpointURI.getQuery(); } service.addPort(portName,
- * HTTPBinding.HTTP_BINDING, endpointAddress.toString()); Dispatch<Source>
- * d = service.createDispatch(portName, Source.class, Service.Mode.PAYLOAD);
- * Map<String, Object> requestContext = d.getRequestContext();
- * requestContext.put(Message.HTTP_REQUEST_METHOD, new String("GET"));
- * requestContext.put(Message.QUERY_STRING, "id=1"); //this is the original
- * path part of uri requestContext.put(Message.PATH_INFO, path);
- * System.out.println ("Invoking Restful GET Request with query string ");
- * Source result = d.invoke(null); printSource(result); }
- */
+
+ public void utestHttpGETDispatcher() throws Exception {
+ String endpointAddress =
+ "http://localhost:9023/XMLService/RestProviderPort/Customer";
+ Service service = Service.create(serviceName);
+ URI endpointURI = new URI(endpointAddress.toString());
+ String path = null;
+ //String query = null;
+ if (endpointURI != null) {
+ path = endpointURI.getPath();
+ //query = endpointURI.getQuery();
+ }
+ service.addPort(portName, HTTPBinding.HTTP_BINDING, endpointAddress.toString());
+ Dispatch<Source> d = service.createDispatch(portName, Source.class, Service.Mode.PAYLOAD);
+ Map<String, Object> requestContext = d.getRequestContext();
+ requestContext.put(MessageContext.HTTP_REQUEST_METHOD, new String("GET"));
+ requestContext.put(MessageContext.QUERY_STRING, "id=1");
+ //this is the original path part of uri
+ requestContext.put(MessageContext.PATH_INFO, path);
+ System.out.println("Invoking Restful GET Request with query string ");
+ Source result = d.invoke(null);
+ assertNotNull("result shoud not be null", result);
+ printSource(result);
+ }
+
void printSource(Source source) {
try {
Modified: incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/rest/RestSourcePayloadProvider.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/rest/RestSourcePayloadProvider.java?view=diff&rev=465184&r1=465183&r2=465184
==============================================================================
--- incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/rest/RestSourcePayloadProvider.java (original)
+++ incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/rest/RestSourcePayloadProvider.java Wed Oct 18 02:18:15 2006
@@ -34,7 +34,7 @@
import org.w3c.dom.Document;
-import org.apache.cxf.message.Message;
+
@WebServiceProvider()
@ServiceMode(value = Service.Mode.PAYLOAD)
@@ -49,15 +49,15 @@
public DOMSource invoke(DOMSource request) {
MessageContext mc = wsContext.getMessageContext();
- String path = (String)mc.get(Message.PATH_INFO);
- String query = (String)mc.get(Message.QUERY_STRING);
- String httpMethod = (String)mc.get(Message.HTTP_REQUEST_METHOD);
-
- /*
- * System.out.println("--path--- " + path);
- * System.out.println("--query--- " + query);
- * System.out.println("--httpMethod--- " + httpMethod);
- */
+ String path = (String)mc.get(MessageContext.PATH_INFO);
+ String query = (String)mc.get(MessageContext.QUERY_STRING);
+ String httpMethod = (String)mc.get(MessageContext.HTTP_REQUEST_METHOD);
+
+
+// System.out.println("--path--- " + path);
+// System.out.println("--query--- " + query);
+// System.out.println("--httpMethod--- " + httpMethod);
+
if (httpMethod.equalsIgnoreCase("POST")) {
// TBD: parse query info from DOMSource
// System.out.println("--POST: getAllCustomers--- ");
@@ -101,5 +101,6 @@
e.printStackTrace();
}
return response;
- }
+ }
+
}
Added: incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/rest/Server.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/rest/Server.java?view=auto&rev=465184
==============================================================================
--- incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/rest/Server.java (added)
+++ incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/rest/Server.java Wed Oct 18 02:18:15 2006
@@ -0,0 +1,46 @@
+/**
+ * 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.systest.rest;
+
+import javax.xml.ws.Endpoint;
+
+import org.apache.cxf.systest.common.TestServerBase;
+
+public class Server extends TestServerBase {
+
+ protected void run() {
+ Object implementor = new RestSourcePayloadProvider();
+ String address = "http://localhost:9023/XMLService/RestProviderPort/Customer";
+ Endpoint.publish(address, implementor);
+ }
+
+
+ public static void main(String[] args) {
+ try {
+ Server s = new Server();
+ s.start();
+ } catch (Exception ex) {
+ ex.printStackTrace();
+ System.exit(-1);
+ } finally {
+ System.out.println("done!");
+ }
+ }
+}