Message ID in Transformation
Hi,
I have a N:2 Transformation scenario in BPM
Receive IDoc -> Collect the IDoc for 2 minutes (time depenedent) -> Transformation(N:2) -> send1(file1) -> send2(file2)
we know that the BPM(transformation) does not give access to Runtime Constant. I cannot get in Transformation.
Question:
I want to get Message ID of file1 and it will input for file2.
How do i do that?
Kindly Advice,
Thanks,
Gowri
Bhavesh,
I have reached a step further in my Mapping.
I have defined a Mapping between File1_ABS and File2_IN (get Message ID)
Second Mapping is between File2_ABS and File2_IN
for Scenario : N:2 Transformation
N IDoc collected (Receive) -> Transform(2 files) -> Send1(File1_ABS)
-> Send2(File2_ABS)
I am struck at the Scenario. How do i define Receiver Agreement, Interface determination and Receiver determination?
Kindly Advice.
Thanks,
Gowri
Similar Messages
-
Failure while unmarshalling message: Failed to transform MFL content
hi ,
I am performing Flat to XML message transformation using OSB.
I have made a MFL using format builder and imported that MFL into my proxy service (Request Message type).
now when i am trying to run my proxy service.its Showing error "Failure while unmarshalling message: Failed to transform MFL content from binary to XML".
I have tested my MFL Using format tester and it is giving desired transformed output(FLAT to XML).
Please let me know if anybody knows the possible cause.
Thanks in advance.http://biemond.blogspot.com/2008/12/flat-file-to-xml-with-oracle-service.html
OSB: issue with MFLTransform: Error transforming CSV file to XML
http://kr.forums.oracle.com/forums/thread.jspa?threadID=867859
Regards,
Anuj -
Adobe Forms Error Message 'Error when transforming object data'
Hi,
When i tried to save(Adobe Forms) after making changes in Layout its giving an error message 'Error when transforming object data' and takes me out of the transaction. How do i solve this ? Can anyone help me out.
Thanks and Regards,
Franklin.hi
I have the same problem , plz help me out
thanks -
HL7 Messages are not transforming.
Hi,
My composite is picking HL7 message from file adapter and i want to insert some of few elements in database. After transformation null values goes in database. If i give hard code values like current date, then it get inserted properly in database. I tested mediator transformation values by using test button in mediator transformation , that time it showing all the values properly.
Composite flow is like this,
(Picking HL7 ADT_28 Messages)File Adapter------------->Mediator--------------->Database Adapter
Thanks,
Shrikant.HI,
Whenever we set the sender communication channel as FTP/NFS and Quality of Service as Exctactly Once in Order , such
mesasges will process through the Adapter engineEOIO sequence monitoring tool.
Sometimes, the status of the messages in the message monitoring of the adapter framework is Holding status.
To clear the holding status messages from Adapter engine we need to follow the step by step procedure as mentioned below.
Step 1.
http://hostname:port/MessagingSystem --->click on EOIO Sequence monitor.
If messages are stuck then you can see HOLD and NDLV status.
HOLD reprasents holding the messages in adapter engine in EOIO queue.
NDLV reprasents the messages not delivered to Integration Server.
To clear these messages click on the message key number.
Step 2:
Click on the redeliver button and see the status. If messages still not process then we need to cancel the failed message by clicking on Delete option.
refer the below links
http://www.saptechies.com/how-to-deal-with-stuck-eoio-messages-in-the-xi-30-adapter-framework/
thanks and regards,
kesava. -
Getting Error Message while creating transformations
While creating transformation for char customer no in the rule type for constant , getting an error message source parameter 0001 is not being used.
Hello Bharati,
you need to give the value of the constant by selecting from the source parameter.Hope this answer helps you.
Assigning Points = Thanks in SDN
Thanks & Regards
Jai -
Multiple source messages in transformation step in bpm
Hello,
I am using a transformation step in bpm, I have two source messages and 1 target message, I got an error 'expression must return the interface type XXXX(in source message)', I checked my source message in interface mapping and the container element, the types do match.
All the interfaces in the OM as well as in the bpm container definition are of type abstract.
It seems to have something to do with the interfaces belonging to different software components?
I declared a usage dependency from one swcv (holding the bpm) to another (holding the abstract interfaces which cause the error in the transformation step), so that I can reference them in the bpm.
I thought it might have something to do on how the message interfaces are selected in the operation mapping. so I tried to select the messages through the depencency path, but that was of no help either.
Have I been clear?
Any ideas?
Thanks
MatthiasSince no receiver information is available in the transformation step, there can be no value mapping within the transformation step. If the messages to be transformed give values in different formats, for example different date formats, you must first normalize the values before the messages can be processed in the process. To do so, define a message mapping with a corresponding value mapping.
Check the help page below for reference
http://help.sap.com/saphelp_nwpi71/helpdata/en/27/db283fd0ca8443e10000000a114084/content.htm -
Error using Message Transform Bean in SimplePlain2XML in file sender
Hi guys.
Im using Message Transform Bean to convert from file to xml in file sender.
My structure look like this:
ROW (1..n)
>TRANSPORTES (1)
>ENTREGAS (1..n)
And I have configured the module like this:
AF_Modules/MessageTransformBean - transform
transform - Transform.Class - com.sap.aii.messaging.adapter.Conversion
transform - xml.ENTREGAS.endSeparator - 'nl'
transform - xml.ENTREGAS.fieldFixedLengths - 1,30
transform - xml.ENTREGAS.fieldNames - TIPO,NUM_ENTREGA
transform - xml.ENTREGAS.keyFieldValue - E
transform - xml.TRANSPORTES.endSeparator - 'nl'
transform - xml.TRANSPORTES.fieldFixedLengths - 1,30
transform - xml.TRANSPORTES.fieldNames - TIPO,NUM_TRANSPORTE
transform - xml.TRANSPORTES.keyFieldValue - T
transform - xml.conversionType - SimplePlain2XML
transform - xml.documentName - MPrueba_Zip
transform - xml.documentNamespace - http:/XXXXXX.es/XXXX/sap/prueba
transform - xml.keyFieldName - TIPO
transform - xml.processFieldNames - fromConfiguration
transform - xml.recordsetName - row
transform - xml.recordsetStructure - TRANSPORTES,1,ENTREGAS,*
Im getting this error and I don´t know why:
Error: com.sap.aii.messaging.adapter.trans.TransformException: Transformer Conversion3.0.5227 Error initializing Class: java.lang.Exception: java.lang.Exception: java.lang.Exception: Error(s) in XML conversion parameters found: (4408) Parameter 'xml.fieldFixedLengths' or 'xml.fieldSeparator' is missing (4409) Parameter 'xml.fieldNames' is missing (4403) ; nested exception caused by: java.lang.Exception: java.lang.Exception: java.lang.Exception: Error(s) in XML conversion parameters found: (4408) Parameter 'xml.fieldFixedLengths' or 'xml.fieldSeparator' is missing (4409) Parameter 'xml.fieldNames' is missing (4403)
Why am i doing wrong?????
Thanks a lot!!!Hi
For Complex conversion you have to use xml.conversionType as "StructPlain2XML"
http://help.sap.com/saphelp_nw04/helpdata/en/24/4cad3baabd4737bab64d0201bc0c6c/content.htm
Regards
Ramg -
Message Transformation Bean - Usage of external classes
Hi SDNers,
I am planning to write an external Java class to be loaded from AF_Modules/MessageTransformBean . The idea is simple, I want my class to handle an extra level of hierarchy in FCC process. I know writing the Java class which is as generic as the one provided by SAP is too complex. But I just want it for some specific requirements, so I dont intend to make it as a generic class.
Should the external class that I write implement the interface Transform? If so, what is the jar file that contains this interface and where can I find this jar file in my XI installation?
Also, what is the jar file that contains the standard class com.sap.aii.messaging.adapter.Conversion that gets loaded by default while using the MessageTransformBean?
If you have already tried with similar requirements, please share your experience on the same.
Thanks
JaishankarYou can use the same module in J2SE and J2EE adapter without change.
I recommend to install a J2SE adapter engine on a local PC for testing.
I have found a sample code from previous tests:
package sample;
import com.sap.aii.messaging.adapter.Parameter;
import com.sap.aii.messaging.adapter.trans.Transform;
import com.sap.aii.messaging.adapter.trans.*;
import java.io.*;
public class MyModule extends Transform {
Parameter parameter;
String filename;
public void init(TransformConfig config) throws TransformException{
super.init(config);
parameter = (Parameter) config.getParameters("Parameter");
filename = (String) parameter.get("filename");
// obligatory method service
public void service(TransformRequest request, TransformResponse response) throws TransformException {
// Get the input stream for request message
InputStream in = (InputStream) request.getMessage();
// Get output stream for response message
OutputStream out = (OutputStream) response.getMessage(Transform.MT_OutputStream);
try{
execute(in,out);
} catch (Exception e) {
throw new TransformException("TransformException: Error converting Message " + e.getMessage(), e);
public void execute(InputStream in, OutputStream out) throws Exception{
String filename = (String) transformConfig.getParameters("FileName");
if (filename == null){
filename = "notfound.txt";
// open file stream
OutputStream fileOut = new FileOutputStream(new File(filename));
// copy input stream to output stream and to file
int c;
while ((c = in.read()) != -1) {
fileOut.write(c);
out.write(c);
// main Methode, for local testing. A local XML file is expected.
public static void main (String[] args) {
try {
// Define Input stream and output stream from file
InputStream in = new FileInputStream(new File("source.xml"));
OutputStream out = new FileOutputStream(new File("target.xml"));
// call Mapping
MyModule map = new MyModule();
map.execute(in,out);
} catch (Throwable t) {
t.printStackTrace();
System.exit(0); -
Message transformation using XSLT
Hi OSB Gurus,
We are trying to implement following functionality using OSB.
1. We have XML messages in a folder.
2. Need to create a proxy service to take these messages and apply transformations using XSLT.
3. After transformation, put the messages in a different folder which will be picked up by another message broker.
Please give me some pointers about how i can design this. Also i would like to share my findings about the step 2, but having issues for defining input payload which should be defined in the step 1 above. I followed the document http://blog.jayway.com/2010/05/07/xslt-transformations-in-oracle-service-bus/ for registering the xslt transformation, but couldnot make it work as i am not sure about how i can integrate step 1 with step 2.
Thanks so much in advance.Thanks for the suggestion. I will try and see. Here are the files:
1. XML Input(Payload):
<?xml version="1.0" encoding="UTF-8"?>
<ODS>
<LICENSE_TRANSACTION>
<LIC_TRAN_ID>123</LIC_TRAN_ID>
<LIC_CAMIS_ID>String</LIC_CAMIS_ID>
<LIC_NBR>String</LIC_NBR>
<LIC_STATUS_DATE>2000-01-01</LIC_STATUS_DATE>
<LIC_ISSUE_DATE>2001-01-01</LIC_ISSUE_DATE>
<LIC_EXP_DATE>2002-01-01</LIC_EXP_DATE>
<LIC_INSP_REQ_FLAG>true</LIC_INSP_REQ_FLAG>
<LIC_LAST_RENW_SNT_DATE>2003-01-01</LIC_LAST_RENW_SNT_DATE>
<LIC_LAST_RENW_RCVD_DATE>2004-01-01</LIC_LAST_RENW_RCVD_DATE>
<LIC_FED_TAX_ID>String</LIC_FED_TAX_ID>
<LIC_NYS_TAX_ID>String</LIC_NYS_TAX_ID>
<LIC_OPR_HRS_OPN_FROM>14:20:00</LIC_OPR_HRS_OPN_FROM>
<LIC_OPR_HRS_OPN_TO>15:20:00</LIC_OPR_HRS_OPN_TO>
<LIC_TEL_NBR>718-123-1234</LIC_TEL_NBR>
<LIC_EMAIL_ID>String</LIC_EMAIL_ID>
<LIC_FAX_NBR>718-123-1234</LIC_FAX_NBR>
<LIC_NBR_OF_SEATS>10</LIC_NBR_OF_SEATS>
<LIC_ENTITY_CREATE_DATE>2005-01-01</LIC_ENTITY_CREATE_DATE>
<LIC_TRAN_CHG_DATE>2006-01-01</LIC_TRAN_CHG_DATE>
<DETAIL>
<LICENSE>
<LIC_TYPE_CODE>String</LIC_TYPE_CODE>
<LIC_CAMIS_CODE>String</LIC_CAMIS_CODE>
<LIC_CAMIS_CLASS>String</LIC_CAMIS_CLASS>
<LIC_CAMIS_SUB_CLASS>String</LIC_CAMIS_SUB_CLASS>
<BUR_DESC>String</BUR_DESC>
<LIC_CODE_SHORT_DESC>String</LIC_CODE_SHORT_DESC>
<LIC_CODE_LONG_DESC>String</LIC_CODE_LONG_DESC>
</LICENSE>
</DETAIL>
</LICENSE_TRANSACTION>
<STATUS>
<STATUS_CAMIS_CODE>String</STATUS_CAMIS_CODE>
<STATUS_SHORT_DESC>String</STATUS_SHORT_DESC>
<STATUS_DESC>String</STATUS_DESC>
</STATUS>
<PREMISES_ADDRESS>
<ADDR_BLDG_NBR>String</ADDR_BLDG_NBR>
<ADDR_STREET>String</ADDR_STREET>
<ADDR_LOCATION>String</ADDR_LOCATION>
<BOROUGH_DESC>Queens</BOROUGH_DESC>
<ADDR_CITY>String</ADDR_CITY>
<ADDR_STATE>String</ADDR_STATE>
<ADDR_ZIP_CODE>String</ADDR_ZIP_CODE>
<ADDR_HEALTH_AREA>String</ADDR_HEALTH_AREA>
<ADDR_HEALTH_CTR_DIST>String</ADDR_HEALTH_CTR_DIST>
<ADDR_COMMUNITY_DIST>String</ADDR_COMMUNITY_DIST>
<ADDR_BIN>String</ADDR_BIN>
<ADDR_BLOCK_NBR>String</ADDR_BLOCK_NBR>
<ADDR_LOT_NBR>String</ADDR_LOT_NBR>
<ADDR_ASMBLY_DIST>String</ADDR_ASMBLY_DIST>
<ADDR_CONGS_DIST>String</ADDR_CONGS_DIST>
<ADDR_ST_SEN_DIST>String</ADDR_ST_SEN_DIST>
<ADDR_CTY_COUN_DIST>String</ADDR_CTY_COUN_DIST>
<ADDR_XCOORDINATE>123</ADDR_XCOORDINATE>
<ADDR_YCOORDINATE>1234</ADDR_YCOORDINATE>
<DATEOFBUILDINGBUILT>2010-08-11</DATEOFBUILDINGBUILT>
<SCHOOLAREA>String</SCHOOLAREA>
<POLICE>String</POLICE>
<FIRE>String</FIRE>
<LOWCROSSSTREET>String</LOWCROSSSTREET>
<HIGHCROSSSTREET>String</HIGHCROSSSTREET>
<ISPARK>false</ISPARK>
</PREMISES_ADDRESS>
<MAILING_ADDRESS>
<ADDR_BLDG_NBR>String</ADDR_BLDG_NBR>
<ADDR_STREET>String</ADDR_STREET>
<ADDR_LOCATION>String</ADDR_LOCATION>
<BOROUGH_DESC>Queens</BOROUGH_DESC>
<ADDR_CITY>String</ADDR_CITY>
<ADDR_STATE>String</ADDR_STATE>
<ADDR_ZIP_CODE>String</ADDR_ZIP_CODE>
</MAILING_ADDRESS>
<BUSINESS>
<BUS_TYPE_SHORT_DESC>String</BUS_TYPE_SHORT_DESC>
<BUS_TYPE_LONG_DESC>String</BUS_TYPE_LONG_DESC>
<BUS_ID>String</BUS_ID>
<BUS_TRADE_NAME>String</BUS_TRADE_NAME>
<BUS_CORP_NAME>String</BUS_CORP_NAME>
<SITE_TYPE>String</SITE_TYPE>
<DESCRIPTION>String</DESCRIPTION>
<WEBSITE>String</WEBSITE>
<AGE_RANGE>String</AGE_RANGE>
<BUSINESS_PRINCIPAL>
<PRINCIPAL>
<BUS_PRNC_CAMIS_ID>124</BUS_PRNC_CAMIS_ID>
<BUS_PRNC_TITLE>String1</BUS_PRNC_TITLE>
<BUS_PRNC_FULL_NAME>String1</BUS_PRNC_FULL_NAME>
<BUS_PRNC_FNAME>String1</BUS_PRNC_FNAME>
<BUS_PRNC_LNAME>String1</BUS_PRNC_LNAME>
<BUS_PRNC_MNAME>String1</BUS_PRNC_MNAME>
<BUS_PRNC_DOB>2004-01-01</BUS_PRNC_DOB>
<HOMEPHONE>718-123-1234</HOMEPHONE>
<WORKPHONE>718-123-1234</WORKPHONE>
<FAX>718-123-1234</FAX>
<EMAIL>String1</EMAIL>
<CELLPHONE>718-123-1234</CELLPHONE>
<NOTES>String1</NOTES>
<STARTDATE>2004-01-01</STARTDATE>
<ENDDATE>2004-01-01</ENDDATE>
<ADDRESS>
<ADDR_BLDG_NBR>String1</ADDR_BLDG_NBR>
<ADDR_STREET>String1</ADDR_STREET>
<ADDR_LOCATION>String1</ADDR_LOCATION>
<BOROUGH_DESC>Queens</BOROUGH_DESC>
<ADDR_CITY>String1</ADDR_CITY>
<ADDR_STATE>String1</ADDR_STATE>
<ADDR_ZIP_CODE>String1</ADDR_ZIP_CODE>
</ADDRESS>
</PRINCIPAL>
<PRINCIPAL>
<BUS_PRNC_CAMIS_ID>123</BUS_PRNC_CAMIS_ID>
<BUS_PRNC_TITLE>String2</BUS_PRNC_TITLE>
<BUS_PRNC_FULL_NAME>String2</BUS_PRNC_FULL_NAME>
<BUS_PRNC_FNAME>String2</BUS_PRNC_FNAME>
<BUS_PRNC_LNAME>String2</BUS_PRNC_LNAME>
<BUS_PRNC_MNAME>String2</BUS_PRNC_MNAME>
<BUS_PRNC_DOB>2004-01-01</BUS_PRNC_DOB>
<HOMEPHONE>718-123-1234</HOMEPHONE>
<WORKPHONE>718-123-1234</WORKPHONE>
<FAX>718-123-1234</FAX>
<EMAIL>String2</EMAIL>
<CELLPHONE>718-123-1234</CELLPHONE>
<NOTES>String2</NOTES>
<STARTDATE>2004-01-01</STARTDATE>
<ENDDATE>2004-01-01</ENDDATE>
<ADDRESS>
<ADDR_BLDG_NBR>String2</ADDR_BLDG_NBR>
<ADDR_STREET>String2</ADDR_STREET>
<ADDR_LOCATION>String2</ADDR_LOCATION>
<BOROUGH_DESC>Queens</BOROUGH_DESC>
<ADDR_CITY>String2</ADDR_CITY>
<ADDR_STATE>String2</ADDR_STATE>
<ADDR_ZIP_CODE>String2</ADDR_ZIP_CODE>
</ADDRESS>
</PRINCIPAL>
</BUSINESS_PRINCIPAL>
<BUSINESS_INSURANCE>
<BUS_WRK_CMP_CARRIER>String</BUS_WRK_CMP_CARRIER>
<BUS_WRK_CMP_POLICY_NBR>String</BUS_WRK_CMP_POLICY_NBR>
<BUS_WRK_CMP_EXP_DATE>2004-01-01</BUS_WRK_CMP_EXP_DATE>
<BUS_DISB_INSU_CARRIER>String</BUS_DISB_INSU_CARRIER>
<BUS_DISB_INSU_PLCY_NBR>String</BUS_DISB_INSU_PLCY_NBR>
<BUS_DISB_INSU_PLCY_EXP_DATE>2004-01-01</BUS_DISB_INSU_PLCY_EXP_DATE>
</BUSINESS_INSURANCE>
</BUSINESS>
<RECEIPT>
<RCPT_PAYOR_NAME>String</RCPT_PAYOR_NAME>
<RCPT_CASH_FLG>true</RCPT_CASH_FLG>
<RCPT_REMIT_AMT>123</RCPT_REMIT_AMT>
<RCPT_APLY_AMT>123.50</RCPT_APLY_AMT>
<RECEIPT_DETAILS>
<RCPT_DET_PMT_AMT>123.51</RCPT_DET_PMT_AMT>
<RCPT_DET_PMT_DATE>2004-01-01</RCPT_DET_PMT_DATE>
<RCPT_DET_PMT_TIME>20:15:00</RCPT_DET_PMT_TIME>
<RCPT_DET_PMT_CHK_NBR>1111</RCPT_DET_PMT_CHK_NBR>
</RECEIPT_DETAILS>
<RECEIPT_DETAILS>
<RCPT_DET_PMT_AMT>23.50</RCPT_DET_PMT_AMT>
<RCPT_DET_PMT_DATE>2004-01-01</RCPT_DET_PMT_DATE>
<RCPT_DET_PMT_TIME>20:15:11</RCPT_DET_PMT_TIME>
<RCPT_DET_PMT_CHK_NBR>22222</RCPT_DET_PMT_CHK_NBR>
</RECEIPT_DETAILS>
</RECEIPT>
</ODS>
I will post remaining XSLT and output in my next posts.
Thanks for your help. -
Need assistance for this structure :
header
node
string (repeats numerous times)
need a content conversion using MTB for this for receiver file adapter
ThanksHi Kiran,
Try this
Transform.Class --- com.sap.aii.messaging.adapter.Conversion
Transform.ContentType -
text/plain;charset=utf-8
xml.Detail.endSeparator -
'nl'
xml.Detail.fieldFixedLengths -
<String lenghts>
xml.conversionType --- StructXML2Plain
xml.recordsetStructure --- node -
Error while using Message transform Bean
Hi All,
I am using message transform bean in the receiver channel. The structure I have used is as follows.
Transform.Class com.sap.aii.messaging.adapter.Conversion
Transform.ContentType text/xml;charset=utf-8
xml.conversionType SimplePlain2XML
xml.documentName MT_DataExtract
xml.documentNamespace http://ce.corp.com/xi/ACA/HR_INT_XXX/EmployerReporting
xml.endSeperator 'nl'
xml.fieldNames pernr,l_name,f_name,m_name,perid,p_subarea,e_group,e_subgroup,status,c_code,pa_text,str_add,h_city,h_state,h_zcode,z1_org,z2_org,rep_hours
xml.fieldSeperator ,
xml.singleRecordType Employee_Details
XML structure would be as
<Employee_Details>
<pernr></pernr>
- <l_name></l_name> <f_name></f_name>
<m_name />
<perid></perid>
<p_subarea></p_subarea>
<e_group></e_group>
<e_subgrp></e_subgrp>
<status></status>
<c_code></c_code>
<pa_text></pa_text>
<str_add></str_add>
<h_city></h_city>
<h_state></h_state>
<h_zcode></h_zcode>
<z1_org></z1_org>
<z2_org></z2_org>
<rep_hours></rep_hours>
</Employee_Details>
I am getting error as Delivering the message to the application using connection File_http://sap.com/xi/XI/System failed, due to: com.sap.engine.interfaces.messaging.api.exception.MessagingException: com.sap.aii.af.lib.util.configuration.ConfigurationExceptionSet: The following configuration errors were detected: - Either recordTypes or singleRecordType needs to be set .
Please help me to resolve this error.
Thanks,
ShankulIt's not just that parameter, Please change your configuration as explained in the blog i shared.
There is a example which has expected structure and the conversion parameters.
Your target xml should be like below.
The XML structure of the source file should follow the same structure as the result of the SimplePlain2XML conversion.
<resultset>
<row>
<column-name1>ABC</column-name1>
<column-name2>12345</column-name2>
<column-name3>Text1</column-name3>
</row>
<row>
<column-name1>XYZ</column-name1>
<column-name2>67890</column-name2>
<column-name3>Text2 Text3</column-name3>
</row>
</resultset>
Examples of Content Conversion Using MessageTransformBean (SAP Library - SAP Exchange Infrastructure) -
AIA Weblogic transformation error messages
Hi,
When a transformation in my composite fails I always get an error message that simply says that the transformation has failed.
The only way I have to debug is to comment out everything in the transformation and see if that works, I then uncomment each individaual item until I find it stops working again. I then carefully inspect the section that has the error and guess the problem until I finally get the transformation working.
What I would like is to be able to get proper error messages, like, invalid prefix, namespace not found, etc.
Has anyone got a method of finding an error message for a transformation in a composite?
RobertHi Robert,
Usually it gives the runtime exception explaining the cause up to some extent. However, depending on the transformations, you can always Right Click .xsl file -> Test the Transformation without deploying and executing your process.
Regards,
Neeraj Sehgal -
Transformation issue in SOA 11g
I have a SOA application with a webservice that receive XML messages from third party and through a mediator and JMS adapter writes to a JMS topic. The XML messages gets validated against a XSD and using XSL is transformed to the target format. I want to retain the original XML message with no transformation, but with transformation the message has some added element. I am attaching the four files XSL, XSD and the XML file before and after transformation. I am using SOA 11g
XSL file_
<?xml version="1.0" encoding="UTF-8" ?>
<?oracle-xsl-mapper
<!-- SPECIFICATION OF MAP SOURCES AND TARGETS, DO NOT MODIFY. -->
<mapSources>
<source type="WSDL">
<schema location="../receiveESTA.wsdl"/>
<rootElement name="odsCad" namespace="http://xmlns.oracle.com/pcbpel/adapter/db/top/ortdOdsCadEvent"/>
</source>
</mapSources>
<mapTargets>
<target type="WSDL">
<schema location="../ProduceOrtdJms.wsdl"/>
<rootElement name="odsCad" namespace="http://xmlns.oracle.com/pcbpel/adapter/db/top/ortdOdsCadEvent"/>
</target>
</mapTargets>
<!-- GENERATED BY ORACLE XSL MAPPER 11.1.1.2.0(build 091103.1205.1216) AT [TUE APR 20 16:26:09 EST 2010]. -->
?>
<xsl:stylesheet version="1.0"
xmlns:xpath20="http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.Xpath20"
xmlns:bpws="http://schemas.xmlsoap.org/ws/2003/03/business-process/"
xmlns:ns0="http://xmlns.oracle.com/pcbpel/adapter/jms/ORTDJMSDemo/receiveESTA/ProduceOrtdJms"
xmlns:mhdr="http://www.oracle.com/XSL/Transform/java/oracle.tip.mediator.service.common.functions.MediatorExtnFunction"
xmlns:oraext="http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.ExtFunc"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:dvm="http://www.oracle.com/XSL/Transform/java/oracle.tip.dvm.LookupValue"
xmlns:hwf="http://xmlns.oracle.com/bpel/workflow/xpath"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:med="http://schemas.oracle.com/mediator/xpath"
xmlns:ids="http://xmlns.oracle.com/bpel/services/IdentityService/xpath"
xmlns:tns="http://xmlns.oracle.com/sca/soapservice/ESTAProcessing/receiveESTA"
xmlns:xdk="http://schemas.oracle.com/bpel/extension/xpath/function/xdk"
xmlns:xref="http://www.oracle.com/XSL/Transform/java/oracle.tip.xref.xpath.XRefXPathFunctions"
xmlns:inp1="http://xmlns.oracle.com/pcbpel/adapter/db/top/ortdOdsCadEvent"
xmlns:plt="http://schemas.xmlsoap.org/ws/2003/05/partner-link/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:ora="http://schemas.oracle.com/xpath/extension"
xmlns:socket="http://www.oracle.com/XSL/Transform/java/oracle.tip.adapter.socket.ProtocolTranslator"
xmlns:ldap="http://schemas.oracle.com/xpath/extension/ldap"
exclude-result-prefixes="xsi xsl tns inp1 xsd wsdl ns0 plt xpath20 bpws mhdr oraext dvm hwf med ids xdk xref ora socket ldap">
<xsl:template match="/">
<inp1:odsCad>
<inp1:odsCadEvent>
<inp1:datasetname>
<xsl:value-of select="/inp1:odsCad/inp1:odsCadEvent/inp1:datasetname"/>
</inp1:datasetname>
<inp1:messagesequence>
<xsl:value-of select="/inp1:odsCad/inp1:odsCadEvent/inp1:messagesequence"/>
</inp1:messagesequence>
<inp1:eventid>
<xsl:attribute name="xsi:nil">
<xsl:value-of select="/inp1:odsCad/inp1:odsCadEvent/inp1:eventid/@xsi:nil"/>
</xsl:attribute>
<xsl:value-of select="/inp1:odsCad/inp1:odsCadEvent/inp1:eventid"/>
</inp1:eventid>
<inp1:eventrevisionno>
<xsl:attribute name="xsi:nil">
<xsl:value-of select="/inp1:odsCad/inp1:odsCadEvent/inp1:eventrevisionno/@xsi:nil"/>
</xsl:attribute>
<xsl:value-of select="/inp1:odsCad/inp1:odsCadEvent/inp1:eventrevisionno"/>
</inp1:eventrevisionno>
</inp1:odsCadEvent>
<inp1:odsCadAgency>
<inp1:datasetname>
<xsl:value-of select="/inp1:odsCad/inp1:odsCadAgency/inp1:datasetname"/>
</inp1:datasetname>
<inp1:messagesequence>
<xsl:value-of select="/inp1:odsCad/inp1:odsCadAgency/inp1:messagesequence"/>
</inp1:messagesequence>
<inp1:eventid>
<xsl:attribute name="xsi:nil">
<xsl:value-of select="/inp1:odsCad/inp1:odsCadAgency/inp1:eventid/@xsi:nil"/>
</xsl:attribute>
<xsl:value-of select="/inp1:odsCad/inp1:odsCadAgency/inp1:eventid"/>
</inp1:eventid>
<inp1:eventrevisionno>
<xsl:attribute name="xsi:nil">
<xsl:value-of select="/inp1:odsCad/inp1:odsCadAgency/inp1:eventrevisionno/@xsi:nil"/>
</xsl:attribute>
<xsl:value-of select="/inp1:odsCad/inp1:odsCadAgency/inp1:eventrevisionno"/>
</inp1:eventrevisionno>
<inp1:agencyeventnumber>
<xsl:attribute name="xsi:nil">
<xsl:value-of select="/inp1:odsCad/inp1:odsCadAgency/inp1:agencyeventnumber/@xsi:nil"/>
</xsl:attribute>
<xsl:value-of select="/inp1:odsCad/inp1:odsCadAgency/inp1:agencyeventnumber"/>
</inp1:agencyeventnumber>
<inp1:agencyeventnumberrevision>
<xsl:attribute name="xsi:nil">
<xsl:value-of select="/inp1:odsCad/inp1:odsCadAgency/inp1:agencyeventnumberrevision/@xsi:nil"/>
</xsl:attribute>
<xsl:value-of select="/inp1:odsCad/inp1:odsCadAgency/inp1:agencyeventnumberrevision"/>
</inp1:agencyeventnumberrevision>
</inp1:odsCadAgency>
</inp1:odsCad>
</xsl:template>
</xsl:stylesheet>
XSD*
<?xml version= '1.0' encoding= 'UTF-8' ?>
<xs:schema targetNamespace="http://xmlns.oracle.com/pcbpel/adapter/db/top/ortdOdsCadEvent" xmlns="http://xmlns.oracle.com/pcbpel/adapter/db/top/ortdOdsCadEvent"
elementFormDefault="qualified" attributeFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<!-- CAD EVENT -->
<xs:complexType name="odsCadEvent">
<xs:sequence>
<xs:element name="datasetname" minOccurs="1" maxOccurs="1">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="32"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="messagesequence" type="xs:decimal" minOccurs="1" maxOccurs="1"/>
<xs:element name="eventid" type="xs:int" minOccurs="0" nillable="true"/>
<xs:element name="eventrevisionno" type="xs:int" minOccurs="0" nillable="true"/>
</xs:sequence>
</xs:complexType>
<!-- CAD AGENCY -->
<xs:complexType name="odsCadAgency">
<xs:sequence>
<xs:element name="datasetname" minOccurs="1" maxOccurs="1">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="32"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="messagesequence" type="xs:decimal" minOccurs="1" maxOccurs="1"/>
<xs:element name="eventid" type="xs:int" minOccurs="0" nillable="true"/>
<xs:element name="eventrevisionno" type="xs:int" minOccurs="0" nillable="true"/>
<xs:element name="agencyeventnumber" minOccurs="0" nillable="true">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="12"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:element name="odsCad">
<xs:complexType>
<xs:choice minOccurs="1" maxOccurs="1">
<xs:element name="odsCadEvent" type="odsCadEvent" minOccurs="0" maxOccurs="1"
nillable="true" />
<xs:element name="odsCadAgency" type="odsCadAgency" minOccurs="0" maxOccurs="1"
nillable="true"/>
</xs:choice>
</xs:complexType>
</xs:element>
</xs:schema>
XML file before transformation_
<message>
<properties>
<property name="tracking.compositeInstanceId" value="430009"/>
<property name="tracking.ecid" value="0000IWTcdiF9xWD_n9P5iZ1BZnIF000FGG"/>
<property name="transport.http.remoteAddress" value="10.103.50.20"/>
</properties>
<parts>
<part name="request">
<ns1:odsCad>
<ns1:odsCadEvent>
<ns1:datasetname>rest</ns1:datasetname>
<ns1:messagesequence>12</ns1:messagesequence>
</ns1:odsCadEvent>
</ns1:odsCad>
</part>
</parts>
</message>
XML File after transformation_
<message>
<properties>
<property name="tracking.compositeInstanceId" value="430009"/>
<property name="tracking.ecid" value="0000IWTcdiF9xWD_n9P5iZ1BZnIF000FGG"/>
<property name="transport.http.remoteAddress" value="10.103.50.20"/>
</properties>
<parts>
<part name="body">
<inp1:odsCad>
<inp1:odsCadEvent>
<inp1:datasetname>rest</inp1:datasetname>
<inp1:messagesequence>12</inp1:messagesequence>
<inp1:eventid xsi:nil=""/>
<inp1:eventrevisionno xsi:nil=""/>
</inp1:odsCadEvent>
<inp1:odsCadAgency>
<inp1:datasetname/>
<inp1:messagesequence/>
<inp1:eventid xsi:nil=""/>
<inp1:eventrevisionno xsi:nil=""/>
<inp1:agencyeventnumber xsi:nil=""/>
</inp1:odsCadAgency>
</inp1:odsCad>
</part>
</parts>
</message>
Any suggestion to how to get this sorted
ThanksMorever I do not want the extra odsCadAgency element displayed in my transformed XML file. How do I resolve it.
Thanks -
'Error applying transforms' when trying to install Xcelsius 2008 fp3.2
Hello
I've just tried to install Xcelsius 2008 fp3.2 (I am currently on Xcelsius 2008 sp3). I did read the installation notes, and I wonder if the problem I had is related to the fact that I am not logged in as administrator (I'm on XP).
The package extracted and as the installer ran I got the message:
'Error applying transforms. Verify that the specified transform oaths are valid'.
Thanks
PhilHi Phil,
Can be...
To resolve this error, copy all files from the disc to a local computer location (for example, the desktop). Install Crystal Xcelsius from the setup.exe file at that location.
Hope this helps.
Kind Regards,
Marcio -
Cant re install icloud on Windows 7 32bit, transform path invalid
Hi everybody.
I have been trying to reinstall icloud on my Windows 7 32bit pc, but everytime i try to install i get this error:
'Error applying transforms. Verify that the specified transform paths are valid'
And then the installer shuts down.
Does anyone have a clue ?
Kind Regards
KimSame problem here. I was prompted to update iTunes and all the problems started. After installing and reinstalling 10 times, clean the registry, etc. and even deleted my iTunes library, I have realized that the problem comes when installing Apple Application Support. I get the message "Error applying transforms. Verify that the specified transform paths are valid" and there's no way to get over it. Last thing I have done is check Windows 7 integrity with the command SFC/SCANNOW and it says everything is ok with my windows 7.
This is not the first time I've got problems updating iTunes (will think twice before doing it again).
Maybe you are looking for
-
Report Builder 2.0 loses parameter Null default value when deployed
When a parameter is set to a default value of (Null) and the report is saved to the sever, the default is lost when the report is re-opened in RB2. This problem doesn't seem to occur in BIDS. I've tried to use an expression to set the value to Syst
-
My officejet 6500A plus won't print often. It says it can't communicate with my Asus pc. I unplug it for a day or two and it starts printing! Just turning it off doesn't help. I need to unplug it. Meanwhile I can't print for days! Any suggesti
-
How to convert a large number to hex without truncating to 32-bit.
I am trying to convert a very large number to hexadecimal (string). The number gets truncated to 32-bit, which is not what I want. For example, the number 28037546508295 (double) should be 0x198000000007. Labview truncates it and the resulting strin
-
HT4539 How do I keep my grand kids from buying games from iTunes
Can I be notified when games are brought and I need to to lock them out can you help
-
Why does usb headset only work in one port?
I have a 2011 macbook pro 17" laptop with 3 USB ports. My headset only works in 1 of them (on the right side). Why is this? (In case it matters: I am using this headset with my computer as telephone using Google voice/chat.)