You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by ff...@apache.org on 2012/11/15 07:19:13 UTC
svn commit: r1409658 - in /cxf/trunk:
rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/
rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/service/
systests/ws-specs/src/test/resources/wsdl_systest_wsspec/
Author: ffang
Date: Thu Nov 15 06:19:11 2012
New Revision: 1409658
URL: http://svn.apache.org/viewvc?rev=1409658&view=rev
Log:
[CXF-4594]also add a testcase
Added:
cxf/trunk/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/service/AddNumbersException.java
Modified:
cxf/trunk/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/CodeFirstTest.java
cxf/trunk/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/CodeFirstWSDLTest.java
cxf/trunk/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/service/Hello.java
cxf/trunk/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/service/Hello2.java
cxf/trunk/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/service/Hello3.java
cxf/trunk/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/service/HelloInterface.java
cxf/trunk/systests/ws-specs/src/test/resources/wsdl_systest_wsspec/add_numbers-fromjava.wsdl
Modified: cxf/trunk/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/CodeFirstTest.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/CodeFirstTest.java?rev=1409658&r1=1409657&r2=1409658&view=diff
==============================================================================
--- cxf/trunk/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/CodeFirstTest.java (original)
+++ cxf/trunk/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/CodeFirstTest.java Thu Nov 15 06:19:11 2012
@@ -42,9 +42,11 @@ import org.w3c.dom.Node;
import org.apache.cxf.Bus;
import org.apache.cxf.endpoint.Server;
+import org.apache.cxf.frontend.ClientProxy;
import org.apache.cxf.frontend.ServerFactoryBean;
import org.apache.cxf.interceptor.LoggingInInterceptor;
import org.apache.cxf.interceptor.LoggingOutInterceptor;
+import org.apache.cxf.jaxws.service.AddNumbersException;
import org.apache.cxf.jaxws.service.ArrayService;
import org.apache.cxf.jaxws.service.ArrayServiceImpl;
import org.apache.cxf.jaxws.service.Entity;
@@ -138,7 +140,7 @@ public class CodeFirstTest extends Abstr
Service service = bean.create();
InterfaceInfo i = service.getServiceInfos().get(0).getInterface();
- assertEquals(4, i.getOperations().size());
+ assertEquals(5, i.getOperations().size());
ServerFactoryBean svrFactory = new ServerFactoryBean();
svrFactory.setBus(bus);
@@ -222,6 +224,32 @@ public class CodeFirstTest extends Abstr
assertEquals(2, result.size());
}
+ @Test
+ public void testException() throws Exception {
+ Hello serviceImpl = new Hello();
+ EndpointImpl ep = new EndpointImpl(getBus(), serviceImpl, (String) null);
+ ep.publish("local://localhost:9090/hello");
+ ep.getServer().getEndpoint().getInInterceptors().add(new LoggingInInterceptor());
+ ep.getServer().getEndpoint().getOutInterceptors().add(new LoggingOutInterceptor());
+ QName serviceName = new QName("http://service.jaxws.cxf.apache.org/", "HelloService");
+ QName portName = new QName("http://service.jaxws.cxf.apache.org/", "HelloPort");
+
+ // 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);
+ ClientProxy.getClient(proxy).getInFaultInterceptors().add(new LoggingInInterceptor());
+ ClientProxy.getClient(proxy).getInInterceptors().add(new LoggingInInterceptor());
+ try {
+ proxy.addNumbers(1, -2);
+ fail("should throw AddNumbersException");
+ } catch (AddNumbersException e) {
+ assertEquals(e.getInfo(), "Sum is less than 0.");
+ }
+
+ }
+
@Test
public void testRpcClient() throws Exception {
Modified: cxf/trunk/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/CodeFirstWSDLTest.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/CodeFirstWSDLTest.java?rev=1409658&r1=1409657&r2=1409658&view=diff
==============================================================================
--- cxf/trunk/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/CodeFirstWSDLTest.java (original)
+++ cxf/trunk/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/CodeFirstWSDLTest.java Thu Nov 15 06:19:11 2012
@@ -62,7 +62,7 @@ public class CodeFirstWSDLTest extends A
Service service = bean.create();
InterfaceInfo i = service.getServiceInfos().get(0).getInterface();
- assertEquals(4, i.getOperations().size());
+ assertEquals(5, i.getOperations().size());
ServerFactoryBean svrFactory = new ServerFactoryBean();
svrFactory.setBus(bus);
@@ -100,7 +100,7 @@ public class CodeFirstWSDLTest extends A
javax.wsdl.PortType portType = d.getPortType(portTypeName);
assertNotNull(portType);
- assertEquals(4, portType.getOperations().size());
+ assertEquals(5, portType.getOperations().size());
}
@Test
@@ -124,7 +124,7 @@ public class CodeFirstWSDLTest extends A
javax.wsdl.PortType portType = d.getPortType(portTypeName);
assertNotNull(portType);
- assertEquals(4, portType.getOperations().size());
+ assertEquals(5, portType.getOperations().size());
}
@Test
public void testExcludeOnInterface() throws Exception {
Added: cxf/trunk/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/service/AddNumbersException.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/service/AddNumbersException.java?rev=1409658&view=auto
==============================================================================
--- cxf/trunk/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/service/AddNumbersException.java (added)
+++ cxf/trunk/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/service/AddNumbersException.java Thu Nov 15 06:19:11 2012
@@ -0,0 +1,37 @@
+/**
+ * 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 javax.xml.ws.WebFault;
+
+@WebFault
+public class AddNumbersException extends Exception {
+ private String info;
+
+ public AddNumbersException() {
+ }
+
+ public AddNumbersException(String info) {
+ this.info = info;
+ }
+
+ public String getInfo() {
+ return info;
+ }
+}
Modified: cxf/trunk/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/service/Hello.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/service/Hello.java?rev=1409658&r1=1409657&r2=1409658&view=diff
==============================================================================
--- cxf/trunk/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/service/Hello.java (original)
+++ cxf/trunk/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/service/Hello.java Thu Nov 15 06:19:11 2012
@@ -68,4 +68,12 @@ public class Hello {
ret.add("Bonjour" + list.get(1));
return ret;
}
+
+ @WebMethod
+ public String addNumbers(int arg0, int arg1) throws AddNumbersException {
+ if (arg0 + arg1 < 0) {
+ throw new AddNumbersException("Sum is less than 0.");
+ }
+ return "Result = " + String.valueOf(arg0 + arg1);
+ }
}
Modified: cxf/trunk/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/service/Hello2.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/service/Hello2.java?rev=1409658&r1=1409657&r2=1409658&view=diff
==============================================================================
--- cxf/trunk/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/service/Hello2.java (original)
+++ cxf/trunk/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/service/Hello2.java Thu Nov 15 06:19:11 2012
@@ -21,6 +21,7 @@ package org.apache.cxf.jaxws.service;
import java.util.ArrayList;
import java.util.List;
+import javax.jws.WebMethod;
import javax.jws.WebService;
@WebService(endpointInterface = "org.apache.cxf.jaxws.service.HelloInterface")
@@ -50,4 +51,11 @@ public class Hello2 implements HelloInte
return null;
}
+ @Override
+ @WebMethod
+ public String addNumbers(int arg0, int arg1) throws AddNumbersException {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
}
Modified: cxf/trunk/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/service/Hello3.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/service/Hello3.java?rev=1409658&r1=1409657&r2=1409658&view=diff
==============================================================================
--- cxf/trunk/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/service/Hello3.java (original)
+++ cxf/trunk/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/service/Hello3.java Thu Nov 15 06:19:11 2012
@@ -21,6 +21,7 @@ package org.apache.cxf.jaxws.service;
import java.util.ArrayList;
import java.util.List;
+import javax.jws.WebMethod;
import javax.jws.WebService;
@WebService(serviceName = "MyService",
@@ -53,4 +54,11 @@ public class Hello3 implements HelloInte
return null;
}
+ @Override
+ @WebMethod
+ public String addNumbers(int arg0, int arg1) throws AddNumbersException {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
}
Modified: cxf/trunk/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/service/HelloInterface.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/service/HelloInterface.java?rev=1409658&r1=1409657&r2=1409658&view=diff
==============================================================================
--- cxf/trunk/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/service/HelloInterface.java (original)
+++ cxf/trunk/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/service/HelloInterface.java Thu Nov 15 06:19:11 2012
@@ -33,4 +33,6 @@ public interface HelloInterface {
String[] getStringArray(String[] strs);
@WebMethod
List<String> getStringList(List<String> list);
+ @WebMethod
+ String addNumbers(int arg0, int arg1) throws AddNumbersException;
}
Modified: cxf/trunk/systests/ws-specs/src/test/resources/wsdl_systest_wsspec/add_numbers-fromjava.wsdl
URL: http://svn.apache.org/viewvc/cxf/trunk/systests/ws-specs/src/test/resources/wsdl_systest_wsspec/add_numbers-fromjava.wsdl?rev=1409658&r1=1409657&r2=1409658&view=diff
==============================================================================
--- cxf/trunk/systests/ws-specs/src/test/resources/wsdl_systest_wsspec/add_numbers-fromjava.wsdl (original)
+++ cxf/trunk/systests/ws-specs/src/test/resources/wsdl_systest_wsspec/add_numbers-fromjava.wsdl Thu Nov 15 06:19:11 2012
@@ -28,7 +28,9 @@ under the License.
targetNamespace="http://server.addr_fromjava.ws.systest.cxf.apache.org/">
<xsd:element name="AddNumbersException" type="tns:AddNumbersException"/>
<xsd:complexType name="AddNumbersException">
- <xsd:sequence/>
+ <xsd:sequence>
+ <xsd:element name="detail" type="xsd:string"/>
+ </xsd:sequence>
</xsd:complexType>
<xsd:element name="addNumbers3" type="tns:addNumbers3"/>
<xsd:complexType name="addNumbers3">
@@ -158,4 +160,4 @@ under the License.
<soap:address location="http://localhost:9093/AddNumberImplPort"/>
</wsdl:port>
</wsdl:service>
-</wsdl:definitions>
\ No newline at end of file
+</wsdl:definitions>