1

ミュールで「cxf:proxy-service」を使用して、簡単な挨拶 Web サービスを公開しようとしています。以下は私の流れです。

<flow name="WS_In">
    <http:inbound-endpoint address="http://localhost:8080/HelloService" exchange-pattern="request-response">
        <cxf:proxy-service  wsdlLocation="classpath:HelloService.wsdl" namespace="http://example.org/HelloService"/>
    </http:inbound-endpoint>        
    <component>             
        <prototype-object class="com.example.ServiceProxy">
        </prototype-object>
    </component>

    <echo-component></echo-component>
    <logger level="INFO"        />
</flow>

しかし、それは私に以下のようなエラーを与えます:

2013-01-03 16:13:35,569 ERROR [main] construct.AbstractFlowConstruct (AbstractFlowConstruct.java:180) - Failed to stop service: WS_In
org.mule.api.lifecycle.LifecycleException: Lifecycle Manager 'WS_In.stage1' phase 'start' does not support phase 'dispose'

私の ServiceProxy カルスは以下の通りです

public class ServiceProxy implements Callable, Initialisable 

パスがどこにあるかを理解するのを手伝ってください。

4

2 に答える 2

2

要素の属性 'name' の代わりに、<cxf:proxy-service>属性 'service' を使用してサービス名を指定します。

于 2013-01-04T16:32:18.683 に答える
1

これを試してみてください...

  1. WSDL からサービス名を取得し、cxf:proxy-service で使用します
  2. コンポーネントで直接クラスを使用します。

....

<flow name="WS_In">
    <http:inbound-endpoint address="http://localhost:8080/HelloService" exchange-pattern="request-response">
        <cxf:proxy-service  wsdlLocation="classpath:HelloService.wsdl" namespace="http://example.org/HelloService" service="HelloService"/>
    </http:inbound-endpoint>        
    <component class="com.example.ServiceProxy" />
    <echo-component></echo-component>
    <logger level="INFO"        />
</flow>
于 2013-01-03T21:51:55.507 に答える