2013-02-01 3 views
2

나는 그것을 비동기식이라고 부르는 webservice를 가지고있다. javax.xml.ws.Response 객체를 돌려줍니다. 이 webservice 인터페이스를 조롱하여 동일한 응답 객체를 반환하려고합니다. 그러나 나는 응답 객체를 만들 수 없습니다.모의 테스트 비누 인터페이스

Webservice를 호출 :

public Response<com.company.SomeResponse> retrieveSomeValuesAsync(
     @WebParam(name = "arg0", targetNamespace = "") 
     com.company.SomeRequestTO arg0 
    ); 

그래서 필자는이 방법으로 호출을 수행합니다. 이제 요점은 javax.xml.ws.Response 객체 인 리턴 객체 (Response)를 빌드하는 방법이다. 이런 식으로하려고했는데 제대로 작동하지 않습니다.

Response<com.company.SomeResponse> someResponse = (Response<com.company.SomeResponse>)new com.company.SomeResponse(); 

답변

0

javax.xml.ws.Response는 인터페이스 : 그것은 ClassCastException이

Mycode가 발생합니다. 따라서 그것을 조롱하려면 구현을 반환해야합니다. 단순히 클래스를 만들고이 인터페이스를 구현하고 메서드를 재정의 한 다음 메서드에서이 클래스의 인스턴스를 만들어 반환하십시오.

0

JaxWsServerFactoryBean 클래스를 사용하여 SOAP 끝점을 생성하는 것이 좋습니다. 나는 예제 JUnit Rule 구현 인 here을 사용했다.