You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by de...@apache.org on 2005/06/20 09:46:29 UTC
svn commit: r191415 - in
/webservices/axis/trunk/java/modules/core/src/org/apache/axis/deployment:
DeploymentEngine.java DeploymentParser.java
repository/utill/ArchiveFileData.java repository/utill/ArchiveReader.java
Author: deepal
Date: Mon Jun 20 00:46:28 2005
New Revision: 191415
URL: http://svn.apache.org/viewcvs?rev=191415&view=rev
Log:
creating service form WSDL file , the WSDL file has to be inside the MEAT-INF and name should be service.wsdl. and if it is not found then the service will be build only using service.xml
Modified:
webservices/axis/trunk/java/modules/core/src/org/apache/axis/deployment/DeploymentEngine.java
webservices/axis/trunk/java/modules/core/src/org/apache/axis/deployment/DeploymentParser.java
webservices/axis/trunk/java/modules/core/src/org/apache/axis/deployment/repository/utill/ArchiveFileData.java
webservices/axis/trunk/java/modules/core/src/org/apache/axis/deployment/repository/utill/ArchiveReader.java
Modified: webservices/axis/trunk/java/modules/core/src/org/apache/axis/deployment/DeploymentEngine.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/modules/core/src/org/apache/axis/deployment/DeploymentEngine.java?rev=191415&r1=191414&r2=191415&view=diff
==============================================================================
--- webservices/axis/trunk/java/modules/core/src/org/apache/axis/deployment/DeploymentEngine.java (original)
+++ webservices/axis/trunk/java/modules/core/src/org/apache/axis/deployment/DeploymentEngine.java Mon Jun 20 00:46:28 2005
@@ -539,6 +539,7 @@
currentArchiveFile.setClassLoader();
} catch (AxisFault axisFault) {
log.info("Setting Class Loader " +axisFault);
+ continue;
}
ArchiveReader archiveReader = new ArchiveReader();
String serviceStatus = "";
Modified: webservices/axis/trunk/java/modules/core/src/org/apache/axis/deployment/DeploymentParser.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/modules/core/src/org/apache/axis/deployment/DeploymentParser.java?rev=191415&r1=191414&r2=191415&view=diff
==============================================================================
--- webservices/axis/trunk/java/modules/core/src/org/apache/axis/deployment/DeploymentParser.java (original)
+++ webservices/axis/trunk/java/modules/core/src/org/apache/axis/deployment/DeploymentParser.java Mon Jun 20 00:46:28 2005
@@ -23,6 +23,8 @@
import org.apache.axis.engine.MessageReceiver;
import org.apache.axis.transport.TransportListener;
import org.apache.axis.transport.TransportSender;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
import javax.xml.namespace.QName;
import javax.xml.stream.XMLInputFactory;
@@ -42,6 +44,8 @@
* parse a given document
*/
public class DeploymentParser implements DeploymentConstants {
+
+ private Log log = LogFactory.getLog(getClass());
//module.xml strating tag
private static final String MODULEXMLST = "module";
// service.xml strating tag
@@ -406,7 +410,7 @@
throw new UnsupportedOperationException("Bean mapping dose not implemented yet ");
// processBeanMapping();
} else if (OPRATIONST.equals(ST)) {
- OperationDescription operation = processOperation();
+ OperationDescription operation = processOperation(axisService);
DeploymentData.getInstance().setOperationPhases(operation);
if (operation.getMessageReciever() == null) {
try {
@@ -689,16 +693,24 @@
}
}
- private OperationDescription processOperation() throws DeploymentException {
+ private OperationDescription processOperation(ServiceDescription axisService) throws DeploymentException {
// String name = pullparser.getLocalName();
- OperationDescription operation = new OperationDescription();
+ OperationDescription operation = null; //= new OperationDescription();
int attribCount = pullparser.getAttributeCount();
if (attribCount > 0) { // there should be two attributes
for (int i = 0; i < attribCount; i++) {
String attname = pullparser.getAttributeLocalName(i);
String attvalue = pullparser.getAttributeValue(i);
if (ATTNAME.equals(attname)) {
- operation.setName(new QName(attvalue));
+ if(axisService !=null){
+ operation = axisService.getOperation(attvalue);
+ }
+ if(operation == null){
+ operation = new OperationDescription();
+ operation.setName(new QName(attvalue));
+ log.info(attvalue + " Operation Name not found in WSDL");
+ }
+
} else if(MEP.equals(attname)){
operation.setMessageExchangePattern(attvalue);
}else
@@ -878,7 +890,7 @@
Flow outFlow = processOutFlow();
module.setOutFlow(outFlow);
} else if (OPRATIONST.equals(ST)) {
- OperationDescription operation = processOperation();
+ OperationDescription operation = processOperation(null);
DeploymentData.getInstance().setOperationPhases(operation);
if (operation.getMessageReciever() == null) {
try {
Modified: webservices/axis/trunk/java/modules/core/src/org/apache/axis/deployment/repository/utill/ArchiveFileData.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/modules/core/src/org/apache/axis/deployment/repository/utill/ArchiveFileData.java?rev=191415&r1=191414&r2=191415&view=diff
==============================================================================
--- webservices/axis/trunk/java/modules/core/src/org/apache/axis/deployment/repository/utill/ArchiveFileData.java (original)
+++ webservices/axis/trunk/java/modules/core/src/org/apache/axis/deployment/repository/utill/ArchiveFileData.java Mon Jun 20 00:46:28 2005
@@ -17,13 +17,20 @@
package org.apache.axis.deployment.repository.utill;
import org.apache.axis.engine.AxisFault;
+import org.apache.axis.deployment.DeploymentParser;
import javax.xml.namespace.QName;
+import javax.xml.stream.XMLStreamException;
import java.io.File;
+import java.io.FileInputStream;
+import java.io.IOException;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLClassLoader;
import java.util.ArrayList;
+import java.util.zip.ZipFile;
+import java.util.zip.ZipInputStream;
+import java.util.zip.ZipEntry;
/**
* ArchiveFileData = Hot Deployment File Item , to store infromation of the module or servise
@@ -108,7 +115,28 @@
}
urlsToLoadFrom = new URL[]{file.toURL()};
classLoader = new URLClassLoader(urlsToLoadFrom, parent);
-
+ try {
+ ZipInputStream in = new ZipInputStream(new FileInputStream(file));
+ ZipEntry entry;
+ String entryName = "";
+ while ((entry = in.getNextEntry()) != null) {
+ entryName = entry.getName();
+ if(entryName != null && entryName.startsWith("lib/") && entryName.endsWith(".jar")){
+ ClassLoader prevCl = Thread.currentThread().getContextClassLoader();
+ URL uuuu = classLoader.getResource(entryName);
+ parent =
+ URLClassLoader.newInstance(new URL[]{uuuu}, prevCl);
+ try {
+ //Thread.currentThread().setContextClassLoader(urlCl);
+ }catch(Exception e){
+ e.printStackTrace();
+ }
+ }
+ }
+ in.close();
+ } catch (IOException e) {
+ e.printStackTrace(); //To change body of catch statement use File | Settings | File Templates.
+ }
} catch (MalformedURLException e) {
throw new AxisFault(e.getMessage(), e);
} catch (Exception e) {
@@ -116,7 +144,7 @@
}
}
}
-
+
public void addModule(QName moduleName){
modules.add(moduleName);
}
Modified: webservices/axis/trunk/java/modules/core/src/org/apache/axis/deployment/repository/utill/ArchiveReader.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/modules/core/src/org/apache/axis/deployment/repository/utill/ArchiveReader.java?rev=191415&r1=191414&r2=191415&view=diff
==============================================================================
--- webservices/axis/trunk/java/modules/core/src/org/apache/axis/deployment/repository/utill/ArchiveReader.java (original)
+++ webservices/axis/trunk/java/modules/core/src/org/apache/axis/deployment/repository/utill/ArchiveReader.java Mon Jun 20 00:46:28 2005
@@ -24,6 +24,8 @@
import org.apache.axis.description.ModuleDescription;
import org.apache.axis.description.ServiceDescription;
import org.apache.axis.wsdl.builder.wsdl4j.WSDL1ToWOMBuilder;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
import java.io.*;
import java.util.zip.ZipEntry;
@@ -33,6 +35,8 @@
public class ArchiveReader implements DeploymentConstants {
+ private Log log = LogFactory.getLog(getClass());
+
public ServiceDescription createService(String filename) throws DeploymentException {
WSDL1ToWOMBuilder builder = new WSDL1ToWOMBuilder();
String strArchive = filename;
@@ -52,9 +56,10 @@
zin.close();
if (!foundwsdl) {
service = new ServiceDescription();
+ log.info("WSDL file not found for the service : " + filename);
}
} catch (Exception e) {
- throw new DeploymentException(e.getMessage());
+ throw new DeploymentException(e);
}
return service;
}