2012-04-11 2 views
3

잭스 - WS 서비스를 위해 JAXB 주석 클래스를 사용 :내가 웹 서비스는 다음과 같이 작업이

@WebService(serviceName = "TempService") 
public class TempService { 
    @WebMethod(operationName = "addBarkod") 
    public Boolean addBarkod(@WebParam(name = "barkod") Barkod barkod) { 
    System.out.println(barkod.getBarkodNo()); 
    } 
} 

과 같은 Barkod 클래스 : 내 웹 서비스를 호출 할 수있는이 구조

public class Barkod { 
    private String barkodNo; 
// there are constructors and getters, setters etc. nothing fancy // 
} 

을 문제가 생겨서. 내가 좋아하는 JAXB 주석 내 모델 클래스에 주석을 할 때 문제는 다음과 같습니다

나는이 3.1 글래스 피시에 배포 할 수 있습니다 및 soapUI는 새로운 구조와 새로운 클라이언트 요청을 생성하지만
@XmlType(name="barkod") 
@XmlRootElement(name="barkod") 
@XmlAccessorType(XmlAccessType.FIELD) 

는 "barkod.getBarkodNo을 (할 때); " addBarkod 연산에서 NullPointerException을 발생시킵니다. 웹 서비스에 보낸 XML이 적절한 Barkod 객체를 만들지 않은 것처럼 보입니다.

웹 서비스 클래스 또는 다른 것과 관련이 있습니까?

+0

받고있는 예외를 게시 할 수 있습니까? –

+0

난 그냥 붙여 넣기 : https://gist.github.com/2359811 – zekzekus

+0

'TempService.java : 54'에서 NPE를 유발하는 null은 무엇입니까? –

답변

0

soapUI가 내 WSDL에서 자동으로 요청을 생성하기 때문에 문제가 발생한다고 생각합니다. 네임 스페이스 절없이 @XmlRootElement를 사용하여 클래스에 주석을 추가하면 주어진 XML을 매핑 할 수 없으므로이를 처리 할 수 ​​있습니다. @XmlRootElemen (namespace = "")을 할당하면 문제가 사라집니다.

어쨌든 답장을 보내 주셔서 감사합니다.

관련 문제