CDATA section ignored at request-response port

Hi Friends,
I am calling a request-response service from BizTalk WCF-Basic Http port.
The request consists of CDATA section and service behavior is defined to return a response with similar structure.
<Request>
<![CDATA[<RequestID>123</RequestID>]]>
</Request>
The expected response is -
<Response>
<![CDATA[<ResponseID>789</ResponseID> <ServiceID>963</ServiceID>]]>
</Response>
I tested the service with SOAP UI and it gives desired results as above.
But, when same service is invoked through BizTalk WCF-Basic Http port, response received is -
<Response>
&lt;ResponseID&gt;789&lt;ResponseID&gt;&lt;ServiceID&gt;963&lt;ServiceID&gt;
</Response>
But why BizTalk is behaving like this? Looks like BizTalk is ignoring CDATA section and returning string.
Is it possible to apply some configuration at port something similar to 
disable-output-escaping=”yes” , so that port does not convert CDATA to string?
Hope someone can help!

So where is the problem in this behavior? The reason the service is expecting the request and response as CDATA elements is because it saves them from having to change the endpoint schema every time they release a new request response.
When you create the schemas generated by consuming the service promote the "Request" and "Response" elements. Then in the construct shape you can populate these using the promoted elements and assign the xml.OuterXml.
Similarly while processing the response you can load it into the xml using the XmlDocument.LoadXml(serviceMessage.Response);
Regards.

Similar Messages

  • Correlation with request response port

    I created a correlation type and correlation set on the behalf of File.ReceivedFilName context property.
    I am getting the initializing correlation set property in the send port as follows:
    But in Receive Port I am not getting the Following correlation sets property as follows:
    Why this is occuring ?
    Am I doing something wrong ?
    Is correlation supports with request response  port ?
    Prakash

    Hi Prakash,
    When you drop the Receive shape in your Orchestration, you would see both the “Initializing Correlation Set” and “Following Correlation Set” properties for the Receive Shape (same case for the Send Shape).
     When you have linked the Receive Shape to the Request-Response port in your Orchestration (Request-Response port whose Port direction of communication is set to “I’ll be sending a request and receiving a response” property), the “Following
    Correlation Set” property for the Receive Shape disappears (same case for the send shape). Because you have connected the send/Receive shape to the two send port and BizTalk can in turn handle the correlation. You don’t need to specify the correlation set
    properties explicitly. These properties need to be configured only when you configure your send/Receive shape to one-way ports where you need to instruct BizTalk on how to handle the correlation not when you configure send/Receive shape to two way send port.
    If this answers your question please mark it accordingly. If this post is helpful, please vote as helpful by clicking the upward arrow mark next to my reply.

  • How do i return a CDATA section in a SOAP response?

    hi,
    i am relatively new to SOAP/web services. but i know what i want ;-). i naively thought that i could simply send a CDATA wrapped string in a SOAP response by simply doing SOAPElement.addTextNode("<![CDATA[..."). of course, WLS 8.1's javax.xml.soap implementation escapes the <pre>"<" & ">"</pre> as <pre>"<" and ">"</pre> in the response.
    IF i could use the saaj 1.2 implementation, i would do something along the lines of the following to return a CDATA section in a SOAP response :
    <pre>  
       org.w3c.dom.CDATASection myCDATASection ...;
       SOAPBodyElement myBodyElement ...;
       myBodyElement.appendChild(myCDATASection);
    </pre>
    or maybe even something like:
    <pre>
       String myCDATAString = "<![CDATA[...]]>";
    javax.xml.soap.SOAPBody soapBody = ...;
    javax.xml.parsers.DocumentBuilder builder = ...;
    org.xml.sax.InputSource.InputSource inputSource = ...;
    org.w3c.dom.Document document = builder.parse(inputSource);
    soapBody.addDocument(document);
    </pre>          
    but that is a BIG IF! of course, as i have learned after a lengthy trawl through this ng, WLS 8.1 uses its own implementation of the javax.xml.soap.* classes. in particular, weblogic's SOAPBody implementation is devoid of an addDocument(org.w3c.dom.Document) method. and SOAPBodyElement does not have an appendChild(org.w3c.dom.Node)
    please, can anybody fill me in on how to go about doing what i am trying to do using WLS 8.1's javax.xml.soap classes?
    many thanks

    if anybody else out there is also trying to do what i have described (return xml text in a soap response), the solution (told to me by my company's BEA rep) is to just add the raw xml text to the SOAPElement.addTextNode() and weblogic will do the right thing (namely, escape whatever needs to be escaped).
    i had been lead to believe that you couldn't send entity refs (<pre>< and ></pre>) in a soap response. i was told i needed to wrap my raw xml in a CDATA section. but actually i don't need a CDATA section after all for the response i need to return (xml text). contrary to what i was lead to believe by another developer, entity refs are not a problem in a soap response (according to BEA, anyway).

  • Expose an orchestration as WCF service with a Request-Response port set to Direct Binding

    Hello , 
      I'm trying to expose an orchestration as a WCF service (while the Request-Response port is set to Direct binding) . Is this possible ? (the issue will be correlating back the response to the synchronous WCF request after the response is posted back
    to the Message Box by the Direct Send logical port).
    I have no problem in exposing the orchestration while I'm setting the Binding port to 'Specify Later' (What I'm trying to do actually is to expose a orchestration using different adapters (like Http and Wcf ) in the same time ).
    Thanks

    Yes, you can publish an orchestration as WCF/Web service which has direct bound request-response port.
    Subscription works based on “EpmRRCorrelationToken”
    and “RouteDirectToTP”. When you enlist the orchestration which
    has the direct bound request-response port (also published as service), its subscription are based on above two context properties and they take care of correction.
    And also the response matches to the request part of the port due to the nature of two-way communication protocol.
    Create an Orchestration with direct-bound request-response port and publish it as service. This will work. Give it a try
    Regards,
    M.R.Ashwin Prabhu
    If this answers your question please mark it accordingly. If this post is helpful, please vote as helpful by clicking the upward arrow mark next to my reply.

  • EDI over WCF request-response port - how to catch failed messages and send response over a 2 way port

    I'm using BizTalk 2009.  I've written an orchestration for accepting 270's and returning 271's, and another for 276's and 277's.  The incoming and outgoing EDI stream is wrapped in XML.  I've published the schema using the WCF publishing wizard,
    and I am using the WCF-WSHttp adapter.  I have custom pipeline components to unwrap and wrap the XML, and to handle the NACK generated by the adapter.  Everything works fine if valid EDI is received. 
    However, I'm challenged with handling failures from the EDI disassambler.  The specification I've been given is to return a 271 or 277 in all cases (or as many as possible).  What I would like to do is catch the failed message, generate a (271
    or 277) response, and return that response over the 2-way port.  I know how to enable failed message routing and how to subscribe to the message if it were to come in over a one-way port.  It seems that this cannot be done when the message comes
    in over a 2-way port. 
    Any suggestions on how this can be done?

    I should have mentioned that turning off as much EDI validation as I can in the pipeline is already part of my approach.  However, to my knowledge, there are some validations (such as incorrect segment count in the SE) that cannot be disabled. 
    Regarding the TA1/997/999 - because this is a real time transaction, I'm not generating any.  Still, to take your suggest, I decided to generate a 997, thinking I could at least subscribe to it and if the 997 indicated a failure, to
    generate the response (in the form of a 271 or 277) that my trading partner is expecting.  What I found was that the 997 was being returned through the send pipeline of the 2 way port, EVEN WHEN I set RouteAckOn2WayPort to False on the receive pipeline! 
    This produces even more work for me, because now I have to "eat" the acknowledgement so that the 271 or 277 can get through.

  • Request Response (database) biztalk Error hadling

    best was to handle exceptions working with Request Response port ? hitting database.
    1) what properties should be set in Scope shape ?
    2) what should be set the Transaction type of Orchestration ? when to use Long Running or None ?
    3)does on ReqResp SP, transmitted set to true works ?
    MBH

    Well, you've already answered your own question, use an Exception Block.
    What exactly do you mean by 'no response'?  There are two realistic possibilities, A) a timeout occurs or B) no result set is returned.
    (A) is an error condition and the exception will be raised back to the Orchestration and caught in an
    Exception Block.
    (B) is a real possibility depending on how the SP is coded.  The operation technically completes correctly, but no result is considered by the caller to be an error condition.  This you would have to test for.
    If the database code silently fails, as you describe, that is not your problem.  The owner of the Oracle app has to fix that since you can't know if an error occurred or not.
    You have to try these things.  It's not possible to offer any more meaningful advice because exactly what you have to do is completely dependent on how your Oracle instance behaves and what the business case considers an 'error'.
    Please, set it up and try different scenarios against Oracle and tell us what happens.  If something doesn't work or doesn't meet expectations, please open another thread for that specific issue.

  • Request Response : Direct bindings

    Hi all,
    I want to expose a schema as a webservice in BizTalk, but my orchestration instead of having a
    specify later port bounded to my receive location, it's bounded
    directly to the message box how can i handle that by consuming the message request
    and sending to the same Receive location my response message ?
    It is possible in BizTalk to use a request response port in direct binding mode ?

    Thank's for your reply. But you didn't explain how to route the response message to the same receive location. If you try you will get an error because no subscribers are identified to consume the response message.
    There must be a mechanism to implement, but i do not know how ?
    And without adding a filter just configure the request part to the message type exposed and it is done.

  • Incomplete request/response operation missing send

    Brief on orchestration whihc have request response port(published as WCF service)
    1. receive(initialize co-relation)
    2. Looping and do some operation(in scope and exception handling)
    3.listen with receive(follow co-relation )& dynamic set delay shape(this step is also in loop, delay continues untill second request is received)
    4. construct resp message and send
    getting build error incomplete request/response operation missing send

    You have a loop shape, and obviously an condition associated to that loop.
    Now consider a scenario: you receive a message - and your loop condition is not met. In such cases you are coming out of loop (after receiving a message), and you will not be able to send anything back on the Req/Res port. Hence the Compiler restricts you
    this way.
    Thanks
    Abhishek

  • Request Response Receive Port and Solicit Response Send Port

    Can anyone give me some idea how to bind Request Response Receive Port and Solicit Response Send Port with each other through TCP/IP adapter ??

    The binding of a Receive and Send Port has nothing to with the choice of Adapter.
    1) There is no out-of-the-box TCP/IP Adapter for BizTalk, but several 3rd. Party Adapters has been made, along with this one in CodePlex: http://tcpipbz2010.codeplex.com/
    2) Most people will use an Orchestration for binding a SR Send Port to a RR Receive Port. This may not be necessary though. All you need to do is have your Send Port subscribe to your Receive Port (by setting the Filter on the Send Port to "BTS.ReceivePortName
    == [The name of your Receive Port]". In this case, internal correlation will make sure that the response is routed back to the Receive Port.
    Morten la Cour

  • BAM - using with Request Response Send Port

    Hi,
    I have a scenario where a message is received on a receive port, sent to a solicit-response send port, and then the response is sent out on another send port.  All ports have failed message routing enabled, so that any errors are sent out to an exceptions
    send port.
    I am interested to hear options on how you would set up a BAM tracking profile for this in the TPE to log the time received, time sent on the two way send port, time response returned and then finally the time the last send was carried out?  Would you
    use a single Activity/View and continuations, Multiple Activities or Views and multiple tracking profiles etc?  How would you include the time that an error was sent to the exception port.....
    I have a solution, but I am not sure it is ideal and I would be interested in how others would tackle this.  If you know BAM, feel free to offer an opinion :)
    Thanks
    Stu.
    Stuart Brierley - BizTalk Integration Specialist - http://geekswithblogs.net/StuartBrierley/Default.aspx

    Hi Stuart,
    You can start up your activity from Orchestration .No need to have a continuation from Pipeline as you can use xml receive . 
    You solution is simple were you are receiving your message from location and hitting a solicit-response
    port .
    Just have a Expression shape to start up  with your activity and on the points when you want to update
    the activity.
    Code is listed below
    //Create a Activity ID
    string activityId = Guid.NewGuid().ToString() ;
    //Start the activity with your Activity Name
    Microsoft.BizTalk.Bam.EventObservation.OrchestrationEventStream.BeginActivity(“SampleActivity”, activityID);
    // Updates the activity record.
    Microsoft.BizTalk.Bam.EventObservation.OrchestrationEventStream.UpdateActivity(“SampleActivity”, activityID, “ReceiveLocation”, Rcvmsg(BTS.Receivelocation), "TRANSACTION_CREATED", DateTime.UtcNow);
    // End the activity record.
    Microsoft.BizTalk.Bam.EventObservation.OrchestrationEventStream.EndActivity(“SampleActivity”, activityID);
    If you want to work with same activity in continuation with Other Orchestration (Generic Exception Handler may be ),then create a continuation token with a Property schema and from parent Orchestration assign value to it.
    continuationToken = "_Continuation" + msg_Internal.ContinuationID;
    Hope this will clear your ideas as you dont require to start up tracking from Pipeline .
    Thanks
    Abhishek

  • XML Namespace in WebService Request/Response

    Hi all,
    I have a question regarding xml namespace usage in wsdl and the corresponding request/response messages.
    I have already browsed quite some articles about xml namespaces as well as some forum threads, but I am still not sure.
    I have the following part of a wsdl document (generated by Integration Directory), defining a targetnamespace.
    u2026
    <wsdl:types>
        <xsd:schema targetNamespace="http://www.dorma.com/sap/xi/finance"
                             xmlns="http://www.dorma.com/sap/xi/finance"
                             xmlns:xsd="http://www.w3.org/2001/XMLSchema">
            <xsd:element name="DebtorGetDetailResponse" type="Z_BAPI_DEBTOR_GETDETAIL_Response"></xsd:element>
            u2026
            <xsd:complexType name="Z_BAPI_DEBTOR_GETDETAIL_Response">
                <xsd:sequence>
                    <xsd:element name="DEBITOR_COMPANY_DETAIL" type="BAPI1007_5" minOccurs="0">
                    </xsd:element> u2026
                </xsd:sequence>
            </xsd:complexType>
            u2026
        </xsd:schema>
        u2026
    </wsdl:types>
    u2026
    In my understanding, all types defined in the schema section of a wsdl document will be in the targetnamespace, if defined.
    Therefore the element DEBITOR_COMPANY_DETAIL would be in the namesapce
    http://www.dorma.com/sap/xi/finance
    However, the ABAP proxy generates a response message like follows,
    where only the root element is in this namespace and the child elements are in the global namespace:
    <?xml version="1.0" encoding="utf-8"?>
    <ns1:DebtorGetDetailResponse xmlns:ns1="http://www.dorma.com/sap/xi/finance"
                xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
        <DEBITOR_COMPANY_DETAIL>
            u2026
        </DEBITOR_COMPANY_DETAIL>
        u2026
    </ns1:DebtorGetDetailResponse>
    Do I have a wrong understand of the wsdl (xml schema) or is this an erroneous behavior?
    The problem is that some 3rd-party software web service module does not accept
    the response message as not complient with the respective wsdl document.
    Any input is appreciated.
    Thanks
    Hans
    Edited by: Hans-Jürgen Schwippert on Oct 1, 2008 12:02 PM

    I have the same problem. I am trying to connect to a webservice running on IBM websphere but it doesn't accept the xml in my request. It appears to be the same namespace issue.
    Did you ever find a solution for this?
    Is it a valid webservice call if you omit the namespace for an element or is this a bug in the Adaptive WS implementation?
    Web Dynpro web service model generated request:
    <?xml version="1.0" encoding="UTF-8"?>
    <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <SOAP-ENV:Header>
    <sapsess:Session xmlns:sapsess="http://www.sap.com/webas/630/soap/features/session/">
    <enableSession>true</enableSession>
    </sapsess:Session>
    </SOAP-ENV:Header>
    <SOAP-ENV:Body>
    look between these lines -
    <ns1:tamKontrolleraKontoLastAnrop xmlns:ns1="http://schemas.fora.se/modell/tam/1.0/TAM_Data">
    <AnvandarNamn>30039647</AnvandarNamn>
    </ns1:tamKontrolleraKontoLastAnrop>
    look between these lines -
    </SOAP-ENV:Body>
    </SOAP-ENV:Envelope>
    As you can see the tag
    <AnvandarNamn>30039647</AnvandarNamn>
    is missing a namespace.
    It should be
    <ns1:AnvandarNamn>30039647</ns1:AnvandarNamn>
    Using a third part tool called Soapui i generate this request that works:
    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tam="http://schemas.fora.se/modell/tam/1.0/TAM_Data">
       <soapenv:Header/>
       <soapenv:Body>
          <tam:tamKontrolleraKontoLastAnrop>
             <tam:AnvandarNamn>30039647</tam:AnvandarNamn>
          </tam:tamKontrolleraKontoLastAnrop>
       </soapenv:Body>
    </soapenv:Envelope>

  • CDATA section in a tag of an XML file

    Hi SDNers:
    I have an issue with using the method CREATE_CDATA_SECTION of Interface IF_IXML_DOCUMENT.
    I have created an XML file from ABAP using methods in IF_IXML_DOCUMENT etc.
    The XML file is perfectly alright. But now there's a need to add CDATA section.
    I need the CDATA section as follows in XML file...
    <CustomField>
        <![CDATA[
              First Line of Text
              Second line of Text
              Third Line of Text
          ]]>
    </CustomField>
    but don't know how to program this. Can anybody help/advice me on this?
    Looking forward to your optimum response(s).
    Best Regards

    Hi SDNers:
    I have an issue with using the method CREATE_CDATA_SECTION of Interface IF_IXML_DOCUMENT.
    I have created an XML file from ABAP using methods in IF_IXML_DOCUMENT etc.
    The XML file is perfectly alright. But now there's a need to add CDATA section.
    I need the CDATA section as follows in XML file...
    <CustomField>
        <![CDATA[
              First Line of Text
              Second line of Text
              Third Line of Text
          ]]>
    </CustomField>
    but don't know how to program this. Can anybody help/advice me on this?
    Looking forward to your optimum response(s).
    Best Regards

  • Warning  6226: Ignoring value requested for first connection attribute 'TempSize'

    Hi
    Was trying to load, here is what I see. Appreciate your help.
    con1: Command> load cache group g_sdata_awt commit every 1000 rows;
    5056: The cache operation fails: error_type=<TimesTen Error>, error_code=<3407>, error_message: [TimesTen]TT3407: Cannot allocate space to store ownership information for global cache groups because temporary data partition free space is below the minimum threshold of 3000000 bytes - from grid member DDGRID_DD_TTDB_1
    The command failed.
    con1: Command>
    [timesten@timesten101 info]$ ttisql -connstr "dsn=DD_TTDB;tempsize=4096";
    Copyright (c) 1996, 2013, Oracle and/or its affiliates. All rights reserved.
    Type ? or "help" for help, type "exit" to quit ttIsql.
    connect "dsn=DD_TTDB;tempsize=4096";
    Warning  6226: Ignoring value requested for first connection attribute 'TempSize' -- value currently in use: 32, requested value: 4096
    Connection successful: DSN=DD_TTDB;UID=timesten;DataStore=/home/timesten/TimesTen/ttdev/DD_TTDB;DatabaseCharacterSet=AL32UTF8;ConnectionCharacterSet=US7ASCII;DRIVER=/home/timesten/TimesTen/ttdev/lib/libtten.so;LogDir=/home/timesten/TimesTen/ttdev/logs/DD_TTDB;PermSize=8196;TempSize=4096;TypeMode=0;OracleNetServiceName=VIS1;
    (Default setting AutoCommit=1)
    Command>
    I tried :
    HOWTO : Understand Modifying TimesTen PermSize And TempSize First Connect Database Attributes (Doc ID 1081008.1)
    It did not help! Thanks a lot.
    Anil

    Hi Chris, Thanks a lot again! I guess I followed the steps.
    Sorry in a rush to get this done, not able to read all the docs.
    Still getting the error, can you please point to me where I am going wrong:
    Sorry for being childish pest here, tried it hard but couldnt get too far.
    [timesten@timesten101 ~]$ ttadmin -rampolicy manual DD_ttdb
    RAM Residence Policy            : manual
    Manually Loaded In RAM          : False
    Replication Agent Policy        : manual
    Replication Manually Started    : False
    Cache Agent Policy              : manual
    Cache Agent Manually Started    : False
    [timesten@timesten101 ~]$ ttdaemonadmin -stop;
    TimesTen Daemon stopped.
    [timesten@timesten101 ~]$ ttdaemonadmin -start;
    TimesTen Daemon startup OK.
    [timesten@timesten101 ~]$ ttstatus;
    TimesTen status report as of Mon Feb 10 08:47:28 2014
    Daemon pid 19519 port 53396 instance ttdev
    TimesTen server pid 19528 started on port 53397
    Data store /home/timesten/TimesTen/ttdev/DD_TTDB
    There are no connections to the data store
    RAM residence policy: Manual
    Data store is manually unloaded from RAM
    Replication policy  : Manual
    Cache Agent policy  : Manual
    PL/SQL enabled.
    Accessible by group ttadmin
    End of report
    [timesten@timesten101 ~]$
    [timesten@timesten101 ~]$ ttadmin -rampolicy inuse DD_ttdb
    RAM Residence Policy            : inUse
    Replication Agent Policy        : manual
    Replication Manually Started    : False
    Cache Agent Policy              : manual
    Cache Agent Manually Started    : False
    [timesten@timesten101 ~]$ ttstatus
    TimesTen status report as of Mon Feb 10 08:47:59 2014
    Daemon pid 19519 port 53396 instance ttdev
    TimesTen server pid 19528 started on port 53397
    Data store /home/timesten/TimesTen/ttdev/DD_TTDB
    There are no connections to the data store
    Replication policy  : Manual
    Cache Agent policy  : Manual
    PL/SQL enabled.
    Accessible by group ttadmin
    End of report
    [timesten@timesten101 ~]$ ttisql -connstr "dsn=DD_TTDB;uid=cacheadm;pwd=cacheadm;oraclepwd=cacheadm";
    Copyright (c) 1996, 2013, Oracle and/or its affiliates. All rights reserved.
    Type ? or "help" for help, type "exit" to quit ttIsql.
    connect "dsn=DD_TTDB;uid=cacheadm;pwd=cacheadm;oraclepwd=cacheadm";
    15019: Only the instance admin may alter the TempSize attribute
    The command failed.
    Done.
    [timesten@timesten101 ~]$

  • Ignoring discovery request - AP on dynamic client interface

    Hi All,
    I have a questing regarding the AP Management Port on the 5508.
    At our customers side there are some FAT-APs and we want to migrate them to the controller.
    There is no DHCP Service active on the network (security-restriction by our customer) and the FAT-APs and Clients are configured with a static IP.
    There is no LAG active everything is on Port 1.
    Now after upgrading one AP to lightwight-mode,... he cannot discover his WLC (thats ok, because the Manament Interface is in a different subnet)
    So I configured a IP-Helper and the neccesary udp-Port to get the AP joined on the WLC.
    But on the Controller I get the following message:
    %CAPWAP-3-DISC_INTF_ERR2: Ignoring discovery request received on a
    wrong VLAN ([dec]) on interface ([int]) from AP
    [hex]:[hex]:[hex]:[hex]:[hex]:[hex]
    The wrong VLAN in the message is a dynamic Interface on the Controller for client and the AP is in that Subnet.
    It its created as an Dynamic Interface on the WLC (without "Enable Dynamic AP Management")
    I hope you can give me a hint. I'm not sure if I should enable "Dynamic AP Management" on that Client Interface.
    By the way, the AP can join when i configure the Controller IP via console on it. But that should not be the solution
    Thanks &
    Best regards,
    Simon

    Hi Nicolas,
    thanks for your reply.
    I know, that this design is not "best practice".
    Our customer has a LAN which has to be completly redesigned.
    They use very huge subnets for their different production segments (255.255.240.0) and everything is in there.
    The Autonomous AP Installation is in one of these huge network segments where the APs and the clients are in the same subnet..
    Thats the background why this szenario is created.
    I know that this design is absolutly unsatisfactory.
    But thats the fact and I have to deal with this.
    The helper is the WLCs Management Adress.
    So what about the "ignoring discovery request" message.
    Is there some possibility to get it work this way or is the only way to upgrade the APs via Console to get them to the controller.
    I know the best way would be to get the APs in a new different subnet,...
    regards,
    Simon

  • XI File Sender CC, CDATA Sections

    Hello all,
    i configured a File Sender CC with content conversion but the
    integration engine gives me a parser exception because there are characters in the file which are not allowed for a field without CDATA section. Can i configure somewhere that for the content conversion CDATA sections are used ?
    Thx !
    Andreas

    Hi Andreas,
               Yes as the XML parser does not understand "'" char in the FIELD1 string, it gives the following errore. So to do that you need to put the following in CDATA, as the XML parser ignores anuting between CDATA.
    To acheive CDATA you need to implement XSLT mapping.
    Check out this link: <a href="/people/michal.krawczyk2/blog/2005/11/01/xi-xml-node-into-a-string-with-graphical-mapping Mapping</a>
    The code mentioned below is relevant to the example in the blog:
    Pls follow the following steps to insert XML string into a single element:
    Create a xsl file with the following data:
    <?xml version='1.0' ?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" NSpace>
    <xsl:template match="/">
    <namespace:name1>
    <xsl:text disable-output-escaping="yes"><![CDATA[<![CDATA[]]></xsl:text><xsl:copy-of select="//namespace:name"/><xsl:text disable-output-escaping="yes"><![CDATA[]]]]></xsl:text><xsl:text disable-output-escaping="yes"><![CDATA[>]]></xsl:text>
    </namespace:name1>
    </xsl:template>
    </xsl:stylesheet>
    In the above code I have removed xmlns:p2="http://frik.bcc.com.pl" which is not needed.
    Also you have to put '//' before the target element from where you want to start creating XML string over here it is name. And name1 is the element you want to store the XML string in.
    So anything in the element name will be stored in name1
    Regarding the namespace: To find out the namespace test your message mapping between the source and the target without adding XSLT mapping. After testing click on 'SCR' tab present on top of the target window. There you will see ns1: or ns2: attached to each element. Replace namespace in the above code with ns1: or ns2:. And replace NSpace in the above XSL Header with the namespace in the SCR of test map.
    So the final XSL file will look like that:
    <?xml version='1.0' ?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:ns1="http://sap.com/xi/HR">
    <xsl:template match="/">
    <ns1:name1>
    <xsl:text disable-output-escaping="yes"><![CDATA[<![CDATA[]]></xsl:text><xsl:copy-of select="//ns1:name"/><xsl:text disable-output-escaping="yes"><![CDATA[]]]]></xsl:text><xsl:text disable-output-escaping="yes"><![CDATA[>]]></xsl:text>
    </ns1:name1>
    </xsl:template>
    </xsl:stylesheet>
    Dont forget to put '//' before the target element.
    This should work. Or pls put the source and target xml struct and we will assist you further.
    Regards,
    Ashish

Maybe you are looking for