Author: amilas
Date: Sun Feb  6 06:24:20 2011
New Revision: 1067601

URL: http://svn.apache.org/viewvc?rev=1067601&view=rev
Log:
append the operation name to the exception element. other wise if both the 
exception complex type and element name in the same schema, jaxbri code 
generation throws an exception

Modified:
    
axis/axis2/java/core/trunk/modules/adb/src/org/apache/axis2/rpc/receivers/RPCMessageReceiver.java
    
axis/axis2/java/core/trunk/modules/kernel/src/org/apache/axis2/description/java2wsdl/DefaultSchemaGenerator.java

Modified: 
axis/axis2/java/core/trunk/modules/adb/src/org/apache/axis2/rpc/receivers/RPCMessageReceiver.java
URL: 
http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/adb/src/org/apache/axis2/rpc/receivers/RPCMessageReceiver.java?rev=1067601&r1=1067600&r2=1067601&view=diff
==============================================================================
--- 
axis/axis2/java/core/trunk/modules/adb/src/org/apache/axis2/rpc/receivers/RPCMessageReceiver.java
 (original)
+++ 
axis/axis2/java/core/trunk/modules/adb/src/org/apache/axis2/rpc/receivers/RPCMessageReceiver.java
 Sun Feb  6 06:24:20 2011
@@ -174,7 +174,7 @@ public class RPCMessageReceiver extends 
             for (Class exceptionType : exceptionTypes){
                 if 
(exceptionType.getName().equals(cause.getClass().getName())){
                     // this is an bussiness logic exception so handle it 
properly
-                    String partQName = getSimpleClassName(exceptionType);
+                    String partQName = method.getName() + 
getSimpleClassName(exceptionType);
                     TypeTable typeTable = 
inMessage.getAxisService().getTypeTable();
                     QName elementQName = 
typeTable.getQNamefortheType(partQName);
                     SOAPFactory fac = getSOAPFactory(inMessage);
@@ -190,8 +190,9 @@ public class RPCMessageReceiver extends 
                        exceptionElement.addChild(innterExceptionElement);
                     } else {
                         // if it is a normal bussiness exception we need to 
generate the schema assuming it is a pojo
+                        QName innerElementQName = new 
QName(elementQName.getNamespaceURI(), getSimpleClassName(exceptionType));
                         XMLStreamReader xr = BeanUtil.getPullParser(cause,
-                                elementQName, typeTable, true, false);
+                                innerElementQName, typeTable, true, false);
                         StAXOMBuilder stAXOMBuilder = new 
StAXOMBuilder(OMAbstractFactory.getOMFactory(), new StreamWrapper(xr));
                         OMElement documentElement = 
stAXOMBuilder.getDocumentElement();
                         exceptionElement.addChild(documentElement);

Modified: 
axis/axis2/java/core/trunk/modules/kernel/src/org/apache/axis2/description/java2wsdl/DefaultSchemaGenerator.java
URL: 
http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/kernel/src/org/apache/axis2/description/java2wsdl/DefaultSchemaGenerator.java?rev=1067601&r1=1067600&r2=1067601&view=diff
==============================================================================
--- 
axis/axis2/java/core/trunk/modules/kernel/src/org/apache/axis2/description/java2wsdl/DefaultSchemaGenerator.java
 (original)
+++ 
axis/axis2/java/core/trunk/modules/kernel/src/org/apache/axis2/description/java2wsdl/DefaultSchemaGenerator.java
 Sun Feb  6 06:24:20 2011
@@ -443,7 +443,7 @@ public class DefaultSchemaGenerator impl
                 if (AxisFault.class.getName().equals(extype.getName())) {
                     continue;
                 }
-                String partQname = getSimpleClassName(extype);
+                String partQname = jMethod.getName() + 
getSimpleClassName(extype);
                 methodSchemaType = createSchemaTypeForFault(partQname);
                 QName elementName =
                         new QName(this.schemaTargetNameSpace, partQname, 
this.schema_namespace_prefix);
@@ -473,7 +473,7 @@ public class DefaultSchemaGenerator impl
                     continue;
                 }
                 AxisMessage faultMessage = new AxisMessage();
-                faultMessage.setName(getSimpleClassName(extype));
+                faultMessage.setName(jMethod.getName() + 
getSimpleClassName(extype));
                 
faultMessage.setElementQName(typeTable.getQNamefortheType(partQname));
                 axisOperation.setFaultMessages(faultMessage);
             }


Reply via email to