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