나는이처럼 CXF 구성 요소를 사용하여 낙타에서 웹 서비스를 소비하기 위해 노력하고있어 :낙타 CXF 소비자, 웹 서비스 메소드는 응답이 없습니다
sendMessage
메소드는 따라서 응답의
inOnly
보다는
to
이 없습니다
<cxf:cxfEndpoint id="webservice"
address="http://webservice.url.com/webservice"
serviceClass="com.url.webservice.MyWebService"/>
<camel:camelContext>
<camel:route>
<camel:from uri="direct:a"/>
<camel:inOnly uri="cxf:bean:webservice?defaultOperationName=sendMessage"/>
</camel:route>
</camel:camelContext>
(내가 비록 to
을 시도 할 때 같은 문제가 있지만). 문제는 명백하게 낙타가 아직도 응답을 기대하고, 길은 하나를 기다리는 동안 멈추는 것이다. 나는 그것이 충분히 길게하려고한다면 결국 시간이 초과 될 것이라고 생각합니다.
명확하게하기 위해, 나는 시험 방법 실행 해요 :
/* ... */
@Produce(uri = "direct:a")
protected ProducerTemplate directA;
@Test
public void sendMessage() throws Exception {
directA.sendBody(new String[] {"client id", "message"});
directB.sendBody(new String[] {"client id", "message 2"});
}
을 그리고 두 번째 첫 번째 호출의 효과 (즉, 메시지가 서버에 도착를)보고 있지만 아니에요 메소드가 실행을 마치지 않습니다. (다시 말하면, 어떤 시점에서 타임 아웃이 발생한다고 가정하고 있습니다 ... 그렇다면 제한 시간은 꽤 길다. 필자가이 글을 쓰기 시작하면서 테스트를 실행했고 여전히 실행 중이다.)
내가 누락 된 항목이 있습니까? 그게 버그 야? 응답이없는 웹 서비스 메서드를 사용하는 것은 나쁜 습관입니까?
그런데 응답이있는 메소드를 테스트 할 때 잘 동작합니다.
나를 위해 문제를 해결,하지만 난 때 다시 시도에 관심이 있어요 2.6이 릴리스되었습니다. 감사! – ScArcher2