DOCTYPE decleration in XML variable

Hi
I am using a local XML variable to build an XML document which I then use HTTP_Post to send to a partner company, and receive data back.
My problem is that the DOCTYPE decleration is being stripped from the XML Variable, so the partner company do not know what to do with the posted doc.
Is there any way I can prevent this being stripped out?
Thanks
Nick
PS The DOCTYPE decleration is also stripped if I use the XMLLoader action.

Hi Nick,
I know this behaviour from MII 12.0. Unfortunalety there is no way to prevent this. What version do you use?
As a workaround you could try to add the DOCTYPE declarations after saving the XML into a string.
First, save all DOCTYPE declarations as a local string. Then create the xml as needed without the DOCTYPEs and save it to a local string property. Finally insert the DOCTYPEs string into the XML String and link the result string to the Payload string of the HTTP_Post action.
Michael

Similar Messages

  • Assigning a node value from an XML variable to a String type  in Weblogic Process Integrator

    Hi,
    Is there any way to assign a node value from an XML variable to a String variable
    in Weblogic Process Integrator...
    Thanx.
    Narendra.

    Nerendra
    Are you talking about using Xpath on the XML document and assigning to a
    variable, it is unclear what you are asking
    Tony
    "Narendra" <[email protected]> wrote in message
    news:3bba1215$[email protected]..
    >
    Hi,
    Is there any way to assign a node value from an XML variable to a Stringvariable
    in Weblogic Process Integrator...
    Thanx.
    Narendra.

  • Add Doctype to the XML File

    Experts,
    My Scenario is JDBC to File
    For the resultant xml file i have to include a <DOCTYPE> after
    <?xml version="1.0" encoding="UTF-8" ?> while passing it to legacy system ?
    I had written an XSLT Code to acheive this, i checked in XML spy and it is working.
    but in moni iam getting an error in message mapping
    my XSLT Code is
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <!-- Add the Doctype declaration -->
    <xsl:output method="xml" indent="no" doctype-system="http://integratex.quality.techdata.de:8080/ix/dtd/ixOrder.dtd"/>
    <!-- Identity Transform - copy the source XML to the output without any changes -->
    <xsl:template match="node() | @*">
                <ns0:MT_ASNDATAOUT xmlns:ns0="http://aaaaa/sd/SD152.25">
                <xsl:copy>
                                                    <xsl:apply-templates select="node() | @*"/>
                </xsl:copy>
                </ns0:MT_ASNDATAOUT>
    </xsl:template>
    </xsl:stylesheet>
    and the error in moni is
    <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
    - <!--  Request Message Mapping
      -->
    - <SAP:Error xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="">
      <SAP:Category>XIServer</SAP:Category>
      <SAP:Code area="MAPPING">GENERIC</SAP:Code>
      <SAP:P1>Parsing error after multi mapping.</SAP:P1>
      <SAP:P2>Expected Message<i> instead of Messages</SAP:P2>
      <SAP:P3 />
      <SAP:P4 />
      <SAP:AdditionalText />
      <SAP:ApplicationFaultMessage namespace="" />
      <SAP:Stack>Parsing error after multi mapping.Expected Message<i> instead of Messages</SAP:Stack>
      <SAP:Retry>M</SAP:Retry>
      </SAP:Error>
    Iam doing multi mapping between source and target, is m ulti mapping causing the issue?
    and also check my xslt code,it is working in xml spy as desired.
    Please help me on this
    Appreciate your help.
    Thanks
    Srinivas

    Hi,
    Yes you have to chnage the DTD structure to add DOCTYPE Value,one morething when you executing XSLT mapping Multi Mapping scenario it shouls also supports multi mapping feature.Fisrt execute XSLT Mapping program without multi mapping,let me know how its behaving.
    Regards,
    Raj

  • Why can't Workbench handle a 2MB XML variable from invoke?

    I have an SQL query that returns about 2.3 MB XML variable.  That works fine but if I set that variable to be an output variable and invoke the process from Workbench I get an InvocationTargetException from org.apache.axis.message.SOAPFaultBuilder.createFault (see below).  I'm running Workbench ES2 9.5 as a Java plugin in Eclipse Indigo (32-bit) on a Windows 7 64-bit system with 8 GB memory.  The same problem occurs on a Windows XP SP3 system with 4GB memory. 
    There are no error messages in server.log at all, just the usual SqlHelper message displaying the SQL statement that was executed.  This appears to be strictly a Workbench phenomenon.  The server seems to be able to merge the data with a PDF just fine also.
    Here's my eclipse.ini file settings:
    -startup
    plugins/org.eclipse.equinox.launcher_1.2.0.v20110502.jar
    --launcher.library
    plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.1.100.v20110502
    -product
    org.eclipse.epp.package.jee.product
    -showsplash
    org.eclipse.platform
    --launcher.XXMaxPermSize
    256M
    --launcher.defaultAction
    openFile
    -vmargs
    -Dosgi.requiredJavaVersion=1.5
    -Xms512m
    -Xmx1280m
    Here is the stack trace from the invocation error:
    ALC-DSC-000-000: com.adobe.idp.dsc.DSCRuntimeException: Internal error.
          at   com.adobe.idp.dsc.provider.impl.soap.axis.sdk.SoapAxisDispatcher.throwExceptionHandler(SoapAxisDispatcher.java:211)
          at com.adobe.idp.dsc.provider.impl.soap.axis.sdk.SoapAxisDispatcher.doSend(SoapAxisDispatcher.java:129)
          at com.adobe.idp.dsc.provider.impl.base.AbstractMessageDispatcher.send(AbstractMessageDispatcher.java:66)
          at com.adobe.idp.dsc.clientsdk.ServiceClient.invoke(ServiceClient.java:208)
          at com.adobe.workbench.utils.invoke.InvokeWithProgressRunner.invokeServiceOperation(InvokeWithProgressRunner.java:230)
          at com.adobe.workbench.utils.invoke.InvokeWithProgressRunner.run(InvokeWithProgressRunner.java:125)
          at java.lang.Thread.run(Unknown Source)
    Caused by: java.lang.reflect.InvocationTargetException
          at org.apache.axis.message.SOAPFaultBuilder.createFault(SOAPFaultBuilder.java:221)
          at org.apache.axis.message.SOAPFaultBuilder.endElement(SOAPFaultBuilder.java:128)
          at org.apache.axis.encoding.DeserializationContext.endElement(DeserializationContext.java:1087)
          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 org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)
          at javax.xml.parsers.SAXParser.parse(Unknown Source)
          at org.apache.axis.encoding.DeserializationContext.parse(DeserializationContext.java:227)
          at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:696)
          at org.apache.axis.Message.getSOAPEnvelope(Message.java:424)
          at org.apache.axis.handlers.soap.MustUnderstandChecker.invoke(MustUnderstandChecker.java:62)
          at org.apache.axis.client.AxisClient.invoke(AxisClient.java:206)
          at org.apache.axis.client.Call.invokeEngine(Call.java:2765)
          at org.apache.axis.client.Call.invoke(Call.java:2748)
          at org.apache.axis.client.Call.invoke(Call.java:2424)
          at org.apache.axis.client.Call.invoke(Call.java:2347)
          at org.apache.axis.client.Call.invoke(Call.java:1804)
          at com.adobe.idp.dsc.provider.impl.soap.axis.sdk.SoapAxisDispatcher.doSend(SoapAxisDispatcher.java:127)
          ... 5 more

    I don't quite follow what you are recommending but this is really a nuisance.  We can record the process and the play back works just fine, all the way to the end.  There's a post to this forum that only shows up on Google Groups that points to the Apache Axis SOAPFaultBuilder source code (the first line of the 'Caused by' stack trace). The only place I can find that class in my setup (32-bit Eclipse Indigo with LC Workbench plugin) is in eclipese\.metadata\.plugins\org.apache.axis_1.4.0.v201005080400\lib\axis.jar.  So I'll replace that with a newer version and see what happens.

  • How to specify XML declaration in an XML Variable

    I had posted this question in the Flex Builder discussion,
    but I am not sure if that was the right board, so posting it again
    here:
    I need to set the XML declaration for my XML variable as
    follows:
    var employees:XML =
    <?xml version="1.0" encoding="utf-8"?>
    <employees>
    <employee ssn="123-123-1234">
    <name first="John" last="Doe"/>
    <address>
    <street>11 Main St.</street>
    <city>San Francisco</city>
    <state>CA</state>
    <zip>98765</zip>
    </address>
    </employee>
    <employee ssn="789-789-7890">
    <name first="Mary" last="Roe"/>
    <address>
    <street>99 Broad St.</street>
    <city>Newton</city>
    <state>MA</state>
    <zip>01234</zip>
    </address>
    </employee>
    </employees>;
    However, if I specify <?xml version="1.0"
    encoding="utf-8"?>, I get a design time and compile error. If I
    remove it it works fine. But the server to which I send this XML is
    expecting the declaration. How can I set the declaration?
    Any help or pointer is appreciated.

    I am not able to load the xml. Can anybody figure out the
    problem :
    I have used a LoadXML class :
    package {
    import flash.display.*;
    import flash.events.*;
    import flash.net.*;
    // Demonstrates the code required to load external XML
    public class LoadXML extends Sprite {
    // The property that will eventually contain the loaded XML
    private var novel:XML;
    // The object used to load the XML
    private var urlLoader:URLLoader;
    // Constructor
    public function LoadXML () {
    // Specify the location of the external XML
    var urlRequest:URLRequest = new URLRequest("novel.xml");
    // Create an object that can load external text data
    urlLoader = new URLLoader();
    // Register to be notified when the XML finishes loading
    urlLoader.addEventListener(Event.COMPLETE,
    completeListener);
    // Load the XML
    urlLoader.load(urlRequest);
    // Method invoked automatically when the XML finishes
    loading
    private function completeListener(e:Event):void {
    // The string containing the loaded XML is stored in the
    URLLoader
    // object's data property (urlLoader.data). To create a new
    XML
    // instance from that loaded string, we pass it to the XML
    constructor
    novel = new XML(urlLoader.data);
    trace(novel.toXMLString()); // Display the loaded XML, now
    converted
    // to an XML object
    And in main.mxml :
    myXml = new LoadXml ;
    trace ( myXml.novel ) ;
    The output is errenous

  • How to specify the XML Declaration for an XML variable

    I need to set the XML declaration for my XML variable as
    follows:
    var employees:XML =
    <?xml version="1.0" encoding="utf-8"?>
    <employees>
    <employee ssn="123-123-1234">
    <name first="John" last="Doe"/>
    <address>
    <street>11 Main St.</street>
    <city>San Francisco</city>
    <state>CA</state>
    <zip>98765</zip>
    </address>
    </employee>
    <employee ssn="789-789-7890">
    <name first="Mary" last="Roe"/>
    <address>
    <street>99 Broad St.</street>
    <city>Newton</city>
    <state>MA</state>
    <zip>01234</zip>
    </address>
    </employee>
    </employees>;
    However, if I specify <?xml version="1.0"
    encoding="utf-8"?>, I get a design time and compile error. If I
    remove it it works fine. But the server to which I send this XML is
    expecting the declaration. Can somebody help me with this?
    Thanks

    I work mostly with the Java versions of the parser so you'll have to make the translation to C++. As far as I know, you can't use the SAX API to access to the encoding.
    You need to use the DOM along with Oracle's extension to the basic DOM functionality. Oracle's package, oracle.xml.parser.v2 defines a class which implements the Document interface called XMLDocument. This class has a method, getEncoding(), which returns the encoding. You would use the method in getDocument() in the Parser base class inherited by DOMParser to retrive the XMLDocument.
    Jeff

  • How to search for a particular element within a XML variable using studio?

    All,
    I am using studio 7.0 to develop a webbased application. In this, i need to access
    an oracle db using a WLAI Application View from my Workflow. I get some data back
    from Oracle as an XML variable and then apply an XPath statement to access the
    individual columns returned.
    My problem arises when there are no records in the db matching my criteria and
    an empty XML variable is returned to me from the app view. In these cases my
    XPath statement fails in studio causing an improper exit.
    Does anybody know how to check for content in a XML varaible using studio? So
    that if there is content i can proceed with XPath and if there is no content,
    then i will take a different route.
    Thanks in advance
    Regards
    Sri

    If I remember correctly, the adapter will return an XML document that contains
    XML elements for each row. You can just simply check the count of these elements
    with an XPath statement: ie. count(response/row)
    "Sri " <[email protected]> wrote:
    >
    All,
    I am using studio 7.0 to develop a webbased application. In this, i need
    to access
    an oracle db using a WLAI Application View from my Workflow. I get some
    data back
    from Oracle as an XML variable and then apply an XPath statement to access
    the
    individual columns returned.
    My problem arises when there are no records in the db matching my criteria
    and
    an empty XML variable is returned to me from the app view. In these
    cases my
    XPath statement fails in studio causing an improper exit.
    Does anybody know how to check for content in a XML varaible using studio?
    So
    that if there is content i can proceed with XPath and if there is no
    content,
    then i will take a different route.
    Thanks in advance
    Regards
    Sri

  • Changing data in XML variable and appending tags in XML  document

    Hi all,
    I am new to weblogic Integrator . can any one help me concerning following problem
    1. I get input XML message to my workflow which I stores in XML variable. after
    some processing i want to change value of one tag in XML stored in XML variable.
    How I can do thaat ?
    2. I have some XML like
    <root>
    <child>
    <a> </A>
    </child>
    <child>
    </child>
    </root>
    and i want to append multiple such tag at run time . how i can do the same
    in wli
    Please let me know your suggestion
    Kiran

    For both cases I suggest you use XSLT.
    Mike
    "Kiran" <[email protected]> wrote in message
    news:3c720cd2$[email protected]..
    >
    Hi all,
    I am new to weblogic Integrator . can any one help me concerning followingproblem
    1. I get input XML message to my workflow which I stores in XML variable.after
    some processing i want to change value of one tag in XML stored in XMLvariable.
    How I can do thaat ?
    2. I have some XML like
    <root>
    <child>
    <a> </A>
    </child>
    <child>
    </child>
    </root>
    and i want to append multiple such tag at run time . how i can do thesame
    in wli
    Please let me know your suggestion
    Kiran

  • Validating XML with external dtd without doctype specified in xml

    Hi,
    I am very new to SAX, DOM and things..but I am really pulling my hair to find the soln., I have tried to search soln but I found many people asking same question but hardly anyone was satisfactory.
    My problem is that I have xml file without doctype specified in it, but I have dtd available on my system.
    I have tried to set MyEntityResolver which implements EntityResolver in documentBuilder but its only getting called (resolveEntity method of MyEntirtyResolver), only when I add doctype to the xml (which is not what I want) and not when there is no doctype in the xml. I have set "factory.setValidating(true)" and I also have errorHandler in place.
    But why EntityResolver is not invoked when its needed most. ie. when doctype is not available in xml ?...it complains that DOCTYPE must match root=null , which is obvious because no DOCTYPE in xml.
    code is as follows:
    please help me ..if anyone has any idea about this ....
    Main class is :
    public static void main(String args[]){
              Document document=null;
              ErrorHandler defaultHandler=new MyDefaultHandler();
              String xmlFile="note.xml";
              try{
                   System.out.println("Starting...");
                 boolean validXML = true;
                 DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
                 factory.setNamespaceAware(true);
                 factory.setValidating(true);
                 try {
                    ExternalResolver er = new ExternalResolver();
    // addURL is just a method which sets string in a map to be retrieved by resolveEntiy
                    er.addURL("D:\\SAXnDOM\\SAXProject\\note.dtd");
                    DocumentBuilder builder = factory.newDocumentBuilder();
                     builder.setEntityResolver(er);
                     builder.setErrorHandler(new MyDefaultHandler());
                    builder.parse(new File(xmlFile));
                 resolveEntity of ExternalResolver is as follows:
    public InputSource resolveEntity(String publicId, String systemId)
                   throws SAXException, IOException {
               System.out.println("********resolvedEntity:" +publicId +" and "+systemId +"******");
             if ( urlMap != null && urlMap.get(systemId)!= null ){
                 try {
                     return new InputSource(new FileReader(systemId));
                 } catch (FileNotFoundException e) {
                     System.out.println("[ERROR] Unable to load entity reference: " + systemId );
             return null;
    public void addURL(String filePath) throws MalformedURLException{
              addURL(new File(filePath).toURL());
         public void addURL(URL url) {
             if ( urlMap == null ){
                 urlMap = new HashMap();
             urlMap.put(url, null);
         }

    Its working.... its working ...
    problem was in resolveEntity, that stupid if condition was removed like this:
    public InputSource resolveEntity(String publicId, String systemId)
                   throws SAXException, IOException {
               System.out.println("********resolvedEntity:" +publicId +" and "+systemId +"******");
                try {
                     return new InputSource("D:\\SAXnDOM\\SAXProject\\note.dtd");
                 } catch (Exception e) {
                     System.out.println("[ERROR] Unable to load entity reference: " + systemId );
             return null;
         }Other change is (which I didnt like ) is that in my xml, I had written fake doctype like :
    <?xml version="1.0"?>
    <!DOCTYPE note SYSTEM "fakenote.dtd">
    <note>
    <to>Tove</to>
    <from>Jani</from>
    <heading>Reminder</heading>
    <body>Don't forget me this weekend!</body>
    <Prashant>prdfjfdj</Prashant>
    </note> in above code fakenote.dtd doesnt exist anywhere ..its just to bypass that doctype:null error.
    So my guess is that EntityResolver overrides doctype in the xml and applies its own doctype (note.dtd in this case)
    But new proble comes...what if i dont want to add any doctype ..not even fake in xml ?
    Hope my stupid mistakes will find someone usefull..

  • SQL XML Variable Assignment?

    Maybe more of a code question, but used in B1i. Using the B1out type="sql" how do I assign the return value of:
    Select CardCode From [OCDR] Where U_CSTN = <xsl:value-of select="col[8]"/>
    to a xml variable? Maybe a simple question but I am having issues using the return value that I need in a B1out type="object" in the same atom.
    All responses deeply appreciated,
    Mike
    <xsl:template name="transform">
         <b1im_multimsg xmlns="">
                       <xsl:for-each select="$msg/row">
                   <b1im_msg>
                        <B1out type="sql">
                             <xsl:variable name="Code">
                                  <sql>Select CardCode From [OCRD] Where U_DTNCN = <xsl:value-of select="col[8]"/></sql>
                             </xsl:variable>
                        </B1out>
                        <B1out type="object">
                             <Documents>
                                  <row>
                                       <CardCode>
                                            <xsl:copy-of select="$Code"/>
                                       </CardCode>
                                  </row>
                             </Documents>
                             <Document_Lines>
                                  <row>
                                       <ItemCode>
                                            <xsl:value-of select="col[2]"/>
                                       </ItemCode>
                                       <Quantity>
                                            <xsl:value-of select="col[3]"/>
                                       </Quantity>
                                  </row>
                             </Document_Lines>
                        </B1out>
                   </b1im_msg>
              </xsl:for-each>
         </b1im_multimsg>
    </xsl:template>

    I has an immediate suspicion it might be related to the issue
    mentioned in
    http://otn.oracle.com/support/tech/sql_plus/htdocs/sub_var2.html#2_7
    but this proved wrong: the SP2-306 still occurs in the latest
    SQL*Plus.
    I wonder what version of 8i you had working? With an old SQL*Plus
    8.1.7.0 my connection failed the same as in 9.2 and 10i.
    My solution was to do:
      SQLPLUS='sqlplus -s'
      UNPW='/ as sysdba'
      $SQLPLUS "$UNPW" &lt;&lt;EOF
      EOFThis worked in 9.2.0.5, 10.1.0.2 and 8.1.7.0.
    One common security risk on UNIX remains: putting the username and
    password on the command line. On some systems a "ps" command will
    show the password to any user. If OS authentication cannot be used
    for connection, perhaps putting the username/password in the SQL
    script may be more secure?
    A final note is that in SQL*Plus 10g, no quotes are needed around
    AS SYSDBA, i.e.
      sqlplus / as sysdba works from the OS prompt, whereas in 9.2 you need to do
      sqlplus "/ as sysdba"This makes a solution easy:
      SQLPLUS="/usr/oracle/product/10.1.0/bin/sqlplus -s xxx/xxxxxx@xxxx as sysdba"-- CJ

  • Flash loads XML variables from cache memory...

    Hi everyone. This is a very important issue. I have been in
    many many forums looking for this answer and no one fulfills my
    expectations. As I said on title... I have created a small
    application that edits my XML file in server. It really works,
    because I open manually my file and it's perfectly modified...
    however, everytime I refresh my page it loads the ancient XML
    variables because they come from cache...
    I also could find out that this problem is mainly happening
    with IExplorer, not with Mozilla Firefox.... however, I need it to
    run on IE too... but can not find a real solution.. I have been
    told to add random numbers to the XMl file extenskion, and other
    things like that, honestly... they do not work... please... does
    anybody have the light on this issue ??? I will appreciate your
    answers...
    Thanks in advance,

    Did you try appending a URL variable.
    xmlRequest.xml.load("theData.xml?cacheKiller=" + new
    Date().getTime();

  • How to convert XML document to xml variable?

    Hi,
    I have taken an xml variable in my process and reading a xml document file. Can anyone tell me how can i convert this xml document to xml variable so that i can parse the xml variable.
    I am able to convert xml variable to xml document variable by using set value activity. But how do I perform reverse process.
    I want to perform this conversion because i want to keep xml data in document format on storage drive and then parse this xml data so that i can read the nodes.
    Any help will be appreciated..
    Regards
    Sunil

    we can use set value activity to reach these xml docs and assign it to xml variable.
    Then parsing of this xml can be browsed to find the nodes.
    Regards
    Sunil

  • Xml variable removes process-instruction

    I have a project that reads documents through a watch folder. The files that are dropped in are xml and contain a processing instruction with some meta data is needed in my process. I have configured a watch folder endpoint using 3 different type of input variables for document, xml, and string. When I do document I get the document object but no access to the processing instruction. When I do xml, I get the xml in a variable but all processing instructions are removed including the xml declaration. Finally, when I use a string, the variable is set with a binary representation of the file that looks like base 64. I have tested a different process reading the xml from file system as a string and I can use string functions to extract the values I need that way. I'm wondering if anybody knows what I can do to configure my watch folder enpoint so that I can access the processing directive either as xml or as a string.

    Hi,
    The <?xml version='1.0' encoding='utf-8'?>) xml declaration can occur only once and that too at the very top of the xml file before everything else. I think your best bet would be to strip the xml declaration and the doctype declaration before appending. You might want to check the API documentation of the API you are using to serialize the xml to see if it supports suppressing xml and doctype declarations.
    With apache xerces, you can do
    OutputFormat.setOmitXMLDeclaration(true);
    where OutputFormat dictates what underlying serialized is used to serialize the document based on the specified method.
    Hope this helps.
    Cheers,
    vidyut

  • Posting an XML Variable to a BLS Transaction from a web page

    I am working in xMII 11.5 with all the latest service packs. I know this is probably a really basic question but I am stumped.
    I am trying to pass a multi row and multi column XML data set from a web page into a BLS transaction (actually, two of them) in order to populate the parameter. I want to use the Web Service interface to the transaction. I have tried using parameters on an Xacute Query in an Applet as well with an equal lack of success. I cannot persuade the transaction to see the incoming variable as an XML data type. I have tried encoding and decoding and string to xml conversions and nothing seems to successfully allow the data set to be seen withing the BLS as anything but a string. The String to XML action will not handle the number of columns in the dataset though it seems to work if the data set has only one column. The data set is formatted in the proper "Rowsets/Rowset/Row" format. I have considered writing the data to an XML file on the server (I know I can deal with that) but that is not acceptable in this application.
    Can someone share the secret with me?
    ...Sparks

    Parameter value:
    r1d1,r1d2,r1d3;r2d1,r2d2,r2d3;r3d1,r3d2,r3d2
    Pass thru String List to Xml Parser with delim ";"
    <Row>
    <Item>r1d1,r1d2,r1d3</Item>
    </Row>
    <Row>
    <Item>r2d1,r2d2,r2d3</Item>
    </Row>
    <Row>
    <Item>r3d1,r3d2,r3d2</Item>
    </Row>
    Repeat on each row/item and pass thru String List to Xml Parser with delim ","
    <Row>
    <Item>r1d1</Item>
    </Row>
    <Row>
    <Item>r1d2</Item>
    </Row>
    <Row>
    <Item>r1d3</Item>
    </Row>
    Of course, your columns aren't flat but they are easy to ref, to get "column 2" for example:
    StringListToXml_1.Output{/Rowsets/Rowset/Row[2]/Item}
    So now you have rows and columns. Assign your data to your BAPI structured as needed.
    We have passed complex XML via the SOAP interface in 11.5, but it involved some "hacks". Basically we passed the sterilized XML via a String Type Parameter, and then unserialized it inside the BLT.  
    I have been told on this board that there is a solution to passing XML data vie the SOAP interface using ref docs, but i have never personally seen a working example.

  • Retrieve element from an XML variable

    I have a BPEL process that takes in a XML message and from that message I want to parse out one element.
    Using BPEL v10.1.3.3.0
    Here is the xsd's, (use a wrapper for adding the name space)
    <?xml version="1.0" encoding="UTF-8"?>
    <schema xmlns="http://www.w3.org/2001/XMLSchema"
    targetNamespace="TempNamespace"
    xmlns:nxsd="http://xmlns.oracle.com/pcbpel/nxsd"
    nxsd:version="DTD">
    <include schemaLocation="VendorMasterBridge_2_1.xsd"/>
    </schema>
    <?xml version="1.0" encoding="UTF-8"?>
    <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <xs:element name="VendorMasterBridge">
    <xs:complexType>
    <xs:sequence>
    <xs:element name="VendorMaster" minOccurs="1" maxOccurs="unbounded">
    <xs:complexType>
    <xs:sequence>
    <xs:element name="VendorNumber" minOccurs="1" type="xs:string"/>
    <xs:element name="VendorName" minOccurs="0" type="xs:string"/>
    <xs:element name="BatchCtrlNbr" minOccurs="0" type="xs:string"/>
    <xs:element name="Error" minOccurs="0" type="xs:string"/>
    <xs:element name="VendorMasterFields" minOccurs="0">
    <xs:complexType>
    <xs:sequence>
    <xs:element name="DateCreated" minOccurs="0" type="xs:dateTime"/>
    <xs:element name="Address1" minOccurs="0" type="xs:string"/>
    <xs:element name="Address2" minOccurs="0" type="xs:string"/>
    <xs:element name="PassReqdAutoCreate" minOccurs="0" type="xs:string"/>
    </xs:sequence>
    </xs:complexType>
    </xs:element>
    </xs:sequence>
    </xs:complexType>
    </xs:element>
    </xs:sequence>
    <xs:attribute name="id" use="optional" type="xs:string"/>
    <xs:attribute name="version" use="optional" type="xs:string" default="2.1"/>
    <xs:attribute name="timestamp" use="optional" type="xs:dateTime"/>
    </xs:complexType>
    </xs:element>
    </xs:schema>
    I use the Assign activity to try and get the Address1 field
    <assign name="Assign_1">
    <copy>
    <from variable="Vendxml" part="VendorMasterBridge"
    query="/ns3:VendorMasterBridge/VendorMaster/VendorMasterFields/Address1"/>
    <to variable="addr"/>
    </copy>
    </assign>
    When I deploy and run the BPEL process I get this error
    <selectionFailure xmlns="http://schemas.xmlsoap.org/ws/2003/03/business-process/"><part name="summary"><summary>empty variable/expression result.
    xpath variable/expression expression "/ns3:VendorMasterBridge/VendorMaster/VendorMasterFields/Address1" is empty at line 87, when attempting reading/copying it.
    Please make sure the variable/expression result "/ns3:VendorMasterBridge/VendorMaster/VendorMasterFields/Address1" is not empty.
    </summary>
    </part></selectionFailure>
    Here is the XML used for input
    <invWriteVendor_Enqueue_InputVariable>
    <part xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="VendorMasterBridge">
    <VendorMasterBridge xmlns:ns0="TempNamespace" id="RMS">
    <VendorMaster xmlns="">
    <VendorNumber>1077952523</VendorNumber>
    <VendorName>UNIFLEX</VendorName>
    <VendorMasterFields>
    <Address1>383 W COMBO AVE</Address1>
    <Address2>PO BOX 9004</Address2>
    <City>HICKSVILLE</City>
    <StateCode>NY</StateCode>
    <Zip>11801-9004</Zip>
    <Country>USA</Country>
    <TelephoneNumber>05169322400</TelephoneNumber>
    <StatusCode>00</StatusCode>
    </VendorMasterFields>
    </VendorMaster>
    </VendorMasterBridge>
    </part></invWriteVendor_Enqueue_InputVariable>
    Can someone help me know what I am doing wrong?
    If I do an assign of the input xml to another xml of the same message type all the fields transfer. I only run into this issue if I am trying to access a specific element.
    Thanks for any help on this,

    Thanks for the reply, but could you be a little more specific? Problem with the namespace where, in the incoming message? Is it defined wrong in the BPEL process? A mis-match somewhere?
    I kind of figured it was a namespace issue but I can not seem to track it down.

Maybe you are looking for