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