Author: sumedha
Date: Fri Jan 4 07:10:29 2008
New Revision: 11848
Log:
fix when no response is being returned from service
Modified:
trunk/commons/data-services/src/main/java/org/wso2/ws/dataservice/CallQuery.java
trunk/commons/data-services/src/main/java/org/wso2/ws/dataservice/DBUtils.java
Modified:
trunk/commons/data-services/src/main/java/org/wso2/ws/dataservice/CallQuery.java
==============================================================================
---
trunk/commons/data-services/src/main/java/org/wso2/ws/dataservice/CallQuery.java
(original)
+++
trunk/commons/data-services/src/main/java/org/wso2/ws/dataservice/CallQuery.java
Fri Jan 4 07:10:29 2008
@@ -199,6 +199,11 @@
OMElement query = (OMElement) queryElements.next();
queryRefList.add(query.getAttributeValue(new QName("href")));
}
+ }else{//resultElement == null
+ //for services with no return types, there will not be a result
+ //element.
+ defaultNamespace = axisService.getTargetNamespace();
+ nsPrefix = axisService.getTargetNamespacePrefix();
}
}
Modified:
trunk/commons/data-services/src/main/java/org/wso2/ws/dataservice/DBUtils.java
==============================================================================
---
trunk/commons/data-services/src/main/java/org/wso2/ws/dataservice/DBUtils.java
(original)
+++
trunk/commons/data-services/src/main/java/org/wso2/ws/dataservice/DBUtils.java
Fri Jan 4 07:10:29 2008
@@ -490,6 +490,12 @@
throws AxisFault {
OMElement resultElement = null;
Connection conn = null;
+ boolean hasResponse = true;
+ OMFactory fac = null;
+ OMNamespace omNs = null;
+ Result resultObj = null;
+ String columnDefalut = null;
+
String sqlQuery = queryElement.getFirstChildWithName(new
QName("sql")).getText();
try {
Parameter dbConnectionParam =
axisService.getParameter(DBConstants.DB_CONNECTION);
@@ -512,39 +518,32 @@
}
OMElement result =
queryElement.getFirstChildWithName(new QName("result"));
- Result resultObj = new Result(result);
-// String wrapperElementName =
result.getAttributeValue(new QName("element"));
-// String rowElementName = result.getAttributeValue(new
QName("rowName"));
-//
-// //if wrapper element || row element is not set, set
default values to them
-// if(wrapperElementName == null ||
wrapperElementName.trim().length() == 0){
-// //default value
-// wrapperElementName = "results";
-// }
-// if(rowElementName == null || rowElementName.trim().length() ==
0){
-// //default value
-// rowElementName = "row";
-// }
-
- //TODO : need to define a way to get values automatically
-
//getDefaultValuesForResultsWrapper(wrapperElementName,rowElementName);
-
- // check ??
- String columnDefalut = result.getAttributeValue(new
QName("columnDefault"));
-
- OMFactory fac = OMAbstractFactory.getOMFactory();
- OMNamespace omNs =
fac.createOMNamespace(axisService.getTargetNamespace(), "data");
- //OMNamespace omNs = fac.createOMNamespace("", "data");
- resultElement =
fac.createOMElement(resultObj.getResultWrapper(), omNs);
+ if(result == null){
+ hasResponse = false;
+ }
+
+ if(hasResponse){
+ resultObj = new Result(result);
+ //TODO : need to define a way to get values
automatically
+
//getDefaultValuesForResultsWrapper(wrapperElementName,rowElementName);
+ // check ??
+ columnDefalut = result.getAttributeValue(new
QName("columnDefault"));
+ fac = OMAbstractFactory.getOMFactory();
+ omNs =
fac.createOMNamespace(axisService.getTargetNamespace(), "data");
+ //OMNamespace omNs = fac.createOMNamespace("",
"data");
+ resultElement =
fac.createOMElement(resultObj.getResultWrapper(), omNs);
+ }
if (isDML) {
- resultElement
- .setText("Your query executed successfully.
Return code from the database was "
- + responseCode);
+ if(hasResponse){
+ resultElement
+ .setText("Your query executed
successfully. Return code from the database was "
+ + responseCode);
+ }
} else {
//check if wrapper element should be qualified
- if ( !axisService.isElementFormDefault()) {
+ if (hasResponse &&
!axisService.isElementFormDefault()) {
omNs =fac.createOMNamespace("",
"data");
}
_______________________________________________
Commons-dev mailing list
[email protected]
http://wso2.org/cgi-bin/mailman/listinfo/commons-dev