私はSpring統合の初心者です。 Springの統合を使ってsoap webserviceを呼び出そうとしています。ローカルサーバーhttp://localhost:8080/DemoWebService/tickets
にWebサービスを展開しました。Spring統合フレームワークを使用したSOAP Webサービス呼び出し
以下は、Springアプリケーションコンテキストxmlの設定です。
<int:gateway id="systemEntry" default-request-channel="requestChannel" default-reply-channel="responseChannel"
service-interface="xpadro.spring.integration.ws.gateway.TicketService"/>
<int:channel id="requestChannel"/>
<int:channel id="responseChannel" />
<int-ws:outbound-gateway id="marshallingGateway"
request-channel="requestChannel" reply-channel="responseChannel"
uri="http://localhost:8080/DemoWebService/tickets" marshaller="marshaller"
unmarshaller="marshaller"/>
<oxm:jaxb2-marshaller id="marshaller" contextPath="xpadro.spring.integration.ws.types" />
以下は、ゲートウェイとJunitテストクラスとして書かれたインターフェイスです。
public interface TicketService {
/**
* Entry to the messaging system. All invocations to this method will be intercepted and sent to the SI "system entry" gateway
*
* @param request
*/
@Gateway
public TicketResponse invoke(TicketRequest name);}
コード形式のJUnitテスト
@Test
public void testInvocation() throws InterruptedException, ExecutionException {
TicketRequest request = new TicketRequest();
request.setFilmId("aFilm");
request.setQuantity(new BigInteger("3"));
TicketResponse response = service.invoke(request);
assertNotNull(response);
assertEquals("aFilm",response.getFilmId());
assertEquals(new BigInteger("5"), response.getQuantity());
}
しかし、私は、テストを実行すると、私はエラーの下に取得しています。助けてください。ありがとう..
WARNING: Interceptor for {http://ws.mkyong.com/}tickets has thrown exception, unwinding now
org.apache.cxf.interceptor.Fault: Message part {http://www.xpadro.spring.samples.com/tickets}ticketRequest was not recognized. (Does it exist in service WSDL?)
このサービスはSOAP UIからうまく機能します。
ここに何か不足していますか?ご意見をお聞かせください。