【问题标题】:Apache Camel - Error when calling a SOAP webserviceApache Camel - 调用 SOAP Web 服务时出错
【发布时间】:2016-02-15 08:52:27
【问题描述】:

我尝试向 SOAP Webservice throw camel route 发送 POST 请求,但收到了以下错误消息:

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>

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>

我该如何解决?

【问题讨论】:

    标签: web-services soap wsdl apache-camel blueprint-osgi


    【解决方案1】:

    末尾的"/"必须删除。

    应该是这样的:

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

    【讨论】:

      猜你喜欢
      • 2020-09-07
      • 1970-01-01
      • 1970-01-01
      • 2023-03-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多