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); }