Namespace missing in the payload

Hi ,
I doing a JDBC to IDoc scenario.I am using a JDBC sender Adapter to get data using a select query from DB Table ,every thing works fine.The Structure get filled up ,but the namescape is missing in the source payload (SXMB_MONI).Anyone knows why this is happening.
Thanks,
Venu

Hi Venu,
looks like you are missing namespace in the JDBC data, you should mention the docNamespace in the JDBC sender adapter.
Copy your payload and paste this in your mapping test tab. How ? After copying the payload go to Message mapping, there is Tab for Test right next to the Design. click on that and then click on the SRC button in the source message and paste your XML and do a test. Then you will know whats going wrong.
One other precaution is, you can fill the fields in the test tab then click on SRC button to look at what the source XML should look like.
hope you understand, if not post the question again.
Thanks.

Similar Messages

  • Outbound Proxy is triggered from CRM 4.0,  tag is missing in the payload

    Hi,
    A Outbound Proxy is triggered from CRM 4.0, one of the tag is missing in the payload. I had checked the SXMB_MONI in CRM and in XI as well both seems to miss that. I checked the BADI which triggers this PROXY the data is rightly populated to the PROXY method. Also, this problem is not occuring regularly but few times it misses the same tag. The occurrance defined in the datatype is 0 to 1. Can anyone help why this is happening..
    Many Thanks..

    This could rather be a logical error. May be the logic is not populating the XML tag on those occassions. I would suggest to debug in that direction.
    VJ

  • BPEL engine lost the payload's namespace

    Hi I have a service sending an async reply. When the message is received the payload seems to have lost the namespace declaration - so subsequently causing a selectionFailure (I'm using version 10.1.3.1.0 - this worked in 10.1.2.0.2)
    response definition:
    <definitions......>
    <import namespace="http://xmlns.oracle.com/shared/Trade" location="shared/wsdl/Trade.wsdl"/>
    <portType name="StoreTradeCallback">
    <operation name="onResult">
    <input message="common:TradeToken"/>
    </operation>
    </portType>
    </definitions>
    response example:
    <outputVariable>
    <part xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="payload">
    <tradeId xmlns="http://www.ghc.com/trade">183</tradeId>
    </part>
    </outputVariable>
    received definition:
    <process ...>
    <partnerLinks/>
    <variables>
    <variable name="tokenVariable" messageType="common:TradeToken"/>
    </variables>
    <correlationSets>
    <correlationSet name="CorrelationSet" properties="common:ident"/>
    </correlationSets>
    <sequence name="main">
    <sequence name="storeTrade">
    <receive name="receiveStore" partnerLink="StoreTrade"
    portType="ns3:StoreTradeCallback" operation="onResult"
    variable="tokenVariable" createInstance="no">
    <correlations>
    <correlation initiate="yes" set="CorrelationSet"/>
    </correlations>
    </receive>
    received example:
    <?xml version="1.0" encoding="UTF-8" ?>
    <tradeId>183</tradeId>
    Note: The correlationSet fails to initiate too unless I remove the namespaces from the alias query...
    <bpws:propertyAlias propertyName="tns:ident" messageType="tns:TradeToken" part="payload"
    query="/tradeId"/> <!-- namespace removed from query.... -->
    Any ideas what's going on? What's munching the namespaces? Anyone seen this behaviour?
    Thanks,
    Peter T

    I've worked round the issue by changing the idiom from async reply to sync reply.
    Odd!
    But I'm now run into another similar problem. I invoke an service with this:
    <tokenStatusVariable>
    <part xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="payload">
    <tradeId xmlns="http://www.ghc.com/trade">197</tradeId>
    </part>
    <part xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="status">
    <statusId xmlns="http://xmlns.oracle.com/HandleTradeEvent">9</statusId>
    </part>
    </tokenStatusVariable>
    The service receives this:
    <statusVariable>
    <part xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="payload">
    <tradeId>197</tradeId>
    </part>
    <part xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="status">
    <statusId xmlns="http://xmlns.oracle.com/HandleTradeEvent">9</statusId>
    </part>
    </statusVariable>
    i.e. my namespace has just vanished again!!!!
    Has anyone got any ideas?

  • Missing namespace prefix in the soap body

    Hello
    The soap body that is produced along with soap header for my webservice. I
    am the client talking to a server. The first piece in RED color is what
    weblogic generates to send to the client but does NOT work. The one below
    though works fine which is what I manipulated by hand to send to the
    server. I have no idea why weblogic drops the namespace prefix in the
    BODY.
    -Narahari
    The message is as shown below
    POST /FS HTTP/1.1
    Host: asgappsrv10:6211
    Content-Type: text/xml; charset=utf-8
    Connection: close
    SOAPAction: "ListDomains"
    <?xml version="1.0" encoding="utf-8"?>
    <env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <env:Header>
    <n1:Credentials xmlns:n1="urn:criticalpath:fs:api:1.0"
    xsi:type="n1:Credentials">
    <Username xsi:type="xsd:string">admin@default</Username>
    <Password xsi:type="xsd:string">password</Password>
    <SessionId xsi:nil="true"/>
    </n1:Credentials>
    </env:Header>
    <env:Body
    env:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
    <Fulfill xmlns:n2="urn:criticalpath:fs:api:1.0"
    xsi:type="n2:Fulfill">
    <Request xsi:type="xsd:string">ListDomains</Request>
    <RequestAttributes soapenc:arrayType="n2:Attribute[0]"/>
    <Async xsi:type="xsd:boolean">false</Async>
    </Fulfill>
    </env:Body>
    </env:Envelope>
    When you see the data carefully, the env:Body has the Fulfill element. But
    it does have a namespace prefix on it. This causes the call to fail. If I
    change the above segment manally to look like
    POST /FS HTTP/1.1
    Host: asgappsrv10:6211
    Content-Type: text/xml; charset=utf-8
    Connection: close
    SOAPAction: "ListDomains"
    <?xml version="1.0" encoding="utf-8"?>
    <env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <env:Header>
    <n1:Credentials xmlns:n1="urn:criticalpath:fs:api:1.0"
    xsi:type="n1:Credentials">
    <Username xsi:type="xsd:string">admin@default</Username>
    <Password xsi:type="xsd:string">password</Password>
    <SessionId xsi:nil="true"/>
    </n1:Credentials>
    </env:Header>
    <env:Body
    env:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
    <n2:Fulfill xmlns:n2="urn:criticalpath:fs:api:1.0"
    xsi:type="n2:Fulfill">
    <Request xsi:type="xsd:string">ListDomains</Request>
    <RequestAttributes soapenc:arrayType="n2:Attribute[0]"/>
    <Async xsi:type="xsd:boolean">false</Async>
    </n2:Fulfill>
    </env:Body>
    </env:Envelope>

    Hi All,
    we are also facing the same issue, Please provide the solution if anyone knows. We are also using the SOA Suite 11g Version.

  • Namespace Prefix in the Root Element of the variable

    Hi Gurus,
    We need to call a webservice which requires a namespace prefix at the root elemnt of the xml payload. But as we know that the default behaviour of BPEL removes the prefix so the invoke activity is failing and so we are stuck.
    I found this thread Namespace prefix in Root element missing during variable assignment but i feel the solution specified in this link works only in SOA 10g environment Please let us know what needs to be done?
    Appreciate a prompt response.
    NOTE: SOA Suite Version- 11.1.1.4
    Regards
    Ayush

    Hi All,
    we are also facing the same issue, Please provide the solution if anyone knows. We are also using the SOA Suite 11g Version.

  • Securing the payload in Moni.

    The main idea of this exercise is the XI user should not be able to view the payload of interface (GL1025 & ccD) and meanwhile he should be able to access the payload of other interfaces. But when I applied the below role, the user is not able to access any interfaces payload. If anybody have gone through this exercise plz advise.
    Steps:
    In "SAP_XI_MONITOR_ABAP" role I have disabled "S_XMB_DSP" object and for the object "S_XMB_MONI" I have
    given the below inputs.
    Activity: 02, 03, 16, A3
    SAP XI Interface Details:
    SXMBIFNAME: GL1025, CCD (outbound and inbound interfaces)
    SXMBIFNS: urn:aexp.com/GL1025 (Namespace)
    SXMBPARTY:*
    SXMBPRTAG:*
    SXMBPRTTYP:*
    SXMBSERV:GL1025_to_SAP (Service)
    After that I made this as "Z_SAP_XI_MONITOR_ABAP" role and assigned to XI user. Plz advise if I missed out something and why it is applying for all the interfaces ??
    I am following the below documents to implement the same.
    XI: SXMB_MONI - controlling access to message display
    The specified item was not found.
    How to Control the Viewing of Sensitive Messages in SAP XI u2013 A Step
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/7e4105db-0601-0010-bf87-bd3f714f2c0c
    Thanks
    kumar

    Closing the thread

  • Need to reterive the payload from SOA-INFRA dehydration tables.

    Hi gurus,
    I've raised couple of SRs with Oracle and did not got appropriate response. So I think there are a lot of g8 minds also working here.
    Requirement:
    I need to reterive the payload in the xml format and store in a db table for certain process.
    Steps followed:
    Created a soa process which accepts the InstanceId and ECID as input and provides them to a java class using Java embed activity. The class that accepts that input and connect to getCompositeInstances() using a locator class. In this process it will make use of another two classes to convert the instance payload to dom and then to display. The mainclass uses the XMLUtil and XPathUtils classes for this requirement.
    When I ran the three classes then I'm able to get the payload, but when called using the Javaembed I'm running into trouble. I'm getting a null value, not even any exception. I tried removing the catch in all the classes but no luck. Please find the below code in the Java embed and the java classes also.
    Code in Java Embed:
    try
    setCompositeInstanceTitle("Composite HelloWorld123");
    String ecid =(String) getVariableData("Input_java_ecid");
    String compInstanceId =(String) getVariableData("Input_Java_instanceid");
    addAuditTrailEntry("Payload_ecid is: " + ecid);
    addAuditTrailEntry("Payload_insta is: " + compInstanceId);
    Blob2String.MainClass mc = new Blob2String.MainClass();
    String inputPayload = mc.getCompositeInstancePayload(compInstanceId, ecid);
    if(inputPayload == null)
    addAuditTrailEntry("inputPayload is*********"+inputPayload+".........");
    InsertIntoDB ir = new InsertIntoDB();
    ir.InsertMethod1(inputPayload,compInstanceId,ecid) ;
    /*//addAuditTrailEntry("Payload is: " + inputPayload);
    String StringPayload =(String)inputPayload;
    addAuditTrailEntry("StringPayload is: " + StringPayload);
    setVariableData("Java_Payload", StringPayload); */
    catch(Exception e)
    addAuditTrailEntry("Exception is: " + e);
    e.printStackTrace();
    Code in MainClass:
    package Blob2String;
    import java.util.*;
    import javax.naming.Context;
    import oracle.soa.management.facade.ComponentInstance;
    import oracle.soa.management.facade.CompositeInstance;
    import oracle.soa.management.facade.Locator;
    import oracle.soa.management.facade.LocatorFactory;
    import org.w3c.dom.*;
    import oracle.soa.management.util.*;
    import oracle.fabric.common.*;
    import oracle.fabric.logging.*;
    import oracle.fabric.logging.BaseMessageBundle;
    public class MainClass {
    /* public MainClass() {
    super();
    public String getCompositeInstancePayload(String compInstanceId,String ecid)
    String compositeName="GetOpenCompositeInstances";
    Hashtable jndiProps = new Hashtable();
    String inputPayload="";
    try
    jndiProps.put(Context.PROVIDER_URL,"t3://abc.xyz.com:9102/soa-infra");
    jndiProps.put(Context.INITIAL_CONTEXT_FACTORY,"weblogic.jndi.WLInitialContextFactory");
    jndiProps.put(Context.SECURITY_PRINCIPAL,"weblogic");
    jndiProps.put(Context.SECURITY_CREDENTIALS,"welcome123");
    jndiProps.put("dedicated.connection","true");
    Locator locator = LocatorFactory.createLocator(jndiProps);
    CompositeInstanceFilter filter = new CompositeInstanceFilter();
    filter.setECID(ecid);//Set the composite ECID
    filter.setId(compInstanceId);//Set the composite instance id
    List<CompositeInstance> compositeInstance = locator.getCompositeInstances(filter);
    ComponentInstanceFilter instanceFilter = new ComponentInstanceFilter();
    instanceFilter.setCompositeInstanceId (compInstanceId); //Set the composite instance id
    List<ComponentInstance> componentInstance = compositeInstance.get(0).getChildComponentInstances(instanceFilter);
    if (compositeInstance.size() > 0) {
    Document docAudit = XMLUtil.convertToDOM(componentInstance.get(0).getAuditTrail().toString());
    String payloadAudit = XPathUtils.executeXPath(docAudit, "//details").toString();
    Document docPayload = XMLUtil.convertToDOM(payloadAudit);
    Node payloadNode = XPathUtils.executeXPath(docPayload, "//part//*", "NODE");
    inputPayload = XMLUtil.nodeToString(payloadNode);
    //System.out.println(inputPayload);
    catch(Exception e){
    // e.printStackTrace();
    System.out.println(e);
    return inputPayload;
    public static void main(String[] args){
    MainClass Obj = new MainClass();
    String result=Obj.getCompositeInstancePayload("60004" , "d90df5a0fd2bc5c7:4d37316b:13da0ebcf67:-8000-00000000000003ca") ;
    //String result=Obj.getCompositeInstancePayload("16952862" , "ef14bd96767c0e08:-152cfeeb:13d2379cff3:-8000-000000000008c968") ;
    // System.out.println(result);
    Code in XMLUtil:
    package Blob2String;
    import org.xml.sax.InputSource;
    import java.io.*;
    import javax.xml.parsers.*;
    import javax.xml.transform.*;
    import javax.xml.transform.*;
    import javax.xml.transform.dom.DOMSource;
    import javax.xml.transform.stream.StreamResult;
    import org.w3c.dom.*;
    import org.xml.sax.InputSource;
    import oracle.fabric.logging.*;
    public class XMLUtil {
    * @param inputXML
    * @return
    * @throws Exception
    public static Document convertToDOM(String inputXML) throws Exception {
    Document dom = null;
    try {
    DocumentBuilderFactory factory =
    DocumentBuilderFactory.newInstance();
    DocumentBuilder builder = factory.newDocumentBuilder();
    //DocumentBuilder builder = new org.apache.xerces.jaxp.DocumentBuilderFactoryImpl().newDocumentBuilder();
    InputSource is = new InputSource(new StringReader(inputXML));
    dom = builder.parse(is);
    } catch (Exception ex) {
    throw ex;
    return dom;
    public static String nodeToString(Node node) throws Exception{
    StringWriter sw = new StringWriter();
    try {
    Transformer t = new org.apache.xalan.processor.TransformerFactoryImpl().newTransformer();
    t.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "yes");
    t.setOutputProperty(OutputKeys.INDENT, "yes");
    t.transform(new DOMSource(node), new StreamResult(sw));
    } catch (TransformerException te) {
    System.out.println("nodeToString Transformer Exception");
    throw te;
    return sw.toString();
    Code in XPathUtils :
    package Blob2String;
    import javax.xml.xpath.*;
    import org.w3c.dom.*;
    import oracle.fabric.logging.*;
    public class XPathUtils {
    public static Object executeXPath(Document doc, String xpathStr) throws Exception{
    XPath xpath = null;
    String value = null;
    try {
    XPathFactory factory = XPathFactory.newInstance();
    XPath xpath1= factory.newXPath();
    //xpath = new org.apache.xpath.jaxp.XPathFactoryImpl().newXPath();
    XPathExpression expr = xpath1.compile(xpathStr);
    value = (String)expr.evaluate(doc, XPathConstants.STRING);
    return value;
    } catch (Exception e) {
    throw e;
    public static Node executeXPath(Document doc, String xpathStr,String type) throws Exception{
    XPath xpath = null;
    Node value = null;
    try {
    xpath = new org.apache.xpath.jaxp.XPathFactoryImpl().newXPath();
    XPathExpression expr = xpath.compile(xpathStr);
    value = (Node)expr.evaluate(doc, XPathConstants.NODE);
    return value;
    } catch (Exception e) {
    throw e;
    Its an urgent issue and I have the deadline to get on with. I've raised SR with oracle but there was no use. Kindly help me. Help will be greatly appreciated.
    Thanks,
    Venkatesh.

    are you trying to retreive the payload for a completed/closed instance or for an inflight instance? if it is for inflight instance you can retreive the payload using
    String [] params = new String[] {"inputVariable"};
    String payload = locator.executeComponentInstanceMethod(bpelInstanceId, "getVariableAsString", params);
    http://docs.oracle.com/cd/E21043_01/apirefs.1111/e10659/oracle/soa/management/facade/Locator.html#executeComponentInstanceMethod_java_lang_String__java_lang_String__java_lang_Object___
    if it is for a completed instance, you need to get the input payload for the instance then you can get it from the audit trail. i think your xpath is not correct. the data in details look like this:
    </event><event sid="BpSeq0.3" cat="2" wikey="2020-BpRcv0-BpSeq0.3-1" state="5" n="4" label="receiveInput" date="2013-03-25T13:14:05.428-07:00" type="2"><message><![CDATA[Received "process" call from partner "client"]]></message><details><![CDATA[
    <input><part name="payload" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><ns1:input xmlns:ns1="http://samples.otn.com/bpel2.0/ch10.7">7</ns1:input></part></input>]]></details>
    you need extract the CDATA content and parse again. this query needs to be changed, there could be many details in the audit trail, you need to pick the right one.
    XPathUtils.executeXPath(docAudit, "//details").toString();
    this audit xml is namespace aware so you need to use this, choose the first details.
    public static NodeList selectNodes( org.w3c.dom.Element pElement,
    String xpathExpression,
    Map prefixNamespaceMapping ) throws Exception
    Edited by: murugac on Apr 1, 2013 10:00 AM

  • How to remove namespace prefix from target payload when using HTTP in PI7.0

    Hi,
    i have a requirement to remove namespace prefix from target payload when receiver receives the payload by an HTTP request.
    i am not able to use XML Anonymizer Bean as in HTTP channel its not possiile.
    Target structure after mapping now is:
    <?xml version="1.0" encoding="UTF-8"?>
    <ns3:Order xmlns:ns3="urn:xxx-com:pi:project">
    fields
    </ns3:Order>
    i need the target structure after mapping should look like:
    <?xml version="1.0" encoding="UTF-8"?>
    <Order xmlns:="urn:xxx-com:pi:project">
    fields
    <Order>
    i removed namespace from source and target Message Type of message mapping but still getting "ns3" prefix. My requirement is to just have this ns3 removed.
    Please reply if anyone has solved this problem before.
    Thanks

    Hi ,
    >>>i removed namespace from source and target Message Type of message mapping but still getting "ns3" prefix. My requirement is to just have this ns3 removed.
    Which process you've used for removing namespace...java/xslt mapping. In case of java mapping plese remove ns3 while creating the target element. Please go through the below blog it may help you.
    Quick Tips: Dealing with Namespaces in XI/PI
    Regards,
    Priyanka

  • Tab character missing in the end of the line in file2file scenario?

    Hi,gurus:
    Our scenario is file to file,and both transport protocols are FTP.
    We are using content conversion both in sender and recevier side.
    But when we test the scenario,we found the tab character('0x09') is missing if the tab character is in the end of a line.
    Can you tell me how to keep these tab characters the same as sender file?
    Thanks in advacne.
    ps: in the content conversion,the parameter fieldSeparator and endSeparator are both '0x0A'.
    Edited by: xinjiang li on Jul 31, 2009 10:53 AM

    Hi,
    The source data is as below:
    H     0000140898     0     UCP31300     20090715     20090715     2     1     UCP31310     
    D     0000140898               00001                    
    After the record '00001',thare are some tab parameter,but after send content conversion,the payload is below:
      <?xml version="1.0" encoding="utf-8" ?>
    - <ns:MT_3PL_SAP2PF_ST02_SENDER xmlns:ns="http://www.unicharm-china.com/3PL">
    - <Recordset>
    - <Line>
      <Line>H 0000140898 0 UCP31300 20090715 20090715 2 1 UCP31310</Line>
      </Line>
    - <Line>
      <Line>D 0000140898 00001</Line>
      </Line>
      </Recordset>
      </ns:MT_3PL_SAP2PF_ST02_SENDER>
    The tab parameters are missing.
    Our sender content conversion is below:
    Line.endSeparator:'0x0a';
    Line.fieldSeparator:'0x0a';
    Line.fieldNames:Line
    Any ideas?

  • Obligatory node missing in the structure

    HI,
    I am posting an idoc from XI to SAP. I'm getting a message
    <SAP:Code area="IDOC_ADAPTER">ATTRIBUTE_IDOC_METADATA</SAP:Code>
      <SAP:P1>Obligatory node 'E1MBXYH' missing in the structure WMMBID01 ZMCTWAHR</SAP:P1>
    I am getting the same message for all of my sap inbound interfaces. Do u think this is a mapping issue ?
    The metadata in IDX2 looks good to me and if you look at the payload , it looks like the idoc is formed correctly
      <?xml version="1.0" encoding="UTF-8" ?>
    - <ZMCTWAHR>
    - <IDOC BEGIN="1">
    - <E1MBXYH>
      <BLDAT>20070114</BLDAT>
      <BUDAT>20070109</BUDAT>
    - <Z1CT000>
      <WHSENUM>6</WHSENUM>
      <ERDAT>101002</ERDAT>
      <SEQNBR>3</SEQNBR>
      </Z1CT000>
    - <E1MBXYI SEGMENT="1">
      <MATNR>25-50093-01</MATNR>
      <BWART>R</BWART>
      <LIFNR />
      <ERFMG>69</ERFMG>
    - <Z1MCTIN>
      <OWNER_ID />
      <MODEL_LOT />
      <CTRY_CODE />
      <SINGLPLATE>0</SINGLPLATE>
      <IBNDORDNUM />
      <IBNDORDTYP />
      <ORIGHOLCAT>HOLD</ORIGHOLCAT>
      <NEWHOLCAT />
      </Z1MCTIN>
      </E1MBXYI>
      </E1MBXYH>
      </IDOC>
      </ZMCTWAHR>

    ZMCTWAHR  is the enhancement to WMMBID01.
    Please also look at another example
    <SAP:Category>XIAdapter</SAP:Category>
      <SAP:Code area="IDOC_ADAPTER">ATTRIBUTE_IDOC_METADATA</SAP:Code>
      <SAP:P1>Obligatory node 'Z1CT000' missing in the structure ZDCTDSTA</SAP:P1>
      <SAP:P2 />
      <?xml version="1.0" encoding="UTF-8" ?>
    - <ZDCTDSTA>
    - <IDOC BEGIN="1">
    - <Z1CT000>
      <WHSENUM>6</WHSENUM>
      <ERDAT>20070101</ERDAT>
      <ERZET>110101</ERZET>
      <SEQNBR>6</SEQNBR>
    - <Z1DCTS0>
      <VBELN>7080056</VBELN>
      <BOLVL />
      <OUTORDTYPE>SYST</OUTORDTYPE>
    - <Z1DCTS1>
      <POSNR>10</POSNR>
      </Z1DCTS1>
      </Z1DCTS0>
      </Z1CT000>
      </IDOC>
      </ZDCTDSTA>

  • File name from an attribute of an element of the payload

    Dear Experts,
    Could you suggest the syntax for specifying the file name from a variable in the file receiver communication channel? I need to grab the file name from an ATTRIBUTE of an element of the payload.
    Thanks a lot.
    Example: Need to pass the attribute "descReceipt" of the element "promotionEvent" to the variable in the following payload:
    <?xml version="1.0" encoding="UTF-8"?>
    <promotionExport>
    <promotionEvent eventIdentifier="30" status="A" descReceipt="FILE1">

    The scenario is IDOC to FILE. I need to get the value of the receiving partner.
    The message header has the node "DynamicConfiguration". Please see the xml below. I need to grab the key RCVPRN (0000002104) from this and pass as the file name in the receiver file adapter.
    How do I setup my receiver file adapter for this? I tried changing the values for the variable, and also enabling the adapter specific message attributes. No solution yet.
    <SAP:DynamicConfiguration xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="1">
      <SAP:Record namespace="http://sap.com/xi/XI/System/IDoc" name="RCVPOR">LXDCLNT250</SAP:Record>
      <SAP:Record namespace="http://sap.com/xi/XI/System/IDoc" name="SNDPRT">LS</SAP:Record>
      <SAP:Record namespace="http://sap.com/xi/XI/System/IDoc" name="RCVPRN">0000002104</SAP:Record>
      <SAP:Record namespace="http://sap.com/xi/XI/System/IDoc" name="SNDPOR">SAPLCD</SAP:Record>
      <SAP:Record namespace="http://sap.com/xi/XI/System/IDoc" name="SNDPRN">LCDCLNT220</SAP:Record>
      <SAP:Record namespace="http://sap.com/xi/XI/System/IDoc" name="CIMTYP" />
      <SAP:Record namespace="http://sap.com/xi/XI/System/IDoc" name="IDOCTYP">WPDBBY01</SAP:Record>
      <SAP:Record namespace="http://sap.com/xi/XI/System/IDoc" name="MESTYP">WPDBBY</SAP:Record>
      <SAP:Record namespace="http://sap.com/xi/XI/System/IDoc" name="RCVPRT">KU</SAP:Record>
      </SAP:DynamicConfiguration>

  • DBout segment missing in receiver payload

    Hello,
    We have a problem with a scenario at our customer.
    We created a B1if File to B1 scenario.
    For some files we get a failure message in the message log saying:
    "DBout segment missing in receiver payload (handover to database not possible) "
    When we do a retry with restart in-process (biu processing and outbound) it works.
    Sometimes a second retry is needed.
    Any ideas?
    Best regards,
    Steven

    Hi Mark,
    Thank you very much for the explenation!
    I will try this and let you know if I got it to work
    I'm very new to B1i as you can see.
    I found the solution to our problem.
    The processing of the B1if File to B1 scenario is devided into 3 scenario's.
    First scenario: a timer checks every minute for files in a certain directory 'IN'. 1 file is copied into another directory 'PROCESSING' and called ORDER.csv. The original file is being cut and paste into directory 'SAVED'.
    Second scenario: check if file ORDER.csv exist in directory 'PROCESSING'. Some checks and some processing are done on the file.
    Last scenario: every minute this is run with a timer. Some checks are done and the objects are created in B1.
    The processing of 1 file takes about 1 minute to 1 minute and a half!
    The problem was that a timer was set to check every minute if there was a file. (first scenario).. offcourse when the processing is still busy this will fail and I believe that is why a file was almost always skipped.
    I changed the timer to every 2 minutes and now everything works like a sharm!
    Problem is that it takes offcourse twice the time as before.
    Do you or anybody else knows a possibility to speed this up?
    Is it possible to create the scenario in 1 scenario instead of 3? or maybe 2?
    Kind regards,
    Steven

  • How can the payload of a XI message be normalized to the RFC-XMLuFF1F

    How can the payload of a XI message be normalized to the RFC-XML
    format? Is it possible to remove unwanted XML-Namespace declarations
    from a RFC-XML document?

    While sending a message to a RFC-Adapter receiver channel a error
    is thrown during RFC-XML-document parsing. The RFC-XML document looks
    like it has the correct RFC-XML format but there are some additional
    XML elements (e.g. XML-Namespace declarations). These elements can't
    be understood by the RFC-XML parser of the RFC-Adapter. This parser
    only is suitable for correct RFC-XML documents (like created by a
    RFC-Adapter sender channel or the SAP JCO).To remove the unneeded elements from the RFC-XML document a message
    mapping within the Integration Server can be used. The attached file
    rfcnormalizer.jar contains a XSLT-Stylesheet which can be used for
    this purpose.

  • Some SLD Objects missing in the target SLD environment

    HI All,
    Sometimes while doing SLD transport via CTS+ (PI 7.0 SP18), it is observed that some technical systems or business systems are missing in the target SLD Environment.
    I have checked and objects are present in the request and if it is re-imported few more times, the missing objects gets visible.
    The related Business Systems and Technical systems are sent over in one request only.
    Does anybody has any explanation to this behavior?

    Hi All,
    Found the explanation for this issue in below notes:
    1.       Note 1087706 - SLD namespace remains locked against changes for a long time
    2.       Note 1087704 - Locking entire SLD namespace during import
    regards Anirudh.

  • SOA service receives only part of the payload posted

    Hi all,
    Our SOA architecture consists of SOA and OSB. The external system hits the SOA service via OSB with the large payload of size around 12 MB.
    The issue is that the external system posted a payload of 9 MB and received only 5 MB of it.The external system also received success response for the posted payload.But we received incomplete payload.
    I think the issue must be because of the large size of the payload.
    If I am not wrong, there should be some configuration settings that we have missed out.
    Kindly advice.
    Regards,
    Goutam

    What phone do you have, and your husband have?
    How long (in characters) is the message that gets trucated?
    If you add an emoji or photo attachment (which forces the message to be sent via MMS) does it still happen?
     

Maybe you are looking for