0

当服务调用返回 null( NullPayload) 时,为组件绑定生成的代理会抛出一个ClassCastException. 它应该返回 null 吗?(这是在 Mule CE 3.2.1 中)参见MULE 4405

谢谢

这是骡子配置:

<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类是:

接口.java

package classcastexception;

public interface Interface {

    String foo(String s);

}

组件.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;
    }

}

接口Impl.java

package classcastexception;

public class InterfaceImpl implements Interface {

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

}
4

1 回答 1

1

最近修复了这个错误。查看 MULE-6287 jira 了解更多信息。如您所见,此修复将包含在即将发布的 mule 3.3 中。

于 2012-06-10T22:01:21.660 回答