Any ideas about this error?

This is the rule script I used:
********************************************************
package Asignar;
 
import aplicacion.rrhh.Empleado;
import java.math.BigDecimal;

rule "Programador" salience 10 dialect "mvel" no-loop true
    when
        $empleado : Empleado(promedioConocimientos >= 8)
    then
        
           $empleado.setCargo("Programador");
           $empleado.setSalario(BigDecimal.valueOf(1000));
        
end
 
rule "Lider de Proyecto" salience 9 dialect "mvel" no-loop true
    when
        $empleado : Empleado(promedioConocimientos >= 4,
promedioConocimientos <= 7)
    then

          $empleado.setCargo("Lider de Proyecto");
          $empleado.setSalario(BigDecimal.valueOf(2000));


end 
 
rule "Gerente" salience 8 dialect "mvel" no-loop true
    when
        $empleado : Empleado(promedioConocimientos >= 0,
promedioConocimientos <= 3)
    then

        $empleado.setCargo("Gerente");
        $empleado.setSalario(BigDecimal.valueOf(3000));

end
********************************************************


And this is the XML I send to the ws:
********************************************************
<body>
   <p:SetTipoRequest xmlns:p="http://wso2.org/sample/rule";>
      <p:Empleado>
         <xs:cargo xmlns:xs="http://rrhh.aplicacion/xsd";>nada</xs:cargo>
         <xs:nombre xmlns:xs="http://rrhh.aplicacion/xsd";>Juan</xs:nombre>
         <xs:promedioConocimientos
xmlns:xs="http://rrhh.aplicacion/xsd";>9</xs:promedioConocimientos>
         <xs:salario xmlns:xs="http://rrhh.aplicacion/xsd";>0</xs:salario>
      </p:Empleado>
      <p:Empleado>
         <xs:cargo xmlns:xs="http://rrhh.aplicacion/xsd";>nada</xs:cargo>
         <xs:nombre xmlns:xs="http://rrhh.aplicacion/xsd";>Pedro</xs:nombre>
         <xs:promedioConocimientos
xmlns:xs="http://rrhh.aplicacion/xsd";>5</xs:promedioConocimientos>
         <xs:salario xmlns:xs="http://rrhh.aplicacion/xsd";>0</xs:salario>
      </p:Empleado>       
      <p:Empleado>
         <xs:cargo xmlns:xs="http://rrhh.aplicacion/xsd";>nada</xs:cargo>
         <xs:nombre xmlns:xs="http://rrhh.aplicacion/xsd";>Jose</xs:nombre>
         <xs:promedioConocimientos
xmlns:xs="http://rrhh.aplicacion/xsd";>2</xs:promedioConocimientos>
         <xs:salario xmlns:xs="http://rrhh.aplicacion/xsd";>0</xs:salario>
      </p:Empleado>       
   </p:SetTipoRequest>
</body>
********************************************************


Saludos,
Ing. Jorge Infante Osorio.
J´Dpto Soluciones SOA.
CDAE.
Fac. 5.
UCI.

De: [email protected] [mailto:[email protected]] En
nombre de Jorge Infante Osorio
Enviado el: domingo, 31 de julio de 2011 3:56
Para: [email protected]
Asunto: [Carbon-dev] error: Cannot create a custom Java object form XML in
BRS

Hi folks.

I´m testing BRS 1.2.0 with a rule service and receive this error using the
try it:

TID: [] [WSO2 BRS] [2011-07-31 03:38:33,093] ERROR
{org.apache.axis2.transport.http.AxisServlet} -  Cannot create a custom Java
object form XML. Java class is : aplicacion.rrhh.Empleado and XML is :
<p:SetTipoRequest xmlns:p="http://brs.carbon.wso2.org";><!--0 or more
occurrences--><p:Empleado><!--0 to 1 occurrence--><xs:cargo
xmlns:xs="http://rrhh.aplicacion/xsd";>null</xs:cargo><!--0 to 1
occurrence--><xs:nombre
xmlns:xs="http://rrhh.aplicacion/xsd";>bbbbbbbbb</xs:nombre><!--0 to 1
occurrence--><xs:promedioConocimientos
xmlns:xs="http://rrhh.aplicacion/xsd";>8</xs:promedioConocimientos><!--0 to 1
occurrence--><xs:salario
xmlns:xs="http://rrhh.aplicacion/xsd";>0</xs:salario></p:Empleado></p:SetTipo
Request> {org.apache.axis2.transport.http.AxisServlet}
org.wso2.carbon.rulecep.commons.LoggedRuntimeException: Cannot create a
custom Java object form XML. Java class is : aplicacion.rrhh.Empleado and
XML is : <p:SetTipoRequest xmlns:p="http://brs.carbon.wso2.org";><!--0 or
more occurrences--><p:Empleado><!--0 to 1 occurrence--><xs:cargo
xmlns:xs="http://rrhh.aplicacion/xsd";>null</xs:cargo><!--0 to 1
occurrence--><xs:nombre
xmlns:xs="http://rrhh.aplicacion/xsd";>bbbbbbbbb</xs:nombre><!--0 to 1
occurrence--><xs:promedioConocimientos
xmlns:xs="http://rrhh.aplicacion/xsd";>8</xs:promedioConocimientos><!--0 to 1
occurrence--><xs:salario
xmlns:xs="http://rrhh.aplicacion/xsd";>0</xs:salario></p:Empleado></p:SetTipo
Request>
                at
org.wso2.carbon.rulecep.adapters.impl.POJOResourceAdapter.getAdaptedFacts(PO
JOResourceAdapter.java:210)
                at
org.wso2.carbon.rulecep.adapters.impl.POJOResourceAdapter.adaptInput(POJORes
ourceAdapter.java:161)
                at
org.wso2.carbon.rulecep.adapters.DefaultInputAdaptationStrategy.adapt(Defaul
tInputAdaptationStrategy.java:81)
                at
org.wso2.carbon.rulecep.adapters.InputManager.processInputs(InputManager.jav
a:114)
                at
org.wso2.carbon.rule.service.RuleServiceInvoker.invoke(RuleServiceInvoker.ja
va:100)
                at
org.wso2.carbon.rule.service.RuleServiceInOutMessageReceiver.invokeBusinessL
ogic(RuleServiceInOutMessageReceiver.java:83)
                at
org.apache.axis2.receivers.AbstractInOutMessageReceiver.invokeBusinessLogic(
AbstractInOutMessageReceiver.java:40)
                at
org.apache.axis2.receivers.AbstractMessageReceiver.receive(AbstractMessageRe
ceiver.java:110)
                at
org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:181)
                at
org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HT
TPTransportUtils.java:172)
                at
org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:146)
                at
org.wso2.carbon.core.transports.CarbonServlet.doPost(CarbonServlet.java:206)
                at
javax.servlet.http.HttpServlet.service(HttpServlet.java:641)
                at
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
                at
org.eclipse.equinox.http.servlet.internal.ServletRegistration.handleRequest(
ServletRegistration.java:90)
                at
org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxySer
vlet.java:111)
                at
org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.
java:67)
                at
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
                at
org.wso2.carbon.bridge.BridgeServlet.service(BridgeServlet.java:155)
                at
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
                at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application
FilterChain.java:304)
                at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
ain.java:210)
                at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.ja
va:240)
                at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.ja
va:164)
                at
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase
.java:462)
                at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164
)
                at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100
)
                at
org.wso2.carbon.server.TomcatServer$1.invoke(TomcatServer.java:241)
                at
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:563)
                at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java
:118)
                at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:399)
                at
org.apache.coyote.http11.Http11NioProcessor.process(Http11NioProcessor.java:
396)
                at
org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(H
ttp11NioProtocol.java:356)
                at
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:
1534)
                at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.ja
va:886)
                at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:9
08)
                at java.lang.Thread.run(Thread.java:619)

This is the Empleado class:

package aplicacion.rrhh;

import java.math.BigDecimal;

public class Empleado {
      
    public String nombre;
    public Integer promedioConocimientos;
    public String cargo;
    public BigDecimal salario;

      public String getNombre() {
            return nombre;
      }

      public void setNombre(String nombre) {
            this.nombre = nombre;
      }

      public Integer getPromedioConocimientos() {
            return promedioConocimientos;
      }

      public void setPromedioConocimientos(Integer promedioConocimientos) {
            this.promedioConocimientos = promedioConocimientos;
      }

      public String getCargo() {
            return cargo;
      }

      public void setCargo(String cargo) {
            this.cargo = cargo;
      }

      public BigDecimal getSalario() {
            return salario;
      }

      public void setSalario(BigDecimal salario) {
            this.salario = salario;
      }
}

Any idea?

Saludos,
Ing. Jorge Infante Osorio.
J´Dpto Soluciones SOA.
CDAE.
Fac. 5.
UCI.


_______________________________________________
Carbon-dev mailing list
[email protected]
http://mail.wso2.org/cgi-bin/mailman/listinfo/carbon-dev

Reply via email to