Hi,thank your for the support. I will install the fedora one more time and test 
again at first.RegardsFeng
> Subject: RE: [Fedora-commons-users] Ingest Problem with Fedora 3.2 SOAP API 
> by Calling uploadFile
> From: [email protected]
> To: [email protected]
> CC: [email protected]
> Date: Fri, 3 Jul 2009 12:59:44 +0200
> 
> You could report a bug, but until someone figures out how to reproduce
> your error, it cannot be solved.
> 
> If you could write up the steps you have taken to get to the error, I
> could follow them and see if I get the error as well. This way we could
> narrow down what caused it.
> 
> Regards
> 
> On Fri, 2009-07-03 at 10:33 +0200, WangFeng wrote:
> > Hi,
> > thank your for your answer. What should i do, if my program doesn't
> > cause this error. I mean, should i install the fedora 3.2 again? Or
> > report it as a BUG.
> > regards
> > feng
> > 
> > > Subject: RE: [Fedora-commons-users] Ingest Problem with Fedora 3.2
> > SOAP API by Calling uploadFile
> > > From: [email protected]
> > > To: [email protected]
> > > CC: [email protected]
> > > Date: Fri, 3 Jul 2009 09:57:27 +0200
> > > 
> > > hi
> > > 
> > > Here is the function that fails
> > > 
> > > /**
> > > * Upload the given file to Fedora's upload interface via HTTP POST.
> > > *
> > > * @return the temporary id which can then be passed to API-M
> > > requests as a
> > > * URL. It will look like uploaded://123
> > > */
> > > public String uploadFile(File file) throws IOException {
> > > PostMethod post = null;
> > > try {
> > > // prepare! the post method
> > > post = new PostMethod(getUploadURL());
> > > post.setDoAuthentication(true);
> > > post.getParams().setParameter("Connection", "Keep-Alive");
> > > 
> > > // chunked encoding is not required by the Fedora server,
> > > // but makes uploading very large files possible
> > > post.setContentChunked(true);
> > > 
> > > // add the file part
> > > Part[] parts = {new FilePart("file", file)};
> > > post.setRequestEntity(new MultipartRequestEntity(parts, post
> > > .getParams()));
> > > 
> > > // execute and get the response
> > > int responseCode = getHttpClient().executeMethod(post);
> > > String body = null;
> > > try {
> > > body = post.getResponseBodyAsString();
> > > } catch (Exception e) {
> > > L! OG.warn("Error reading response body", e);
> > > }
> > &g t; if (body == null) {
> > > body = "[empty response body]";
> > > }
> > > body = body.trim();
> > > if (responseCode != HttpStatus.SC_CREATED) {
> > > throw new IOException("Upload failed: "
> > > + HttpStatus.getStatusText(responseCode) + ": "
> > > + replaceNewlines(body, " "));
> > > } else {
> > > return replaceNewlines(body, "");
> > > }
> > > } finally {
> > > if (post != null) {
> > > post.releaseConnection();
> > > }
> > > }
> > > }
> > > 
> > > So, from the error we know that 
> > > HttpStatus.getStatusText(responseCode) gives "Bad Request"
> > > and replaceNewlines(body, " ") gives "no data sent"
> > > 
> > > 
> > > It seems that the Fedora instance does not accept the upload request
> > for
> > >! some reason.
> > > 
> > > 
> > > 
> > > On Wed, 2009-07-01 at 18:26 +0200, WangFeng wrote:
> > > > Hi,
> > > > thank you for the mail. I thought too, either by reading my file
> > or by
> > > > calling the uploadFile() of FedoraClient causes this Problem.
> > > > 
> > > > 
> > > > public ClientTest() throws Exception {
> > > > ? ?? // TODO Auto-generated constructor stub
> > > > ? ? String baseURL = "http://localhost:8080/fedora/";;
> > > > ? ? fc = new FedoraClient(baseURL, "fedoraAdmin", "fedoraAdmin");
> > > > ? ? APIA = fc.getAPIA();
> > > > ? ? System.out.println("APIA Created!");
> > > > ? ? APIM = fc.getAPIM();
> > > > ? ? System.out.println("APIM Created");
> > > > }
> > > > 
> > > 
> > > This actually proves nothing. You can create the APIA/N objects even
> > for
> > > a invalid repository.
> > > 
> > > I usually test by doing APIA.describeRepository(), as this changes
> > > noth! ing, should always work, and will fail if there is a
> > credentials or
> > > connection problem.
> > > 
> > > 
> > > 
> > > > 
> > > > 
> > > > public String addnewDatestream() throws IOException {
> > > > ? ? String tempURI = fc.uploadFile(new File("getPDF.pdf"));
> > > > 
> > > > ? ? String ID = APIM.addDatastream("demo:SmileyPens", // PID
> > > > ? ? "MYPDFDS", // Datastream ID
> > > > ? ? new String[] { "FengDS", "PDFDS" }, // Alt IDs
> > > > ? ? "My Datastream", // Label
> > > > ? ? true, // Versionable
> > > > ? ? "application/pdf", // MIME type
> > > > ? ? null, // Format URI
> > > > ? ? tempURI, // Datastream Location
> > > > ? ? "M", // Control! Group
> > > > ? ? "A", // State
> > > > ? ? null, // ChecksumType
> > > > ? ? null, // Checksum
> > > > ? ? "added by feng wang"); // Log message
> > > > 
> > > > ? ? return ID;
> > > > }
> > > > 
> > > > 
> > > > 
> > > > Exception in thread "main" java.io.IOExcept! ion: Upload failed:
> > Bad
> > > > Request: No data sent.
> > > > at fedora.client.FedoraClient.uploadFile(FedoraClient.java:195)
> > > > 
> > > > The file is saved under the TestProject Directory of the Java
> > > > WorkSpace in Windows system(E:\Java Workspace\TestProject
> > \getPDF.pdf)
> > > > 
> > > > ?
> > > > 
> > > > It's just A Test for writing the API-A/M FedoraClient. so i added
> > the
> > > > file into the demo from Fedora Server. But i am sure,that i can
> > call
> > > > ingest() and addDatastream(),which i have tested. 
> > > > By the Way i haven't set any Configuration for the Log4J of
> > > > FedoraClient.
> > > > 
> > > > Regards
> > > > Feng
> > > > 
> > > > 
> > > > 
> > > > 
> > > > 
> > > > > Subject: Re: [Fedora-commons-users] Ingest Problem with Fedora
> > 3.2
> > > > SOAP API by Calling uploadFile
> > > > > From: [email protected]
> > >! > > To: [email protected]
> > > > > CC: fedora! -c [email protected]
> > > > > Date: Wed, 1 Jul 2009 12: 12:52 +0200
> > > > > 
> > > > > Hi
> > > > > 
> > > > > Could you give us the code piece where you call the function?
> > The
> > > > > exception seems to indicate that there is a problem reading your
> > > > file.
> > > > > 
> > > > > Regards
> > > > > 
> > > > > On Tue, 2009-06-30 at 20:51 +0200, WangFeng wrote:
> > > > > > Hi everyone,
> > > > > > i am writing a client by using the fedora client jar with SOAP
> > > > API.
> > > > > > So i tested all the Method from API-M. It works well by
> > calling
> > > > the
> > > > > > Method like ingest or adddatastream.
> > > > > > But i can't still use the uploadFile from fedoraclient or the
> > > > > > Uploader.upload(java.io.File file). And still got the
> > Exception
> > > > with
> > > > > > "No! data send to the server". I can't understand, why this
> > Method
> > > > > > couldn't be used. I am sure all setting for the file or
> > > > > > fileinputstream are fein and right. I must use the file from
> > local
> > > > and
> > > > > > upload it to server at first. 
> > > > > > Please help me to ! fix it!!
> > > > > > Thanks
> > > > > > Feng
> > > > > > 
> > > > > > 
> > > > > > 
> > > > > > 
> > > > > > java.io.IOException: Upload failed: Bad Request: No data sent.
> > > > > > ?at
> > fedora.client.FedoraClient.uploadFile(FedoraClient.java:195)
> > > > > > ?at fedora.client.Uploader.upload(Uploader.java:114)
> > > > > > ?at fedora.client.Uploader.upload(Uploader.java:97)
> > > > > > ?at FoXM! L.ClientTest.uploader(ClientTest.java:269)
> > > > > > 
> > > > > > 
> > > > > > 
> > &gt! ; > > >
> > > > ________________________________________
> > ______________________________
> > > > > > 更多热辣资讯尽在新版MSN首页! 立刻访问!
> > > > > 
> > > > 
> > > > 
> > > >
> > ______________________________________________________________________
> > > > 立刻下载 MSN 保护盾,保障Messenger 安全稳定! 现在就下载!
> > > 
> > 
> > 
> > ______________________________________________________________________
> > 使用新一代 Windows Live Messenger 轻松交流和共享! 立刻下载!
> 

_________________________________________________________________
约会说不清地方?来试试微软地图最新msn互动功能!
http://ditu.live.com/?form=TL&swm=1
------------------------------------------------------------------------------
_______________________________________________
Fedora-commons-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/fedora-commons-users

Reply via email to