REST to SOAP transformation issue
Dear experts, as im newbie, doing a PoC for a customer, ive transformation problem for a SOAP service when i select as REST to SOAP, instance details: OPDK (4.5.xxx) all-in-one, Centos 7.4, SOAP service (attached wsdl) - bordered as REST to SOAP Proxy, given SOAP service has a different prefixes (urn and cb) which Apigee was unable to transform out of the box. Whereas apigee was transforming all as same prefix which is "urn", example -
Native service expected request transformation: <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:cbs-messagegatewaysoap:2015-01-01"> <soapenv:Header/> <soapenv:Body> <urn:MGRequest xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <urn:Message GroupId="2b668cb9-038e-413d-b9c2-dfbc38c4104f" Id="45397ed8-dbd7-4b61-aa0d-b497e88a9548" TimeStamp="2017-04-11T14:42:47.662197+01:00" Idempotence="unique" xmlns="urn:cbs-messagegatewaysoap:2015-01-01"> <!-- User credintials --> <urn:Credential Domain="" Id="16944283" Password="Password1!"/> </urn:Message> <urn:Product ServiceId="CB" Id="CB_ME_Product" Version="" xmlns="urn:cbs-messagegatewaysoap:2015-01-01"> <cb:CB_ME_ProductInput xmlns:cb="urn:crif-creditbureau:v1"> <!-- Always ConsentFlag = 1 --> <cb:GeneralInfo ConsentFlag="1"/> <!-- Entered by the user, the entered input either CommercialRegistrationCode or NationalNumber one of them have to be exits not both --> <cb:SubjectCodes CommercialRegistrationCode="1010032264"/> <!-- Entered by the user --> <cb:B2BInfo ProductID="RPT_BIZ_PAY_FIN_MAINCR_PDF" Culture="EN"> <!-- Optional entery by the end user--> <cb:Financial FilingID="" Status="" Year="" Nature=""/> </cb:B2BInfo> </cb:CB_ME_ProductInput> </urn:Product> </urn:MGRequest> </soapenv:Body> </soapenv:Envelope> OPDK Out of the box transformation: <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:cbs-messagegatewaysoap:2015-01-01" xmlns:cb="urn:crif-creditbureau:v1"> <soapenv:Header/> <soapenv:Body> <urn:MGRequest xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <urn:Message GroupId="2b668cb9-038e-413d-b9c2-dfbc38c4104f" Id="45397ed8-dbd7-4b61-aa0d-b497e88a9548" TimeStamp="2017-04-11T14:42:47.662197+01:00" Idempotence="unique" > <!-- User credintials --> <urn:Credential Domain="" Id="16944283" Password="Password1!"/> </urn:Message> <urn:Product ServiceId="CB" Id="CB_ME_Product" Version="" xmlns="urn:cbs-messagegatewaysoap:2015-01-01"> <urn:CB_ME_ProductInput > <!-- Always ConsentFlag = 1 --> <urn:GeneralInfo ConsentFlag="1"/> <!-- Entered by the user, the entered input either CommercialRegistrationCode or NationalNumber one of them have to be exits not both --> <urn:SubjectCodes CommercialRegistrationCode="1010032264"/> <!-- Entered by the user --> <urn:B2BInfo ProductID="RPT_BIZ_PAY_FIN_MAINCR_PDF" Culture="EN"> <!-- Optional entery by the end user--> <urn:Financial FilingID="" Status="" Year="" Nature=""/> </urn:B2BInfo> </urn:CB_ME_ProductInput> </urn:Product> </urn:MGRequest> </soapenv:Body> </soapenv:Envelope>
Resolution: we need to showcase without any modification we should be able to transform REST to SOAP, since it is not working, we could try replace "<urn:CB_ME_ProductInput >" element prefix to "<cb:CB_ME_ProductInput >", please advise how to convert this or any other alternative for the same