Hello,
Hope you're doing well.
I'm having a problem with a RuleService when serialization of the SOAP response.
The operation in the rule contains two INPUT/OUTPUT which are complex objects.
When generating a request using SoapUi, the input SOAP message is fine.
But when the response is received the parameters serialization occurs using the name of the parameter with out any reference to resolve the class.
See this SOAP request fragment:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:reg="http://www.ibm.com/rules/decisionservice/ReglasApc/ReglasApc"
xmlns:par="http://www.ibm.com/rules/param"
xmlns:pa="http://mydomain.com">
<soapenv:Header/>
<soapenv:Body>
<reg:ReglasApcRequest>
<!--Optional:-->
<reg:DecisionID>?</reg:DecisionID>
<par:calificacion>
<pa:CalificacionApc>
<pa:estatusCliente>0</pa:estatusCliente>
<!--Optional:-->
<pa:calificacion></pa:calificacion>
<pa:tieneMadurez>false</pa:tieneMadurez>
</pa:CalificacionApc>
</par:calificacion>
<par:referencias>
<pa:Referencias>
<!--Zero or more repetitions:-->
<pa:ReferenciaApc>
This is the first parameter:
<par:calificacion>
And this is the class name/type for the parameter
<pa:CalificacionApc>
linked to pa:xlmns
This is the second parameter:
<par:referencias>
And this is the class/type name for the parameter
<pa: Referencias >
After sending the request, the rule is executed fine, but the response comes this way:
<DecisionID>?</DecisionID>
<calificacion xmlns="http://www.ibm.com/rules/param">
<calificacion xmlns="http://mydomain.com" xmlns:ns1="http://mydomain.com">
<estatusCliente>0</estatusCliente>
<calificacion>REFERENCIAS EXCELENTES</calificacion>
<tieneMadurez>true</tieneMadurez>
</calificacion>
</calificacion>
<referencias xmlns="http://www.ibm.com/rules/param">
<referencias xmlns="http://mydomain.com" xmlns:ns2="http://mydomain.com">
<ReferenciaApc>
Please notice that the element is replaced with the name of the parameter, instead of the class/type name
And the xmlns=http://mydomain.com references just the namespace, so the client is not able to resolve
This
<calificacion xmlns="http://mydomain.com" xmlns:ns1="http://mydomain.com">
To
<CalificacionApc xmlns="http://mydomain.com" xmlns:ns1="http://mydomain.com">
And
<referencias xmlns="http://mydomain.com" xmlns:ns2="http://mydomain.com">
To
<Referencias xmlns="http://mydomain.com" xmlns:ns2="http://mydomain.com">
To complicate a little more, the cliente yis a legacy application and changing the involved times could be very expensive and time consuming.
All of this happened when migrated from ODM v8.7 to ODM v8.11
Please, any help is really appreciated!
Best regards!