*) SOAP: adding functions to rename and move files

git-svn-id: https://svn.berlios.de/svnroot/repos/yacy/trunk@3595 6c8d7289-2bf4-0310-a012-ef5d649a1542
pull/1/head
theli 18 years ago
parent 63a004abff
commit 50e1e61fa5

@ -86,23 +86,23 @@ public class ShareService extends AbstractService {
private static final String TEMPLATE_SHARE_XML = "htdocsdefault/dir.xml"; private static final String TEMPLATE_SHARE_XML = "htdocsdefault/dir.xml";
/** /**
* @return the yacy htroot directory * @return the yacy HTDOCS directory, e.g. <code>DATA/HTDOCS</code>
* @throws AxisFault if the directory does not exist * @throws AxisFault if the directory does not exist
*/ */
private File getHtrootDir() throws AxisFault { private File getHtDocsPath() throws AxisFault {
// get htroot path // get htroot path
File htroot = new File(this.switchboard.getRootPath(), this.switchboard.getConfig("htDocsPath", "DATA/HTDOCS")); File htdocs = new File(this.switchboard.getRootPath(), this.switchboard.getConfig("htDocsPath", "DATA/HTDOCS"));
if (!htroot.exists()) throw new AxisFault("htroot directory does not exists."); if (!htdocs.exists()) throw new AxisFault("htDocsPath directory does not exists.");
return htroot; return htdocs;
} }
/** /**
* @return the yacy fileshare directory * @return the yacy fileshare directory, e.g. <code>DATA/HTDOCS/share/</code>
* @throws AxisFault if the directory does not exist * @throws AxisFault if the directory does not exist
*/ */
private File getShareDir() throws AxisFault { private File getShareDir() throws AxisFault {
File htroot = getHtrootDir(); File htdocs = getHtDocsPath();
File share = new File(htroot,"share/"); File share = new File(htdocs,"share/");
if (!share.exists()) throw new AxisFault("Share directory does not exists."); if (!share.exists()) throw new AxisFault("Share directory does not exists.");
return share; return share;
} }
@ -114,6 +114,7 @@ public class ShareService extends AbstractService {
* @return the absolut path * @return the absolut path
* *
* @throws AxisFault if the directory does not exist * @throws AxisFault if the directory does not exist
* @throws AxisFault if the directory is not a directory
* @throws AxisFault if the directory is not readable * @throws AxisFault if the directory is not readable
* @throws AxisFault if the directory path is too long * @throws AxisFault if the directory path is too long
* @throws AxisFault if the directory path is outside of the yacy share directory * @throws AxisFault if the directory path is outside of the yacy share directory
@ -122,6 +123,7 @@ public class ShareService extends AbstractService {
private File getWorkingDir(String path) throws IOException { private File getWorkingDir(String path) throws IOException {
File share = getShareDir(); File share = getShareDir();
// cut of a tailing slash
if (path != null && path.startsWith("/")) path = path.substring(1); if (path != null && path.startsWith("/")) path = path.substring(1);
// construct directory // construct directory
@ -130,9 +132,15 @@ public class ShareService extends AbstractService {
if (!workingDir.exists()) if (!workingDir.exists())
throw new AxisFault("Working directory does not exists"); throw new AxisFault("Working directory does not exists");
if (!workingDir.isDirectory())
throw new AxisFault("Working directory is not a directory");
if (!workingDir.canRead()) if (!workingDir.canRead())
throw new AxisFault("Working directory is not readable."); throw new AxisFault("Working directory is not readable.");
if (!workingDir.canWrite())
throw new AxisFault("Working directory is not writeable.");
if (workingDir.getAbsolutePath().length() > serverSystem.maxPathLength) if (workingDir.getAbsolutePath().length() > serverSystem.maxPathLength)
throw new AxisFault("Path name is too long"); throw new AxisFault("Path name is too long");
@ -144,11 +152,12 @@ public class ShareService extends AbstractService {
/** /**
* Returns a file object representing a file in the yacy fileshare directory * Returns a file object representing a file in the yacy fileshare directory
* @param workingDir the current working directory * @param workingDir the current working directory (must be a subdirectory of the share directory)
* @param workingFileName the name of the file * @param workingFileName the name of the file
* @return a file object pointing to a file or directory in the yacy fileshare directory * @return a file object pointing to a file or directory in the yacy fileshare directory
* *
* @throws NullPointerException if the filename is null * @throws NullPointerException if the filename is null
* @throws AxisFault if the file name contains (back)slashes
* @throws AxisFault if the file path is too long * @throws AxisFault if the file path is too long
* @throws AxisFault if the file path is outside the yacy share directory * @throws AxisFault if the file path is outside the yacy share directory
* @throws AxisFault if the file path is pointing to share itself * @throws AxisFault if the file path is pointing to share itself
@ -163,7 +172,7 @@ public class ShareService extends AbstractService {
// check filename for illegal characters // check filename for illegal characters
if (workingFileName != null) { if (workingFileName != null) {
if ((workingFileName.indexOf("/") != -1) || (workingFileName.indexOf("/") != -1)) if ((workingFileName.indexOf("/") != -1) || (workingFileName.indexOf("\\") != -1))
throw new AxisFault("Filename contains illegal characters."); throw new AxisFault("Filename contains illegal characters.");
} }
@ -213,6 +222,13 @@ public class ShareService extends AbstractService {
return md5File; return md5File;
} }
private void deleteFileMD5File(File theFile) throws IOException {
File md5File = getFileMD5File(theFile);
if (md5File.exists()) {
md5File.delete();
}
}
/** /**
* Generates a md5 sum of a file and store it together with an optional comment * Generates a md5 sum of a file and store it together with an optional comment
* in a special md5 file. * in a special md5 file.
@ -220,8 +236,8 @@ public class ShareService extends AbstractService {
* @param comment description of the file * @param comment description of the file
* @return an Object array containing * @return an Object array containing
* <ul> * <ul>
* <li>[0] the md5 sum of the file as byte array</li> * <li>[{@link GENMD5_MD5_ARRAY}] the md5 sum of the file as byte array</li>
* <li>[1] the md5 sum of the file as string</li> * <li>[{@link GENMD5_MD5_STRING}] the md5 sum of the file as string</li>
* </ul> * </ul>
* @throws UnsupportedEncodingException should never occur * @throws UnsupportedEncodingException should never occur
* @throws IOException if the md5 file could not be written or the source file could not be read * @throws IOException if the md5 file could not be written or the source file could not be read
@ -248,8 +264,8 @@ public class ShareService extends AbstractService {
* @param theFile the regular file-share file * @param theFile the regular file-share file
* @return an array containing * @return an array containing
* <ul> * <ul>
* <li>[0] the md5 sum of the file as string</li> * <li>[{@link FILEINFO_MD5_STRING}] the md5 sum of the file as string</li>
* <li>[1] the comment</li> * <li>[{@link FILEINFO_COMMENT}] the comment</li>
* </ul> * </ul>
* @throws IOException if the md5 file could not be read * @throws IOException if the md5 file could not be read
*/ */
@ -271,6 +287,11 @@ public class ShareService extends AbstractService {
return new String[]{md5s,description}; return new String[]{md5s,description};
} }
private String getFileComment(File theFile) throws IOException {
String[] info = getFileInfo(theFile);
return info[FILEINFO_COMMENT];
}
private String yacyhURL(yacySeed seed, String filename, String md5) throws AxisFault { private String yacyhURL(yacySeed seed, String filename, String md5) throws AxisFault {
try { try {
// getting the template class file // getting the template class file
@ -310,6 +331,59 @@ public class ShareService extends AbstractService {
} }
} }
private String getPhrase(String filename) {
return filename.replace('.', ' ').replace('_', ' ').replace('-', ' ');
}
private void indexFile(File newFile, String comment, byte[] md5b) throws IOException {
if (comment == null) comment = "";
// getting the file name
String newFileName = newFile.getName();
String phrase = this.getPhrase(newFileName);
// convert md5 sum to string
String md5s = convertMD5ArrayToString(md5b);
// index file
String urlstring = yacyhURL(yacyCore.seedDB.mySeed, newFileName, md5s);
indexPhrase(urlstring, phrase, comment, md5b);
}
private void unIndexFile(File file) throws IOException {
String filename = file.getName();
String phrase = this.getPhrase(filename);
// getting file info [0=md5s,1=comment]
String[] fileInfo = getFileInfo(file);
// delete old indexed phrases
String urlstring = yacyhURL(yacyCore.seedDB.mySeed, filename, fileInfo[FILEINFO_MD5_STRING]);
deletePhrase(urlstring, phrase, fileInfo[FILEINFO_COMMENT]);
}
private void deleteRecursive(File file) throws IOException {
if (file == null) throw new NullPointerException("File object is null");
if (!file.exists()) return;
if (!file.canWrite()) throw new IllegalArgumentException("File object can not be deleted. No write access.");
if (file.isDirectory()) {
// delete all subdirectories and files
File[] subFiles = file.listFiles();
for (int i = 0; i < subFiles.length; i++) deleteRecursive(subFiles[i]);
} else {
// unindex the file
this.unIndexFile(file);
// delete md5 file
this.deleteFileMD5File(file);
}
// delete file / directory
file.delete();
}
/** /**
* Returns a directory listing in xml format * Returns a directory listing in xml format
* @param workingDirPath a relative path within the yacy file-share * @param workingDirPath a relative path within the yacy file-share
@ -321,15 +395,12 @@ public class ShareService extends AbstractService {
// extracting the message context // extracting the message context
extractMessageContext(AUTHENTICATION_NEEDED); extractMessageContext(AUTHENTICATION_NEEDED);
// getting the relativ path // getting the htDocs and sub-directory
File htroot = getHtrootDir(); File htdocs = getHtDocsPath();
File workingDir = getWorkingDir(workingDirPath); File workingDir = getWorkingDir(workingDirPath);
if (!workingDir.exists()) throw new AxisFault("Working directory does not exist.");
if (!workingDir.canRead()) throw new AxisFault("Working directory is not readable.");
if (!workingDir.isDirectory()) throw new AxisFault("Working directory is not a directory.");
// generate the proper path for the servlet // generate the proper path for the servlet
workingDirPath = workingDir.getCanonicalPath().substring(htroot.getCanonicalPath().length()+1); workingDirPath = workingDir.getCanonicalPath().substring(htdocs.getCanonicalPath().length()+1);
if (!workingDirPath.endsWith("/")) workingDirPath = workingDirPath + "/"; if (!workingDirPath.endsWith("/")) workingDirPath = workingDirPath + "/";
// construct arguments // construct arguments
@ -359,9 +430,6 @@ public class ShareService extends AbstractService {
// getting the full path // getting the full path
File workingDir = getWorkingDir(workingDirPath); File workingDir = getWorkingDir(workingDirPath);
if (!workingDir.exists()) throw new AxisFault("Working directory does not exist.");
if (!workingDir.canWrite()) throw new AxisFault("Working directory is not writeable.");
if (!workingDir.isDirectory()) throw new AxisFault("Working directory is not a directory.");
// get the current message context // get the current message context
MessageContext msgContext = MessageContext.getCurrentContext(); MessageContext msgContext = MessageContext.getCurrentContext();
@ -391,22 +459,14 @@ public class ShareService extends AbstractService {
// getting directory to create // getting directory to create
File newFile = getWorkingFile(workingDir,newFileName); File newFile = getWorkingFile(workingDir,newFileName);
if (newFile.exists()) if (newFile.exists()) throw new AxisFault("File '" + newFileName + "' already exists");
throw new AxisFault("File '" + newFileName + "' already exists");
// copy datahandler content to file // copy datahandler content to file
serverFileUtils.copy(dh.getInputStream(),newFile); serverFileUtils.copy(dh.getInputStream(),newFile);
// generate md5 sum and write it to file // generate md5 sum and index the file
if (comment == null) comment = ""; Object[] info = generateMD5File(newFile,comment);
Object[] md5 = generateMD5File(newFile,comment); if (indexFile) indexFile(newFile,comment,(byte[]) info[GENMD5_MD5_ARRAY]);
// index file
if (indexFile) {
String urlstring = yacyhURL(yacyCore.seedDB.mySeed, newFileName, (String)md5[GENMD5_MD5_STRING]);
String phrase = newFileName.replace('.', ' ').replace('_', ' ').replace('-', ' ');
indexPhrase(urlstring, phrase, comment, (byte[])md5[GENMD5_MD5_ARRAY]);
}
} }
/** /**
@ -423,9 +483,6 @@ public class ShareService extends AbstractService {
// getting the full path // getting the full path
File workingDir = getWorkingDir(workingDirPath); File workingDir = getWorkingDir(workingDirPath);
if (!workingDir.exists()) throw new AxisFault("Working directory does not exist.");
if (!workingDir.canWrite()) throw new AxisFault("Working directory is not writeable.");
if (!workingDir.isDirectory()) throw new AxisFault("Working directory is not a directory");
// getting directory to create // getting directory to create
File newDirFile = getWorkingFile(workingDir,newDirName); File newDirFile = getWorkingFile(workingDir,newDirName);
@ -452,9 +509,6 @@ public class ShareService extends AbstractService {
// getting the full path // getting the full path
File workingDir = getWorkingDir(workingDirPath); File workingDir = getWorkingDir(workingDirPath);
if (!workingDir.exists()) throw new AxisFault("Working directory does not exist.");
if (!workingDir.canWrite()) throw new AxisFault("Working directory is not writeable.");
if (!workingDir.isDirectory()) throw new AxisFault("Working directory is not a directory");
// getting directory or file to delete // getting directory or file to delete
File fileToDelete = getWorkingFile(workingDir, nameToDelete); File fileToDelete = getWorkingFile(workingDir, nameToDelete);
@ -478,17 +532,16 @@ public class ShareService extends AbstractService {
// extracting the message context // extracting the message context
extractMessageContext(AUTHENTICATION_NEEDED); extractMessageContext(AUTHENTICATION_NEEDED);
// getting the full path // getting the working directory
File workingDir = getWorkingDir(workingDirPath); File workingDir = getWorkingDir(workingDirPath);
if (!workingDir.exists()) throw new AxisFault("Working directory does not exist.");
if (!workingDir.canRead()) throw new AxisFault("Working directory is not readable.");
if (!workingDir.isDirectory()) throw new AxisFault("Working directory is not a directory");
// getting the working file
File workingFile = getWorkingFile(workingDir,fileName); File workingFile = getWorkingFile(workingDir,fileName);
if (!workingFile.exists()) throw new AxisFault("Requested file does not exist."); if (!workingFile.exists()) throw new AxisFault("Requested file does not exist.");
if (!workingFile.canRead())throw new AxisFault("Requested file can not be read."); if (!workingFile.canRead())throw new AxisFault("Requested file can not be read.");
if (!workingFile.isFile()) throw new AxisFault("Requested file is not a file."); if (!workingFile.isFile()) throw new AxisFault("Requested file is not a file.");
// getting the md5 string and comment
String[] info = getFileInfo(workingFile); String[] info = getFileInfo(workingFile);
// get the current message context // get the current message context
@ -512,6 +565,36 @@ public class ShareService extends AbstractService {
return info[FILEINFO_MD5_STRING]; return info[FILEINFO_MD5_STRING];
} }
public void renameFile(String workingDirPath, String oldFileName, String newFileName, boolean indexFile) throws IOException {
// extracting the message context
extractMessageContext(AUTHENTICATION_NEEDED);
// getting the full path
File workingDir = getWorkingDir(workingDirPath);
// getting file
File sourceFile = getWorkingFile(workingDir,oldFileName);
if (!sourceFile.exists()) throw new AxisFault("Source file does not exist.");
if (!sourceFile.isFile()) throw new AxisFault("Source file is not a file.");
File destFile = getWorkingFile(workingDir,newFileName);
if (destFile.exists()) throw new AxisFault("Destination file already exists.");
// get the old file comment
String comment = this.getFileComment(sourceFile);
// unindex the old file and delete the old MD5 file
this.unIndexFile(sourceFile);
this.deleteFileMD5File(sourceFile);
// rename file
sourceFile.renameTo(destFile);
// generate MD5 file and index file
Object[] info = generateMD5File(destFile,comment);
if (indexFile) indexFile(destFile,comment,(byte[]) info[GENMD5_MD5_ARRAY]);
}
/** /**
* To change the comment of a file located in the yacy file-share * To change the comment of a file located in the yacy file-share
* @param workingDirPatha relative path within the yacy file-share * @param workingDirPatha relative path within the yacy file-share
@ -527,9 +610,6 @@ public class ShareService extends AbstractService {
// getting the full path // getting the full path
File workingDir = getWorkingDir(workingDirPath); File workingDir = getWorkingDir(workingDirPath);
if (!workingDir.exists()) throw new AxisFault("Working directory does not exist.");
if (!workingDir.canWrite()) throw new AxisFault("Working directory is not writeable.");
if (!workingDir.isDirectory()) throw new AxisFault("Working directory is not a directory");
// getting wroking file // getting wroking file
File workingFile = getWorkingFile(workingDir,fileName); File workingFile = getWorkingFile(workingDir,fileName);
@ -537,56 +617,43 @@ public class ShareService extends AbstractService {
if (!workingFile.canRead())throw new AxisFault("Requested file can not be read."); if (!workingFile.canRead())throw new AxisFault("Requested file can not be read.");
if (!workingFile.isFile()) throw new AxisFault("Requested file is not a file."); if (!workingFile.isFile()) throw new AxisFault("Requested file is not a file.");
// getting filename and indexing phrase // unindex file and delete MD5 file
String filename = workingFile.getName(); this.unIndexFile(workingFile);
String phrase = filename.replace('.', ' ').replace('_', ' ').replace('-', ' '); this.deleteFileMD5File(workingFile);
// getting file info [0=md5s,1=comment] // generate new MD5 file and index file
String[] info = getFileInfo(workingFile); Object[] info = generateMD5File(workingFile,comment);
if (indexFile) indexFile(workingFile,comment,(byte[]) info[GENMD5_MD5_ARRAY]);
// delete old indexed phrases }
String urlstring = yacyhURL(yacyCore.seedDB.mySeed, filename, info[FILEINFO_MD5_STRING]);
deletePhrase(urlstring, phrase, info[FILEINFO_COMMENT]);
// re-generate md5 file [0=byteArray, 1=String] public void moveFile(String sourceDirName, String destDirName, String fileName, boolean indexFile) throws IOException {
Object[] md5 = generateMD5File(workingFile,comment); // extracting the message context
extractMessageContext(AUTHENTICATION_NEEDED);
// index file // getting source and destination directory
if (indexFile) { File sourceDir = getWorkingDir(sourceDirName);
urlstring = yacyhURL(yacyCore.seedDB.mySeed, filename, (String)md5[GENMD5_MD5_STRING]); File destDir = getWorkingDir(destDirName);
indexPhrase(urlstring, phrase, comment, (byte[])md5[GENMD5_MD5_ARRAY]);
}
}
private void deleteRecursive(File file) throws IOException { // getting source and destination file
if (file == null) throw new NullPointerException("File object is null"); File sourceFile = getWorkingFile(sourceDir,fileName);
if (!file.exists()) return; if (!sourceFile.exists()) throw new AxisFault("Source file does not exist.");
if (!file.canWrite()) throw new IllegalArgumentException("File object can not be deleted. No write access."); if (!sourceFile.isFile()) throw new AxisFault("Source file is not a file.");
if (file.isDirectory()) { File destFile = getWorkingFile(destDir,fileName);
// delete all subdirectories and files if (destFile.exists()) throw new AxisFault("Destination file already exists.");
File[] subFiles = file.listFiles();
for (int i = 0; i < subFiles.length; i++) deleteRecursive(subFiles[i]);
} else {
// getting the file short name
String filename = file.getName();
int pos = file.getName().lastIndexOf("/");
if (pos != -1) filename = filename.substring(pos + 1);
// getting file info [0=md5s,1=comment] // getting the old comment
String[] info = getFileInfo(file); String comment = this.getFileComment(sourceFile);
// delete indexed phrases // unindex old file and delete MD5 file
String urlstring = yacyhURL(yacyCore.seedDB.mySeed, filename, info[FILEINFO_MD5_STRING]); this.unIndexFile(sourceFile);
String phrase = filename.replace('.', ' ').replace('_', ' ').replace('-', ' '); this.deleteFileMD5File(sourceFile);
deletePhrase(urlstring, phrase, info[FILEINFO_MD5_STRING]);
// delete md5 file // rename file
File md5File = getFileMD5File(file); sourceFile.renameTo(destFile);
if (md5File.exists()) md5File.delete();
}
// delete file / directory // index file and generate MD5
file.delete(); Object[] info = generateMD5File(destFile,comment);
if (indexFile) indexFile(destFile,comment,(byte[]) info[GENMD5_MD5_ARRAY]);
} }
} }

@ -7,161 +7,208 @@ Built on Apr 22, 2006 (06:55:48 PDT)-->
<wsdl:message name="getDirListResponse"> <wsdl:message name="getDirListResponse">
<wsdl:part name="getDirListReturn" type="apachesoap:Document"/> <wsdl:part name="getDirListReturn" type="apachesoap:Document"/>
</wsdl:message> </wsdl:message>
<wsdl:message name="moveFileRequest">
<wsdl:part name="sourceDirName" type="xsd:string"/>
<wsdl:part name="destDirName" type="xsd:string"/>
<wsdl:part name="fileName" type="xsd:string"/>
<wsdl:part name="indexFile" type="xsd:boolean"/>
</wsdl:message>
<wsdl:message name="renameFileResponse">
</wsdl:message>
<wsdl:message name="deleteResponse"> <wsdl:message name="deleteResponse">
</wsdl:message> </wsdl:message>
<wsdl:message name="uploadFileResponse"> <wsdl:message name="uploadFileResponse">
</wsdl:message>
<wsdl:message name="changeCommentResponse">
</wsdl:message> </wsdl:message>
<wsdl:message name="createNewXMLDocumentRequest"> <wsdl:message name="createNewXMLDocumentRequest">
<wsdl:part name="rootElementName" type="xsd:string"/> <wsdl:part name="rootElementName" type="xsd:string"/>
</wsdl:message> </wsdl:message>
<wsdl:message name="changeCommentResponse">
</wsdl:message>
<wsdl:message name="deleteRequest"> <wsdl:message name="deleteRequest">
<wsdl:part name="workingDirPath" type="xsd:string"/> <wsdl:part name="workingDirPath" type="xsd:string"/>
<wsdl:part name="nameToDelete" type="xsd:string"/> <wsdl:part name="nameToDelete" type="xsd:string"/>
</wsdl:message> </wsdl:message>
<wsdl:message name="getDirListRequest"> <wsdl:message name="getDirListRequest">
<wsdl:part name="workingDirPath" type="xsd:string"/> <wsdl:part name="workingDirPath" type="xsd:string"/>
</wsdl:message> </wsdl:message>
<wsdl:message name="renameFileRequest">
<wsdl:part name="workingDirPath" type="xsd:string"/>
<wsdl:part name="oldFileName" type="xsd:string"/>
<wsdl:part name="newFileName" type="xsd:string"/>
<wsdl:part name="indexFile" type="xsd:boolean"/>
</wsdl:message>
<wsdl:message name="createNewXMLDocumentResponse"> <wsdl:message name="createNewXMLDocumentResponse">
<wsdl:part name="createNewXMLDocumentReturn" type="apachesoap:Document"/> <wsdl:part name="createNewXMLDocumentReturn" type="apachesoap:Document"/>
</wsdl:message> </wsdl:message>
<wsdl:message name="uploadFileRequest"> <wsdl:message name="uploadFileRequest">
<wsdl:part name="workingDirPath" type="xsd:string"/> <wsdl:part name="workingDirPath" type="xsd:string"/>
<wsdl:part name="indexFile" type="xsd:boolean"/> <wsdl:part name="indexFile" type="xsd:boolean"/>
<wsdl:part name="comment" type="xsd:string"/> <wsdl:part name="comment" type="xsd:string"/>
</wsdl:message> </wsdl:message>
<wsdl:message name="createDirectoryResponse"> <wsdl:message name="createDirectoryResponse">
</wsdl:message> </wsdl:message>
<wsdl:message name="changeCommentRequest"> <wsdl:message name="changeCommentRequest">
<wsdl:part name="workingDirPath" type="xsd:string"/> <wsdl:part name="workingDirPath" type="xsd:string"/>
<wsdl:part name="fileName" type="xsd:string"/> <wsdl:part name="fileName" type="xsd:string"/>
<wsdl:part name="comment" type="xsd:string"/> <wsdl:part name="comment" type="xsd:string"/>
<wsdl:part name="indexFile" type="xsd:boolean"/> <wsdl:part name="indexFile" type="xsd:boolean"/>
</wsdl:message> </wsdl:message>
<wsdl:message name="getFileRequest">
<wsdl:part name="workingDirPath" type="xsd:string"/>
<wsdl:part name="fileName" type="xsd:string"/>
</wsdl:message>
<wsdl:message name="createDirectoryRequest"> <wsdl:message name="createDirectoryRequest">
<wsdl:part name="workingDirPath" type="xsd:string"/> <wsdl:part name="workingDirPath" type="xsd:string"/>
<wsdl:part name="newDirName" type="xsd:string"/> <wsdl:part name="newDirName" type="xsd:string"/>
</wsdl:message> </wsdl:message>
<wsdl:message name="getFileRequest"> <wsdl:message name="moveFileResponse">
<wsdl:part name="workingDirPath" type="xsd:string"/>
<wsdl:part name="fileName" type="xsd:string"/>
</wsdl:message> </wsdl:message>
<wsdl:portType name="ShareService">
<wsdl:operation name="delete" parameterOrder="workingDirPath nameToDelete">
<wsdl:input message="impl:deleteRequest" name="deleteRequest"/>
<wsdl:output message="impl:deleteResponse" name="deleteResponse"/>
</wsdl:operation>
<wsdl:operation name="createDirectory" parameterOrder="workingDirPath newDirName">
<wsdl:input message="impl:createDirectoryRequest" name="createDirectoryRequest"/>
<wsdl:output message="impl:createDirectoryResponse" name="createDirectoryResponse"/> <wsdl:portType name="ShareService">
</wsdl:operation>
<wsdl:operation name="getFile" parameterOrder="workingDirPath fileName">
<wsdl:input message="impl:getFileRequest" name="getFileRequest"/>
<wsdl:output message="impl:getFileResponse" name="getFileResponse"/>
</wsdl:operation>
<wsdl:operation name="getDirList" parameterOrder="workingDirPath"> <wsdl:operation name="getDirList" parameterOrder="workingDirPath">
<wsdl:input message="impl:getDirListRequest" name="getDirListRequest"/> <wsdl:input message="impl:getDirListRequest" name="getDirListRequest"/>
<wsdl:output message="impl:getDirListResponse" name="getDirListResponse"/> <wsdl:output message="impl:getDirListResponse" name="getDirListResponse"/>
</wsdl:operation> </wsdl:operation>
<wsdl:operation name="uploadFile" parameterOrder="workingDirPath indexFile comment"> <wsdl:operation name="uploadFile" parameterOrder="workingDirPath indexFile comment">
<wsdl:input message="impl:uploadFileRequest" name="uploadFileRequest"/> <wsdl:input message="impl:uploadFileRequest" name="uploadFileRequest"/>
<wsdl:output message="impl:uploadFileResponse" name="uploadFileResponse"/> <wsdl:output message="impl:uploadFileResponse" name="uploadFileResponse"/>
</wsdl:operation> </wsdl:operation>
<wsdl:operation name="renameFile" parameterOrder="workingDirPath oldFileName newFileName indexFile">
<wsdl:input message="impl:renameFileRequest" name="renameFileRequest"/>
<wsdl:output message="impl:renameFileResponse" name="renameFileResponse"/>
</wsdl:operation>
<wsdl:operation name="changeComment" parameterOrder="workingDirPath fileName comment indexFile"> <wsdl:operation name="changeComment" parameterOrder="workingDirPath fileName comment indexFile">
<wsdl:input message="impl:changeCommentRequest" name="changeCommentRequest"/> <wsdl:input message="impl:changeCommentRequest" name="changeCommentRequest"/>
<wsdl:output message="impl:changeCommentResponse" name="changeCommentResponse"/> <wsdl:output message="impl:changeCommentResponse" name="changeCommentResponse"/>
</wsdl:operation> </wsdl:operation>
<wsdl:operation name="moveFile" parameterOrder="sourceDirName destDirName fileName indexFile">
<wsdl:input message="impl:moveFileRequest" name="moveFileRequest"/>
<wsdl:output message="impl:moveFileResponse" name="moveFileResponse"/>
</wsdl:operation>
<wsdl:operation name="delete" parameterOrder="workingDirPath nameToDelete">
<wsdl:input message="impl:deleteRequest" name="deleteRequest"/>
<wsdl:output message="impl:deleteResponse" name="deleteResponse"/>
</wsdl:operation>
<wsdl:operation name="createDirectory" parameterOrder="workingDirPath newDirName">
<wsdl:input message="impl:createDirectoryRequest" name="createDirectoryRequest"/>
<wsdl:output message="impl:createDirectoryResponse" name="createDirectoryResponse"/>
</wsdl:operation>
<wsdl:operation name="getFile" parameterOrder="workingDirPath fileName">
<wsdl:input message="impl:getFileRequest" name="getFileRequest"/>
<wsdl:output message="impl:getFileResponse" name="getFileResponse"/>
</wsdl:operation>
<wsdl:operation name="createNewXMLDocument" parameterOrder="rootElementName"> <wsdl:operation name="createNewXMLDocument" parameterOrder="rootElementName">
<wsdl:input message="impl:createNewXMLDocumentRequest" name="createNewXMLDocumentRequest"/> <wsdl:input message="impl:createNewXMLDocumentRequest" name="createNewXMLDocumentRequest"/>
<wsdl:output message="impl:createNewXMLDocumentResponse" name="createNewXMLDocumentResponse"/> <wsdl:output message="impl:createNewXMLDocumentResponse" name="createNewXMLDocumentResponse"/>
</wsdl:operation> </wsdl:operation>
</wsdl:portType> </wsdl:portType>
<wsdl:binding name="shareSoapBinding" type="impl:ShareService"> <wsdl:binding name="shareSoapBinding" type="impl:ShareService">
<wsdlsoap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/> <wsdlsoap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
<wsdl:operation name="delete"> <wsdl:operation name="getDirList">
<wsdlsoap:operation soapAction=""/> <wsdlsoap:operation soapAction=""/>
<wsdl:input name="getDirListRequest">
<wsdl:input name="deleteRequest">
<wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://services.soap.anomic.de" use="encoded"/> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://services.soap.anomic.de" use="encoded"/>
</wsdl:input> </wsdl:input>
<wsdl:output name="deleteResponse">
<wsdl:output name="getDirListResponse">
<wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://yacy:8080/soap/share" use="encoded"/> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://yacy:8080/soap/share" use="encoded"/>
</wsdl:output> </wsdl:output>
</wsdl:operation> </wsdl:operation>
<wsdl:operation name="createDirectory"> <wsdl:operation name="uploadFile">
<wsdlsoap:operation soapAction=""/> <wsdlsoap:operation soapAction=""/>
<wsdl:input name="uploadFileRequest">
<wsdl:input name="createDirectoryRequest">
<wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://services.soap.anomic.de" use="encoded"/> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://services.soap.anomic.de" use="encoded"/>
</wsdl:input> </wsdl:input>
<wsdl:output name="createDirectoryResponse">
<wsdl:output name="uploadFileResponse">
<wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://yacy:8080/soap/share" use="encoded"/> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://yacy:8080/soap/share" use="encoded"/>
</wsdl:output> </wsdl:output>
</wsdl:operation> </wsdl:operation>
<wsdl:operation name="getFile"> <wsdl:operation name="renameFile">
<wsdlsoap:operation soapAction=""/> <wsdlsoap:operation soapAction=""/>
<wsdl:input name="renameFileRequest">
<wsdl:input name="getFileRequest">
<wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://services.soap.anomic.de" use="encoded"/> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://services.soap.anomic.de" use="encoded"/>
</wsdl:input> </wsdl:input>
<wsdl:output name="getFileResponse">
<wsdl:output name="renameFileResponse">
<wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://yacy:8080/soap/share" use="encoded"/> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://yacy:8080/soap/share" use="encoded"/>
</wsdl:output> </wsdl:output>
</wsdl:operation> </wsdl:operation>
<wsdl:operation name="getDirList"> <wsdl:operation name="changeComment">
<wsdlsoap:operation soapAction=""/> <wsdlsoap:operation soapAction=""/>
<wsdl:input name="changeCommentRequest">
<wsdl:input name="getDirListRequest">
<wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://services.soap.anomic.de" use="encoded"/> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://services.soap.anomic.de" use="encoded"/>
</wsdl:input> </wsdl:input>
<wsdl:output name="getDirListResponse">
<wsdl:output name="changeCommentResponse">
<wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://yacy:8080/soap/share" use="encoded"/> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://yacy:8080/soap/share" use="encoded"/>
</wsdl:output> </wsdl:output>
</wsdl:operation> </wsdl:operation>
<wsdl:operation name="uploadFile"> <wsdl:operation name="moveFile">
<wsdlsoap:operation soapAction=""/> <wsdlsoap:operation soapAction=""/>
<wsdl:input name="moveFileRequest">
<wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://services.soap.anomic.de" use="encoded"/>
</wsdl:input>
<wsdl:input name="uploadFileRequest"> <wsdl:output name="moveFileResponse">
<wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://yacy:8080/soap/share" use="encoded"/>
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="delete">
<wsdlsoap:operation soapAction=""/>
<wsdl:input name="deleteRequest">
<wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://services.soap.anomic.de" use="encoded"/> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://services.soap.anomic.de" use="encoded"/>
</wsdl:input> </wsdl:input>
<wsdl:output name="uploadFileResponse">
<wsdl:output name="deleteResponse">
<wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://yacy:8080/soap/share" use="encoded"/> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://yacy:8080/soap/share" use="encoded"/>
</wsdl:output> </wsdl:output>
</wsdl:operation> </wsdl:operation>
<wsdl:operation name="changeComment"> <wsdl:operation name="createDirectory">
<wsdlsoap:operation soapAction=""/> <wsdlsoap:operation soapAction=""/>
<wsdl:input name="createDirectoryRequest">
<wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://services.soap.anomic.de" use="encoded"/>
</wsdl:input>
<wsdl:input name="changeCommentRequest"> <wsdl:output name="createDirectoryResponse">
<wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://yacy:8080/soap/share" use="encoded"/>
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="getFile">
<wsdlsoap:operation soapAction=""/>
<wsdl:input name="getFileRequest">
<wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://services.soap.anomic.de" use="encoded"/> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://services.soap.anomic.de" use="encoded"/>
</wsdl:input> </wsdl:input>
<wsdl:output name="changeCommentResponse">
<wsdl:output name="getFileResponse">
<wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://yacy:8080/soap/share" use="encoded"/> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://yacy:8080/soap/share" use="encoded"/>
</wsdl:output> </wsdl:output>
</wsdl:operation> </wsdl:operation>
<wsdl:operation name="createNewXMLDocument"> <wsdl:operation name="createNewXMLDocument">
<wsdlsoap:operation soapAction=""/> <wsdlsoap:operation soapAction=""/>
<wsdl:input name="createNewXMLDocumentRequest"> <wsdl:input name="createNewXMLDocumentRequest">
<wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://soap.anomic.de" use="encoded"/> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://soap.anomic.de" use="encoded"/>
</wsdl:input> </wsdl:input>
<wsdl:output name="createNewXMLDocumentResponse"> <wsdl:output name="createNewXMLDocumentResponse">
<wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://yacy:8080/soap/share" use="encoded"/> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://yacy:8080/soap/share" use="encoded"/>
</wsdl:output> </wsdl:output>
</wsdl:operation> </wsdl:operation>
</wsdl:binding> </wsdl:binding>
<wsdl:service name="ShareServiceService"> <wsdl:service name="ShareServiceService">
<wsdl:port binding="impl:shareSoapBinding" name="share"> <wsdl:port binding="impl:shareSoapBinding" name="share">
<wsdlsoap:address location="http://yacy:8080/soap/share"/> <wsdlsoap:address location="http://yacy:8080/soap/share"/>
</wsdl:port> </wsdl:port>
</wsdl:service> </wsdl:service>
</wsdl:definitions> </wsdl:definitions>
Loading…
Cancel
Save