[java] - erro e retorno de api

Estou implementando um botão onde o objetivo é replicar uma ação que está na formação de carga, para isto, usei o snippet abaixo e tem dado um erro que eu não consegui fazer a implementação.

Basicamente o usuário vai selecionar os registros em um relatório e clicar no botão, os campos eu já estou pegando através da linha selecionada.

private void requisicaoGerarOndaSeparacao(ContextoAcao contexto, Registro linha) throws Exception {
		 System.out.println("Montando a requisição para gerar onda de separação");
		 ServiceContext serviceContext = new ServiceContext(null);
		 
		 serviceContext.setAutentication(AuthenticationInfo.getCurrent());
	     serviceContext.makeCurrent();
	        
	     Element requestBody = new Element("requestBody");
	     Element params = new Element("params");
	     
	     XMLUtils.addAttributeElement(params, "paramsseparacaoPorOC", true);
	     XMLUtils.addAttributeElement(params, "agrupar", false);
	     XMLUtils.addAttributeElement(params, "ORDEMCARGA", String.valueOf(linha.getCampo("ORDEMCARGA")));
	     XMLUtils.addAttributeElement(params, "CODEMP", String.valueOf(linha.getCampo("CODEMP")));	     
	     
	     Element clientEventList = new Element("clientEventList");
		 XMLUtils.addContentElement(clientEventList, "clientEvent", "br.com.sankhya.mgewms.expedicao.cortePedidos");
		 XMLUtils.addContentElement(clientEventList, "clientEvent", "br.com.sankhya.mgewms.expedicao.validarPedidos");
		 XMLUtils.addContentElement(clientEventList, "clientEvent", "br.com.sankhya.mgewms.expedicao.encerrarOC");
		 XMLUtils.addContentElement(clientEventList, "clientEvent", "br.com.sankhya.mgewms.expedicao.selecaoDocas");
		 
	     requestBody.addContent(params).detach();
	     requestBody.addContent(clientEventList).detach();
	     serviceContext.setRequestBody(requestBody); 
	     
	     System.out.println("Corpo da requisição: " + XMLUtils.elementToString(requestBody));
	     
		 try {   				
		        ExpedicaoMercadoriaSP expedicaoMercadoriaSP = (ExpedicaoMercadoriaSP) ServiceUtils.getStatelessFacade(ExpedicaoMercadoriaSPHome.JNDI_NAME, ExpedicaoMercadoriaSPHome.class);
		        expedicaoMercadoriaSP.gerarOndaSeparacao(serviceContext);
		} catch (Exception erro) {
		    System.out.println("Dados de envio"); 
		    System.out.println(XMLUtils.elementToString(requestBody));
			
			StringWriter sw = new StringWriter(); 
			PrintWriter pw = new PrintWriter(sw); 
			StringBuffer mensagem = new StringBuffer(); 
			erro.printStackTrace(pw);
    		mensagem.append("Snk Service - Erro gerarOndaSeparacao Excecao: " + erro.getMessage() + sw.toString());
    		MGEModelException.throwMe(new Exception(mensagem.toString()));
    		System.out.println("FIM ERRO");
		}
	}

Essa parte do Null Exception eu não consegui identificar conforme o log, colocarei o response body que utilizei para mapear o serviço.

<serviceRequest serviceName="ExpedicaoMercadoriaSP.gerarOndaSeparacao">
	<requestBody>
		<params separacaoPorOC="true" agrupar="false" ORDEMCARGA="8712" CODEMP="1"/>
		<clientEventList>
			<clientEvent>br.com.sankhya.mgewms.expedicao.cortePedidos</clientEvent>
			<clientEvent>br.com.sankhya.mgewms.expedicao.validarPedidos</clientEvent>
			<clientEvent>br.com.sankhya.mgewms.expedicao.encerrarOC</clientEvent>
			<clientEvent>br.com.sankhya.mgewms.expedicao.selecaoDocas</clientEvent>
		</clientEventList>
	</requestBody>
</serviceRequest>

ERRO no Log do Servidor:

Montando a requisição para gerar onda de separação
Corpo da requisição: <requestBody><params paramsseparacaoPorOC="true" agrupar="false" ORDEMCARGA="8711" CODEMP="1" /><clientEventList><clientEvent>br.com.sankhya.mgewms.expedicao.cortePedidos</clientEvent><clientEvent>br.com.sankhya.mgewms.expedicao.validarPedidos</clientEvent><clientEvent>br.com.sankhya.mgewms.expedicao.encerrarOC</clientEvent><clientEvent>br.com.sankhya.mgewms.expedicao.selecaoDocas</clientEvent></clientEventList></requestBody>
Dados de envio
<requestBody><params paramsseparacaoPorOC="true" agrupar="false" ORDEMCARGA="8711" CODEMP="1" /><clientEventList><clientEvent>br.com.sankhya.mgewms.expedicao.cortePedidos</clientEvent><clientEvent>br.com.sankhya.mgewms.expedicao.validarPedidos</clientEvent><clientEvent>br.com.sankhya.mgewms.expedicao.encerrarOC</clientEvent><clientEvent>br.com.sankhya.mgewms.expedicao.selecaoDocas</clientEvent></clientEventList></requestBody>
[HTTPServiceBroker] Erro ao executar o serviço "ActionButtonsSP.executeJava" chamado pela aplicação "DashboardGridApp".
br.com.sankhya.modelcore.MGEModelException: __PRETTY_MSG__PGI+VGlwbzo8L2I+IFJvdGluYSBqYXZhPGJyLz4gPGI+Tm9tZTogPC9iPiBici5Gb3JtYWNhb09y
ZGVtQ2FyZ2EuRmVjaGFyT3JkZW1DYXJnYUxpYkRvY2E=
____PERSONALIZATION____<b>Regra Personalizada:</b><br>Snk Service - Erro gerarOndaSeparacao Excecao: Sem mensagem de errobr.com.sankhya.modelcore.MGEModelException: Sem mensagem de erro
	at br.com.sankhya.modelcore.MGEModelException.parse(MGEModelException.java:64)
	at br.com.sankhya.modelcore.MGEModelException.throwMe(MGEModelException.java:33)
	at br.com.sankhya.mgewms.model.services.ExpedicaoMercadoriaSPBean.throwsMGEExceptionRollingBack(ExpedicaoMercadoriaSPBean.java:1685)
	at br.com.sankhya.mgewms.model.services.ExpedicaoMercadoriaSPBean.gerarOndaSeparacao(ExpedicaoMercadoriaSPBean.java:434)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.tinyejb.proxies.SessionBeanProxyBuilder$MethodCaller.call(SessionBeanProxyBuilder.java:220)
	at org.tinyejb.proxies.SessionBeanProxyBuilder$TransactionWrapper.call(SessionBeanProxyBuilder.java:327)
	at org.tinyejb.proxies.SessionBeanProxyBuilder$SessionEJBProxy.handleBusinessInterfaceMethods(SessionBeanProxyBuilder.java:106)
	at org.tinyejb.proxies.SessionBeanProxyBuilder$SessionEJBProxy.invoke(SessionBeanProxyBuilder.java:84)
	at com.sun.proxy.$Proxy1368.gerarOndaSeparacao(Unknown Source)
	at br.FormacaoOrdemCarga.FecharOrdemCargaLibDoca.requisicaoGerarOndaSeparacao(FecharOrdemCargaLibDoca.java:81)
	at br.FormacaoOrdemCarga.FecharOrdemCargaLibDoca.doAction(FecharOrdemCargaLibDoca.java:42)
	at br.com.sankhya.modelcore.actionbutton.JavaAction.prepareAndExecute(JavaAction.java:23)
	at br.com.sankhya.modelcore.actionbutton.ServerSideAction.execute(ServerSideAction.java:115)
	at br.com.sankhya.modelcore.facades.ActionButtonsSPBean.executeAction(ActionButtonsSPBean.java:108)
	at br.com.sankhya.modelcore.facades.ActionButtonsSPBean.access$000(ActionButtonsSPBean.java:59)
	at br.com.sankhya.modelcore.facades.ActionButtonsSPBean$2.doWithTx(ActionButtonsSPBean.java:308)
	at br.com.sankhya.jape.core.JapeSession$SessionHandle.execWithTX(JapeSession.java:1785)
	at br.com.sankhya.modelcore.facades.ActionButtonsSPBean.executeJavaTXAutomatica(ActionButtonsSPBean.java:296)
	at br.com.sankhya.modelcore.facades.ActionButtonsSPBean.executeJava(ActionButtonsSPBean.java:240)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.tinyejb.proxies.SessionBeanProxyBuilder$MethodCaller.call(SessionBeanProxyBuilder.java:220)
	at org.tinyejb.proxies.SessionBeanProxyBuilder$TransactionWrapper.call(SessionBeanProxyBuilder.java:327)
	at org.tinyejb.proxies.SessionBeanProxyBuilder$SessionEJBProxy.handleBusinessInterfaceMethods(SessionBeanProxyBuilder.java:106)
	at org.tinyejb.proxies.SessionBeanProxyBuilder$SessionEJBProxy.invoke(SessionBeanProxyBuilder.java:84)
	at com.sun.proxy.$Proxy1295.executeJava(Unknown Source)
	at sun.reflect.GeneratedMethodAccessor1263.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at br.com.sankhya.ws.HttpServiceBroker$ServiceProviderProxy.execute(HttpServiceBroker.java:1208)
	at br.com.sankhya.ws.HttpServiceBroker$3.doCall(HttpServiceBroker.java:611)
	at br.com.sankhya.ws.ServiceCallSerialization.serializeAndCall(ServiceCallSerialization.java:82)
	at br.com.sankhya.ws.ServiceCallSerialization.call(ServiceCallSerialization.java:25)
	at br.com.sankhya.ws.HttpServiceBroker.callService(HttpServiceBroker.java:419)
	at br.com.sankhya.ws.HttpServiceBroker.doPost(HttpServiceBroker.java:324)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:670)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:753)
	at io.undertow.servlet.handlers.ServletHandler.handleRequest(ServletHandler.java:85)
	at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:129)
	at br.com.sankhya.dwf.controller.servlet.HttpServiceBrokerFilter.doFilter(HttpServiceBrokerFilter.java:35)
	at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61)
	at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)
	at br.com.sankhya.ws.GZIPFilter.doFilter(GZIPFilter.java:50)
	at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61)
	at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)
	at br.com.sankhya.dwf.controller.servlet.AnyURLFilter.doFilter(AnyURLFilter.java:170)
	at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61)
	at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)
	at br.com.sankhya.dwf.controller.servlet.CacheControlFilter.doFilter(CacheControlFilter.java:56)
	at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61)
	at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)
	at io.undertow.servlet.handlers.FilterHandler.handleRequest(FilterHandler.java:84)
	at io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:62)
	at io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36)
	at org.wildfly.extension.undertow.security.SecurityContextAssociationHandler.handleRequest(SecurityContextAssociationHandler.java:78)
	at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
	at io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLInformationAssociationHandler.java:131)
	at io.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.handleRequest(ServletAuthenticationCallHandler.java:57)
	at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
	at io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler.java:46)
	at io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest(ServletConfidentialityConstraintHandler.java:64)
	at io.undertow.security.handlers.AuthenticationMechanismsHandler.handleRequest(AuthenticationMechanismsHandler.java:60)
	at io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler.handleRequest(CachedAuthenticatedSessionHandler.java:77)
	at io.undertow.security.handlers.NotificationReceiverHandler.handleRequest(NotificationReceiverHandler.java:50)
	at io.undertow.security.handlers.AbstractSecurityContextAssociationHandler.handleRequest(AbstractSecurityContextAssociationHandler.java:43)
	at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
	at org.wildfly.extension.undertow.security.jacc.JACCContextIdHandler.handleRequest(JACCContextIdHandler.java:61)
	at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
	at org.wildfly.extension.undertow.deployment.GlobalRequestControllerHandler.handleRequest(GlobalRequestControllerHandler.java:68)
	at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
	at io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:292)
	at io.undertow.servlet.handlers.ServletInitialHandler.access$100(ServletInitialHandler.java:81)
	at io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitialHandler.java:138)
	at io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitialHandler.java:135)
	at io.undertow.servlet.core.ServletRequestContextThreadSetupAction$1.call(ServletRequestContextThreadSetupAction.java:48)
	at io.undertow.servlet.core.ContextClassLoaderSetupAction$1.call(ContextClassLoaderSetupAction.java:43)
	at org.wildfly.extension.undertow.security.SecurityContextThreadSetupAction.lambda$create$0(SecurityContextThreadSetupAction.java:105)
	at org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1508)
	at org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1508)
	at org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1508)
	at org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1508)
	at io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:272)
	at io.undertow.servlet.handlers.ServletInitialHandler.access$000(ServletInitialHandler.java:81)
	at io.undertow.servlet.handlers.ServletInitialHandler$1.handleRequest(ServletInitialHandler.java:104)
	at io.undertow.server.Connectors.executeRootHandler(Connectors.java:336)
	at io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:830)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.NullPointerException
7 respostas