# http post



## copper (3. Okt 2005)

Hi, ich habe folgendes Problem.
Ich habe ein Programm das per HTTP Post Commands in Form von XML Files erhält und damit gesteuert wird.
Mit welcher API kann man solche befehle versenden? Das Problem ist, dass das zu steurnde Programm nicht dafür ausgelegt ist irgendwelche client Anfragen zu versenden, so dass man z.B. Servlets nehmen könnte.  Das einzige was ich nämlich einstellen kann sind die IPs von denen Befehle erlaubt sind und der Port.

So wie ich das verstehe benötigen Servlets immer Client anfragen.

THX für die Antworten


----------



## Bleiglanz (4. Okt 2005)

http://jakarta.apache.org/commons/httpclient/


----------



## copper (4. Okt 2005)

also ich hab mir jetzt nach anleitung eine post geschichte gebastelt


```
package HTTPpost;

import org.apache.commons.httpclient.methods.*;
import org.apache.commons.httpclient.*;
import org.apache.commons.logging.*;

import java.io.*;
public class Main{ 
   
    Main() {
        try{
    PostMethod post = new PostMethod("http://172.0.0.1:8080");
    File file = new File("/home/tom/jc.xml");
    FileInputStream fis = new FileInputStream(file);
    post.setRequestBody(fis);
    InputStream in =post.getResponseBodyAsStream();
    
        System.out.println(in.read());
     
        }
        catch(Exception e){
            System.out.println(e);
            
        }
    }
    
    public static void main(String[] args) {
       new Main();
    }
    
}
```

leider kommt folgender Fehler obwohl das package schon importet ist

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory
        at org.apache.commons.httpclient.HttpMethodBase.<clinit>(HttpMethodBase.java:102)
        at HTTPpost.Main.<init>(Main.java:12)
        at HTTPpost.Main.main(Main.java:28)

Was muss ich mit der LogFactory machen offensichtlich wird sie ja gesucht.

Thx


----------



## Bleiglanz (5. Okt 2005)

http://jakarta.apache.org/commons/httpclient/tutorial.html



> The first thing you need to do is get a copy of HttpClient and it's dependencies. This tutorial was written for HttpClient 3.0. You will also need JDK 1.3 or above.
> 
> Once you've downloaded HttpClient and dependencies you will need to put them on your classpath. There is also an optional dependency on JSSE which is required for HTTPS connections; this is not required for this tutorial.



http://jakarta.apache.org/commons/httpclient/dependencies.html


----------



## copper (5. Okt 2005)

ich habe jetzt alles heruntergeladen und im Projektclasspath von netbeans also auch importet.
Der selbe fehler, commons.logging, nach dem gesucht wird, war ja auch schon da.

Könnte ich das Prob(siehe oben) auch ohne Httpclient lösen nur mit Jsee.


----------

