Skip to Content
avatar image
Former Member

java mapping 1:n message split

Hi,

I have a problem with a 1:n massage split via java mapping on a PI 7.11.

Scenario:

I want to read a binary file which contains some messages, do some stuff in the java mapping and split it into n messages.

Everything works fine, except the split. When I change the operation mapping to 1 -> 0..unbounded and set the namesspaces in java mapping to

<ns0:Messages xmlns:ns0="http://sap.com/xi/XI/SplitAndMerge"><ns0:Message1><ns1:FlatfileMessage xmlns:ns1="http://namespace.com/Flatfile">

I'm always getting the same errror:

<?xml version="1.0" encoding="UTF-8" standalone="yes" ?> 
- <!--  Request Message Mapping 
  --> 
- <SAP:Error SOAP:mustUnderstand="" xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/">
  <SAP:Category>XIServer</SAP:Category> 
  <SAP:Code area="MAPPING">GENERIC</SAP:Code> 
  <SAP:P1></SAP:P1> 
  <SAP:P2></SAP:P2> 
  <SAP:P3></SAP:P3> 
  <SAP:P4></SAP:P4> 
  <SAP:AdditionalText></SAP:AdditionalText> 
  <SAP:Stack></SAP:Stack> 
  <SAP:Retry>M</SAP:Retry> 
  </SAP:Error>

Trace:

<Trace level="1" type="T">Mapping-Step:1</Trace> 
  <Trace level="1" type="T">Mapping-Type:JAVA_JDK</Trace> 
  <Trace level="1" type="T">Mapping-Program:com/mapping/JavaMapping</Trace> 
  <Trace level="3" type="T">MTOM-Attachments werden in die Payload geschrieben.</Trace> 
  <Trace level="3" type="T">Dynamische Konfiguration ( http://sap.com/xi/XI/Message/30/general senderAgreementGUID...)</Trace> 
  <Trace level="3" type="T">Ein Multi-Mapping wird durchgeführt.</Trace> 
  <Trace level="1" type="E">CL_XMS_PLSRV_MAPPING~ENTER_PLSRV</Trace> 
  </Trace>
  <Trace level="3" type="System_Error">Error exception return from pipeline processing!</Trace> 
  <Trace level="1" type="B" name="CL_XMS_MAIN-WRITE_MESSAGE_TO_PERSIST"></Trace> 
- <!--  ************************************ 
  --> 
  <Trace level="3" type="T">Persisting message Status = 014</Trace> 
  <Trace level="3" type="T">Message version 005</Trace> 
  <Trace level="3" type="T">Pipeline CENTRAL</Trace> 
  </SAP:Trace>

Even if i set a trace on the beginning of the java mapping, the trace doesn't show up.

As I said, if I change the whole thing to 1:1 everthing works fine.

Does anybody has an idea?

Thanks,

Torsten

Add comment
10|10000 characters needed characters exceeded

  • Get RSS Feed

2 Answers

  • Best Answer
    Apr 19, 2011 at 11:43 AM

    Hi Torsten,

    I have a simple solution to your problem. Try it if you find it feasible in your scenario:

    Create a two step map. In the first step, you implement your java map, perform all the operations on the data that is required, pass the output of the first step java map to the second step graphical map and split the messages using multi-mapping.

    This will give you multiple files at the target and also help you perform operations on the data whatever you want.

    Thanks,

    Arkesh

    Add comment
    10|10000 characters needed characters exceeded

  • Apr 19, 2011 at 09:49 AM
    Add comment
    10|10000 characters needed characters exceeded