我需要使用WSDL文件配置camel路由端点。
我不知道服务类,我不想把服务类文件放在我的类路径中。我只有WSDL文件。
我如何解决我的任务?
答案 0 :(得分:0)
定义camel cxf端点如下
<cxf:cxfEndpoint id="testServiceEndpoint" address="http://localhost:9000/web-service/TestService" wsdlURL="TestService.wsdl" serviceClass="com.webservice.AllServiceService" endpointName="s:TestServiceHttpSoap11Endpoint" serviceName="s:TestPutService" xmlns:s="http://webservices/testService"/>
路线配置
<route>
<from uri="cxf:bean:testServiceEndpoint"/>
<to uri="log:output?showAll=true" />
</route>
请注意,我已经提到了一个serviceClass属性,但是通过使用 @WebServiceProvider 注释
,可以将此类设置为通用的以处理所有Web服务@WebServiceProvider
@ServiceMode(Mode.PAYLOAD)
public class AllServiceService implements Provider<StreamSource> {
@Override
public StreamSource invoke(StreamSource request) {
}
}