Author: slaws
Date: Thu Aug 14 04:20:30 2008
New Revision: 685854

URL: http://svn.apache.org/viewvc?rev=685854&view=rev
Log:
TUSCANY-2519 Fix so "throws exception" doesn't cause a failure in JAXB type 
generation

Added:
    
tuscany/branches/sca-java-1.3.1/itest/exceptions-simple-ws/src/main/java/com/example/BusinessExceptionMinimal.java
      - copied unchanged from r681435, 
tuscany/java/sca/itest/exceptions-simple-ws/src/main/java/com/example/BusinessExceptionMinimal.java
    
tuscany/branches/sca-java-1.3.1/itest/exceptions-simple-ws/src/main/java/com/example/ExampleClientMinimalImpl.java
      - copied unchanged from r681435, 
tuscany/java/sca/itest/exceptions-simple-ws/src/main/java/com/example/ExampleClientMinimalImpl.java
    
tuscany/branches/sca-java-1.3.1/itest/exceptions-simple-ws/src/main/java/com/example/ExampleServiceMinimal.java
      - copied unchanged from r681435, 
tuscany/java/sca/itest/exceptions-simple-ws/src/main/java/com/example/ExampleServiceMinimal.java
    
tuscany/branches/sca-java-1.3.1/itest/exceptions-simple-ws/src/main/java/com/example/ExampleServiceMinimalImpl.java
      - copied unchanged from r681435, 
tuscany/java/sca/itest/exceptions-simple-ws/src/main/java/com/example/ExampleServiceMinimalImpl.java
    
tuscany/branches/sca-java-1.3.1/itest/exceptions-simple-ws/src/test/java/com/example/ExampleMinimalTestCase.java
      - copied unchanged from r681435, 
tuscany/java/sca/itest/exceptions-simple-ws/src/test/java/com/example/ExampleMinimalTestCase.java
Modified:
    
tuscany/branches/sca-java-1.3.1/itest/exceptions-simple-ws/src/main/resources/example.composite
    
tuscany/branches/sca-java-1.3.1/modules/interface-java-jaxws/src/main/java/org/apache/tuscany/sca/interfacedef/java/jaxws/JAXWSFaultExceptionMapper.java

Modified: 
tuscany/branches/sca-java-1.3.1/itest/exceptions-simple-ws/src/main/resources/example.composite
URL: 
http://svn.apache.org/viewvc/tuscany/branches/sca-java-1.3.1/itest/exceptions-simple-ws/src/main/resources/example.composite?rev=685854&r1=685853&r2=685854&view=diff
==============================================================================
--- 
tuscany/branches/sca-java-1.3.1/itest/exceptions-simple-ws/src/main/resources/example.composite
 (original)
+++ 
tuscany/branches/sca-java-1.3.1/itest/exceptions-simple-ws/src/main/resources/example.composite
 Thu Aug 14 04:20:30 2008
@@ -37,4 +37,20 @@
             <binding.ws 
wsdlElement="http://example.com/#wsdl.port(ExampleService/ExampleServiceSOAP11port_http)"
 />
         </service>  
     </component>
+    
+    <component name="ExampleClientMinimalComponent">
+        <implementation.java class="com.example.ExampleClientMinimalImpl" />
+        <reference name="myService">
+                       <interface.java 
interface="com.example.ExampleServiceMinimal"/>
+                       <binding.ws 
uri="http://localhost:8085/ExampleMinimalComponent"; />        
+       </reference>
+    </component>
+        
+       <component name="ExampleMinimalComponent">
+               <implementation.java 
class="com.example.ExampleServiceMinimalImpl" />
+               <service name="ExampleServiceMinimal">
+                       <interface.java 
interface="com.example.ExampleServiceMinimal"/>
+                       <binding.ws 
uri="http://localhost:8085/ExampleMinimalComponent"; />
+               </service>
+       </component>    
 </composite>

Modified: 
tuscany/branches/sca-java-1.3.1/modules/interface-java-jaxws/src/main/java/org/apache/tuscany/sca/interfacedef/java/jaxws/JAXWSFaultExceptionMapper.java
URL: 
http://svn.apache.org/viewvc/tuscany/branches/sca-java-1.3.1/modules/interface-java-jaxws/src/main/java/org/apache/tuscany/sca/interfacedef/java/jaxws/JAXWSFaultExceptionMapper.java?rev=685854&r1=685853&r2=685854&view=diff
==============================================================================
--- 
tuscany/branches/sca-java-1.3.1/modules/interface-java-jaxws/src/main/java/org/apache/tuscany/sca/interfacedef/java/jaxws/JAXWSFaultExceptionMapper.java
 (original)
+++ 
tuscany/branches/sca-java-1.3.1/modules/interface-java-jaxws/src/main/java/org/apache/tuscany/sca/interfacedef/java/jaxws/JAXWSFaultExceptionMapper.java
 Thu Aug 14 04:20:30 2008
@@ -36,6 +36,7 @@
 import org.apache.tuscany.sca.interfacedef.FaultExceptionMapper;
 import org.apache.tuscany.sca.interfacedef.Operation;
 import org.apache.tuscany.sca.interfacedef.impl.DataTypeImpl;
+import org.apache.tuscany.sca.interfacedef.java.JavaInterface;
 import org.apache.tuscany.sca.interfacedef.util.FaultException;
 import org.apache.tuscany.sca.interfacedef.util.XMLType;
 import org.osoa.sca.ServiceRuntimeException;
@@ -250,7 +251,7 @@
     }
 
     @SuppressWarnings("unchecked")
-    public boolean introspectFaultDataType(DataType<DataType> exceptionType, 
Operation operation, final boolean generatingFaultBean) {
+    public boolean introspectFaultDataType(DataType<DataType> exceptionType, 
final Operation operation, final boolean generatingFaultBean) {
         QName faultName = null;
         boolean result = false;
 
@@ -303,7 +304,10 @@
                     } catch (ClassNotFoundException e) {
                         if (generatingFaultBean) {
                             Class<? extends Throwable> t = (Class<? extends 
Throwable>)cls;
-                            GeneratedClassLoader cl = new 
GeneratedClassLoader(t.getClassLoader());
+                            ClassLoader parent =
+                                operation == null ? t.getClassLoader() : 
((JavaInterface)operation.getInterface())
+                                    .getJavaClass().getClassLoader();
+                            GeneratedClassLoader cl = new 
GeneratedClassLoader(parent);
                             GeneratedDataTypeImpl dt = new 
GeneratedDataTypeImpl(xmlAdapterExtensionPoint, t, cl);
                             return dt;
                         } else {


Reply via email to