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 2007/04/23 09:16:42 UTC
svn commit: r531357 - in /webservices/axis2/branches/java/1_2/modules:
java2wsdl/src/org/apache/ws/java2wsdl/
kernel/src/org/apache/axis2/deployment/
kernel/src/org/apache/axis2/deployment/util/
samples/soapwithattachments/src/sample/soapwithattachment...
Author: deepal
Date: Mon Apr 23 00:16:41 2007
New Revision: 531357
URL: http://svn.apache.org/viewvc?view=rev&rev=531357
Log:
fixing the issue in AXIS2-2325 (applied the patch with modifications)
- Fixed hot update issue in POJODeployer
Modified:
webservices/axis2/branches/java/1_2/modules/java2wsdl/src/org/apache/ws/java2wsdl/Java2OMBuilder.java
webservices/axis2/branches/java/1_2/modules/java2wsdl/src/org/apache/ws/java2wsdl/SchemaGenerator.java
webservices/axis2/branches/java/1_2/modules/kernel/src/org/apache/axis2/deployment/POJODeployer.java
webservices/axis2/branches/java/1_2/modules/kernel/src/org/apache/axis2/deployment/util/Utils.java
webservices/axis2/branches/java/1_2/modules/samples/soapwithattachments/src/sample/soapwithattachments/client/SWAClient.java
Modified: webservices/axis2/branches/java/1_2/modules/java2wsdl/src/org/apache/ws/java2wsdl/Java2OMBuilder.java
URL: http://svn.apache.org/viewvc/webservices/axis2/branches/java/1_2/modules/java2wsdl/src/org/apache/ws/java2wsdl/Java2OMBuilder.java?view=diff&rev=531357&r1=531356&r2=531357
==============================================================================
--- webservices/axis2/branches/java/1_2/modules/java2wsdl/src/org/apache/ws/java2wsdl/Java2OMBuilder.java (original)
+++ webservices/axis2/branches/java/1_2/modules/java2wsdl/src/org/apache/ws/java2wsdl/Java2OMBuilder.java Mon Apr 23 00:16:41 2007
@@ -9,6 +9,7 @@
import org.apache.ws.commons.schema.XmlSchema;
import org.apache.ws.java2wsdl.utils.TypeTable;
import org.codehaus.jam.JMethod;
+import org.codehaus.jam.JClass;
import javax.xml.namespace.QName;
import javax.xml.stream.XMLStreamReader;
@@ -206,7 +207,7 @@
.getSimpleName()
+ RESPONSE)) != null) {
namespaceURI = messagePartType.getNamespaceURI();
- if ((namespacePrefix = (String) messagePartType.getPrefix()) == null &&
+ if ((namespacePrefix = messagePartType.getPrefix()) == null &&
(namespacePrefix = (String) namespaceMap.get(namespaceURI)) == null) {
namespacePrefix = generatePrefix();
namespaceMap.put(namespaceURI, namespacePrefix);
@@ -229,30 +230,32 @@
}
if (jmethod.getExceptionTypes().length > 0) {
- if ((messagePartType = typeTable.getComplexSchemaType(jmethod.getSimpleName() + "Fault")) != null) {
- namespaceURI = messagePartType.getNamespaceURI();
- if ((namespacePrefix = (String) messagePartType.getPrefix()) == null &&
- (namespacePrefix = (String) namespaceMap.get(namespaceURI)) == null) {
- namespacePrefix = generatePrefix();
- namespaceMap.put(namespaceURI, namespacePrefix);
+ JClass[] extypes = jmethod.getExceptionTypes() ;
+ for (int j= 0 ; j < extypes.length ; j++) {
+ JClass extype = extypes[j] ;
+ String exname = extype.getSimpleName() ;
+ String q_exname= extype.getQualifiedName() ;
+ if ((messagePartType = typeTable.getComplexSchemaType(q_exname)) != null) {
+ namespaceURI = messagePartType.getNamespaceURI();
+ if ((namespacePrefix = messagePartType.getPrefix()) == null &&
+ (namespacePrefix = (String) namespaceMap.get(namespaceURI)) == null) {
+ namespacePrefix = generatePrefix();
+ namespaceMap.put(namespaceURI, namespacePrefix);
+ }
+ OMElement responseMessge = fac.createOMElement(
+ MESSAGE_LOCAL_NAME, wsdl);
+ responseMessge.addAttribute(ATTRIBUTE_NAME, exname, 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
+ + exname, null);
}
- //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);
}
- }
+ }// end for loop
}
// now add these unique namespaces to the the definitions element
@@ -307,16 +310,18 @@
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);
- namespace = message.declareNamespace(WSAD_NS,
- "wsaw");
- message.addAttribute("Action", "urn:" + jmethod.getSimpleName(), namespace);
- operation.addChild(message);
+ JClass[] extypes = jmethod.getExceptionTypes() ;
+ for (int j= 0 ; j < extypes.length ; j++) {
+ JClass extype = extypes[j] ;
+ String exname = extype.getSimpleName() ;
+
+ message = fac.createOMElement(FAULT_LOCAL_NAME, wsdl);
+ message.addAttribute(MESSAGE_LOCAL_NAME, tns.getPrefix()
+ + COLON_SEPARATOR + exname, null);
+ message.addAttribute(ATTRIBUTE_NAME, exname, null);
+ operation.addChild(message);
+
+ } // end for
}
}
@@ -391,11 +396,15 @@
}
if (jmethod.getExceptionTypes().length > 0) {
-
- OMElement fault = fac.createOMElement(FAULT_LOCAL_NAME, wsdl);
- fault.addAttribute(ATTRIBUTE_NAME, jmethod.getSimpleName() + "Fault", null);
- addExtensionElement(fac, fault, soap, SOAP_BODY, SOAP_USE, use);
- operation.addChild(fault);
+ JClass[] extypes = jmethod.getExceptionTypes() ;
+ for (int j= 0 ; j < extypes.length ; j++) {
+ JClass extype = extypes[j] ;
+ String exname = extype.getSimpleName() ;
+ OMElement fault = fac.createOMElement(FAULT_LOCAL_NAME, wsdl);
+ fault.addAttribute(ATTRIBUTE_NAME, exname, null);
+ addExtensionElement(fac, fault, soap, SOAP_BODY, SOAP_USE, use);
+ operation.addChild(fault);
+ }
}
}
}
@@ -437,11 +446,15 @@
operation.addChild(output);
}
if (jmethod.getExceptionTypes().length > 0) {
-
- OMElement fault = fac.createOMElement(FAULT_LOCAL_NAME, wsdl);
- fault.addAttribute(ATTRIBUTE_NAME, jmethod.getSimpleName() + "Fault", null);
- addExtensionElement(fac, fault, soap12, SOAP_BODY, SOAP_USE, use);
- operation.addChild(fault);
+ JClass[] extypes = jmethod.getExceptionTypes() ;
+ for (int j= 0 ; j < extypes.length ; j++) {
+ JClass extype = extypes[j] ;
+ String exname = extype.getSimpleName() ;
+ OMElement fault = fac.createOMElement(FAULT_LOCAL_NAME, wsdl);
+ fault.addAttribute(ATTRIBUTE_NAME, exname, null);
+ addExtensionElement(fac, fault, soap12, SOAP_BODY, SOAP_USE, use);
+ operation.addChild(fault);
+ }
}
}
}
Modified: webservices/axis2/branches/java/1_2/modules/java2wsdl/src/org/apache/ws/java2wsdl/SchemaGenerator.java
URL: http://svn.apache.org/viewvc/webservices/axis2/branches/java/1_2/modules/java2wsdl/src/org/apache/ws/java2wsdl/SchemaGenerator.java?view=diff&rev=531357&r1=531356&r2=531357
==============================================================================
--- webservices/axis2/branches/java/1_2/modules/java2wsdl/src/org/apache/ws/java2wsdl/SchemaGenerator.java (original)
+++ webservices/axis2/branches/java/1_2/modules/java2wsdl/src/org/apache/ws/java2wsdl/SchemaGenerator.java Mon Apr 23 00:16:41 2007
@@ -218,19 +218,30 @@
continue;
}
if (jMethod.getExceptionTypes().length > 0) {
- methodSchemaType =
- createSchemaTypeForMethodPart(getSimpleName(jMethod) + "Fault");
- sequence = new XmlSchemaSequence();
- XmlSchemaElement elt1 = new XmlSchemaElement();
- elt1.setName(getSimpleName(jMethod) + "Fault");
- elt1.setSchemaTypeName(
- typeTable.getQNamefortheType(Object.class.getName()));
- sequence.getItems().add(elt1);
- methodSchemaType.setParticle(sequence);
+ /*
+ methodSchemaType = createSchemaTypeForMethodPart(getSimpleName(jMethod) + "Fault");
+ sequence = new XmlSchemaSequence();
+ XmlSchemaElement elt1 = new XmlSchemaElement();
+ elt1.setName(getSimpleName(jMethod) + "Fault");
+ elt1.setSchemaTypeName(typeTable.getQNamefortheType(Object.class.getName()));
+ sequence.getItems().add(elt1);
+ methodSchemaType.setParticle(sequence);
+ */
+// begin mj
+ JClass[] extypes = jMethod.getExceptionTypes() ;
+ for (int j= 0 ; j < extypes.length ; j++) {
+ JClass extype = extypes[j] ;
+ methodSchemaType = createSchemaTypeForMethodPart(extype.getSimpleName()+ "Fault");
+ sequence = new XmlSchemaSequence();
+ // methodSchemaType = createSchemaTypeForMethodPart(extype.getSimpleName());
+ // methodSchemaType.setParticle(sequence);
+ generateSchemaForType(sequence, extype, extype.getSimpleName());
+ methodSchemaType.setParticle(sequence);
+ }
+ // end mj
}
uniqueMethods.put(getSimpleName(jMethod), jMethod);
//create the schema type for the method wrapper
-
uniqueMethods.put(getSimpleName(jMethod), jMethod);
JParameter [] paras = jMethod.getParameters();
String parameterNames [] = null;
@@ -346,7 +357,8 @@
JClass sup = javaType.getSuperclass() ;
// AXIS2-1749 inheritance
- if ((sup != null) && !( "java.lang.Object".compareTo(sup.getQualifiedName()) == 0)) {
+ if ((sup != null) && !( "java.lang.Object".compareTo(sup.getQualifiedName()) == 0) &&
+ !("org.apache.axis2".compareTo(sup.getContainingPackage().getQualifiedName()) == 0)) {
String superClassName = sup.getQualifiedName();
String superclassname = getSimpleName(sup) ;
String tgtNamespace ;
@@ -361,7 +373,12 @@
tgtNamespacepfx = (String) targetNamespacePrefixMap.get(tgtNamespace);
}
- QName basetype = new QName(tgtNamespace,superclassname,tgtNamespacepfx) ;
+ if (tgtNamespacepfx == null) {
+ tgtNamespacepfx = generatePrefix();
+ targetNamespacePrefixMap.put(tgtNamespace, tgtNamespacepfx) ;
+ }
+
+ QName basetype = new QName(tgtNamespace,superclassname,tgtNamespacepfx) ;
complexExtension.setBaseTypeName(basetype) ;
complexExtension.setParticle(sequence) ;
@@ -505,12 +522,9 @@
elt1.setMaxOccurs(Long.MAX_VALUE);
elt1.setMinOccurs(1);
}
-
- if (String.class.getName().equals(propertyName)) {
- elt1.setNillable(true);
- }
-
-
+ if(type.isPrimitiveType() == false)
+ elt1.setNillable(true) ;
+
} else {
if (isArryType) {
generateSchema(type.getArrayComponentType());
Modified: webservices/axis2/branches/java/1_2/modules/kernel/src/org/apache/axis2/deployment/POJODeployer.java
URL: http://svn.apache.org/viewvc/webservices/axis2/branches/java/1_2/modules/kernel/src/org/apache/axis2/deployment/POJODeployer.java?view=diff&rev=531357&r1=531356&r2=531357
==============================================================================
--- webservices/axis2/branches/java/1_2/modules/kernel/src/org/apache/axis2/deployment/POJODeployer.java (original)
+++ webservices/axis2/branches/java/1_2/modules/kernel/src/org/apache/axis2/deployment/POJODeployer.java Mon Apr 23 00:16:41 2007
@@ -11,6 +11,8 @@
import org.apache.axis2.util.Loader;
import org.apache.axis2.wsdl.WSDLConstants;
import org.apache.axis2.Constants;
+import org.apache.axis2.AxisFault;
+import org.apache.axis2.i18n.Messages;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.ws.java2wsdl.AnnotationConstants;
@@ -268,6 +270,30 @@
}
public void unDeploy(String fileName) {
+ if(fileName.endsWith(".class")){
+ String className = fileName.replaceAll(".class", "");
+ try {
+ AxisServiceGroup serviceGroup =
+ configCtx.getAxisConfiguration().removeServiceGroup(className);
+ configCtx.removeServiceGroupContext(serviceGroup);
+ log.info(Messages.getMessage(DeploymentErrorMsgs.SERVICE_REMOVED,
+ fileName));
+ } catch (AxisFault axisFault) {
+ //May be a faulty service
+ configCtx.getAxisConfiguration().removeFaultyService(fileName);
+ }
+ } else if (fileName.endsWith(".jar")){
+ try {
+ AxisServiceGroup serviceGroup =
+ configCtx.getAxisConfiguration().removeServiceGroup(fileName);
+ configCtx.removeServiceGroupContext(serviceGroup);
+ log.info(Messages.getMessage(DeploymentErrorMsgs.SERVICE_REMOVED,
+ fileName));
+ } catch (AxisFault axisFault) {
+ //May be a faulty service
+ configCtx.getAxisConfiguration().removeFaultyService(fileName);
+ }
+ }
}
}
Modified: webservices/axis2/branches/java/1_2/modules/kernel/src/org/apache/axis2/deployment/util/Utils.java
URL: http://svn.apache.org/viewvc/webservices/axis2/branches/java/1_2/modules/kernel/src/org/apache/axis2/deployment/util/Utils.java?view=diff&rev=531357&r1=531356&r2=531357
==============================================================================
--- webservices/axis2/branches/java/1_2/modules/kernel/src/org/apache/axis2/deployment/util/Utils.java (original)
+++ webservices/axis2/branches/java/1_2/modules/kernel/src/org/apache/axis2/deployment/util/Utils.java Mon Apr 23 00:16:41 2007
@@ -34,6 +34,7 @@
import org.apache.ws.java2wsdl.utils.TypeTable;
import org.codehaus.jam.JAnnotation;
import org.codehaus.jam.JMethod;
+import org.codehaus.jam.JClass;
import javax.xml.namespace.QName;
import java.io.BufferedReader;
@@ -370,11 +371,21 @@
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);
+ JClass[] extypes = jmethod.getExceptionTypes() ;
+ for (int j= 0 ; j < extypes.length ; j++) {
+ AxisMessage faultMessage = new AxisMessage();
+ JClass extype = extypes[j] ;
+ String exname = extype.getSimpleName() ;
+ if(extypes.length>1){
+ faultMessage.setName(jmethod.getSimpleName() + "Fault" + j);
+ } else{
+ faultMessage.setName(jmethod.getSimpleName() + "Fault");
+ }
+ faultMessage.setElementQName(
+ table.getComplexSchemaType(exname + "Fault"));
+ operation.setFaultMessages(faultMessage);
+ }
+
}
} else {
operation = getAxisOperationforJmethod(jmethod, table);
@@ -414,11 +425,20 @@
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);
+ JClass[] extypes = jmethod.getExceptionTypes() ;
+ for (int j= 0 ; j < extypes.length ; j++) {
+ AxisMessage faultMessage = new AxisMessage();
+ JClass extype = extypes[j] ;
+ String exname = extype.getSimpleName() ;
+ if(extypes.length >1){
+ faultMessage.setName(jmethod.getSimpleName() + "Fault" + j);
+ } else {
+ faultMessage.setName(jmethod.getSimpleName() + "Fault" );
+ }
+ faultMessage.setElementQName(
+ table.getComplexSchemaType(exname + "Fault"));
+ operation.setFaultMessages(faultMessage);
+ }
}
operation.setName(new QName(opName));
AxisMessage inMessage = operation.getMessage(WSDLConstants.MESSAGE_LABEL_IN_VALUE);
Modified: webservices/axis2/branches/java/1_2/modules/samples/soapwithattachments/src/sample/soapwithattachments/client/SWAClient.java
URL: http://svn.apache.org/viewvc/webservices/axis2/branches/java/1_2/modules/samples/soapwithattachments/src/sample/soapwithattachments/client/SWAClient.java?view=diff&rev=531357&r1=531356&r2=531357
==============================================================================
--- webservices/axis2/branches/java/1_2/modules/samples/soapwithattachments/src/sample/soapwithattachments/client/SWAClient.java (original)
+++ webservices/axis2/branches/java/1_2/modules/samples/soapwithattachments/src/sample/soapwithattachments/client/SWAClient.java Mon Apr 23 00:16:41 2007
@@ -134,7 +134,8 @@
MessageContext response = mepClient
.getMessageContext(WSDLConstants.MESSAGE_LABEL_IN_VALUE);
SOAPBody body = response.getEnvelope().getBody();
- OMElement element = body.getFirstElement().getFirstChildWithName(new QName("return"));
+ OMElement element = body.getFirstElement().getFirstChildWithName(
+ new QName("http://service.soapwithattachments.sample/xsd","return"));
System.out.println(element.getText());
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: axis-cvs-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-cvs-help@ws.apache.org