MaxMessageSizeExceededException

MaxMessageSizeExceededException

我们正在执行如下所示的 EJB 调用,它向我们返回 MaxMessageSizeExceededException。

Java 调用 EJB 的代码 -

Properties env = new Properties(); 
env.put(Context.INITIAL_CONTEXT_FACTORY,"weblogic.jndi.WLInitialContextFactory"); 
env.put(Context.PROVIDER_URL, "t3://xxxxxx.xxxx.xxx.com:4444"); 
InitialContext context; 
try { 
    context = new InitialContext(env); 
    Home hb =  context.lookup("lookupname"); 
    Service service = hb.create(); 
    Request request = new Request(); 
    service.getAPI(request); 
}

错误详细信息 -

<Error> <Socket> <BEA-000403> <IOException occurred on socket: Socket[addr=XXXX.xxx.xxx.com/xxx.x.xxx.xxx,port=xxxx,localport=xxxxx]
weblogic.socket.MaxMessageSizeExceededException: Incoming message of size: '10000080' bytes exceeds the configured maximum of: '10000000' bytes for protocol: 't3'.
weblogic.socket.MaxMessageSizeExceededException: Incoming message of size: '10000080' bytes exceeds the configured maximum of: '10000000' bytes for protocol: 't3'

在部署服务的 Weblogic 上,他们已将配置更新为 30MB,我们是否必须在客户端进行任何更改以增加响应的传入大小。任何 JVM 级别更改。?

尝试在您的 java 代码中以编程方式设置值,例如:

System.setProperty("weblogic.MaxMessageSize", "300000000"); 

您还可以在 JAVA_OPTIONS -Dweblogic.MaxMessageSize=300000000

中设置值

来源:https://blogs.oracle.com/LuzMestre/entry/how_to_fix_weblogic_socket