CXF 2.4.2:找不到命名空间http://schemas.xmlsoap.org/soap/http的管道启动器 [英] CXF 2.4.2: No conduit initiator was found for the namespace http://schemas.xmlsoap.org/soap/http

查看:1040
本文介绍了CXF 2.4.2:找不到命名空间http://schemas.xmlsoap.org/soap/http的管道启动器的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个从wsdl生成的服务客户端。我正在尝试呼叫远程服务,我收到下面看到的导管启动器错误。我尝试了很多解决方案但没有成功。

I have a service client generated from wsdl. I am trying to call the remote service and I recieve the conduit initiator error seen below. I have tried numerous solutions without success.

我发现推荐使用 http-jetty扩展的解决方案(旧帖子)。我不相信这对我有意义,因为服务器没有在本地运行。

I found solutions (old posts) that recommend using the http-jetty extensions. I do not believe this makes sense for me because the server is not running locally.

我还发现帮助我的最近配置是一个示例 cxf.xml 文件,其中包含:

I've also found that closest configuration that helps me is an example cxf.xml file that contains:

<bean class="org.apache.cxf.transport.local.LocalTransportFactory"
    lazy-init="false">
    <property name="transportIds">
        <list>
            <value>http://cxf.apache.org/transports/local</value>
            <value>http://cxf.apache.org/transports/http</value>
            <value>http://schemas.xmlsoap.org/soap/http</value>
            <value>http://schemas.xmlsoap.org/wsdl/soap/http</value>
        </list>
    </property>
</bean>

此配置提供有关如何配置传输工厂并将其绑定到 http://schemas.xmlsoap.org/soap/http 。当我使用 HTTPTransportFactory 尝试此操作时,我收到一个无法初始化的异常(没有此类方法错误)。

This configuration provides guidance on how to configure a transport factory and bind it to http://schemas.xmlsoap.org/soap/http . When I try this with the HTTPTransportFactory, I receive an exception that it cannot be initialized (no such method error).

Caused by: org.apache.cxf.BusException: No conduit initiator was found for the namespace http://schemas.xmlsoap.org/soap/http.
    at org.apache.cxf.transport.ConduitInitiatorManagerImpl.getConduitInitiator(ConduitInitiatorManagerImpl.java:112)
    at org.apache.cxf.endpoint.AbstractConduitSelector.getSelectedConduit(AbstractConduitSelector.java:73)
    at org.apache.cxf.endpoint.UpfrontConduitSelector.prepare(UpfrontConduitSelector.java:61)
    at org.apache.cxf.endpoint.ClientImpl.prepareConduitSelector(ClientImpl.java:708)
    at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:476)
    at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:309)
    at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:261)
    at org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:73)
    at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:127)

预防措施:此时,我将阻止我尝试将我的CXF客户端升级到2.4.2并回退到最老的版本(2.2系列)。这不太理想。

precaution: At this point, I will stop my attempt to upgrade my CXF client to 2.4.2 and fall back to the oldest version that works (2.2 series). This is not ideal.

我想继续升级。有关如何配置CXF 2.4.X以便正确配置我的仅客户端HTTP SOAP配置的任何建议都会非常适用。

I would like to move forward with the upgrade. Any suggestions regarding how to configure CXF 2.4.X so that my client-only HTTP SOAP configuration wires correctly would be much appriciated.

推荐答案

像旧帖子推荐的那样,这可以通过将cxf-rt-transports-http-jetty添加到混音中来解决。

Like recommended by the old posts, this is solved by adding cxf-rt-transports-http-jetty into the mix.

这篇关于CXF 2.4.2:找不到命名空间http://schemas.xmlsoap.org/soap/http的管道启动器的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆