You are viewing a plain text version of this content. The canonical link for it is here.
Posted to axis-cvs@ws.apache.org by de...@apache.org on 2006/09/22 10:30:50 UTC
svn commit: r448864 - in /webservices/axis2/trunk/java/modules:
java2wsdl/src/org/apache/ws/java2wsdl/Java2OMBuilder.java
java2wsdl/src/org/apache/ws/java2wsdl/Java2WSDLConstants.java
kernel/src/org/apache/axis2/deployment/util/Utils.java
Author: deepal
Date: Fri Sep 22 01:30:48 2006
New Revision: 448864
URL: http://svn.apache.org/viewvc?view=rev&rev=448864
Log:
fixing AXIS2-957
Modified:
webservices/axis2/trunk/java/modules/java2wsdl/src/org/apache/ws/java2wsdl/Java2OMBuilder.java
webservices/axis2/trunk/java/modules/java2wsdl/src/org/apache/ws/java2wsdl/Java2WSDLConstants.java
webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/util/Utils.java
Modified: webservices/axis2/trunk/java/modules/java2wsdl/src/org/apache/ws/java2wsdl/Java2OMBuilder.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/java2wsdl/src/org/apache/ws/java2wsdl/Java2OMBuilder.java?view=diff&rev=448864&r1=448863&r2=448864
==============================================================================
--- webservices/axis2/trunk/java/modules/java2wsdl/src/org/apache/ws/java2wsdl/Java2OMBuilder.java (original)
+++ webservices/axis2/trunk/java/modules/java2wsdl/src/org/apache/ws/java2wsdl/Java2OMBuilder.java Fri Sep 22 01:30:48 2006
@@ -136,7 +136,7 @@
private void generateTypes(OMFactory fac, OMElement defintions)
throws Exception {
OMElement wsdlTypes = fac.createOMElement("types", wsdl);
- // wrap the Schema elements with this start and end tags to create a
+ // wrap the Schema elements with this start and end tags to create a
// document root
// under which the schemas can fall into
@@ -159,12 +159,12 @@
private void generateMessages(OMFactory fac, OMElement definitions) {
Hashtable namespaceMap = new Hashtable();
- String namespacePrefix = null;
- String namespaceURI = null;
- QName messagePartType = null;
+ String namespacePrefix;
+ String namespaceURI;
+ QName messagePartType;
for (int i = 0; i < method.length; i++) {
JMethod jmethod = method[i];
- if (!jmethod.isPublic()) {
+ if (!jmethod.isPublic()) {
continue;
}
@@ -221,6 +221,31 @@
namespacePrefix + COLON_SEPARATOR
+ jmethod.getSimpleName() + RESPONSE, null);
}
+
+ if (jmethod.getExceptionTypes().length > 0) {
+ if ((messagePartType = typeTable.getComplexSchemaType(jmethod.getSimpleName() + "Fault")) != null) {
+ namespaceURI = messagePartType.getNamespaceURI();
+ if ((namespacePrefix = (String) namespaceMap.get(namespaceURI)) == null) {
+ namespacePrefix = generatePrefix();
+ namespaceMap.put(namespaceURI, namespacePrefix);
+ }
+ //Response Message
+ OMElement responseMessge = fac.createOMElement(
+ MESSAGE_LOCAL_NAME, wsdl);
+ responseMessge.addAttribute(ATTRIBUTE_NAME, jmethod
+ .getSimpleName()
+ + "Fault", null);
+ definitions.addChild(responseMessge);
+ OMElement responsePart = fac.createOMElement(
+ PART_ATTRIBUTE_NAME, wsdl);
+ responseMessge.addChild(responsePart);
+ responsePart.addAttribute(ATTRIBUTE_NAME, "part1", null);
+
+ responsePart.addAttribute(ELEMENT_ATTRIBUTE_NAME,
+ namespacePrefix + COLON_SEPARATOR
+ + jmethod.getSimpleName() + "Fault", null);
+ }
+ }
}
// now add these unique namespaces to the the definitions element
@@ -268,6 +293,15 @@
+ RESPONSE_MESSAGE, null);
operation.addChild(message);
}
+ if (jmethod.getExceptionTypes().length > 0) {
+ message = fac.createOMElement(FAULT_LOCAL_NAME, wsdl);
+ message.addAttribute(MESSAGE_LOCAL_NAME, tns.getPrefix()
+ + COLON_SEPARATOR + jmethod.getSimpleName()
+ + "Fault", null);
+ message.addAttribute(ATTRIBUTE_NAME, jmethod.getSimpleName()
+ + "Fault", null);
+ operation.addChild(message);
+ }
}
}
@@ -341,6 +375,14 @@
"namespace", targetNamespace);
operation.addChild(output);
}
+
+ if (jmethod.getExceptionTypes().length > 0) {
+
+ OMElement fault = fac.createOMElement(FAULT_LOCAL_NAME, wsdl);
+ addExtensionElement(fac, fault, soap, SOAP_BODY, SOAP_USE, use,
+ "namespace", targetNamespace);
+ operation.addChild(fault);
+ }
}
}
@@ -381,6 +423,13 @@
addExtensionElement(fac, output, soap12, SOAP_BODY, SOAP_USE, use,
"namespace", targetNamespace);
operation.addChild(output);
+ }
+ if (jmethod.getExceptionTypes().length > 0) {
+
+ OMElement fault = fac.createOMElement(FAULT_LOCAL_NAME, wsdl);
+ addExtensionElement(fac, fault, soap12, SOAP_BODY, SOAP_USE, use,
+ "namespace", targetNamespace);
+ operation.addChild(fault);
}
}
}
Modified: webservices/axis2/trunk/java/modules/java2wsdl/src/org/apache/ws/java2wsdl/Java2WSDLConstants.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/java2wsdl/src/org/apache/ws/java2wsdl/Java2WSDLConstants.java?view=diff&rev=448864&r1=448863&r2=448864
==============================================================================
--- webservices/axis2/trunk/java/modules/java2wsdl/src/org/apache/ws/java2wsdl/Java2WSDLConstants.java (original)
+++ webservices/axis2/trunk/java/modules/java2wsdl/src/org/apache/ws/java2wsdl/Java2WSDLConstants.java Fri Sep 22 01:30:48 2006
@@ -53,6 +53,7 @@
String ATTRIBUTE_NAME = "name";
String REQUEST_MESSAGE = "RequestMessage";
String RESPONSE_MESSAGE = "ResponseMessage";
+ String FAULT_MESSAGE = "Message";
String MESSAGE_SUFFIX = "Message";
String REQUEST = "Request";
String RESPONSE = "Response";
Modified: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/util/Utils.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/util/Utils.java?view=diff&rev=448864&r1=448863&r2=448864
==============================================================================
--- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/util/Utils.java (original)
+++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/util/Utils.java Fri Sep 22 01:30:48 2006
@@ -299,6 +299,12 @@
Java2WSDLConstants.RESPONSE));
outMessage.setName(opName + Java2WSDLConstants.RESPONSE);
}
+ if (jmethod.getExceptionTypes().length > 0) {
+ AxisMessage faultMessage = new AxisMessage();
+ faultMessage.setName(jmethod.getSimpleName() + "Fault");
+ faultMessage.setElementQName(table.getComplexSchemaType(jmethod.getSimpleName() + "Fault"));
+ operation.setFaultMessages(faultMessage);
+ }
} else {
operation = getAxisOperationforJmethod(jmethod, table);
MessageReceiver mr = axisService.getMessageReceiver(
---------------------------------------------------------------------
To unsubscribe, e-mail: axis-cvs-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-cvs-help@ws.apache.org