我想使用服务生成客户端程序
我无法显示结果,我该怎么办?
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());
}
答案 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());
}