2009-10-19 4 views
1

WS. 매개 변수로서 두 개의 문자열과 유형이 내 프로젝트의 클래스 인 객체의 배열을 가져옵니다.webservice에서 배열 매개 변수를 수락하려면 어떻게해야합니까? 웹 서비스를 만들기 위해

는 내가 웹 서비스 인터페이스 및 구현 만든 그것은이 비슷합니다 : 내 프로젝트의 클래스는 타입 믹스의 객체를 반환하고 내가 형 물건의 배열을 수용하고

@WebMethod(operationName = "getStuff") 
@WebResult(name = "result") 
Mix getStuff(
    @WebParam(name = "string1") String one, 
    @WebParam(name = "string2") String two, 
    @WebParam(name = "stuff") Stuff[] stuff 
); 

내 프로젝트의 또 다른 클래스입니다. 자바에서 테스트 문제가 아니지만 다른 사람이 서비스를 소비하려고하거나 내가 soapUI로 요청을 보내려고하면 배열은 항상 null로 들어갑니다. 내 서비스를 사용하는 사람이라면 누구나 정확히 유형의 항목으로 보낼 수 있습니까? JAXB를 사용하여 사용자 정의를해야합니까? 당신은 또한

@WebMethod(operationName = "getStuff") 
@WebResult(name = "result") 
Mix getStuff(
    @WebParam(name = "string1") String one, 
    @WebParam(name = "string2") String two, 
    @WebParam(name = "stuff") java.util.List<Stuff> stuff 
); 

에 서명을 교체 MixStuff가 JAXB 주석이 있는지 확인해야하므로

+0

핵심 문제는 Stuff 클래스에서 발생했습니다. 내 문제를 일으킨 기본 생성자를 포함하는 것을 잊었다. 나는 결국 코드를 ​​목록으로 변경하게되었다. – Barry

답변

-1

JAXB2는리스트가 아닌 배열을 사용합니다.

+0

적어도 CXF에서는이 게시가 올바르지 않다고 확신합니다. params에 대해 이야기하고 있으므로 JAXB가 아니라 JAX-WS를 말합니다. JAX-WS는 배열을 처리 할 것이고, 매개 변수 나 리턴 값으로 사용되는 POJO에 JAXB 어노테이션을 넣을 필요는 전혀 없다. – bmargulies

+0

-1 @bmargulies에 명시된대로 작동하지 않습니다! –

관련 문제