サービス呼び出しが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;
}
}