2016-02-15 3 views
0

Я пытаюсь отправить запрос POST к SOAP веб-сервис бросить верблюд маршрут, и я получил сообщение об ошибке:Apache Camel - Ошибка при вызове SOAP WebService

org.apache.cxf.service.factory.ServiceConstructionException: Could not find definition for service {http://www.webserviceX.NET/}GlobalWeather. 

Это маршрут:

<route id="my_Sample_Camel_Route_with_CXF"> 
     <from uri="file:src/data?noop=true"/> 
     <log loggingLevel="INFO" message="&gt;&gt;&gt; ${body}"/> 
     <to uri="cxf://http://www.webservicex.net/globalweather.asmx?wsdlURL=http://www.webservicex.net/globalweather.asmx?wsdl&amp;serviceName={http://www.webserviceX.NET/}GlobalWeather&amp;portName={http://www.webserviceX.NET/}GlobalWeatherSoap&amp;dataFormat=MESSAGE"/> 
     <log loggingLevel="INFO" message="&gt;&gt;&gt; ${body}"/> 
</route> 

сервис Defenition в WSDL:

<wsdl:service name="GlobalWeather"> 
<wsdl:port name="GlobalWeatherSoap" binding="tns:GlobalWeatherSoap"> 
<soap:address location="http://www.webservicex.net/globalweather.asmx"/> 
</wsdl:port> 
<wsdl:port name="GlobalWeatherSoap12" binding="tns:GlobalWeatherSoap12"> 
<soap12:address location="http://www.webservicex.net/globalweather.asmx"/> 
</wsdl:port> 
<wsdl:port name="GlobalWeatherHttpGet" binding="tns:GlobalWeatherHttpGet"> 
<http:address location="http://www.webservicex.net/globalweather.asmx"/> 
</wsdl:port> 
<wsdl:port name="GlobalWeatherHttpPost" binding="tns:GlobalWeatherHttpPost"> 
<http:address location="http://www.webservicex.net/globalweather.asmx"/> 
</wsdl:port> 
</wsdl:service> 

Как я могу это исправить?

ответ

0

"/" в конце необходимо удалить.

это должно быть так:

serviceName={http://www.webserviceX.NET}GlobalWeather&amp; 
portName={http://www.webserviceX.NET}GlobalWeatherSoap