Payload xml messages

Hi Friends,
   Outbound proxy SAP to MQ.
while sending the data from SAP, in xml payload, complete data structure is not comming.
If the data available only, that field can be seen in xml payload ??
If data is not there, can we that particular fild in xml payload or not ??
Thanks.
vasu

>
> If data is not there, can we that particular fild in xml payload or not ??
>
above statement not clear.
if you want all the fileds to be present in Payload, then you have to maintain the data in ECC,
what exactly are you looking for??
Regards,
Raj

Similar Messages

  • Testing XML Payload of Message Mapping in RWB

    Hi All,
    Is there any way where we can test the XML payload of Message Mapping bypassing the usual testing of messages thorugh IE .
    What i mean here is passing tge XML payload of Message Mapping directlyy to Adapter Engine...
    Regards
    Vinay P.

    Hi Vinay
    As said above
    You can use Testing the Runtime feature to do this task
    RWB -> Component Monitoring -> Integration engine Test tab
    You can also use this feature for Adapter engine and J2SE adapter - File & JDBC
    http://help.sap.com/saphelp_nw70/helpdata/EN/33/b99eebd9261b4886d6f6a354b8dcdf/content.htm
    Follow michal blog give above for screen shots
    Thanks
    Gaurav

  • SXMB_MONI: No Payload under XML Message\Response

    Hi All,
    At transaction SXMB_MONI in the left frame you have usually three folders "Inbound Message", "Receiver Grouping" and "Response" under XML Message for the pipeline monitoring.
    Under our XI system I miss the folder "Payloads" under folder "Response" above.
    So I am not able to monitor the outgoing Payload at SXMB_MONI.
    Is there any configuration missing?
    Many thanks in advance!
    Jochen

    Hi Jochen,
    You can see the response payload under Response Msg Id = <>
    in "Request Message Mapping" under Payload folder
    If you are not able to see this, go to sxmb_adm -> Integration Engine Configurarion -> Specific Configureation
    add/update the parameter TRACE_LEVEL in categoy RUNTIME to value 3
    Regards,
    Sreenivas

  • PO 7.4 RESTAdapter issue : Unable to parse XML message payload

    Dear experts,
    We are implementing the scenario Exposing a function module as Restful service with the PO RESTAdapter that's avaiable in PO 7.4 SP09 as described in the blog written by Ivo:
    PI REST Adapter – Exposing a function module as RESTful service
    When we test the scenario to processing messages the adapter reports the error message:
    Error while sending message to module processor: senderChannel '589b39c9b91c3ae99040d9addc6a818b': Catching exception calling messaging system: Unable to parse XML message payload to extract operation for receiver determinationorg.xml.sax.SAXParseException: Premature end of file.
    Anyone an idea or solution direction?
    Thanks in advance.
    Cheers, Luc

    Hi YRV isa,
    Issue solved by Ivo Kulms
    "Either you use a Dummy Interface in the IFlow for the adapter or you have to specify on the Operation Determination Tab which XI Operation / Interface should be used. The table on the tab allows to specify different interface name depending on the internal variables. In the variable columns add for example the REST operation, by entering "operation", in the expression column "GET" or "POST" or "*" and in the operation/namespace columns the XI operation / interface you want to reference.
    The variable "operation" has to be in curly brackets, so that it gets evaluated. So the entry should look like "{operation}" ( or like "{service}" if you want to map the XI operation by REST service name)"
    Kind regards, Luc

  • What is the payload structure has to be used for AQ to process XML messages.

    Hi Experts,
    We have an IBM MQ and Oracle AQ has to be be linked to that.
    MQ always contains XML messages and same message will come to AQ.
    Now I want to create AQ. What is the payload structure(object) has to be used for AQ to process XML messages.
    Please help me.
    Thanks.

    Hello,
    using XML type data in AQ you have to define a special AQ payload type
    (corresponding to MQ):  QUEUE_PAYLOAD_TYPE = 'SYS.MGW_BASIC_MSG_T'.
    An example template for enqueueing looks like (you have to transform
    from XMLTYPE to the MGW payload type):
    DECLARE    
       queue_options      DBMS_AQ.ENQUEUE_OPTIONS_T; 
       message_properties DBMS_AQ.MESSAGE_PROPERTIES_T;  
       message_id         RAW(16);  
       v_message          SYS.XMLType;   
       v_clob             CLOB;
       v_payload          SYS.MGW_BASIC_MSG_T;
       v_text_body       
    SYS.MGW_TEXT_VALUE_T;
    BEGIN
       v_message      := SYS.XMLType.createXML('<SAMPLE>hello world</SAMPLE>'); 
       v_clob         := v_message.GETCLOBVAL();
       v_text_body    := SYS.MGW_TEXT_VALUE_T( NULL, v_clob );
       v_payload      := SYS.MGW_BASIC_MSG_T( v_header, v_text_body, NULL );
       DBMS_AQ.ENQUEUE( queue_name         => 'my_queue',
                        enqueue_options    => queue_options,
                        message_properties => message_properties,
                        payload            => v_payload,
                        msgid              => message_id);
    END;
    Kind regards,
    WoG

  • XML message as input for webservice gives deserialization error

    Hi,
    jDeveloper 10.1.3
    BPEL PM 10.1.2.0.2
    Carrental example
    Problem:
    For the Business Rule Engine I did the Carrental XML example. Based on the java application that connects to the BR engine, I created a webservice in jDeveloper and deployed it to my localhost AS 10.1.3. The webservice has a testRule method that accepts a String buf as input. For now, the only thing the webservice does is return a 'do nothing' string. This works fine:
    When deployed the testpage generates the following SOAP message:
    <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    <soap:Body xmlns:ns1="http://carrental/types/">
    <ns1:testRuleElement>
    <ns1:buf>my xml message</ns1:buf>
    </ns1:testRuleElement>
    </soap:Body>
    </soap:Envelope>
    The SOAP response is:
    <?xml version="1.0" encoding="UTF-8"?>
    <env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns0="http://carrental/types/"><env:Body><ns0:testRuleResponseElement><ns0:result>do nothing...</ns0:result></ns0:testRuleResponseElement></env:Body></env:Envelope>
    In BPEL Designer I create a new asynchronous process ValidateBR, with a partnerlink for the webservice, based on the following WSDL file:
    <definitions
    name="Rent"
    targetNamespace="http://carrental/"
    xmlns="http://schemas.xmlsoap.org/wsdl/"
    xmlns:tns="http://carrental/"
    xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/"
    xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"
    xmlns:tns0="http://carrental/types/"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
    >
    <types>
    <schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://carrental/types/"
    elementFormDefault="qualified" xmlns:tns="http://carrental/types/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:soap11-enc="http://schemas.xmlsoap.org/soap/encoding/">
    <complexType name="testRule">
    <sequence>
    <element name="buf" type="string" nillable="true"/>
    </sequence>
    </complexType>
    <complexType name="testRuleResponse">
    <sequence>
    <element name="result" type="string" nillable="true"/>
    </sequence>
    </complexType>
    <complexType name="version">
    <sequence/>
    </complexType>
    <complexType name="versionResponse">
    <sequence>
    <element name="result" type="string" nillable="true"/>
    </sequence>
    </complexType>
    <element name="testRuleElement" type="tns:testRule"/>
    <element name="testRuleResponseElement" type="tns:testRuleResponse"/>
    <element name="versionElement" type="tns:version"/>
    <element name="versionResponseElement" type="tns:versionResponse"/>
    </schema>
    </types>
    <message name="Rent_testRule">
    <part name="parameters" element="tns0:testRuleElement"/>
    </message>
    <message name="Rent_testRuleResponse">
    <part name="parameters" element="tns0:testRuleResponseElement"/>
    </message>
    <message name="Rent_version">
    <part name="parameters" element="tns0:versionElement"/>
    </message>
    <message name="Rent_versionResponse">
    <part name="parameters" element="tns0:versionResponseElement"/>
    </message>
    <portType name="Rent">
    <operation name="testRule">
    <input message="tns:Rent_testRule"/>
    <output message="tns:Rent_testRuleResponse"/>
    </operation>
    <operation name="version">
    <input message="tns:Rent_version"/>
    <output message="tns:Rent_versionResponse"/>
    </operation>
    </portType>
    <binding name="RentSoapHttp" type="tns:Rent">
    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
    <operation name="testRule">
    <soap:operation soapAction="http://carrental//testRule"/>
    <input>
    <soap:body use="literal" parts="parameters"/>
    </input>
    <output>
    <soap:body use="literal" parts="parameters"/>
    </output>
    </operation>
    <operation name="version">
    <soap:operation soapAction="http://carrental//version"/>
    <input>
    <soap:body use="literal" parts="parameters"/>
    </input>
    <output>
    <soap:body use="literal" parts="parameters"/>
    </output>
    </operation>
    </binding>
    <service name="Rent">
    <port name="RentSoapHttpPort" binding="tns:RentSoapHttp">
    <soap:address location="http://localhost:7780/Rules-rent-context-root/RentSoapHttpPort"/>
    </port>
    </service>
    </definitions>
    I defined the process variable inputVariable to be defined based on the carrental.xsd schema. I assign the inputVariable to the 'buf' parameter of the webservice as shown below in the ValidateBR.bpel
    <!--
    // Oracle JDeveloper BPEL Designer
    // Created: Mon Mar 27 16:02:22 CEST 2006
    // Author: haanrw
    // Purpose: Asynchronous BPEL Process
    -->
    <process name="ValidateBR" targetNamespace="http://xmlns.oracle.com/ValidateBR" xmlns="http://schemas.xmlsoap.org/ws/2003/03/business-process/" xmlns:xp20="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:ns1="http://rules.oracle.com/carrental" xmlns:ldap="http://schemas.oracle.com/xpath/extension/ldap" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns3="http://carrental/types/" xmlns:ns2="http://carrental/" xmlns:client="http://xmlns.oracle.com/ValidateBR" xmlns:bpelx="http://schemas.oracle.com/bpel/extension" xmlns:ora="http://schemas.oracle.com/xpath/extension" xmlns:orcl="http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.ExtFunc"><!-- ================================================================= --><!-- PARTNERLINKS --><!-- List of services participating in this BPEL process --><!-- ================================================================= -->
    <partnerLinks><!--
    The 'client' role represents the requester of this service. It is
    used for callback. The location and correlation information associated
    with the client role are automatically set using WS-Addressing.
    -->
    <partnerLink name="client" partnerLinkType="client:ValidateBR" myRole="ValidateBRProvider" partnerRole="ValidateBRRequester"/>
    <partnerLink name="CheckBR" partnerRole="Rent_Role" partnerLinkType="ns2:Rent_PL"/>
    </partnerLinks><!-- ================================================================= --><!-- VARIABLES --><!-- List of messages and XML documents used within this BPEL process --><!-- ================================================================= -->
    <variables><!-- Reference to the message passed as input during initiation -->
    <variable name="inputVariable" messageType="client:ValidateBRRequestMessage"/><!-- Reference to the message that will be sent back to the
    requester during callback
    -->
    <variable name="outputVariable" messageType="client:ValidateBRResponseMessage"/>
    <variable name="InvokeValidateBR_testRule_InputVariable" messageType="ns2:Rent_testRule"/>
    <variable name="InvokeValidateBR_testRule_OutputVariable" messageType="ns2:Rent_testRuleResponse"/>
    </variables><!-- ================================================================= --><!-- ORCHESTRATION LOGIC --><!-- Set of activities coordinating the flow of messages across the --><!-- services integrated within this business process --><!-- ================================================================= -->
    <sequence name="main"><!-- Receive input from requestor.
    Note: This maps to operation defined in ValidateBR.wsdl
    -->
    <receive name="receiveInput" partnerLink="client" portType="client:ValidateBR" operation="initiate" variable="inputVariable" createInstance="yes"/><!-- Asynchronous callback to the requester.
    Note: the callback location and correlation id is transparently handled
    using WS-addressing.
    -->
    <assign name="Assign_1">
    <copy>
    <from variable="inputVariable" part="payload" query="/ns1:repository"/>
    <to variable="InvokeValidateBR_testRule_InputVariable" part="parameters" query="/ns3:testRuleElement/ns3:buf"/>
    </copy>
    </assign>
    <invoke name="InvokeValidateBR" partnerLink="CheckBR" portType="ns2:Rent" operation="testRule" inputVariable="InvokeValidateBR_testRule_InputVariable" outputVariable="InvokeValidateBR_testRule_OutputVariable"/>
    <invoke name="callbackClient" partnerLink="client" portType="client:ValidateBRCallback" operation="onResult" inputVariable="outputVariable"/>
    </sequence>
    </process>
    When I deploy the process and initiate a testinstance from the BPEL console, the assign looks as follows:
    <InvokeValidateBR_testRule_InputVariable>
    <part name="parameters" >
    <testRuleElement>
    <buf>
    <driver>
    <driver-license-number>15-PS-FZ</driver-license-number>
    <name>Rob de Haan</name>
    <age>39</age>
    <vehicle-type>Saab</vehicle-type>
    <license-type>B</license-type>
    <pre-convictions>0</pre-convictions>
    <pre-accidents>0</pre-accidents>
    <able-to-drive>true</able-to-drive>
    </driver>
    </buf>
    </testRuleElement>
    </part>
    </InvokeValidateBR_testRule_InputVariable>
    The InvokeValidateBR shows the following error:
    <remoteFault>
    <part name="code" >
    <code>Client</code>
    </part>
    <part name="summary" >
    <summary>when invoking endpointAddress 'http://localhost:7780/Rules-rent-context-root/RentSoapHttpPort', caught exception while handling request: deserialization error: unexpected XML reader state. expected: END but found: START: {http://rules.oracle.com/carrental}driver</summary>
    </part>
    <part name="detail" >
    <detail>AxisFault faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Client faultSubcode: faultString: caught exception while handling request: deserialization error: unexpected XML reader state. expected: END but found: START: {http://rules.oracle.com/carrental}driver faultActor: faultNode: faultDetail: {http://xml.apache.org/axis/}stackTrace:caught exception while handling request: deserialization error: unexpected XML reader state. expected: END but found: START: {http://rules.oracle.com/carrental}driver at org.collaxa.thirdparty.apache.axis.message.SOAPFaultBuilder.createFault(SOAPFaultBuilder.java:221) at org.collaxa.thirdparty.apache.axis.message.SOAPFaultBuilder.endElement(SOAPFaultBuilder.java:128) at org.collaxa.thirdparty.apache.axis.encoding.DeserializationContext.endElement(DeserializationContext.java:1083) at org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown Source) at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanEndElement(Unknown Source) at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source) at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source) at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source) at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source) at org.apache.xerces.parsers.XMLParser.parse(Unknown Source) at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source) at javax.xml.parsers.SAXParser.parse(Unknown Source) at org.collaxa.thirdparty.apache.axis.encoding.DeserializationContext.parse(DeserializationContext.java:226) at org.collaxa.thirdparty.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:645) at org.collaxa.thirdparty.apache.axis.Message.getSOAPEnvelope(Message.java:424) at org.collaxa.thirdparty.apache.axis.client.Call.invokeEngine(Call.java:2754) at org.collaxa.thirdparty.apache.axis.client.Call.invoke(Call.java:2715) at org.collaxa.thirdparty.apache.axis.client.Call.invoke(Call.java:1737) at com.collaxa.cube.ws.wsif.providers.axis.WSIFOperation_ApacheAxis.invokeAXISMessaging(WSIFOperation_ApacheAxis.java:2113) at com.collaxa.cube.ws.wsif.providers.axis.WSIFOperation_ApacheAxis.invokeRequestResponseOperation(WSIFOperation_ApacheAxis.java:1611) at com.collaxa.cube.ws.wsif.providers.axis.WSIFOperation_ApacheAxis.executeRequestResponseOperation(WSIFOperation_ApacheAxis.java:1083) at com.collaxa.cube.ws.WSIFInvocationHandler.invoke(WSIFInvocationHandler.java:452) at com.collaxa.cube.ws.WSInvocationManager.invoke2(WSInvocationManager.java:327) at com.collaxa.cube.ws.WSInvocationManager.invoke(WSInvocationManager.java:189) at com.collaxa.cube.engine.ext.wmp.BPELInvokeWMP.__invoke(BPELInvokeWMP.java:601) at com.collaxa.cube.engine.ext.wmp.BPELInvokeWMP.__executeStatements(BPELInvokeWMP.java:317) at com.collaxa.cube.engine.ext.wmp.BPELActivityWMP.perform(BPELActivityWMP.java:188) at com.collaxa.cube.engine.CubeEngine.performActivity(CubeEngine.java:3408) at com.collaxa.cube.engine.CubeEngine.handleWorkItem(CubeEngine.java:1836) at com.collaxa.cube.engine.dispatch.message.instance.PerformMessageHandler.handleLocal(PerformMessageHandler.java:75) at com.collaxa.cube.engine.dispatch.DispatchHelper.handleLocalMessage(DispatchHelper.java:166) at com.collaxa.cube.engine.dispatch.DispatchHelper.sendMemory(DispatchHelper.java:252) at com.collaxa.cube.engine.CubeEngine.endRequest(CubeEngine.java:5438) at com.collaxa.cube.engine.CubeEngine.createAndInvoke(CubeEngine.java:1217) at com.collaxa.cube.engine.delivery.DeliveryService.handleInvoke(DeliveryService.java:511) at com.collaxa.cube.engine.ejb.impl.CubeDeliveryBean.handleInvoke(CubeDeliveryBean.java:335) at ICubeDeliveryLocalBean_StatelessSessionBeanWrapper16.handleInvoke(ICubeDeliveryLocalBean_StatelessSessionBeanWrapper16.java:1796) at com.collaxa.cube.engine.dispatch.message.invoke.InvokeInstanceMessageHandler.handle(InvokeInstanceMessageHandler.java:37) at com.collaxa.cube.engine.dispatch.DispatchHelper.handleMessage(DispatchHelper.java:125) at com.collaxa.cube.engine.dispatch.BaseScheduledWorker.process(BaseScheduledWorker.java:70) at com.collaxa.cube.engine.ejb.impl.WorkerBean.onMessage(WorkerBean.java:86) at com.evermind.server.ejb.MessageDrivenBeanInvocation.run(MessageDrivenBeanInvocation.java:123) at com.evermind.server.ejb.MessageDrivenHome.onMessage(MessageDrivenHome.java:755) at com.evermind.server.ejb.MessageDrivenHome.run(MessageDrivenHome.java:928) at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:186) at java.lang.Thread.run(Thread.java:534) {http://xml.apache.org/axis/}hostname:NL-GRH-L120981 </detail>
    </part>
    </remoteFault>
    FYI: the webservice only contains a return "do nothing"
    Question:
    What is the proper way to assign an XML message to the web service?
    Any help would be appreciated.
    Rob
    Message was edited by:
    [email protected]

    Hi,
    Reading only is not possible..
    I will be still more clear in my question this time..
    I have deployed my bpel. My receiveInputVariable is of type xsd:string.
    So when i run the bpel in my console, i will be asked to give input as string data.
    So when i go to the XMLView, it will be like this.
    <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
         <soap:Body xmlns:ns1="http://xmlns.oracle.com/Sabari_POC_Appln/DOM_Parser/ConvertToBLOB">
              <ns1:process>
                   <ns1:input></ns1:input>
    </ns1:process>
    </soap:Body>
    </soap:Envelope>
    Now, i am going to give my input like this. --- which leads to error.
    <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
         <soap:Body xmlns:ns1="http://xmlns.oracle.com/Sabari_POC_Appln/DOM_Parser/ConvertToBLOB">
              <ns1:process>
                   <ns1:input>
    *<?xml version="1.0" encoding="UTF-8"?>*
    *<projects>*
    *<project id = "BP001">*
    *<name>Banking Project</name>*
    *<start-date>Jan 10 1999</start-date>*
    *<end-date>Jan 10 2003</end-date>*
    *</project>*
    *<project id = "TP001">*
    *<name>Telecommunication Project</name>*
    *<start-date>March 20 1999</start-date>*
    *<end-date>July 30 2004</end-date>*
    *</project>*
    *<project id = "PP001">*
    *<name>Portal Project</name>*
    *<start-date>Dec 10 1998</start-date>*
    *<end-date>March 10 2006</end-date>*
    *</project>*
    *</projects>*
    </ns1:input>
    </ns1:process>
    </soap:Body>
    </soap:Envelope>
    This xml is not accepted as string input.. so kindly suggest me some other solution.
    I also tried.. like.. making my receiveInputVariable of type xsd:anyType, it also dint help. same error occurred.
    Thanks,
    Sabarisri. N
    Edited by: Sabarisri N on Jul 20, 2011 1:03 PM

  • Reading the XML message from Xi stored in XML format from a abap program.

    Hi Gurus,
    My requirement here is to read the data that will be coming from Xi from my custom abap program and updating 2 data base tables. The method is after the data mapping is done a class is generated in abap proxy in which a method is available. Inside the method i am writing the code for getting the Xi data stored as a payload message which can be seen in the transaction SXMB_MONI. My code is given below.
    ***begin code***
    method ZII_PAYROLL_HEADER_IN~PAYROLL_HEADER_IN.
    **** INSERT IMPLEMENTATION HERE **** ***
    data: ln type i.
    DATA: i_items TYPE TABLE OF ZPAYLOAD_WRAPPER_EMPLOYEE_REC3.
    *DATA: wa_items type ZPAYLOAD_WRAPPER_EMPLOYEE_TAB5.
    data: wa_items type ZPAYLOAD_WRAPPER_EMPLOYEE_REC3.
    DATA:PERNR TYPE STRING.
    *data: it_ZPAYLOAD_WRAPPER16  TYPE ZPAYLOAD_WRAPPER16.
    I_ITEMS[] = INPUT-PAYLOAD_WRAPPER-BODY-XMLDOC-PAYROLL_PERIOD_OVERVIEW-EMPLOYEE_RECORD[].
    *I_ITEMS = INPUT-payloadWrapper-Body-XMLDOC-PayrollPeriodOverview-EmployeeRecord.
    describe table i_items[] lines ln.
    endmethod.
    **End code***
    As per the logic the data stored in the XML message should be avaialble in INPUT-payloadWrapper-Body-XMLDOC-PayrollPeriodOverview-EmployeeRecord which i am assigning to a local internal table in the class.
    But in my case there is no data coming in
    INPUT-payloadWrapper-Body-XMLDOC-PayrollPeriodOverview-EmployeeRecord.
    But i can see the data transffered from XI in the transaction SXMB_MONI->XML message->inbound message->payload.
    Is there any way to read the data stored in the XML message in the transaction SXMB_MONI.
    Also why the data is not coming in
    INPUT-payloadWrapper-Body-XMLDOC-PayrollPeriodOverview-EmployeeRecord inside the class.
    If there is any solution for this problem please post it.

    You can use function module SXMB_GET_MESSAGE_PAYLOAD.
    Code snippet:
    DATA: ls_mast      TYPE sxmspmast,
          ls_msgkey    TYPE sxmsmkey,
          lv_bin_xml   TYPE xstring,
          lv_str_xml   TYPE string.
    * select sxmspmast into ls_mast
      ls_msgkey-msgid  = ls_mast-msgguid.
      ls_msgkey-pid    = 'RECEIVER'.
      CALL FUNCTION 'SXMB_GET_MESSAGE_PAYLOAD'
        EXPORTING
          im_msgkey      = ls_msgkey
          im_archive     = ' '
          im_version     = ls_mast-vers
        IMPORTING
          ex_msg_bytes   = lv_bin_xml
        EXCEPTIONS
          not_authorized = 1
          no_message     = 2
          internal_error = 3
          no_payload     = 4
          OTHERS         = 5.
      IF sy-subrc EQ 0.
          lv_str_xml = cl_soap_moni_helper=>convert_xstring_to_string( xstring_in = lv_bin_xml ).
      ENDIF.

  • How to find an XML message ID with a wildcard QueueID

    Hi,
    My scenario is: transfer purchase orders from SAP SRM to marketplace(3rd party system)
    The QoS is EOIO, therefore my POs are transferred with Queues but each queue has a leading prefix which are all registered.
    The project is already go-live for over 6 months.
    I have tried with SXMB_MONI of course, the display of Messages is far too limited(only 2000 messages is allowed to be displayed one time, or, is any way to adjust this?)
    And also a table called SXMSPMAST, I searched with a queue id "*3000012345" in the field "QUEUEINT", no result. (3000012345 is the PO number)
    Is there any other table to find a certian message by queue id?
    Thanks.
    Regards,
    Klein

    hi,
    >>>>Is there any other table to find a certian message by queue id?
    do you realy want to search for message id by queue it?
    wouldn't it be easier to search with PO number
    (which is probably inside the XML message?)
    if so then you can use TREX to search inside the XML messages
    payload (from XI SP15)
    isn't this an easier way?
    Regards,
    michal

  • How to store and retrieve XML messages in AQ using ESB/ BPE

    Hello,
    I am having a requirement which I feel should be fairly common - store and retrieve XML messages in AQ. However, I am struggling to decide which type of queue to use AQ or JMS...Here is the requirement
    1. In an ESB, I want to read different kind of files using file adapter. Different kind as in, having different structure or schema
    2. I want to create a queue that is capable of storing any kind of xml data. To this queue, I want to enqueue the message read in step 1.
    3. In another process, say a BPEL, I want to dequeue the message and write into a file. The filename is retrieved from one of the header properties. I want to dequeue using a stored procedure, not by using a JMS or AQ Adapter (reason being that these adapters poll the queue, and consume a message immediately. However, I want to consume the message only when there is a business need)
    My questions are:
    1. What kind of queue I should create in the DB (What should be its payload type...XMLType? )... I guess the answer would also determine the adapter to be used - JMS or AQ
    2. How I should map the xml data read from the file in step 1 to this adapter
    Any help is highly appreciated.

    You are right in suggesting that I dont need to store my XML data as xml in the DB...I dont want to too :) but its just that, thats the only option I can see at this time (the other track i am exploring is :
    File adapter(XML) -&gt; Convert to opaque (base64binary) -&gt; Enqueue opaque to JMS (aq$_jms_bytes_message) -&gt;Dequeue Opaque -&gt; Write file opaquely.
    In this I have hit the roadblock in trying to convert XML to base64binary...maybe some custom java function is needed...anyway)
    Coming back to this thread, where I am trying the following
    File adapter(XML)  -&gt; Enqueue as XML to queue  -&gt;Dequeue XML -&gt; Write file opaquely.
    PS: I think its important for me to mention that I am using SOA 10.1.3.1.0
    I tried the steps you gave...after creating the queue, I am trying to create a JMS adapter. But the queue I created doesnt show up in the browse window of destinations for the JMS Adapter..That had led me to infer that JMS adapter cant be used
    {color:#99cc00}CREATE OR REPLACE TYPE batchupdate_row_type AS OBJECT
    (update_queue_id NUMBER
    ,upc VARCHAR2(20)
    ,price1 NUMBER);
    {color}
    {color:#99cc00}CREATE OR REPLACE TYPE batchupdate_rec_type AS VARRAY(9999999) OF batchupdate_row_type;
    CREATE OR REPLACE TYPE payload_type AS OBJECT ( payload batchupdate_rec_type);
    EXECUTE DBMS_AQADM.CREATE_QUEUE_TABLE ( queue_table =&gt; 'jmsuser.batch_update_queue_table', queue_payload_type =&gt; 'payload_type');
    EXECUTE DBMS_AQADM.CREATE_QUEUE ( queue_name =&gt; 'batch_update_queue', queue_table =&gt; 'jmsuser.batch_update_queue_table');
    EXECUTE DBMS_AQADM.START_QUEUE ( queue_name =&gt; 'batch_update_queue'); {color}
    I also needed some opinion on whether the last step of my proposed solution ( Dequeue XML -&gt; Write file opaquely) is possible. As I want to develop a service oblivious of the structure of the file, I dont want to create a file adapter based on a particular xsd...so I want to write whatever xml I am getting from the queue....is this step possible

  • XML Messages generated by XI using namespace aliases...

    I have a question regarding the XML messages that are generated by XI as part of the mapping, etc.
    I receive e.g. the following XML document in the payload of my message sent to a legacy system:
    <ns1:ArticleRequest xmlns:ns1="http://www.basis.ko.com/XMLSchemas/ArticleRequest/2.0" function="retrieve">
         <ns1:ArticleNumber>109</ns1:ArticleNumber>
    </ns1:ArticleRequest>
    Unfortunately the system cannot handle the ns1: prefixes correctly and would prefer if the XML message were using the default namespace.
    Can XI be configured to produce the XML using the default namespace (in case the interface has just one namespace this should be semantically identical)
    <ArticleRequest xmlns="http://www.basis.ko.com/XMLSchemas/ArticleRequest/2.0" function="retrieve">
         <ArticleNumber>109</ArticleNumber>
    </ArticleRequest>
    and furthermore, is there a way to include the xsi:schemaLocation attribute in the resulting XML document?
    like this:
    <ArticleRequest xmlns:ns1="http://www.basis.ko.com/XMLSchemas/ArticleRequest/2.0" function="retrieve" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.basis.ko.com/XMLSchemas/ArticleRequest/2.0 ArticleRequest.xsd" >
         <ArticleNumber>109</ArticleNumber>
    </ArticleRequest>
    kind regards for your help,
    Peter

    Hi Udo,
    I'm not sure how the XSL Mapping can remove the namespace alias and exchange it with default namespace. The xsl:copy-of just does a duplication of the selected node. Do you have any additional input on this one?
    Regarding the second hint, 'manipulate the field XML namespace in the message type', I could not find a place where to do this - as I am using 'External Definition' (XSDs imported into XI). Still when I change the namespace I will always receive the prefix in front of each element.
    Any additional help is highly appreciated.
    regards,
    Peter

  • Xml message from XI to Siebel issue

    Hi all,
    I have an issue and I would need some help.
    My scenario is R/3->BAPI->XI->Siebel and the communication channel between XI and Siebel it obviously http based.
    The thing is that for some reason, Siebel it's not receiving the xml message XI sends complete, it is just receiving the 'header' of the xml message, this is:
    <?xml version="1.0" encoding="UTF-8"?>
    and not the rest of the content.
    I have already check that the xml XI is sending is full and completly functional, and I have no clue where it's losing the info.
    Any hint?

    Hi,
    Are you using HTTP protocol get to receive the xml ? it may be possible that there are some length problem after submitting to siebel thru XI. just get confirmed about it. That is why it is getting truncated.
    1 problem may be possible, can tou check the sender and receiver communication channel at RWB about the message payload they are sending. if everything is fine there then check the length of message received by siebel. Problem will be here sumwhere.
    Regards
    Aashish Sinha
    PS ; reward points if helpful

  • Table where XML Messages are stored..?

    Dear SDNers,
    I am trying to built an custom error monitor. I require access to the XML payload and parse it to retrieve data from it.
    I need to know where the input XML messages and the XML with Error informations are stored in the database table.
    I believe this informations would be stored in a raw format and an class/method will parse this raw data to XML content.
    I require your help to find out the DB Table and the methods to parse  the raw data to XML.
    Thanks
    ~SaNv...

    Hi Guys,
    Thanks for your help.
    With the below code I was able to read the Maindocument of Inbound payload. I would also require to read the Error payload in the Soap header.
    CALL METHOD persist->read_msg_all
        EXPORTING
          im_msgguid = p_mesg
          im_pid     = pid
          im_version = vers
        IMPORTING
          ex_message = xms_msg.
      xms_msg->deleteheaderbyname(
             nsuri  = if_xms_run_time_env=>co_nsuri
             lcname = if_xms_run_time_env=>co_lcname ).
      xmb_msg ?= xms_msg.
      CALL METHOD xmb_msg->if_xms_message_xmb~get_main_payloads
        RECEIVING
          return = payload.
      READ TABLE payload INTO wa_payload INDEX 1.
      CALL METHOD wa_payload-mainpayload->getbinarycontent
        RECEIVING
          return = content.
    Now i need to find a method to read the erro document.
    Instead of CALL METHOD xmb_msg->if_xms_message_xmb~get_main_payloads I need to use a different method, but not to find it myself.
    Pls share ur thoughts on this.
    ~SaNv...

  • OAG 7.x XML messages over AS2

    Hi All,
    Need some help for the below issue.
    We will be receiving OAG Xml messages over AS2 from our trading partners. I have setup the Trading partner Agreement but the message is not picking any agreement. I believe we need to set the below fields in the Document Definition.
    Identification Expression (XPath)
    Identification Value
    I have tried different values for these fields but it is not working. Could someone please suggest if you have done this and how you handled this. Or someone please throw some idea for me to try another approach.
    Thanks
    Ismail.

    Here is the XML Payload. Sorry it is a big payload. I am not getting any error when I upload the message to AS2. In B2B it shows the message received but the sender fields are blank.
    I used below values in the Document definition.
    Identification Expression (XPath) ==> //*[local-name()='TASK']/text()
    Identification Value ==> POISSUE
    The task element is 10 - 12 lines below in the paylod under SENDER.
    <?xml version="1.0" encoding="UTF-8" standalone='no'?>
    <!DOCTYPE PROCESS_PO_007 SYSTEM "003_process_po_007.dtd">
    <!-- Oracle eXtensible Markup Language Gateway Server -->
    <PROCESS_PO_007>
    <CNTROLAREA>
    <BSR>
    <VERB value="PROCESS">PROCESS</VERB>
    <NOUN value="PO">PO</NOUN>
    <REVISION value="007">007</REVISION>
    </BSR>
    <SENDER>
    <LOGICALID/>
    <COMPONENT>PURCHASING</COMPONENT>
    <TASK>POISSUE</TASK>
    <REFERENCEID>DEVB.MyCompanyIND.PRI:oracle.apps.po.event.xmlpo:48135-42957</REFERENCEID>
    <CONFIRMATION>0</CONFIRMATION>
    <LANGUAGE>US</LANGUAGE>
    <CODEPAGE>AL32UTF8</CODEPAGE>
    <AUTHID>APPS</AUTHID>
    </SENDER>
    <DATETIME qualifier="CREATION" type="T" index="1">
    <YEAR>2013</YEAR>
    <MONTH>03</MONTH>
    <DAY>19</DAY>
    <HOUR>07</HOUR>
    <MINUTE>51</MINUTE>
    <SECOND>56</SECOND>
    <SUBSECOND>0000</SUBSECOND>
    <TIMEZONE>-0500</TIMEZONE>
    </DATETIME>
    </CNTROLAREA>
    <DATAAREA>
    <PROCESS_PO>
    <POORDERHDR>
    <DATETIME qualifier="DOCUMENT" type="T" index="1">
    <YEAR>2013</YEAR>
    <MONTH>03</MONTH>
    <DAY>19</DAY>
    <HOUR>07</HOUR>
    <MINUTE>51</MINUTE>
    <SECOND>47</SECOND>
    <SUBSECOND>0000</SUBSECOND>
    <TIMEZONE>-0500</TIMEZONE>
    </DATETIME>
    <OPERAMT qualifier="EXTENDED" type="T">
    <VALUE>1578</VALUE>
    <NUMOFDEC/>
    <SIGN>+</SIGN>
    <CURRENCY>USD</CURRENCY>
    <UOMVALUE>1</UOMVALUE>
    <UOMNUMDEC>0</UOMNUMDEC>
    <UOM/>
    </OPERAMT>
    <POID>500378</POID>
    <POTYPE>STANDARD</POTYPE>
    <ACKREQUEST>D</ACKREQUEST>
    <CONTRACTB/>
    <CONTRACTS/>
    <DESCRIPTN/>
    <NOTES index="1"/>
    <PORELEASE/>
    Edited by: 957748 on Apr 2, 2013 12:50 PM
    Edited by: 957748 on Apr 2, 2013 12:51 PM

  • Converting XML Message to EDI

    Hi Experts,
    I need a tool to convert XML message to EDI.

    Hi,
    Conversion Agent
    Purpose
    SAP Conversion Agent by Informatica is a data conversion system that enables you to create interfaces between any data formats and XML-based systems. The Conversion Agent can convert unstructured, semi-structured, and structured formats to XML, and the other way around.
    The Conversion Agent comprises the Conversion Agent Studio and the Conversion Agent Engine. In the Conversion Agent Studio you can develop and configure data conversions. The Conversion Agent Engine executes the data conversions.
    Conversion Agent in Process Integration
    figer here-
    In Process Integration you call the Conversion Agent by using an adapter module. For this purpose, you must integrate this module in the module processor of your adapter. You can only use the Conversion Agent with the SAP adapters of the Adapter Engine.
    The module in the sender adapter uses a data conversion statement to call the Conversion Agent Engine and it then receives the converted XML document. In a receiver adapter the source format is XML.
    For current information and FAQs for the Conversion Agent, see SAP Note 894815.
    Features
    If you want to use data transformations in Process Integration, you must perform the following steps after you have installed the Conversion Agent:
    For information about installing the Conversion Agent, see Deploying and Using Conversion Agent and Getting Started with Conversion Agent.
           1.      Define your data transformation in the Conversion Agent Studio.
    For more information, please see: Getting Started with Conversion Agent.
           2.      Configure a communication channel within your integration scenario.
    More information: Communication channel.
           3.      In the adapter configuration under Modules, integrate the adapter module CMTransformModule in the adapter type for your communication channel.
    ○       Under Parameter Name in the Module Configuration, enter the name TransformationName, and under Parameter Value, enter the name of the data transformation you defined.
    ○       The document to be converted must be in the main payload of the message.
    ○       If the document to be converted is in an attachment, you can use the PayloadSwapBean module to exchange the payloads.
    ○       The adapter module can be integrated in all adapters that can be enhanced with additional modules (for example, the SOAP adapter or mail adapter).
    For more information about integrating the adapter module, see Deploying and Using Conversion Agent.
    For more information about integrating modules in an adapter, see: Module Processor
    For more information about enhancing the module processor, see Extending the Module Chain in the Module Processor.
    Getting Started with the Conversion Agent
    To quickly get up to speed with the SAP NetWeaver Conversion Agent, read the following documentation:
    Document Name
    Deploying and Using Conversion Agent
    Contents
    Contains detailed information about how you can use the Conversion Agent in SAP NetWeaver. It also includes a description of how to deploy the adapter module for calling the Conversion Agent Engine.
    Document Name
    Getting Started with Conversion Agent
    Contents
    Uses exercises to introduce you to Conversion Agent Studio.
    Also contains short installation instructions.
    Conversion Agent Guides
    The following guides are available:
    Document Name
    Conversion Agent Administratoru2019s Guide
    Contents
    Contains information on the following topics:
    ●      Installing the Conversion Agent Studio
    ●      Updating Conversion Agent projects
    ●      Configuration Editor
    This editor enables you to configure the parameters of an existing Conversion Agent installation.
    Document Name
    Conversion Agent Studio Useru2019s Guide
    Contents
    Contains a description of all functions of the Conversion Agent Studio.
    Document Name
    Conversion Agent Engine Developeru2019s Guide
    Contents
    Contains information about how you enable transformations defined in the Conversion Agent Studio to be executed by the Conversion Agent Engine.
    PS,Reward me if usefull
    reg,
    suresh

  • Reprocessing of XML Messages with status 003 i.e. Successfully Processed in

    Hello Expets ,
    I have to reprocess the XML messages which are already in successfully processed state  ( 003 ) in ECC without posting the data due to some abap bug  how am i going to do it.
    Is there any way i can changes the status of the xml message to Manual restart possible or some other way to do it...!
    Thanks in Advance

    HI,
    It's possible with some config change. (Hope your system is not production)
    First solution:
    The specified item was not found.
    Second:
    Insert the payload in RWB using test tab and send the data again

Maybe you are looking for