0

サービス呼び出しがnull(NullPayload)を返すと、コンポーネントバインディング用に生成されたプロキシは。をスローしClassCastExceptionます。代わりにnullを返す必要がありますか?(これはMule CE 3.2.1にあります)MULE4405を参照してください

ありがとう

ラバの設定は次のとおりです。

<mule ...>

    <flow name="entryPoint">
        <vm:inbound-endpoint
            path="entryPoint"
            exchange-pattern="request-response" />
        <component class="classcastexception.Component">
            <binding interface="classcastexception.Interface" method="foo">
                <vm:outbound-endpoint
                    path="classcastexception.Interface.foo"
                    exchange-pattern="request-response" />
            </binding>
        </component>
    </flow>

    <flow name="classcastexception.Interface.foo">
        <vm:inbound-endpoint
            path="classcastexception.Interface.foo"
            exchange-pattern="request-response" />
        <component class="classcastexception.InterfaceImpl" />
    </flow>

</mule>

Javaクラスは次のとおりです。

Interface.java

package classcastexception;

public interface Interface {

    String foo(String s);

}

Component.java

package classcastexception;

public class Component {

    private Interface i;

    public String foo(final String s) {
        return i.foo(s);
    }

    public void setInterface(final Interface i) {
        this.i = i;
    }

}

InterfaceImpl.java

package classcastexception;

public class InterfaceImpl implements Interface {

    @Override
    public String foo(String s) {
        return null;
    }

}
4

1 に答える 1

1

このバグは最近修正されました。詳細については、 MULE-6287 jira を参照してください。ご覧のとおり、この修正はまもなくリリースされるミュール 3.3 に含まれます。

于 2012-06-10T22:01:21.660 に答える