如何从java调用webservice

时间:2012-12-05 08:43:47

标签: java web-services call

我必须编写一个从android调用web服务的简单应用程序。所以请给我一个示例代码来调用它。如果代码不使用任何我必须下载并包含在项目中的特殊库,那就更好了。此外,该代码不应使用“Soap”这个词,因为我在网上搜索了很多,并且每个地方都有“如何调用Soap Web服务”的例子。我不需要调用Soap或其他任何东西,只需要一个简单的Web服务。所以请提供参考代码或至少一些有用的链接。 现在我尝试了一个代码,

public class TriongleJava {

    public static void main(String args[]) {

        HttpClient client = new DefaultHttpClient();
        HttpPost post = new HttpPost("http://vogellac2dm.appspot.com/register");
        try {
            List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(1);
            nameValuePairs.add(new BasicNameValuePair("registrationid", "123456789"));
            post.setEntity(new UrlEncodedFormEntity(nameValuePairs));

            HttpResponse response = client.execute(post);
            BufferedReader rd = new BufferedReader(new InputStreamReader(response.getEntity().getContent()));
            String line = "";
            while ((line = rd.readLine()) != null) {
                System.out.println(line);
            }

        } catch (IOException e) {
            e.printStackTrace();
        }

    }
}

但是给出错误,

  

无法解析HttpClient,DefaultHttpClient,HttpPost,NameValuePair等。

如何删除这些错误

3 个答案:

答案 0 :(得分:2)

要调用Web服务,您需要就可能是SOAP,POST,XML等的通信协议达成一致。

如果您想使用POST协议进行呼叫,则可以使用以下链接: POST Example

答案 1 :(得分:1)

使用任何可以进行http调用的java库。 可以参考此链接http://www.vogella.com/articles/ApacheHttpClient/article.html

答案 2 :(得分:1)

代码看起来很可行。

您获得的错误是因为您正在使用外部类。这些类在库中定义。一些例如BufferedReader包含在标准java库中,可以使用

简单地包含在内
import java.io.BufferedReader;

我假设您尝试使用的其他人来自Apache HTTP客户端库。您可以下载文件here并在导入相关类之前将它们包含在类路径中。