zhufengwnsh
若_离
2010-11-12 10:41
浏览 525
已采纳

HttpClient如何调用发布的webService

刚接触webService,发布了个很简单的webService
http://localhost:8888/axisTest/services/HelloAXIS/sayHello?name=bill
使用这个在浏览器中能输出sayHello这个方法返回的字符
发布的webService名称是HelloAXIS,里面有一个方法是sayHello(String name),需要一个name参数

我现在想在客户端程序访问这个webService,但是下面的写法不对,是url的问题么?

HttpClient client = new HttpClient();
PostMethod method = new PostMethod(url);

method.setHttp11(true);
method.addRequestHeader("Content-Type","text/html;charset=UTF-8");
method.setRequestBody(requestBody);

        client.executeMethod(method);
        return method.getResponseBodyAsString();

在PostMethod method = new PostMethod(url) 中,这个url 应该怎么写?
如果我要调用HelloAXIS这个webService下面的其他方法又该怎么调用?
  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

5条回答 默认 最新

  • limengchengg
    limengchengg 2010-11-12 17:51
    已采纳

    [quote]
    我说的意思是http://localhost:8888/axisTest/services/HelloAXIS?wsdl
    这个地址是你如果要看接口的详细信息,那么把这个地址放到浏览器中就可以看到。

    如果是要调用接口用的是http://localhost:8888/axisTest/services/HelloAXIS这个地址

    你要传参数和指定访问的方法,就把他们拼接成xml当做字符串传过去就可以了。
    [/quote]

    那就按照这个哥们的办法做呗
    axis2已经封装好了

    点赞 评论
  • mh_info
    mh_info 2010-11-12 11:00

    http://localhost:8888/axisTest/services/HelloAXIS?wsdl

    这个是访问的地址

    点赞 评论
  • limengchengg
    limengchengg 2010-11-12 16:01

    用这种方式的话
    你的URL只能对应到你的servlet
    与你的方法无关,想调用方法的话,可以传递一些参数过去
    调用对应的servlet servlet根据你的参数,去调用不同的方法

    [quote]http://localhost:8888/axisTest/services/HelloAXIS?wsdl

    这个是访问的地址[/quote]

    楼上说的跟你的不是一回事

    点赞 评论
  • mh_info
    mh_info 2010-11-12 16:27

    我说的意思是http://localhost:8888/axisTest/services/HelloAXIS?wsdl
    这个地址是你如果要看接口的详细信息,那么把这个地址放到浏览器中就可以看到。

    如果是要调用接口用的是http://localhost:8888/axisTest/services/HelloAXIS这个地址

    你要传参数和指定访问的方法,就把他们拼接成xml当做字符串传过去就可以了。

    点赞 评论
  • limengchengg
    limengchengg 2010-11-12 17:16

    你的webService 是怎么发布的?
    用什么写的?

    点赞 评论

相关推荐