Processing a generic message

Hello.
I am trying to create a BPEL flow that will process any message recieved by it.
It should add a header and send back, otherwise untouched.
I'm having the following problems :
1. I need to get all the headers and send them back, without knowing which and how many headers I may recieve, which seems impossible with the header variables extension (I didn't tackle this problem yet).
2. I need to send the entire body of the message back without modifying it.
I tried to solve problem 2 by creating a message which contains one part with type xsd:anyType (xsd:any won't compile). I could recieve the message with no problems, but it was sent back wrapped with a new element (named after the part name).
Does anyone has an idea?

1. I falsely expected that you are talking about JMS queues and you want to listen by JMS adapter to JMS messages and get header properties from JMS message. Because this was my recommendation. Now I know that you are talking about SOAP messages.
2. second one was also related to JMS adapter. But it might work with your SOAP message body.
in your WSDL you have to define following type:
define this namespace xmlns:opaque="http://xmlns.oracle.com/pcbpel/adapter/opaque/"
<schema targetNamespace="http://xmlns.oracle.com/pcbpel/adapter/opaque/"
xmlns="http://www.w3.org/2001/XMLSchema" >
<element name="opaqueElement" type="base64Binary" />
</schema>
and then your message type should be following:
<message name="Read_msg">
<part name="opaque" element="opaque:opaqueElement"/>
</message>
Now you are getting content as encoded string. And in same way you can pass it to receiver. But I don't know if this works with SOAP body messages. Theoreticaly it should.
For point #1 I have one little question. Are you aware of following feature of BPEL?
in wsdl you can define something like this:
<message name="MessageIDHeader">
<part name="MessageID" element="wsa:MessageID"/>
</message>
<message name="ReplyToHeader">
<part name="ReplyTo" element="wsa:ReplyTo"/>
</message>
<!-- custom header -->
<message name="CustomHeaderMessage">
<part name="header1" element="tns:header1"/>
<part name="header2" element="tns:header2"/>
</message>
<binding name="HeaderServiceBinding" type="tns:HeaderService">
<soap:binding style="document"
transport="http://schemas.xmlsoap.org/soap/http"/>
<operation name="initiate">
<soap:operation style="document" soapAction="initiate"/>
<input>
<soap:header message="tns:ReplyToHeader" part="ReplyTo"
use="literal"/>
<soap:header message="tns:MessageIDHeader" part="MessageID"
use="literal"/>
<soap:header message="tns:CustomHeaderMessage"
part="header1" use="literal"/>
<soap:header message="tns:CustomHeaderMessage"
part="header2" use="literal"/>
<soap:body use="literal"/>
</input>
</operation>
</binding>
and then in receive you can get them in following way:
<variables>
<variable name="input"
messageType="tns:HeaderServiceRequestMessage"/>
<variable name="event"
messageType="tns:HeaderServiceEventMessage"/>
<variable name="output"
messageType="tns:HeaderServiceResultMessage"/>
<variable name="customHeader"
messageType="tns:CustomHeaderMessage"/>
<variable name="messageID"
messageType="tns:MessageIDHeader"/>
<variable name="replyTo"
messageType="tns:ReplyToHeader"/>
</variables>
<sequence>
<!-- receive input from requestor -->
<receive name="receiveInput" partnerLink="client"
portType="tns:HeaderService" operation="initiate"
variable="input"
bpelx:headerVariable="customHeader messageID replyTo" createInstance="yes"/>
But as you see you must enumerate all SOAP header properties :-(
And now oposite way for sending SOAP properties is following:
<variables>
<variable name="input" messageType="tns:HeaderTestRequestMessage"/>
<variable name="output" messageType="tns:HeaderTestResultMessage"/>
<variable name="request" messageType="services:HeaderServiceRequestMessage"/>
<variable name="response" messageType="services:HeaderServiceResultMessage"/>
<variable name="customHeader" messageType="services:CustomHeaderMessage"/>
</variables>
<!-- initiate the remote process -->
<invoke name="invokeAsyncService" partnerLink="HeaderService"
portType="services:HeaderService"
bpelx:inputHeaderVariable="customHeader"
operation="initiate" inputVariable="request"/>
HTH
Peter

Similar Messages

  • How to define document protocol for Custom/Generic message of ASCII types

    We need define for B2B document protocol for Custom over Generic message type to receive/process ASCII message (either fixed or indefinite length) from Trading Partner, can anybody tell us if you have done it with detailed example and instruction:
    1) In creating protocol revision/document definitions, do I need an Edifecs .ecs file? if yes, how to create the format for indefinite string? if not what I should put in document
    definition for 'IDoc ecs File' ? (we actually we may have two different types
    of ASCII message, not sure how to differentiate them)
    2) Does Identifying expression need message/document translated into XML first ? since it's for
    'Identifying XPath Expression' which implied existence of XSD
    3) Please provide detailed example you accomplished this in B2B
    Thanks in advance for any help!

    Yes its something on the similar lines but looks like this comparator needs to be at some specific place.
    I tried to implement comparator interface in the custom domain data type class but it still throws the same exception.
    Looks like RowComparator needs to be defined somewhere. any idea where?
    The complete exception is below:
    Caused by: oracle.jbo.JboException: Cannot find compare routines for test.MyString
         at oracle.jbo.RowComparator.compareValues(RowComparator.java:108)
         at oracle.jbo.RowComparator.compareRows(RowComparator.java:146)
         at oracle.jbo.RowComparator.compare(RowComparator.java:158)
         at java.util.Arrays.mergeSort(Arrays.java:1270)
         at java.util.Arrays.mergeSort(Arrays.java:1281)
         at java.util.Arrays.mergeSort(Arrays.java:1281)
         at java.util.Arrays.sort(Arrays.java:1210)
         at oracle.jbo.server.ViewObjectImpl.sortRows(ViewObjectImpl.java:6752)
         at oracle.jbo.server.QueryCollection.sortRows(QueryCollection.java:995)
         at oracle.jbo.server.ViewRowSetImpl.execute(ViewRowSetImpl.java:1177)
         at oracle.jbo.server.ViewRowSetImpl.executeQueryForMasters(ViewRowSetImpl.java:1331)
         at oracle.jbo.server.ViewRowSetImpl.executeQueryForMode(ViewRowSetImpl.java:1249)
         at oracle.jbo.server.ViewRowSetImpl.executeQuery(ViewRowSetImpl.java:1243)
         at oracle.jbo.server.ViewObjectImpl.executeQuery(ViewObjectImpl.java:6715)
         at org.calwin.view.bean.Table.tableSorting(Table.java:46)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:597)

  • Processing Pop Up message

    Dear Friends
    Is any body know how to get the processing pop up message.. I am looking for message box what we used to see in portal " one round rotating color gif or flash kind of" whenever we request inithing in portal.. it comes saying processing....and gif is rotating color
    Please reply me.. your any help will be appreciated..
    Thanking you
    Regards
    Naeem

    The processing icon is displayed automatically by the framework during server events. There is no programatic access to it.

  • "Unable to read or process latte file" message when attempting to photo merge out of photoshop cc, bridge, essentials organizer or editor.  Search of "latte file" brings no explanation on the web.  What's going on?  Help?

    "Unable to read or process latte file" message when attempting to photo merge out of photoshop cc, bridge, essentials organizer or editor.  Search of "latte file" brings no explanation on the web.  What's going on?  Help?

    From the web:
    Templating | Nette Framework
    "One of the best template engines is part of Nette Framework and it is called Latte."
    Were you working on a web document or something?
    I have no clue myself.

  • BEA-381511 Unexpected failure while processing an incoming message.

    Hi ,
    <BEA-381511> <Unexpected failure while processing an incoming message. - "This may have happened due mis-configuration of the service".
    On OSB log, We are facing the above error in a clustered environment. we are using 2 managed servers and one server is right now up and running without any problem. But when we bring up the second server, the messages are not processed and we are receiving the above issue. If it is misconfiguration problem, can you please let me know the issue exactly or any possible solution to fix this issue.
    Thank you.
    Edited by: 856907 on May 28, 2011 7:46 AM

    It will now play audio cds and dvds. The computer asks me what to do with them first. The problem is still the cd i use for study. Its is an interactive cd - it is its own application - clicking on images and animations to teach vowel sounds, sentences etc.
    The disc works on my other laptop, which is running in windows 7. All discs are recognised by my windows 7 and 8.1 dvd/cd player/writer, but when the title page for the interactive cd pops up on windows 8.1, the director error message pops up and the homepage shuts down with the message.
    I feel like Im sure there is a package or a patch I can download to fix this issue, I just need to know what. Please help.

  • Generic Message Bundle Property Files

    Hi
    I am using a generic message properties file, which is contained in a seperate java project too the model and view controller projects. In our custom validations on the entities I am referencing the custom messages from the resources project. When running the application module the correct error messages are displayed. However the error messages are not correctley displayed in the UI and the following error message is displayed,
    Error: STRINGMANAGER: Message file: 'java.util.ResourceBundle.msg_en_ZA' not found. (Looking for 'InvalidJobId').
    I have tried including the resource bundle in the view controller project, firstly in the project properties as a Resource Bundle and as a jar file without succes.
    Any help in resolving this would be appreciated.
    Regards.
    Leon.

    Leond wrote:
    Error: STRINGMANAGER: Message file: 'java.util.ResourceBundle.msg_en_ZA' not found. (Looking for 'InvalidJobId').
    I suggest that you verify your browser locale. It seems that it is set to ZA and you don't have a property file (ResourceBundle.msg_en_ZA) for that locale.
    Alternatively, rename to or create the file ResourceBundle.msg_en_ZA.

  • Pre-processing in Enterprise Message Source in BAM11g

    Can anyone provide me sample example on Pre-processing in Enterprise Message Source
    XML Formatting-->Pre-Processing-->Advanced formatting options ?That means sample example to invoke preprocessing logic.Thanks in advance.

    Suppose, you have JMS XML message as:
    <Data>
    <ServiceDetails>
    <ServiceName>Query<ServiceName>
    </ServiceDetails>
    <ObjectDetails>
    <Name>CustomerPartyID<Name>
    <Key>123</Key>
    <ParentKey>345</ParentKey>
    <Description>New Customer</Description>
    </ObjectDetails>
    <Data>
    Ouput message you would like to be:
    <?xml version="1.0" encoding="UTF-8"?>
    <Data>
    <Name>CustomerPartyID</Name>
    <Key>123</Key>
    <ParentKey>345</ParentKey>
    <Data>
    You can use the following xsl to achieve that:
    <xsl:stylesheet version = '1.0'
    xmlns:xsl='http://www.w3.org/1999/XSL/Transform'>
    <xsl:template match="Data">
    <xsl:for-each select="ObjectDetails">
    <Data>
    <Name>
    <xsl:value-of select="Name"/>
    </Name>
    <Key>
    <xsl:value-of select="Key"/>
    </Key>
    <ParentKey>
    <xsl:value-of select="ParentKey"/>
    </ParentKey>
    </Data>
    </xsl:for-each>
    </xsl:template>
    </xsl:stylesheet>
    Of course, XSL is very powerful and you can achieve very complex transformations of your xml with that. Any xsl tutorial can help you with that.
    Thanks,
    Vishal
    BAM Dev

  • Parallel processing not possible (Message number: RSRD186)

    During broadcasting with several parallel processes our system generates the error message:
    Parallel processing not possible (Message number: RSRD186)
    On SDN I found note 1265745 which states exact the same problem but when I want to implement this note into our system SAP gives the message:
    The requested SAP Note is either in reworking or is released internally only
    Can anyone explain wat this means! I realy need this correction!

    Hi,
    i am also getting the same problem after upgrading the SP16 to SP18 (JAVA) and Support pack  SAPKW70020 (ABAP)
    Parallel processing not possible: no processing of 27 package(s)
    Message no. RSRD186
    Every week at least one broadcasting job is failed with the above error in ABAP
    The logs in appliation.log i found is
    ABEND BRAIN (635): Query ZSALESREPORTACTUALCOST could not be opened.
      MSGV1: ZSALESREPORTACTUALCOST#
    #1.#00306E0C1AE7007400002EA40000748800047F1738882EA8#1265637627502#/Applications/BI#sap.com/com.sap.prt.application.rfcframework#com.sap.ip.bi.base.application.message.impl.MessageBase#MTHEIN#79174##n/a##4b6d489014ba11dfb68500306e0c1ae7#SAPEngine_Application_Thread[impl:3]_3##0#0#Fatal#1#com.sap.ip.bi.base.application.message.impl.MessageBase#Plain###A message was generated:
    ABEND RSBOLAP (000): Program error in class SAPMSSY1 method : UNCAUGHT_EXCEPTION
      MSGV1: SAPMSSY1
      MSGV3: UNCAUGHT_EXCEPTION#
    #1.#00306E0C1AE70079000034730000748800047F17388E8DE4#1265637627919#/Applications/BI#sap.com/com.sap.prt.application.rfcframework#com.sap.ip.bi.base.application.message.impl.MessageBase#PMACH#79178##n/a##4c5fbee014ba11dfc2e200306e0c1ae7#SAPEngine_Application_Thread[impl:3]_11##0#0#Error#1#com.sap.ip.bi.base.application.message.impl.MessageBase#Plain###A message was generated:
    ERROR MC (601): Object requested is currently locked by user xxxxxxx
    MSGV1: xxxxxxxx
      MSGV2: E_RSRREPDIR#
    #1.#00306E0C1AE70079000034750000748800047F17388E93FC#1265637627921#/Applications/BI#sap.com/com.sap.prt.application.rfcframework#com.sap.ip.bi.base.application.message.impl.MessageBase#PMACH#79178##n/a##4c5fbee014ba11dfc2e200306e0c1ae7#SAPEngine_Application_Thread[impl:3]_11##0#0#Fatal#1#com.sap.ip.bi.base.application.message.impl.MessageBase#Plain###A message was generated:
    Could any body know me the solution
    Thanks & Regads,
    Arun

  • ALSB / ESB generic message persistance support

    If ALSB is processing a request / message and in between its transformation if the ALSB machine goes down, what happens to the message being processed? Is there some where it will get stored or what mechanism can be used to revive it?
    This is apart from the JMS / MQ persistance, and in between the ALSB processing.
    Regards,
    Feby

    Hi Feby,
    ALSB is stateless, the message that is being processed will be lost in case ALSB machine goes down, if you donot provide a mechanism to persist the message.
    Thanks
    Ashok

  • JMS Patterns - Generic Message Handler

    Hi,
    For those interested in Java EE patterns, I've created a [blog post|http://jonathanjwright.wordpress.com/2009/08/12/jms-patterns-generic-message-handler/] outlining the use of a generic message handler to simplify MDB message type checking and payload extraction.
    Regards,
    Jonathan

    This requirement has now gone away after implementing SP21

  • Process Order Warning Message while doing the Goods Receipt

    Dear All,
    While doing the GR against process order via t.code MB31, we are getting a warning message which reads u201CProduction date of bch 110420 (17.06.2011) does not match the prod. date entered (26.08.2011)u201D this happens only if the batch number already exists in the system for the same material code , in this scenario if the user ignores the warning message & posts the document the existing batch number production date also will be over written with current/inputted manufacturing dateu2026 this will collapse the batch traceability. Is there a way to customize where we can have a different production date for same batch number?..
    For example:
    Batch Number: ABCD
    Production date 10.02.2011
    Batch Number: ABCD
    Production date 11.02.2011
    Batch Number: ABCD
    Production date 12.02.2011
    Regards,
    Sivanandan

    I'm sorry to say that I find your requirement to be absolutely not logical; a batch is, by definition, a homogenous quantity of a material, that you want to separate by it's characteristics from other, different, quantities of the same material.
    If you decided that manufacturing date is a characteristic of the batch, then it has to be unique for one batch.
    So, as I see it, you have two options: either decide that manufacturing date is not important and do without, or have different batches for the different dates.

  • Import Process Capital Goods- Message 8I 402

    Hello
    While doing the GR (Migo_GR)for Imported material after MIRO, we are getting the following error
    Excise modvat accounts not defined for CAPE transaction and ** excise group
        Message no. 8I402
    But we have alredy maintained the GL code, Is their any Sub_transction Type also involced- What is the Standerd Sub Transction Type for CAPE
    Regards
    Niti Narayan

    Hi
    what is your process for import material
    first po,
    MIGO(for capture excise )
    MIRO
    OR are U useing J1IEX  use for (capture excise)
    please chack customisation part
    logistic general\tax on goods movment\India\basic setting\maintain excise group
    and check
    below MIGO setting

  • How to process an output message after pick and pack in LM46?

    Hi,
    I've implemented the User Exit to print the HU using LM18, it's working great but no output message is processed (and indeed, the sticker is printed on my own printer instead of the one defined in my Z custom output message).
    I used LM46 to pick and pack the HU, am i missing a step?
    In other words, how to process my custom output message after the pick and pack?
    Is there some code I must add in the LM18 User Exit?

    You know, in a user exit or a BADi you can access any variable of the program you want.
    Just find what which program calls the Exit User, put a break-point in it, and find the variable you need to access.
    Then add this kind code in your Exit :
    DATA: l_var TYPE ....
    FIELD-SYMBOLS: <fs_var>    TYPE ANY.
    ASSIGN ('(PGMNAME)variable') TO <fs_var>.
    IF sy-subrc = 0.
      l_var = <fs_var>.
    ENDIF.
    Same thing for a table :
    DATA: lt_var TYPE TABLE OF....
    FIELD-SYMBOLS: <fs_var>    TYPE ANY.
    ASSIGN ('(PGMNAME)table[]') TO <fs_var>.
    IF sy-subrc = 0.
      lt_var[] = <fs_var>.
    LOOP AT lt_var ASSIGNING ...
    ENDLOOP.
    ENDIF.

  • Process or Cancel Messages scheduled in IE

    Hi,
    I have around 17000 messages in scheduled status since April in IE.
    The first flag is chequered but the flag near PE is green.
    The messages have reached XI but couldn't make it to BPM. They are scheduled to enter BPM.
    I do not find any trace in the queue monitors (smq1/smq2/sm58). They are all clear.
    The interface is running smooth now. This happens when there is huge rush of incoming payload, some payloads get into this "scheduled" status and the rest makes it to the BPM and the target.
    Is there any way to process these messages, which is most desirable. If not, is there any way to delete them.
    Please advice.
    Thanks!
    Anish
    Edited by: Anish Abraham on May 8, 2009 12:51 PM

    Hi All,
    I have solved the issue by:
    1) SAP Note 1180624 - BPE-RUN: RSWF_XI_UNPROCESSED_MSGS does not restart messages
    2) Run the report: RSWF_XI_UNPROCESSED_MSGS
    Regards,
    Anish

  • Compiler Process error in Message Mapping

    Hi all,
    I have recently installed an XI system.
    First time when i create simple message mapping, it was showing compilation process error.
    Please tell me what needs to be done so that message mapping works well. It is really urgent.
    Thank you all.
    Regards,
    Kavan Shah

    hi
    check the HDD space on your XI server machine
    try checking the java path on your XI machine
    if this will not work contact the SAP via an OSS note
    As this is a new XI server it probably means it
    was incorrectly installed
    Note:please reward points if solution found helpfull
    Regards
    Chandrakanth.k

Maybe you are looking for