나는 서버 측 클래스가 있습니다 ForumEntry을, 나는 ForumEntry의 목록을 반환하는 웹 서비스가 있습니다JAX-WS 클라이언트에서 서버 측 클래스를 재사용하는 방법은 무엇입니까?
@WebService(name="ForumGeneral",serviceName="ForumGeneralService")
public class ForumGeneralService {
@WebMethod
public List<ForumEntry> getLatestTopics(String keyword,int count){
...
}
}
웹 서비스 클라이언트를 생성하기 위해 wsimport의를 사용하여, 그것은 잘 완료,하지만 새로운 ForumEntry 유형의 생성 웹 서비스를 기반으로합니다. 웹 서비스의 본질은 클라이언트와 서버 측이 분리된다는 것입니다.
하지만 서버 측 ForumEntry를 다시 사용하고 클라이언트 측 더미 클래스를 만들지 않으려면 어떻게해야합니까?
게시물을 발견 : http://jamablog.blogspot.com/2007/08/how-to-make-jax-ws-client-reuse_22.html. ,
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "forumEntry", propOrder = {
"forumId",
"forumName",
})
public class ForumEntry
다음 에피소드 파일을 생성에서는 schemagen을 사용 후 -b 매개 변수를 사용하여 wsimport의에 전달 :
나는 내 서버 측 ForumEntry 클래스에 JAXB 주석을 추가, 아이디어를 따르십시오. 어떻게하는 모든
<message name="getLatestTopics">
<part name="parameters" element="tns:getLatestTopics"></part>
</message>
<message name="getLatestTopicsResponse">
<part name="parameters" element="tns:getLatestTopicsResponse"></part>
</message>
그래서 : 나는 'forumEntry 맞아 WSDL에 표시되지 의미합니다 생각
[ERROR] SCD "~forumEntry" didnt match any schema component
:하지만 생성 된 에피소드 파일로 문제가'forumEntry '에 대한 항목이 있어요 서버 측 클래스를 재사용하기 위해 여기에 맞는 부분이 있습니까?
감사하지만 좀 더 구체적으로 말씀해 주시겠습니까? FourmEntry가 유형 인 동안 나는 List를 반환합니다. 양측은 어떻게 Forumentry 수업을 사용할 수 있습니까? 감사. – Andrew
당신은 클라이언트 측에서 ForumEntry 클래스를 생성하고 그것을 사용해야 할 것입니다. –
이 질문은 오래되었지만 비슷한 질문이 있습니다. 문제는 이미 데이터 유형으로 일부 클래스를 사용하는 서버 측 코드와 이러한 클래스의 유틸리티 메소드를 많이 사용하고 있다는 것입니다. 서버 측이 클라이언트에서 생성 된 클래스를 사용하도록 변경하면 주요 작업이 될 것입니다 ... –