2014-01-29 5 views
0

저는 아직 Spring Integration을 처음 접했고 몇 가지 질문을했습니다.스프링 통합 호출 웹 서비스

Tomcat 서버에 WSDL을 배포하는 서비스가 있습니다.

그리고 스프링 통합 플로우에서 해당 서비스로 매개 변수를 보내고 다음 단계로 돌아가려면 응답을 수신하고 싶습니다.

이 작업을 수행하려면 아웃 바운드 WS 게이트웨이를 사용해야합니까? 및이를 구성하는 XML을 구성하는 방법은 무엇입니까?

온도 예제를 사용해 보았지만 여전히 이해하지 못합니다.

감사합니다.

///////////////////////////////////////////////////////////////////////////// 여기

/////////////////

내 설정이다 : 나는 웹 서비스를 호출 할 수 firstBU 및 otherBU 활성제 모두에서 출력 채널을 변경해야

 <int:gateway service-interface="com.app.service.IRequester" id="IRequester" 
    default-request-channel="requestChannel" 
    default-reply-channel="responseChannel" 
    error-channel="errorChannel" > 
</int:gateway> 

<int:service-activator input-channel="requestChannel" id="bu1" 
    ref="BU1" method="bu1Method" 
    output-channel="buChannel"> 
</int:service-activator> 

<int:service-activator input-channel="errorChannel" 
     ref="handlerError" method="errorReturnToGateway" 
     output-channel="responseChannel" > 
    </int:service-activator> 

<int:router id="routingChannel" input-channel="buChannel" ref="RoutingChannel"  method="routingChannel"> 
    <int:mapping value="firstChannel" channel="channelFirst" /> 
    <int:mapping value="otherChannel" channel="channelOther" /> 
</int:router> 

<int:service-activator id="firstBU" input-channel="channelFirst" 
     ref="FirstBU" method="doSomething" output-channel="responseChannel"> 
</int:service-activator> 
<int:service-activator id="otherBU" input-channel="channelOther" 
     ref="OtherBU" method="doSomething" output-channel="responseChannel"> 
</int:service-activator> 

하는 해당 매개 변수를 매개 변수로 보내고 (매개 변수 유형은 Hashmap 임) 동일한 유형의 응답을받습니다.

ws : outbound-gateway.Since를 사용하여 웹 서비스를 호출하는 방법을 알지 못하기 때문에 클라이언트 자바 클래스를 생성하여 자바 방식으로 웹 서비스를 호출하는 것으로 알려져 있으며 doSomething 메소드에서 서비스를 호출 할 수 있습니다. .

내 경우에는 어떤 방향으로 나아질 것이라고 생각하십니까? 그리고 나는 아직도 ws : outbound-gateway를 사용하여이 문제를 해결하는 방법을 알고 싶다.

감사합니다.

답변

1

SOAP과 관련하여 XML을 다루겠습니다. 그리고 WSDL은 XML을 서비스에 보내고 응답으로 반환해야하는 XSD를 계약에 제공합니다.

<int-ws:outbound-gateway>을 구성하고 올바른 XML을 해당 구성 요소의 request-channel에 대한 payload 메시지로 제공하십시오.

동일한 응답입니다. XML을 payload으로받습니다.

그러나 WS Outbound Gateway입니다. marshaller으로 구성하고 request-channel POJO 도메인으로 보내고 marshaller은 해당 POJO를 SOAP 요청의 XML 표현으로 변환하는 데주의를 기울입니다.

표시, 설정, 제발, 어쩌면 우리는 당신의 구체적인 문제에 대해 더 많은 도움을 줄 수 있습니다.

+0

답변 해 주셔서 감사합니다. 내 주제 게시물에 업데이트 구성을 마쳤습니다. – user3205788

+0

시간이 충분하지 않으면 코드 생성을 진행하고 일반적인' '를 사용할 수 있습니다. 그렇지 않으면 당신은 무엇이'Contract First'인지 그리고 Spring WS가 그것을 구현하는 방법을 연구 할 필요가있다. Spring Integration WS 모듈은 Spring WS 프로젝트를 기반으로합니다. –

+0

다시 한 번 고맙습니다. 코드 생성 방법이 잘 작동하고 있으며, 여러분이 제안한대로 Spring WS에 대해서도 공부할 것입니다. – user3205788

관련 문제