0

MuleServerの起動時に次のエラーが発生します-

11:07:44.523[メイン]エラーorg.mule.MuleServer-


メッセージ:定義で検索中にコンポーネント「{http://xyz.com/services/mvi}ProxyService」が見つかりません。エンドポイントの名前空間属性が欠落しているか、無効な値を持っているかどうかを確認してください。一致する可能性のあるサービス:"[]"。定義のすべてのサービス:[{http://xyz.com/services/mvi} MVIService]タイプ:org.mule.api.lifecycle.InitialisationExceptionコード:MULE_ERROR-71999 JavaDoc:http ://www.mulesoft.org/ docs / site / current3 / apidocs / org / mule / api / lifecycle / InitialisationException.html オブジェクト:org.mule.module.cxf.config.FlowConfigureMessageProcessor@4c372a96

MVIServiceProxyをコンポーネントクラスとして定義したのに、なぜMuleがProxyServiceを探しているのかわかりません。私のcxfプロキシクライアントの設定は-

<flow name="mviProxyService">
    <http:inbound-endpoint address="http://localhost:61005/mvi/service" exchange-pattern="request-response">
        <cxf:proxy-service wsdlLocation="classpath:mvi.wsdl" namespace="http://xyz.com/services/mvi" />
    </http:inbound-endpoint>

    <component>
        <prototype-object class="com.xyz.services.mvi.MVIServiceProxy">
            <property key="requestDispatchUrl" value="jms://mviq.121.order?connector=jmsConnector" />
            <property key="responsePollUrl" value="jms://mviq.async.service.reply?connector=jmsConnector" />
            <property key="serviceTimeout" value="90000" />
        </prototype-object>
    </component>
    <request-reply timeout="60000">
        <jms:outbound-endpoint queue="mviq.121.order" />
        <jms:inbound-endpoint queue="mviq.async.service.reply" exchange-pattern="one-way" />
    </request-reply>
</flow>

===========フローの変更===============

<flow name="mviProxyService">
    <http:inbound-endpoint address="http://localhost:61005/mvi/service" exchange-pattern="request-response">
        <cxf:proxy-service wsdlLocation="classpath:mvi.wsdl" namespace="http://xyz.com/services/mvi" />
    </http:inbound-endpoint>

    <component class="com.xyz.services.mvi.MVIServiceProxy" />
    <request-reply timeout="60000">
        <jms:outbound-endpoint queue="mviq.121.order" />
        <jms:inbound-endpoint queue="mviq.async.service.reply" exchange-pattern="one-way" />
    </request-reply>
</flow>
4

1 に答える 1

1

serviceで属性を指定する必要がありますcxf:proxy-service。これは、WSDLの要素のname属性にある値です。wsdl:service

また、コンポーネントはを実装する必要はありませんorg.mule.api.lifecycle.Callable。引数を受け入れるパブリックメソッドが1つjavax.xml.stream.XMLStreamReaderあれば、XMLペイロードにアクセスできます。

于 2012-07-24T19:52:15.413 に答える