1 일 반 동안 검색했지만 유용한 대답을 찾을 수 없습니다 ... (어쨌든, 나는 확실히 알고 있습니다. 쓰기 웹 서비스 : D)RESTful Webservice - xml 출력에 사용자 정의 클래스 '.xsd를 제공하는 방법
여기 내 상황입니다 : 내가 설정에 개체 이름은 인사말 수익을 제공하는 편안하고 웹 서비스 환경 triying 오전 :
@XmlRootElement(name = "greeting")
public class Greeting {
private String message;
private String name;
public Greeting() {
}
public Greeting(String message, String name) {
this.message = message;
this.name = name;
}
@XmlElement
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
@XmlElement
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
Greeting.class을Webservice가 Greeting ... thats all의 인스턴스를 반환합니다!
GreetingService.class
@Path("sayHello")
public class GreetingService {
@Context
private UriInfo context;
public GreetingService() {
}
@GET
@Produces("application/xml")
public Greeting getJson(@QueryParam("name") String name) {
return new Greeting(getGreeting(), name);
}
private String getGreeting() {
return "Good " + (Calendar.getInstance().get(Calendar.AM_PM) == Calendar.AM ? "Morning" : "Afternoon");
}
}
그리고 브라우저의 결과는 Greeting.class의 상세한 구조에 대해 주어진 정보가없는이 브라우저
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<greeting>
<message>Good Afternoon</message>
</greeting>
입니다 :( 하지만 웹 서비스에 대해 이야기하는 다른 클라이언트가 필요할 수도 있습니다 (단순한 예입니다. 그러나 단지 예일뿐입니다).
구성해야합니까? 어쩌면 application.wadl? 나는 아무 생각도 없어 - 내가 말했듯이 인터넷 검색을했다! - 거의 2 일 :( 제발 도와주세요 을 BTW - 내가
어쩌면 넷빈즈, 자바 7, JEE6 저지
EDIT를 사용하고 I 내가를 automaticly 인사말을 위해 필요한 .XSD 스키마를 제공 할 수 있습니다 ... 어떻게 제대로 을 요구하지 않았다 여기에
는 순간에 제공하는 application.wadl,의 ...<application xmlns="http://research.sun.com/wadl/2006/10">
<doc xmlns:jersey="http://jersey.java.net/" jersey:generatedBy="Jersey: 1.8 06/24/2011 12:17 PM"/>
<resources base="http://localhost/iOSWebServices/resources/">
<resource path="greeting">
<method id="greet" name="GET">
<response>
<representation mediaType="application/xml"/>
</response>
</method>
<method id="putXml" name="PUT">
<request>
<representation mediaType="application/xml"/>
</request>
</method>
</resource>
</resources>
</application>
,536,
응답 표현에 매개 변수 "요소"가 있어야한다는 것을 알았습니다. 어떻게 설정할 수 있습니까? 예, Netbeans 용 WADL 플러그인을 사용하고 수동으로 입력 할 수 있습니다. 그러나 요소에 대한 스키마 참조 (이 경우 "인사말")를 추가해야합니다. 그래도 인사말에 대한 네임 스페이스를 설정하는 방법을 알지 못합니다. 제대로 클래스 :(
편집
나는 http://www.verborgh.be/articles/2009/11/21/easy-restfull-jax-rs-webservices-and-extended-wadl-on-glassfish-v3-using-ant-/ 이 문서는 내가 아직도 마지막 단계 때의 한 가지 예외가 알고 :) 를 원하는 것을 설명 제가 .. 찾고 있었다 발견 할 수WADL 세대를 재정의하지만 나는이 버전 버그라고 생각합니다. 저지를 업데이트하거나 해결 방법을 찾으려고합니다!
질문/문제가 정확히 무엇인지 모르시겠습니까? – Qwerky
어쩌면 나는 정확하게 묻지 않았다. 어떻게 내가 인사 장을 위해 필요한 .xsd 스키마를 자동으로 제공 할 수 있을까? –
NetBeans 7을 사용하는 경우 마법사를 사용하고 자동으로 생성 된 GreetingFacadeREST 클래스에 getGreeting을 추가하고 결과를 확인하는 것이 좋습니다. http://netbeans.org/kb/docs/websvc/rest.html – perissf