cancel
Showing results for 
Search instead for 
Did you mean: 

How to do 2:1 transformation using XSLT in ccBPM?

Former Member
0 Kudos

Hi,

We have the following ccBPM defined:


      A    A    B   A/C   D    E    F
Start---R1---T1---S2---T2---S3---T3---S1---END 

R1: Receives Synch XML message A via plain HTTP adapter and opens S/A bridge.

T1: Transforms A into message B using XSLT

S2: Sends message B to a legacy system to do a lookup and gets response C

T2: Transforms A and C into D.

S3: Sends D to another legacy system synchronously and gets response E.

T3: Transforms E to the final response format F

S1: Sends F to the original requestor and close the S/A bridge.

We had created an XSLT style sheet which takes into

consideration of multi-mapping message structure (e.g.

ns0:Messages/ns0:Message1/A and Messages/Message2/C...)

For some reason, the integration process always fails at

Step T2. The only error message we got is:

<b>

Incorrect XML format after mapping: Message expected instead of Catalog

</b>

We went thru all the monitoring/trace tool and could not find any more info on the issue.

I'd really appreciate it if someone can explain the required steps

for designing and configuring n:1 XSLT transformation step.

Thanks in advance

-Simon

Accepted Solutions (0)

Answers (4)

Answers (4)

Former Member
0 Kudos

I tested the XSLT stylesheet successfully in both XMLSPY and IB.

For some reason the stylesheet just does not work in ccBPM. I suspect it has something to do with namespace declaration.

The transformation step keeps throwing the <b>

CX_SY_RANGE_OUT_OF_BOUNDS </b> exception and produces no output.

Does anyone have a sample stylesheet which does 2:1 transformation

and works in ccBMP?

-Simon

Former Member
0 Kudos

Simon,

Did you take a look at the trace files under "j2ee/cluster/server0/log"?

Let me put a working example together for you and I will send it to you as soon as I can.

Best Regards,

Duke

Former Member
0 Kudos

Thanks Duke. I really appreciate it.

Yes we did. But ccBPM did not generate any log messages.

Is there some trace setting which will allow us to see

more in the log file?

Regards,

-Simon

Former Member
0 Kudos

Simon,

I just sent you a sample XSLT mapping of 2:1 mapping with BPM that I was able to get working.

As far as the log messages, refer to OSS note 801951 if you have not done so already. The note includes a paragraph where you set the Log Configurator Service in the Visual Admin of the J2EE to "DEBUG".

Hope that helps.

Regards,

Duke

Former Member
0 Kudos

Hi Duke,

I still couldn't get it to work. I compared my xsl file

with yours and they look similar. I was able to turn on the

DefaultTrace. The trace log indicated the mapping call was

successful. But no output was generated. No error message

either. Supposedly XI combines two input xml messsages into

a single message to feed into the XSLT, is there away to

trace out this single input message?

Also do two input messages need to be correlated?

thanks again for your help

-Simon

Former Member
0 Kudos

Problem solved. Did not realize that the XSL has to generate <Messages/Message1> wrapping element even for a single output message.

Former Member
0 Kudos

Hi Simon,

Check this link,

Hope this helps

Regards

Vishnu

udo_martens
Active Contributor
0 Kudos

Hi Simon,

probably ur XSL is producing a XML message what is not conform to the container. U should proof (for example with XML Spy) the result of ur local mapping result for validity. Use the XML-Schema (*.xsd) of ur container (abstr Interface resp Message-Type).

Regards,

Udo

former_member185751
Contributor
0 Kudos

Hi,

Did you test your Interface Map which contains your XSLT mapping in the IB test tool?Do you see any errors there?

If yes, please post the full error message here.

Regards,

Sridhar