java中的Web服务客户端

时间:2011-02-21 19:15:38

标签: java web-services

我想使用服务生成客户端程序

我无法显示结果,我该怎么办?

import java.rmi.RemoteException; 


public class searchtry {
public static void main(String[] args) throws RemoteException { 

  SearchRequest request=new SearchRequest(); 
  SearchRequestType1 type1=new SearchRequestType1(); 
  query.setAppId("*********************************"); //Windows Live gave this id for using that service  
  query.setSources(new SourceType[]{SourceType.Web}); 
  query.setQuery("Java"); 
  aratip.setParameters(request); 
  SearchResponseType0 answer= client.search(type1); 
  System.out.println(answer.toString()); 
} 

2 个答案:

答案 0 :(得分:1)

对于初学者,请致电

answer.toString();

可能会或可能不会产生任何结果(通常会赢得)。您可能只获得一个表示实例的字符串,而不是您期望的字符串。您需要在SearchResponseType0上找到一个方法,它将为您提供响应的字符串表示形式。也许像getContent()getResponse()之类的方法或类似的方法,但如果不了解更多关于网络服务的信息,很难给你更多的帮助。最重要的是,您使用了错误的方法来尝试获取结果的字符串内容。

答案 1 :(得分:1)

看起来您正在使用bing-search-java-sdk。他们在主页上有一个非常好的例子,你可能想看一下:

BingSearchServiceClientFactory factory = BingSearchServiceClientFactory.newInstance();
BingSearchClient client = factory.createBingSearchClient();

SearchRequestBuilder builder = client.newSearchRequestBuilder();
builder.withAppId(applicationId);
builder.withQuery("msdn blogs");
builder.withSourceType(SourceType.WEB);
builder.withVersion("2.0");
builder.withMarket("en-us");
builder.withAdultOption(AdultOption.MODERATE);
builder.withSearchOption(SearchOption.ENABLE_HIGHLIGHTING);

builder.withWebRequestCount(10L);
builder.withWebRequestOffset(0L);
builder.withWebRequestSearchOption(WebSearchOption.DISABLE_HOST_COLLAPSING);
builder.withWebRequestSearchOption(WebSearchOption.DISABLE_QUERY_ALTERATIONS);

SearchResponse response = client.search(builder.getResult());

for (WebResult result : response.getWeb().getResults()) {
        System.out.println(result.getTitle());
        System.out.println(result.getDescription());
        System.out.println(result.getUrl());
        System.out.println(result.getDateTime());
}