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/12/07 10:35:17 UTC
svn commit: r483393 - in /incubator/cxf/trunk/rt:
bindings/soap/src/main/java/org/apache/cxf/binding/soap/
frontend/jaxws/src/main/java/org/apache/cxf/jaxws/
frontend/jaxws/src/test/java/org/apache/cxf/jaxws/
frontend/jaxws/src/test/java/org/apache/cxf...
Author: ningjiang
Date: Thu Dec 7 01:35:14 2006
New Revision: 483393
URL: http://svn.apache.org/viewvc?view=rev&rev=483393
Log:
[JIRA CXF-294] Added unit test for the code first client side test
Added:
incubator/cxf/trunk/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/service/HelloInterface.java (with props)
Modified:
incubator/cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/SoapDestinationFactory.java
incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/ServiceImpl.java
incubator/cxf/trunk/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/AbstractJaxWsTest.java
incubator/cxf/trunk/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/CodeFirstTest.java
Modified: incubator/cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/SoapDestinationFactory.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/SoapDestinationFactory.java?view=diff&rev=483393&r1=483392&r2=483393
==============================================================================
--- incubator/cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/SoapDestinationFactory.java (original)
+++ incubator/cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/SoapDestinationFactory.java Thu Dec 7 01:35:14 2006
@@ -62,8 +62,8 @@
SoapBindingInfo binding = (SoapBindingInfo)ei.getBinding();
DestinationFactory destinationFactory;
try {
- destinationFactory = bus.getExtension(DestinationFactoryManager.class)
- .getDestinationFactory(binding.getTransportURI());
+ DestinationFactoryManager dfm = bus.getExtension(DestinationFactoryManager.class);
+ destinationFactory = dfm.getDestinationFactory(binding.getTransportURI());
return destinationFactory.getDestination(ei);
} catch (BusException e) {
Modified: incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/ServiceImpl.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/ServiceImpl.java?view=diff&rev=483393&r1=483392&r2=483393
==============================================================================
--- incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/ServiceImpl.java (original)
+++ incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/ServiceImpl.java Thu Dec 7 01:35:14 2006
@@ -40,6 +40,7 @@
import javax.xml.ws.Service.Mode;
import javax.xml.ws.WebServiceException;
import javax.xml.ws.handler.HandlerResolver;
+import javax.xml.ws.http.HTTPBinding;
import javax.xml.ws.spi.ServiceDelegate;
import org.apache.cxf.Bus;
@@ -309,17 +310,16 @@
String transportId = df.getTransportIds().get(0);
String bindingUri = portInfo.getBindingUri();
- // TODO: Replace with discovery mechanism!!
+ // TODO: Replace with discovery mechanism, now it just the hardcode
AbstractBindingInfoFactoryBean bindingFactory = null;
- if (bindingUri.equals(XMLConstants.NS_XML_FORMAT)) {
+ if (bindingUri.equals(XMLConstants.NS_XML_FORMAT)
+ || bindingUri.equals(HTTPBinding.HTTP_BINDING)) {
bindingFactory = new XMLBindingInfoFactoryBean();
- } else if ("http://schemas.xmlsoap.org/soap/".equals(bindingUri)) {
+ } else { // we set the default binding to be soap binding
JaxWsSoapBindingInfoFactoryBean soapBindingFactory = new JaxWsSoapBindingInfoFactoryBean();
soapBindingFactory.setTransportURI(transportId);
bindingFactory = soapBindingFactory;
- } else {
- bindingFactory = new XMLBindingInfoFactoryBean();
- }
+ }
bindingFactory.setServiceFactory(serviceFactory);
Modified: incubator/cxf/trunk/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/AbstractJaxWsTest.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/AbstractJaxWsTest.java?view=diff&rev=483393&r1=483392&r2=483393
==============================================================================
--- incubator/cxf/trunk/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/AbstractJaxWsTest.java (original)
+++ incubator/cxf/trunk/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/AbstractJaxWsTest.java Thu Dec 7 01:35:14 2006
@@ -55,11 +55,13 @@
soapDF.setBus(bus);
dfm.registerDestinationFactory("http://schemas.xmlsoap.org/wsdl/soap/", soapDF);
dfm.registerDestinationFactory("http://schemas.xmlsoap.org/soap/", soapDF);
+ dfm.registerDestinationFactory("http://cxf.apache.org/transports/local", soapDF);
localTransport = new LocalTransportFactory();
dfm.registerDestinationFactory("http://schemas.xmlsoap.org/soap/http", localTransport);
dfm.registerDestinationFactory("http://schemas.xmlsoap.org/wsdl/soap/http", localTransport);
dfm.registerDestinationFactory("http://cxf.apache.org/bindings/xformat", localTransport);
+ dfm.registerDestinationFactory("http://cxf.apache.org/transports/local", localTransport);
ConduitInitiatorManager extension = bus.getExtension(ConduitInitiatorManager.class);
extension.registerConduitInitiator(LocalTransportFactory.TRANSPORT_ID, localTransport);
Modified: incubator/cxf/trunk/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/CodeFirstTest.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/CodeFirstTest.java?view=diff&rev=483393&r1=483392&r2=483393
==============================================================================
--- incubator/cxf/trunk/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/CodeFirstTest.java (original)
+++ incubator/cxf/trunk/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/CodeFirstTest.java Thu Dec 7 01:35:14 2006
@@ -18,16 +18,22 @@
*/
package org.apache.cxf.jaxws;
+import java.net.URL;
import java.util.Collection;
+
import javax.wsdl.Definition;
import javax.wsdl.factory.WSDLFactory;
+import javax.xml.namespace.QName;
+
import org.w3c.dom.Document;
import org.w3c.dom.Node;
import org.apache.cxf.Bus;
+
import org.apache.cxf.jaxws.service.Hello;
+import org.apache.cxf.jaxws.service.HelloInterface;
import org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean;
import org.apache.cxf.service.Service;
import org.apache.cxf.service.factory.ServerFactoryBean;
@@ -37,7 +43,7 @@
import org.apache.cxf.wsdl11.ServiceWSDLBuilder;
public class CodeFirstTest extends AbstractJaxWsTest {
- String address = "http://localhost:9000/Hello";
+ String address = "local://localhost:9000/Hello";
public void testDocLitModel() throws Exception {
Definition d = createService(false);
@@ -105,24 +111,42 @@
Hello service = new Hello();
EndpointImpl ep = new EndpointImpl(getBus(), service, (String) null);
- ep.publish("http://localhost:9090/hello");
+ ep.publish("local://localhost:9090/hello");
- Node res = invoke("http://localhost:9090/hello",
+ Node res = invoke("local://localhost:9090/hello",
LocalTransportFactory.TRANSPORT_ID,
"sayHi.xml");
assertNotNull(res);
-
+
addNamespace("h", "http://service.jaxws.cxf.apache.org");
assertValid("//s:Body/h:sayHiResponse/h:return", res);
- res = invoke("http://localhost:9090/hello",
+ res = invoke("local://localhost:9090/hello",
LocalTransportFactory.TRANSPORT_ID,
"getGreetings.xml");
assertNotNull(res);
-
+
addNamespace("h", "http://service.jaxws.cxf.apache.org");
assertValid("//s:Body/h:getGreetingsResponse/h:return/item", res);
+ }
+
+ public void testClient() throws Exception {
+ Hello serviceImpl = new Hello();
+ EndpointImpl ep = new EndpointImpl(getBus(), serviceImpl, (String) null);
+ ep.publish("local://localhost:9090/hello");
+
+ QName serviceName = new QName("http://service.jaxws.cxf.apache.org", "Hello");
+ QName portName = new QName("http://service.jaxws.cxf.apache.org", "HelloPortType");
+
+ // need to set the same bus with service , so use the ServiceImpl
+ ServiceImpl service = new ServiceImpl(getBus(), (URL)null, serviceName, null);
+ service.addPort(portName, "http://schemas.xmlsoap.org/soap/", "local://localhost:9090/hello");
+ HelloInterface proxy = service.getPort(portName, HelloInterface.class);
+ assertEquals("Get the wrong result", "hello", proxy.sayHi("hello"));
+ //now the client side can't unmarshal the complex type without binding types annoutation
+ //List<String> result = proxy.getGreetings();
+ //assertEquals(2, result.size());
}
}
Added: incubator/cxf/trunk/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/service/HelloInterface.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/service/HelloInterface.java?view=auto&rev=483393
==============================================================================
--- incubator/cxf/trunk/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/service/HelloInterface.java (added)
+++ incubator/cxf/trunk/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/service/HelloInterface.java Thu Dec 7 01:35:14 2006
@@ -0,0 +1,32 @@
+/**
+ * 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.service;
+
+import java.util.List;
+
+import javax.jws.WebMethod;
+import javax.jws.WebService;
+
+@WebService
+public interface HelloInterface {
+ @WebMethod
+ String sayHi(String text);
+ @WebMethod
+ List<String> getGreetings();
+}
Propchange: incubator/cxf/trunk/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/service/HelloInterface.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/cxf/trunk/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/service/HelloInterface.java
------------------------------------------------------------------------------
svn:keywords = Rev Date