간단한 질문이지만 누군가 JBoss Seam 프레임 워크 내에서 웹 서비스를 호출하고 결과를 처리하는 방법에 대한 샘플 코드를 제공 할 수 있습니까?Seam으로부터 웹 서비스 호출하기
웹 서비스로 자신의 기능을 노출하는 비공개 공급 업체가 제공하는 검색 플랫폼과 통합 할 수 있어야합니다. 그래서, 나는 주어진 웹 서비스를 호출하기위한 코드가 어떻게 보이는지에 대한 지침을 찾고있다.
는 (모든 샘플 웹 서비스는 예로서 선택할 수 있습니다.)간단한 질문이지만 누군가 JBoss Seam 프레임 워크 내에서 웹 서비스를 호출하고 결과를 처리하는 방법에 대한 샘플 코드를 제공 할 수 있습니까?Seam으로부터 웹 서비스 호출하기
웹 서비스로 자신의 기능을 노출하는 비공개 공급 업체가 제공하는 검색 플랫폼과 통합 할 수 있어야합니다. 그래서, 나는 주어진 웹 서비스를 호출하기위한 코드가 어떻게 보이는지에 대한 지침을 찾고있다.
는 (모든 샘플 웹 서비스는 예로서 선택할 수 있습니다.)있다으로 Restlet은보다 아주 조금 더 (대략 gajillion의 HTTP 클라이언트 라이브러리,하지만 난 이미 있었다 그 코드 스 니펫 (snippet)을 다른 것으로 만들었지 만) 모두 GET 요청을 보내도록 지원해야합니다. 다음은 Apache Commons의 HttpClient을 사용하는 다소 기능이 적은 스 니펫입니다.
HttpClient client = new HttpClient();
HttpMethod method = new GetMethod("http://api.search.yahoo.com/WebSearchService/V1/webSearch?appid=restbook&query=HttpClient");
client.executeMethod(method);
import org.restlet.Client;
import org.restlet.data.Protocol;
import org.restlet.data.Reference;
import org.restlet.data.Response;
import org.restlet.resource.DomRepresentation;
import org.w3c.dom.Node;
/**
* Uses YAHOO!'s RESTful web service with XML.
*/
public class YahooSearch {
private static final String BASE_URI = "http://api.search.yahoo.com/WebSearchService/V1/webSearch";
public static void main(final String[] args) {
if (1 != args.length) {
System.err.println("You need to pass a search term!");
} else {
final String term = Reference.encode(args[0]);
final String uri = BASE_URI + "?appid=restbook&query=" + term;
final Response response = new Client(Protocol.HTTP).get(uri);
final DomRepresentation document = response.getEntityAsDom();
document.setNamespaceAware(true);
document.putNamespace("y", "urn:yahoo:srch");
final String expr = "/y:ResultSet/y:Result/y:Title/text()";
for (final Node node : document.getNodes(expr)) {
System.out.println(node.getTextContent());
}
}
}
}
이 코드는 야후의 편안하고 검색 서비스에 요청을 할 Restlet를 사용합니다. 분명히, 당신이 사용하고있는 웹 서비스의 세부 사항은 당신의 클라이언트가 어떻게 생겼는지 지시 할 것입니다. 내가 올바르게 이해하면 웹 서비스에 대한 실제 호출 응답이 줄 끝에서 적절한 형식으로 변환되고 조작되고 함께 만든되는 위치
final Response response = new Client(Protocol.HTTP).get(uri);
그래서, 위의 라인입니다.
내가 Restlet을 사용하지 않는다고 가정 할 때,이 행은 어떻게 다릅니 까?
(즉 주어진 그래서 물론, 실제 처리 코드뿐만 아니라 상당히 다를 수있다.)