Ftp lcd problem
my server is a win2008 r2 server
i have a script which runs fine vs another 2008 server but when i change the lcd command to be versus a 2102r2 server I get
ftp> lcd \\iba-reuters\afp
\\iba-reuters\afp: File not found
via the run cmd it connects with no problems so the share is accessable and there is no name resolution problem
any ideas how t get this working?
thanx
david
it looks like you can't lcd to the top directory under a share. when i lcd to a sub-directory I manage to connect
Similar Messages
-
Hello,
I have read lots of threads for FTP receiver problems wiht overwriting files....
But I am not sure which is the correct solution.
We have:
- Cluster (6nodes), PI711 (SP03)
- a time stamp shoudl be in the file name
- there is dynamice filename, because first char of the filename must be set from mapping
- each mesasge must be put in a single file (not APPEND mode)
After few test it seems that files are overwriten.
I tried ADD MESSAGEID, which seems to work correctly, but with dynamic filenametimestampmsgid the filename is to long for the next application.
I saw in a note, that the cluster can be the problem....
Any idea how I can solve my problem?
Does "use temporaly filename" help?
How is it used correctly????
best reagrds
WernerHi Werner,
In Processing Parameters tab, keep the file construction mode as "Add timestamp" and in the Putfile use" Use Temporary file". This should help you...
Refer the below link regarding Configuring the Receiver FTP Adapter
http://help.sap.com/saphelp_nwpi711/helpdata/en/44/69d7cfa4b633eae10000000a1553f6/content.htm
Thanks, -
Lenovo ThinkPad T61 14,1" LCD problem
Hi, LCD in my T61 14,1" with nVidia graphics (T61 7664-18G) has failed - I attached an image. External LCD is 100% OK, just internal have this problem (like image in fog, bad readable). I try to replace LCD - problem is still there. What can be the solution? LCD cable, invertor, or it is a nVidia problem (but really just internal LCD problem)? Thanks for help.
Internal LCD (like in fog, no readable text - or very bad):
Link to picture
External LCD (vertical lines just in photo, everything is 100% OK):
Link to picture
Moderator note; picture(s) totalling >50K converted to link(s) Forum Rulesxsuchy09 wrote:
Buy new/used mainboard with integrated Intel graphics (external display in dock width 1920x1200 will not be problem, second display with same resolution will be ok with intel graphic too I think, or?)? Buy another T61/T400 with Intel graphics (because of compatibility and old style keyboard) It is used only for programming, I think that I don't need graphics performance ... Are parts from T61 with nVidia graphics full compatible with parts with Intel graphics (when I will go this way I will have some replacement parts )? Or is it compatible T61 14,1" and T400 in main parts? What will be the best choice? Performance of T61 is sufficient for development of web applications etc.
If you don't need graphic performance and the T61 performance is enough for you I would buy an Intel T61 planar and replace the Nvidia one. RAM and CPU are compatible, but you will need an integrated heatsink since it's different than the discrete one you have now. I can't comment about driving two monitors, I guess you now use both VGA and DVI ports, right?
You can also re-use your hard drive or SSD and WLAN card.
If you go the T400 way (or even T410, it also has a non chiclet keyboard) you will be able to reuse the hard drive/ssd. RAM is not compatible! (DDR3 instead of DDR2)
Hope this helps!
Cheers
/L40SX/240/240X/2*340CSE/360PE/365XD/380D/380E/380XD/380Z/390/560E/560X/2*570/2*600/600E/750Cs/755C/760CD/760EL/760XD/770E/A20p/A22p
A31/i1600/G40/R50p/R61i/S30/SL510/2*T22/4*T4x/11*T6x/6*T4x0x/6*T5x0/3*W5x0/W700/3*X2x/4*X3x/3*X4x/5*X6x/3*X6xT/10*X2xx/2*X200T/4*X30x/Z60m/3*Z61x
Comunidad en Español English Community Deutsche Community Русскоязычное Сообщество -
LCD Problems w/ Indigo 366MHz
I have an Indigo iBook that I bought of off eBay.
I haven't had any problems with it until recently. I notice that certain shades of gray on the screen (notably the gray border on the OS9 start up "box" with the smiling Mac logo when it is starting up), and once it gets to the desktop, certain pixels "flash" green/blue. They are mostly all in the same area, but can be spread out depending on the number of colors that are shown (256 grays shows a LOT of them).
Would this be an LCD problem, an inverter problem, or a cable problem?
I'm leaning towards a cable problem, as the pixels that flash change whenever the monitor gets "re-initialized" (the screen blinks, changing color and/or resolutions). It is also only noticeable on certain colors.
I am comfortable with replacing the parts myself, I just don't want to waste money on something that will most likely not solve the problem.
If it matters, I am running OS 9.2.2 with 256MB of RAM, with a 10GB (stock, as far as I know) hard drive.in general - if you change the whole display assembly, it will work with (nearly) any configuration. Once i came across a display that was only willing to work with a firewire Clamshell and refused to work in a 300MHz model, but i think that was bad luck because in three dozen of other switches that had been no problem.
It is nearly impossible to get spanking new display panels for the Clamshells because the 800x600 resolution has been long out of date.
So all you can get is a used one, and it is hard to tell if the one you're buying is good or not.
The display gets darker after some thousand hours of use because of the neon tube (CCFL) which lights up the display is getting older. You will see darker spots in the corners, and it will be no bright as before.
You can change the CCFL and renew your panel if it is stll working- i havn't tried this yet.
If it helps i can provide a link that contains my personal list of shops with spare parts:
http://www.ibook-clamshell.de/content/view/109/lang,en/ -
Hi there, I have a T23 that's developed an LCD problem. I've connected it to an external monitor, which works fine, and I guess it's worth mentioning that the LCD is not totally 100% black, but you can just barely make out the shapes of whatever is on the screen. My question is, does that seem like something that needs the screen replaced, or is it worth taking it apart to check for loose LCD ribbon cable, inverter board or plug going to the CCFL before I go to the expense of buying a spare LCD?
Thanks in advance for any help!It's either your backlight (CCFL tube within the LCD) or your motherboard. I'd be putting my money on CCFL, which can be replaced, but it's a tricky job if you've never done it. I know that I wouldn't want to do it myself again.
If your LCD is a regular XGA (1024x768) it might be easier to get the complete used one from eBay for a few Euros. If it's SXGA+ (1400x1050) I'd suggest going through the trouble of having the backlight replaced, because these are fairly rare and valuable.
Good luck and let us know.
Cheers,
George
In daily use: R60F, R500F, T61, T410
Collecting dust: T60
Enjoying retirement: A31p, T42p,
Non-ThinkPads: Panasonic CF-31 & CF-52, HP 8760W
Starting Thursday, 08/14/2014 I'll be away from the forums until further notice. Please do NOT send private messages since I won't be able to read them. Thank you. -
after dismantling the iphone 3gs and reassmble it again i got a white screen, i would like to spot the problem if it is a cable problem or an LCD problem?
Steps for iPhone white screen, #1 Reset. If fixed done. If the screen becomes normal, but then again goes back to white screen, fix is new LCD Display. If remains continuous white screen after Reset, then the problem could be Logic Board or LCD Display, in this situation try a new LCD Display hoping it will fix issue, but will not if problem is Logic Board fault.
Before opening and during all repair of iPhone 3GS make sure it is OFF. This is why you now have a White Screen, try not to make that mistake again. -
Getting file from ftp server problem.
Anyone can tell me what's wrong with my code.
I try to get Test.txt from my ftp server with this coding :
public class FTPClient{
public static final void main(String[] args) throws Exception
{ try {
URL url = new URL("ftp://user:password@myhost:21/MyFiles/Test.txt");
URLConnection c = url.openConnection();
BufferedReader r = new BufferedReader(new InputStreamReader(c.getInputStream()));
String l = null;
while ( (l = r.readLine()) != null)
System.out.println(l);
catch (Exception e)
System.out.println("Uh oh, got an IOException error!");
e.printStackTrace();
But i get the following error :
sun.net.ftp.FtpProtocolException: PORT :
at sun.net.ftp.FtpClient.openDataConnection(FtpClient.java:435)
at sun.net.ftp.FtpClient.get(FtpClient.java:550)
at sun.net.www.protocol.ftp.FtpURLConnection.getInputStream(FtpURLConnection.java:382)
at FTPClient.main(FTPClient.java:8)
Can somebody help me,
What's worng with my coding..?
Thanks,I delete the :21 from my code but the same error occured.
I also try this code
FtpClient ftpClient = new FtpClient();
String host ="10.10.10.237";
String username="username";
String password="password";
try
ftpClient.openServer(host); // connect to FTP server
ftpClient.login(username, password); // login
ftpClient.cd("TestFTP");
ftpClient.binary();
InputStream is = ftpClient.get("Test.txt");
ftpClient.closeServer(); //close connectionand I got the same error
sun.net.ftp.FtpProtocolException: PORT :
at sun.net.ftp.FtpClient.openDataConnection(FtpClient.java:435)
at sun.net.ftp.FtpClient.get(FtpClient.java:550)
at Client.main(Client.java:19)
I dont know what is the problem.. I've try to find information about this error on the net, but cannot find anything that can help me... -
Mini - DVI/HDMI - Onkyo TX-SR674 - Philips 42" LCD | Problem
OK, I just got my new Mini (1.66 Core Duo) to hook up to my Philips 42" 1080P HDTV LCD. I have the video signal going via a DVI to HDMI cable through my Onkyo TX-SR674 Receiver. The reason for this setup is that the Onkyo receiver controls my video switching and sends the video signal through only one HDMI cable to the TV. That way with one press, I switch audio and video signal at the same time.
Well, the Mini works great with this setup... until... I start up Safari. As soon as Safari starts, I lose the video signal. I can run iTunes, System Utilities and it doesn't cause this problem. The video signal flickered a bit during a repair of permissions, but as soon as Safari brings up the Apple page, I lose the signal.
My video res is setup at 1920x1200, 60 Hz.
Any idea why this is happening. What in the Safari browser would cause the video signal to all of the sudden freak out?
Thanks!
Mac OS X (10.4.9)OK, I had no problems with a direct hookup to my TV and bypass the TX-SR674, but I was not satisfied with that solution!
I found other programs and not just certain webpages in Safari that caused the display to freakout in the old mode, too.
I downloaded and installed switchResX and it had two (2) 1920x1080x60 resolutions listed. When I choose the other 1920x1080x60 resolution, it works fine. Doesn't freak out. Not sure what is different about the second setting, but so far it seems to work OK.
If worse comes to worse, I could always lower the resolution and just have the TX-S674 upscale it to 1080 for me. I may do this eventually anyway since everything on the screen is a bit too small to read from my couch. Not sure on that yet.
But anyways, just thought I'd report back on my results. Thanks! -
Business Objects Enterprise 11.5 FTP Transfer Problem
Hello,
Hopefully someone out there will be familiar with the issue I'm having and be able to provide a solution.
We are running Business Objects Enterprise 11.5 on our Windows 2003 server. I've created and scheduled a job on the server that creates an XLS file containing loan portfolio data that is to be transmitted to a third party client on a monthly basis.
The problem centers around the method of transfer, which is via FTP to a secure site hosted by the client. When executed through Crystal, the FTP actually does achieve a successful login using the credentials the client provided (we have verified this repeatedly by looking at the logs), but the client's server "kicks out" when we attempt any operation on it.
A similar result was produced when we attempted to FTP to the site via the Windows command line. The login was successful, but even a simple command to view the directory "dir" resulted in the connection being rejected. To make a long story short, after reviewing the issue extensively with the client's technical department, our conclusion was that the problem was the result of the FTP sending in "active" mode instead of "passive". We confirmed this by installing a freeware FileZilla on the same server, and switching between active and passive modes (active failed, passive did not).
Their tech people recommended that we contact SAP to get answers to two questions, which I'm hoping someone out there may know:
1) How does Business Objects Enterprise 11.5 execute the FTP process? Is it using its own native logic or simply invoking the command line?
2) Is there any setting with the console that would enable us to modify the FTP settings to send force it to send in passive mode?
Thanks.Hi,
This is a known limitation. BO only supports active mode for FTP. Refer 1782115 - Which FTP mode is supported as a schedule or publication destination for reference.
If you are able to write a batch file or a program object to transfer a file from a file location to Client FTP, you can try the below workaround.
1. Add the script\batch file as a program object in BO. In the script make sure you include the code to delete the instance after it is successfully transmitted through FTP.
2. Create a File event pointing to the location along with the name of the instance.
3. Schedule the report to the file location with the specific instance name.
4. Schedule the program object based on the file event you created in step 2.
Hope this helps.
Regards
Chinmaya -
Hi I am using a ftp class (known as FTPConnection) that i found on this site: http://www.nsftools.com/tips/JavaFtp.htm , and they only have an example of how to download a File through FTP and not upload one. I am in the proccess of making an FTP upload applet, and need some help on getting upload to work. I also need it to work on both a Pc and mac, so that may be attributing to the problem becuase i am currently on a mac which uses file:// instead of C:\\. Ill post the ftp class, and a snippet of my code that tries to upload a selected file.
FTPConnection
/* <!-- in case someone opens this in a browser... --> <pre> */
* File: FTPConnection.java
* Author: Bret Taylor <[email protected]>
* URL: http://www.stanford.edu/~bstaylor/cs/ftpconnection/FTPConnection.java.shtml
* see also <a href="http://www.nsftools.com/tips/JavaFtp.htm">http://www.nsftools.com/tips/JavaFtp.htm</a>
* $Id$
* Parts of this code were adopted from a variety of other FTP classes the
* author has encountered that he was not completely satisfied with. If you
* think more thanks are due to any particular author than is given, please
* let him know. With that caveat, this class can be freely distributed and
* modified as long as Bret Taylor is given credit in the source code comments.
* Modified by Julian Robichaux -- http://www.nsftools.com
* Added constructors, logout(), listFiles(), listSubdirectories(), getAndParseDirList(),
* processFileListCommand(), and overloaded getFullServerReply().
* Also added StringBuffer parameter options to transferData() and executeDataCommand()
* and did a few other little things.
import java.io.*;
import java.net.*;
import java.util.*;
* <p>A wrapper for the network and command protocols needed for the most common
* FTP commands. Standard usage looks something like this:</p>
* <pre> FTPConnection connection = new FTPConnection();
* try {
* if (connection.connect(host)) {
* if (connection.login(username, password)) {
* connection.downloadFile(serverFileName);
* connection.uploadFile(localFileName);
* connection.disconnect();
* } catch (UnknownHostException e) {
* // handle unknown host
* } catch (IOException e) {
* // handle I/O exception
* }</pre>
* <p>Most FTP commands are wrapped by easy-to-use methods, but in case clients
* need more flexibility, you can execute commands directly using the methods
* <a href="#executeCommand(java.lang.String)">executeCommand</a> and
* <a href="#executeDataCommand(java.lang.String,
* java.io.OutputStream)">executeDataCommand</a>,
* the latter of which is used for commands that require an open data port.</p>
* @author Bret Taylor
* @author Julian Robichaux
* @version 1.01
public class FTPConnection extends Object {
* If this flag is on, we print out debugging information to stdout during
* execution. Useful for debugging the FTP class and seeing the server's
* responses directly.
private static boolean PRINT_DEBUG_INFO = false;
* The socket through which we are connected to the FTP server.
private Socket connectionSocket = null;
private String username;
private String password;
private String host;
* The socket output stream.
private PrintStream outputStream = null;
* The socket input stream.
private BufferedReader inputStream = null;
* The offset at which we resume a file transfer.
private long restartPoint = 0L;
* Added by Julian: If this flag is on, we're currently logged in to something.
private boolean loggedIn = false;
* Added by Julian: This is the line terminator to use for multi-line responses.
public String lineTerm = "\n";
* Added by Julian: This is the size of the data blocks we use for transferring
* files.
private static int BLOCK_SIZE = 4096;
* Added by Julian: After you create an FTPConnection object, you will call the
* connect() and login() methods to access your server. Please don't forget to
* logout() and disconnect() when you're done (it's only polite...).
public FTPConnection ()
// default constructor (obviously) -- this is just good to have...
* Added by Julian: Allows you to specify if you want to send debug output to
* the console (true if you do, false if you don't).
public FTPConnection (boolean debugOut)
PRINT_DEBUG_INFO = debugOut;
public FTPConnection (String user, String pw, String host_)
username=user;
password=pw;
host=host_;
PRINT_DEBUG_INFO = false;
* Prints debugging information to stdout if the private flag
* <code>PRINT_DEBUG_INFO</code> is turned on.
private void debugPrint(String message) {
if (PRINT_DEBUG_INFO) System.err.println(message);
* Connects to the given FTP host on port f, the default FTP port.
public boolean connect(String host)
throws UnknownHostException, IOException
return connect(host, 21);
* Connects to the given FTP host on the given port.
public boolean connect(String host, int port)
throws UnknownHostException, IOException
connectionSocket = new Socket(host, port);
connectionSocket.setSoTimeout(10000);
outputStream = new PrintStream(connectionSocket.getOutputStream());
inputStream = new BufferedReader(new
InputStreamReader(connectionSocket.getInputStream()));
if (!isPositiveCompleteResponse(getServerReply())){
disconnect();
return false;
return true;
* Disconnects from the host to which we are currently connected.
static boolean URLexists(String URLName)
try
HttpURLConnection.setFollowRedirects(false);
// note : you may also need
// HttpURLConnection.setInstanceFollowRedirects(false)
HttpURLConnection con =
(HttpURLConnection) new URL(URLName).openConnection();
con.setRequestMethod("HEAD");
return (con.getResponseCode() == HttpURLConnection.HTTP_OK);
catch (Exception e)
e.printStackTrace();
return false;
public String getSimpleFileName(File f)
String path=f.getPath();
String fileName=path.replace("\\", "/");
int slashPos = fileName.lastIndexOf("/");
fileName=fileName.substring(slashPos+1);
return fileName;
public String verifyFileName(String name)
int count=0;
//String url="http://chris-malcolm.com/images/"+URLEncoder.encode(name).replace("+", "%20");
while (URLexists("http://chris-malcolm.com/images/"+URLEncoder.encode(name).replace("+", "%20"))==true)
count++;
name=FileExt(name)[0]+"-"+count+"."+FileExt(name)[1];
return name;
public String[] FileExt(String fileName)
int dotPos = fileName.lastIndexOf(".");
fileName=fileName.replace("\\", "/");
int slashPos = fileName.lastIndexOf("/");
String extension, name;
if (slashPos==fileName.length()-1)
fileName=fileName.substring(0, fileName.length()-1);
slashPos=fileName.lastIndexOf("/");
extension="/";
name=fileName.substring(slashPos+1);
else if(dotPos==-1)
name=fileName.substring(slashPos+1);
extension="";
else
extension = fileName.substring(dotPos+1);
name=fileName.substring(slashPos+1, dotPos);
String[] output={name, extension};
return output;
String[] output={name, extension};
return output;
public void disconnect()
if (outputStream != null) {
try {
if (loggedIn) { logout(); };
outputStream.close();
inputStream.close();
connectionSocket.close();
} catch (IOException e) {}
outputStream = null;
inputStream = null;
connectionSocket = null;
* Wrapper for the commands <code>user [username]</code> and <code>pass
* [password]</code>.
public boolean login(String username, String password)
throws IOException
int response = executeCommand("user " + username);
if (!isPositiveIntermediateResponse(response)) return false;
response = executeCommand("pass " + password);
loggedIn = isPositiveCompleteResponse(response);
return loggedIn;
* Added by Julian: Logout before you disconnect (this is good form).
public boolean logout()
throws IOException
int response = executeCommand("quit");
loggedIn = !isPositiveCompleteResponse(response);
return !loggedIn;
* Wrapper for the command <code>cwd [directory]</code>.
public boolean changeDirectory(String directory)
throws IOException
int response = executeCommand("cwd " + directory);
return isPositiveCompleteResponse(response);
* Wrapper for the commands <code>rnfr [oldName]</code> and <code>rnto
* [newName]</code>.
public boolean renameFile(String oldName, String newName)
throws IOException
int response = executeCommand("rnfr " + oldName);
if (!isPositiveIntermediateResponse(response)) return false;
response = executeCommand("rnto " + newName);
return isPositiveCompleteResponse(response);
* Wrapper for the command <code>mkd [directory]</code>.
public boolean makeDirectory(String directory)
throws IOException
int response = executeCommand("mkd " + directory);
return isPositiveCompleteResponse(response);
* Wrapper for the command <code>rmd [directory]</code>.
public boolean removeDirectory(String directory)
throws IOException
int response = executeCommand("rmd " + directory);
return isPositiveCompleteResponse(response);
* Wrapper for the command <code>cdup</code>.
public boolean parentDirectory()
throws IOException
int response = executeCommand("cdup");
return isPositiveCompleteResponse(response);
* Wrapper for the command <code>dele [fileName]</code>.
public boolean deleteFile(String fileName)
throws IOException
int response = executeCommand("dele " + fileName);
return isPositiveCompleteResponse(response);
* Wrapper for the command <code>pwd</code>.
public String getCurrentDirectory()
throws IOException
String response = getExecutionResponse("pwd");
StringTokenizer strtok = new StringTokenizer(response);
// Get rid of the first token, which is the return code
if (strtok.countTokens() < 2) return null;
strtok.nextToken();
String directoryName = strtok.nextToken();
// Most servers surround the directory name with quotation marks
int strlen = directoryName.length();
if (strlen == 0) return null;
if (directoryName.charAt(0) == '\"') {
directoryName = directoryName.substring(1);
strlen--;
if (directoryName.charAt(strlen - 1) == '\"')
return directoryName.substring(0, strlen - 1);
return directoryName;
* Wrapper for the command <code>syst</code>.
public String getSystemType()
throws IOException
return excludeCode(getExecutionResponse("syst"));
* Wrapper for the command <code>mdtm [fileName]</code>. If the file does
* not exist, we return -1;
public long getModificationTime(String fileName)
throws IOException
String response = excludeCode(getExecutionResponse("mdtm " + fileName));
try {
return Long.parseLong(response);
} catch (Exception e) {
return -1L;
* Wrapper for the command <code>size [fileName]</code>. If the file does
* not exist, we return -1;
public long getFileSize(String fileName)
throws IOException
String response = excludeCode(getExecutionResponse("size " + fileName));
try {
return Long.parseLong(response);
} catch (Exception e) {
return -1L;
* Wrapper for the command <code>retr [fileName]</code>.
public boolean downloadFile(String fileName)
throws IOException
return readDataToFile("retr " + fileName, fileName);
* Wrapper for the command <code>retr [serverPath]</code>. The local file
* path to which we will write is given by <code>localPath</code>.
public boolean downloadFile(String serverPath, String localPath)
throws IOException
return readDataToFile("retr " + serverPath, localPath);
* Wrapper for the command <code>stor [fileName]</code>.
public boolean uploadFile(String fileName)
throws IOException
return writeDataFromFile("stor " + fileName, fileName);
* Wrapper for the command <code>stor [localPath]</code>. The server file
* path to which we will write is given by <code>serverPath</code>.
public boolean uploadFile(String serverPath, String localPath)
throws IOException
return writeDataFromFile("stor " + serverPath, localPath);
* Set the restart point for the next download or upload operation. This
* lets clients resume interrupted uploads or downloads.
public void setRestartPoint(int point)
restartPoint = point;
debugPrint("Restart noted");
* Gets server reply code from the control port after an ftp command has
* been executed. It knows the last line of the response because it begins
* with a 3 digit number and a space, (a dash instead of a space would be a
* continuation).
private int getServerReply()
throws IOException
return Integer.parseInt(getFullServerReply().substring(0, 3));
* Gets server reply string from the control port after an ftp command has
* been executed. This consists only of the last line of the response,
* and only the part after the response code.
private String getFullServerReply()
throws IOException
String reply;
do {
reply = inputStream.readLine();
debugPrint(reply);
} while(!(Character.isDigit(reply.charAt(0)) &&
Character.isDigit(reply.charAt(1)) &&
Character.isDigit(reply.charAt(2)) &&
reply.charAt(3) == ' '));
return reply;
* Added by Julian: Returns the last line of the server reply, but also
* returns the full multi-line reply in a StringBuffer parameter.
private String getFullServerReply(StringBuffer fullReply)
throws IOException
String reply;
fullReply.setLength(0);
do {
reply = inputStream.readLine();
debugPrint(reply);
fullReply.append(reply + lineTerm);
} while(!(Character.isDigit(reply.charAt(0)) &&
Character.isDigit(reply.charAt(1)) &&
Character.isDigit(reply.charAt(2)) &&
reply.charAt(3) == ' '));
// remove any trailing line terminators from the fullReply
if (fullReply.length() > 0)
fullReply.setLength(fullReply.length() - lineTerm.length());
return reply;
* Added by Julian: Gets a list of files in the current directory.
public String listFiles()
throws IOException
return listFiles("");
* Added by Julian: Gets a list of files in either the current
* directory, or one specified as a parameter. The 'params' parameter
* can be either a directory name, a file mask, or both (such as
* '/DirName/*.txt').
public String listFiles(String params)
throws IOException
StringBuffer files = new StringBuffer();
StringBuffer dirs = new StringBuffer();
if (!getAndParseDirList(params, files, dirs))
debugPrint("Error getting file list");
return files.toString();
* Added by Julian: Gets a list of subdirectories in the current directory.
public String listSubdirectories()
throws IOException
return listSubdirectories("");
* Added by Julian: Gets a list of subdirectories in either the current
* directory, or one specified as a parameter. The 'params' parameter
* can be either a directory name, a name mask, or both (such as
* '/DirName/Sub*').
public String listSubdirectories(String params)
throws IOException
StringBuffer files = new StringBuffer();
StringBuffer dirs = new StringBuffer();
if (!getAndParseDirList(params, files, dirs))
debugPrint("Error getting dir list");
return dirs.toString();
* Added by Julian: Sends and gets the results of a file list command,
* like LIST or NLST.
private String processFileListCommand(String command)
throws IOException
StringBuffer reply = new StringBuffer();
String replyString;
// file listings require you to issue a PORT command,
// like a file transfer
boolean success = executeDataCommand(command, reply);
if (!success)
return "";
replyString = reply.toString();
// strip the trailing line terminator from the reply
if (reply.length() > 0)
return replyString.substring(0, reply.length() - 1);
} else {
return replyString;
* Added by Julian: Gets a directory list from the server and parses
* the elements into a list of files and a list of subdirectories.
private boolean getAndParseDirList(String params, StringBuffer files, StringBuffer dirs)
throws IOException
// reset the return variables (we're using StringBuffers instead of
// Strings because you can't change a String value and pass it back
// to the calling routine -- changing a String creates a new object)
files.setLength(0);
dirs.setLength(0);
// get the NLST and the LIST -- don't worry if the commands
// don't work, because we'll just end up sending nothing back
// if that's the case
String shortList = processFileListCommand("nlst " + params);
String longList = processFileListCommand("list " + params);
// tokenize the lists we got, using a newline as a separator
StringTokenizer sList = new StringTokenizer(shortList, "\n");
StringTokenizer lList = new StringTokenizer(longList, "\n");
// other variables we'll need
String sString;
String lString;
// assume that both lists have the same number of elements
while ((sList.hasMoreTokens()) && (lList.hasMoreTokens())) {
sString = sList.nextToken();
lString = lList.nextToken();
if (lString.length() > 0)
if (lString.startsWith("d"))
dirs.append(sString.trim() + lineTerm);
debugPrint("Dir: " + sString);
} else if (lString.startsWith("-")) {
files.append(sString.trim() + lineTerm);
debugPrint("File: " + sString);
} else {
// actually, symbolic links will start with an "l"
// (lowercase L), but we're not going to mess with
// those
debugPrint("Unknown: " + lString);
// strip off any trailing line terminators and return the values
if (files.length() > 0) { files.setLength(files.length() - lineTerm.length()); }
if (dirs.length() > 0) { dirs.setLength(dirs.length() - lineTerm.length()); }
return true;
* Executes the given FTP command on our current connection, returning the
* three digit response code from the server. This method only works for
* commands that do not require an additional data port.
public int executeCommand(String command)
throws IOException
outputStream.println(command);
return getServerReply();
* Executes the given FTP command on our current connection, returning the
* last line of the server's response. Useful for commands that return
* one line of information.
public String getExecutionResponse(String command)
throws IOException
outputStream.println(command);
return getFullServerReply();
* Executes the given ftpd command on the server and writes the results
* returned on the data port to the file with the given name, returning true
* if the server indicates that the operation was successful.
public boolean readDataToFile(String command, String fileName)
throws IOException
// Open the local file
RandomAccessFile outfile = new RandomAccessFile(fileName, "rw");
// Do restart if desired
if (restartPoint != 0) {
debugPrint("Seeking to " + restartPoint);
outfile.seek(restartPoint);
// Convert the RandomAccessFile to an OutputStream
FileOutputStream fileStream = new FileOutputStream(outfile.getFD());
boolean success = executeDataCommand(command, fileStream);
outfile.close();
return success;
* Executes the given ftpd command on the server and writes the contents
* of the given file to the server on an opened data port, returning true
* if the server indicates that the operation was successful.
public boolean writeDataFromFile(String command, String fileName)
throws IOException
// Open the local file
RandomAccessFile infile = new RandomAccessFile(fileName, "r");
// Do restart if desired
if (restartPoint != 0) {
debugPrint("Seeking to " + restartPoint);
infile.seek(restartPoint);
// Convert the RandomAccessFile to an InputStream
FileInputStream fileStream = new FileInputStream(infile.getFD());
boolean success = executeDataCommand(command, fileStream);
infile.close();
return success;
* Executes the given ftpd command on the server and writes the results
* returned on the data port to the given OutputStream, returning true
* if the server indicates that the operation was successful.
public boolean executeDataCommand(String command, OutputStream out)
throws IOException
// Open a data socket on this computer
ServerSocket serverSocket = new ServerSocket(0);
if (!setupDataPort(command, serverSocket)) return false;
Socket clientSocket = serverSocket.accept();
// Transfer the data
InputStream in = clientSocket.getInputStream();
transferData(in, out);
// Clean up the data structures
in.close();
clientSocket.close();
serverSocket.close();
return isPositiveCompleteResponse(getServerReply());
* Executes the given ftpd command on the server and writes the contents
* of the given InputStream to the server on an opened data port, returning
* true if the server indicates that the operation was successful.
public boolean executeDataCommand(String command, InputStream in)
throws IOException
// Open a data socket on this computer
ServerSocket serverSocket = new ServerSocket(0);
if (!setupDataPort(command, serverSocket)) return false;
Socket clientSocket = serverSocket.accept();
// Transfer the data
OutputStream out = clientSocket.getOutputStream();
transferData(in, out);
// Clean up the data structures
out.close();
clientSocket.close();
serverSocket.close();
return isPositiveCompleteResponse(getServerReply());
* Added by Julian: Executes the given ftpd command on the server
* and writes the results returned on the data port to the given
* StringBuffer, returning true if the server indicates that the
* operation was successful.
public boolean executeDataCommand(String command, StringBuffer sb)
throws IOException
// Open a data socket on this computer
ServerSocket serverSocket = new ServerSocket(0);
if (!setupDataPort(command, serverSocket)) return false;
Socket clientSocket = serverSocket.accept();
// Transfer the data
InputStream in = clientSocket.getInputStream();
transferData(in, sb);
// Clean up the data structures
in.close();
clientSocket.close();
serverSocket.close();
return isPositiveCompleteResponse(getServerReply());
* Transfers the data from the given input stream to the given output
* stream until we reach the end of the stream.
private void transferData(InputStream in, OutputStream out)
throws IOException
byte b[] = new byte[BLOCK_SIZE];
int amount;
// Read the data into the file
while ((amount = in.read(b)) > 0) {
out.write(b, 0, amount);
* Added by Julian: Transfers the data from the given input stream
* to the given StringBuffer until we reach the end of the stream.
private void transferData(InputStream in, StringBuffer sb)
throws IOException
byte b[] = new byte[BLOCK_SIZE];
int amount;
// Read the data into the StringBuffer
while ((amount = in.read(b)) > 0) {
sb.append(new String(b, 0, amount));
* Executes the given ftpd command on the server and writes the results
* returned on the data port to the given FilterOutputStream, returning true
* if the server indicates that the operation was successful.
private boolean setupDataPort(String command, ServerSocket serverSocket)
throws IOException
// Send our local data port to the server
if (!openPort(serverSocket)) return false;
// Set binary type transfer
outputStream.println("type i");
if (!isPositiveCompleteResponse(getServerReply())) {
debugPrint("Could not set transfer type");
return false;
// If we have a restart point, send that information
if (restartPoint != 0) {
outputStream.println("rest " + restartPoint);
restartPoint = 0;
// TODO: Interpret server response here
getServerReply();
// Send the command
outputStream.println(command);
return isPositivePreliminaryResponse(getServerReply());
* Get IP address and port number from serverSocket and send them via the
* <code>port</code> command to the ftp server, returning true if we get a
* valid response from the server, returning true if the server indicates
* that the operation was successful.
private boolean openPort(ServerSocket serverSocket)
throws IOException
int localport = serverSocket.getLocalPort();
// get local ip address
InetAddress inetaddress = serverSocket.getInetAddress();
InetAddress localip;
try {
localip = inetaddress.getLocalHost();
} catch(UnknownHostException e) {
debugPrint("Can't get local host");
return false;
// get ip address in high byte order
byte[] addrbytes = localip.getAddress();
// tell server what port we are listening on
short addrshorts[] = new short[4];
// problem: bytes greater than 127 are printed as negative numbers
for(int i = 0; i <= 3; i++) {
addrshorts[i] = addrbytes;
if (addrshorts[i] < 0)
addrshorts[i] += 256;
outputStream.println("port " + addrshorts[0] + "," + addrshorts[1] +
"," + addrshorts[2] + "," + addrshorts[3] + "," +
((localport & 0xff00) >> 8) + "," +
(localport & 0x00ff));
return isPositiveCompleteResponse(getServerReply());
* True if the given response code is in the 100-199 range.
private boolean isPositivePreliminaryResponse(int response)
return (response >= 100 && response < 200);
* True if the given response code is in the 300-399 range.
private boolean isPositiveIntermediateResponse(int response)
return (response >= 300 && response < 400);
* True if the given response code is in the 200-299 range.
private boolean isPositiveCompleteResponse(int response)
return (response >= 200 && response < 300);
* True if the given response code is in the 400-499 range.
private boolean isTransientNegativeResponse(int response)
return (response >= 400 && response < 500);
* True if the given response code is in the 500-5ok i tried explaining th eproblem in the previous post, but i apologize if my explanation was poor. anyways, i tried to look into it further by doing a printStackTrace() and believe it may be a read error. here is my new updated snippet, and also a link to a screenshot ([click here for screenshot|http://img143.imageshack.us/my.php?image=picture4qr0.png]) of what the error looks like on my end. it seems like a socket is not being read, or maybe it is initialized properly. Again I apologize if my problem is vague, but I do appreciate your input. thanks.
updated code snippet
public void uploadFiles()
statusLabel.setVisible(true);
errorLabel.setVisible(true);
uploadButton.setVisible(false);
footer.setVisible(false);
holdingPanel.setVisible(false);
pbar.setVisible(true);
pbar = new JProgressBar();
pbar.setMinimum(0);
float Total=0;
for (int i=0; i<fileLengths.size(); i++)
if(((java.lang.Boolean)model.getValueAt(i,1)).toString().equals("true"))
Total+=Float.parseFloat((String)fileLengths.get(i));
pbar.setMaximum((int)Total);
String info="";
try
ftp=new FTPConnection(false);
ftp.connect("ftp.chris-malcolm.com");
if (ftp.login("chrismal", "***"))
statusLabel.setText("Status: Connected.");
info+="Successfully logged in!\n";
info+="System type is: " + ftp.getSystemType()+"\n";
info+="Current directory is: " + ftp.getCurrentDirectory()+"\n";
if (ftp.changeDirectory("/www/images/"))
info+="directory changed to: " + ftp.getCurrentDirectory()+"\n";
try
for (int i=0; i<allFiles.size(); i++)
if(((java.lang.Boolean)model.getValueAt(i,1)).toString().equals("true"))
String f=client.verifyFileName((String)model.getValueAt(i,0));
String f2=""+((File)allFiles.get(i)).getPath();
info+="filename: "+f2+"\n";
if (ftp.uploadFile(f2))
statusLabel.setText("Status: Uploading "+f+" - "+i+" of "+calculateTotalFiles()+" files(s)");
pbar.setValue(Integer.parseInt((String)fileLengths.get(i)));
else
errorLabel.setText("Error occured while uploading"+f2+"\n");
catch(Exception de)
StringWriter sw = new StringWriter();
PrintWriter pw = new PrintWriter(sw);
de.printStackTrace(pw);
pw.close();
//errorLabel.setText("<html>ERROR:"+sw.toString().replace("\n", "<br>")+"</html>");
info+="Error: "+de.getMessage()+"\n";
info+="Trace: "+sw+"\n";
try { ftp.disconnect(); statusLabel.setText("Status: disconnected.");} catch(Exception e2) {};
else
info+="could not change directory\n";
else
info+="could not login";
catch (Exception e)
StringWriter sw = new StringWriter();
PrintWriter pw = new PrintWriter(sw);
e.printStackTrace(pw);
pw.close();
info+="Error: "+e.getMessage()+"\n";
info+="Trace: "+sw+"\n";
try { ftp.disconnect(); statusLabel.setText("Status: disconnected.");} catch(Exception e2) {};
errorLabel.setText("ERROR:"+info);
JOptionPane.showMessageDialog(this, info, "test", JOptionPane.PLAIN_MESSAGE);
try { ftp.disconnect(); statusLabel.setText("Status: disconnected.");} catch(Exception e2) {};
Edited by: cjm771 on Jul 13, 2008 7:23 PM -
Connecting Mac Pro to LCD and TV LCD Problems
I have a 22" Gateway LCD that works perfect with my mac and I just recently bought a Mini displayport HDMI connection that I wanted to connect to my Sony 46" HD TV.
Now, everytime i connect it and I boot up my macpro it will freeze at the login and causes weird things to happen on my screen leading me to Hard reboot. The only way to stop it is if I disconnect the HDMI port from the tv and reboot. If I connect it while the computer is on, it wont be as dramatic with freezing but you can tell the computer is not acting like it should.
I tried connecting to a different TV and its the same thing.
What should i do??
Thanks for reading,
AngelIt's probably the mini display-HDMI connection, the thing itself.
An odd thing happening I've found is that the mini display port is preferred by the Mac as the start up display. So, I'm wondering if the Mac doesn't find what it expects if that might be a problem.
Still, I bet a DVI to HDMI connection would produce better results for you. No guarantees though. -
Hi,
I am using the FTP adapter to transfer a file from a remote machine and am getting this exception.
java.lang.NoClassDefFoundError: oracle/security/pki/OraclePKIProvider
at oracle.tip.adapter.ftp.FTP.connect(FTP.java:438)
at oracle.tip.adapter.ftp.FTPClient.establishFtpSession(FTPClient.java:169)
at oracle.tip.adapter.ftp.FTPAgent.login(FTPAgent.java:597)
at oracle.tip.adapter.ftp.FTPAgent.getFileList(FTPAgent.java:269)
at oracle.tip.adapter.file.inbound.FileSource.getFileList(FileSource.java:199)
at oracle.tip.adapter.file.inbound.PollWork.pollFiles(PollWork.java:210)
at oracle.tip.adapter.file.inbound.PollWork.run(PollWork.java:116)
at oracle.tip.adapter.fw.jca.work.WorkerJob.go(WorkerJob.java:51)
at oracle.tip.adapter.fw.common.ThreadPool.run(ThreadPool.java:267)
at java.lang.Thread.run(Thread.java:534)
Any ideas?
Thanks
-GClemens,
It's very nice to know that guys like you are here to help people like me. I develope the same BPEL Project on a stand alone windows installation (BPEL Server 10.1.2.0.2) a Works perfectly.
I'm sure know the problem resides on the BPEL Server or the OAS. Besides updating the BPEL Server version what order suggestions do you have in mind????
What do you think about OAS R3??? Is it trusted to upgrade to R3 now????
Thank very much for your time.
Cordially,
Jose
Mensaje editado por:
user489282 -
Hi all,
I'm having some problems with the FTP adapter.
About two months ago I did an ESB project which reads from an FTP and writes the files in a local directory.
I noticed that I had to change this parameter oracle.tip.adapter.file.numProcessorThreads=1 in the integration\esb\config\pc.properties.esb en integration\esb\config\ pc.properties file, for the FTP adapter to work all right. And it has been working for a long time.
The issue is, that now, I deploy this same ESB project to the same server and is not working. No files are being copied to my local directory. Furthermore, there are no instances in the ESB Control either.
I haven't changed anything so I don't understand why this is happening.
I set the log trace to FINEST and I found this trace for a lot of files in the log:
JCA: Poller enqueuing file for processing :/200704110041_r01g0020.gif
JCA: Ignoring File : 200704110041_r01g0020.gif as it is already enqued for processing.
So, there are no errors showing in the log but the adapter is not working.
Any tips about this? It is very important because we have to put this project in the production machine....
Thanks for your help.
Message was edited by:
ZaloaHi Mark,
Thank you for your response, I have post the service request already. So far, I haven't got any answers and I have been trying to deploy this same project in different servers.
I get different results everytime without changing anything. In the test environment I just get the first error I post in this thread. In my local server I get a fatal error that I have already reported in this forum with the subject "FatalError FTP Adapter", and I write it here again.
JCA: Completed inbound translation for : 200704021141_r01g1120.gif
JCA: Did not publish file {200704021141_r01g1120.gif} as endpoint has been de-activated.
JCA: Processer thread calling onFatalError with exception Error al publicar el mensaje.
Se ha producido un error al publicar el mensaje del archivo /200704021141_r01g1120.gif (Error publishing the file message....)
Compruebe la pila de errores y corrija la causa del error. Póngase en contacto con los Servicios de Soporte Oracle si no se puede
corregir el error. (Check error stack and fix the error. Contact Oracle Support Services if the error can not be fixed)
JCA inbound adapter service listener for "SUBIRA.INM.ConsultaFTP_RS.Get" with endpoint ID "[Get_ptt::Get(opaque)]" has been requested
to shutdown by Resource Adapter due to fatal error. Reason : ORABPEL-11004
Error al publicar el mensaje. (Error publishing the message)
Se ha producido un error al publicar el mensaje del archivo /200704021141_r01g1120.gif (An error has occurred publishing the file....)
Compruebe la pila de errores y corrija la causa del error. Póngase en contacto con los Servicios de Soporte Oracle si no se puede
corregir el error. (Check error stack and fix the error. Contact Oracle Support Services if the error can not be fixed)
Any ideas? Thanks in advance,
Zaloa -
Hi!
I have two problem using the FTP Adapter in a BPEL process.
The first can be described as follow: I have a BPEL process that incapsulates the FTP Adapter and it is deployed correctly on the BPEL default domain. It's working fine in a normal context with no error. Now I want to simulate a "read FTP Server" crash; so I put the FTP Server from which I'm reading off-line. When the GET module of the FTP Adapter tries to poll the server, it generates a Null Pointer Exception and on the server command window I can read, after a while, that the process state will be set to OFF. But when I enter in the console I always see the state ON! But the interesting question is: is there an automatic way to recovery the process and to restart it? I see that in the domain parameter there are two values: rcvAgentDelay (7200) and rcvThreshold (600). I tried to set them to some other values, for example (120) and (10), but the process still remains "blocked" and no new polling seems to happen.
The second problem is about the creation and the deploying on a new domain. I create a new domain called "bulk" and I tried to deploy my process on it but I can't do it due to the generation of many exception! Can I deploy a process with a FTP Adapter component inside on a domain different from the default one? And if the response is positive, like I think, can you summarize the most important steps of it and if I must configure some specific domain parameters?
Thanks a lot,
Busnelli.OK, firstly I want to thank both of you, Rakesh and Maneesh.
Here are the details requested:
Operation System = Windows XP Pro SP2
BPEL Process Manager = 10.1.2
BPEL Server version = 2.2 (build 1361)
JDeveloper version = 10.1.2 (build 1811)
BPEL Designer version = 10.1.2 (build 050322)
Usually after any modification I'm used to restarting the BPEL server.
Today I have downloaded the "Oracle JDeveloper 10g (10.1.3) - Developer Preview" (I think to be the Post Beta 3) and as soon as possible I will try to use it.
Thanks to both! -
Sliding n lcd problems on nokia n80...
i have a nokia n80..
after using it a few months..
the screen going blurred after i sliding up the phone...
ive sent the phone a month a go n the technician said the lcd screen broke down n repaired it...
but yesterday, the same problems came out again n there is something bad with the key pad (navigation keys) when i slided the phone..
what caused the problem with my phone actually? is the sliding strip or other?I think it is more then likely the ribbon cable that connects the two halves.
You can get it replaced at your local Nokia Care Centre. I think they should have replaced that instead of the display the first time.
Maybe you are looking for
-
Is it possible to sort search results
Is there a way to setup the order of the search results during the project build process? Currently in my manual when a user searches for an item, the results come up in alpha order. If possible I would prefer to display them in order of relevance. A
-
hi gurus, i need to setup/configure "remittance advice by email".required some Pre Requisite 1.UTL_SMTP should install on database 2.Valid Exchange Server IP with access to and from database server How to check/install item no .1 and no.2 tq
-
Transaction SM50 Shows 3 dialog process in yellow colure
Dear all, I run transaction sm50 in that transaction 3 Dialog work process shows in yellow colure, what its mean please check the attached file for screen shot of SM50
-
Problem printing color only prints Black
My printer does not print the colors it shows in the display that they in and installed correctly but do not print out on the info page .It only prints out black.Example if I print a coupon the stuff on it that is in color is just blank
-
Many Ship to party assigned to 1 sold to party
Hi guru's Can any 1 tell me what is the maximum number of ship to parties assigned to 1 sold to party. Also let us know if there is limitation then what is the solution to extened the same.