Xml message passing

1. we would like to transfer xml doc across varous tiers in a j2ee application.
2. we assume that the results of a sql query will get resultset and either we convert it to a xml doc or we get the result of sql query in the form of an xml doc( using oracle xml db let us say for an example ).
3. we would like to transfer it till the presentation tier and apply xslt to convery it to html before sending to the browser.
any one has some thoughts on it or some sample code?

alternatively, one thing i did previously was that i parse it to DOM structure in client side for data manipulation. browser support xml data island using <XML> tag, if u use ie5, ie5 data aware control is able to consume these data without a single code, or u use DOM programming to perform tasks tt u like.

Similar Messages

  • Windows 8.1 having same issue: Windows could not parse or process unattend answer file (C:\Windows\Panther\unattend.xml) for pass [specialize]. A component or setting specified in the answer file does not exist.

    I know there are similar other issues with IE 10 and Windows 7.  This is WINDOWS 8.1, and the IE Welcome message is totally absent from the default unattend.xml in the c:\windows\panther directory.  In fact, I did a sysprep without using any injected
    unattend.xml - this is the Microsoft Default!
    So I suspect this will start appearing all over again soon.  Anyone figure out what was causing it?
    Here is the new Specialize section from the xml:
    <settings pass="specialize">
            <component name="Microsoft-Windows-Security-SPP-UX" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
                <SkipAutoActivation>true</SkipAutoActivation>
            </component>
            <component name="Microsoft-Windows-Security-SPP-UX" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
                <SkipAutoActivation>true</SkipAutoActivation>
            </component>
            <component name="Microsoft-Windows-SQMApi" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
                <CEIPEnabled>0</CEIPEnabled>
            </component>
            <component name="Microsoft-Windows-SQMApi" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
                <CEIPEnabled>0</CEIPEnabled>
            </component>
            <component name="Microsoft-Windows-Shell-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
                <!--<CopyProfile>true</CopyProfile>-->       
                <ComputerName>Win8</ComputerName>
                <TimeZone>Pacific Standard Time</TimeZone>
            </component>
            <component name="Microsoft-Windows-Shell-Setup" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
                <!--<CopyProfile>true</CopyProfile>-->         
                <ComputerName>Win8</ComputerName>
                <TimeZone>Pacific Standard Time</TimeZone>
            </component>
            <component name="Microsoft-Windows-Deployment" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
                <RunSynchronous>
                   <!--<RunSynchronousCommand wcm:action="add">
                        <Order>1</Order>
                        <Description>Disable UAC for Users</Description>
                        <Path>reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" /v "EnableLUA"  /t REG_DWORD /d
    0 /f</Path>
                    </RunSynchronousCommand>
                    <RunSynchronousCommand wcm:action="add">
                        <Order>2</Order>
                        <Description>Disable UAC for Admin</Description>
                        <Path>reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" /v "FilterAdministratorToken" /t REG_DWORD
    /d 0 /f</Path>
                    </RunSynchronousCommand>-->
                    <RunSynchronousCommand wcm:action="add">
                        <Description>Enable Admin Account</Description>
                        <Order>3</Order>
                        <Path>net user administrator /active:yes</Path>
                    </RunSynchronousCommand>
                    <RunSynchronousCommand wcm:action="add">
                        <Path>powercfg -h off</Path>
                        <Order>4</Order>
                    </RunSynchronousCommand>               
                    <RunSynchronousCommand wcm:action="add">
                        <Order>5</Order>
                        <Path>cmd /c %WINDIR%\Setup\Specialize_x64.cmd</Path>
                    </RunSynchronousCommand>                
                </RunSynchronous>
            </component>
            <component name="Microsoft-Windows-Deployment" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
                <RunSynchronous>
                   <!--<RunSynchronousCommand wcm:action="add">
                        <Order>1</Order>
                        <Description>Disable UAC for Users</Description>
                        <Path>reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" /v "EnableLUA"  /t REG_DWORD /d
    0 /f</Path>
                    </RunSynchronousCommand>
                    <RunSynchronousCommand wcm:action="add">
                        <Order>2</Order>
                        <Description>Disable UAC for Admin</Description>
                        <Path>reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" /v "FilterAdministratorToken" /t REG_DWORD
    /d 0 /f</Path>
                    </RunSynchronousCommand>-->
                    <RunSynchronousCommand wcm:action="add">
                        <Description>Enable Admin Account</Description>
                        <Order>3</Order>
                        <Path>net user administrator /active:yes</Path>
                    </RunSynchronousCommand>
                    <RunSynchronousCommand wcm:action="add">
                        <Path>powercfg -h off</Path>
                        <Order>4</Order>
                    </RunSynchronousCommand>               
                    <RunSynchronousCommand wcm:action="add">
                        <Order>5</Order>
                        <Path>cmd /c %WINDIR%\Setup\Specialize_x86.cmd</Path>
                    </RunSynchronousCommand>                
                </RunSynchronous>
            </component>
             <component name="Microsoft-Windows-IE-InternetExplorer" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"
    xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
                <BlockPopups>yes</BlockPopups>
                <CompanyName>FYM Inc</CompanyName>
                <DisableAccelerators>true</DisableAccelerators>
                <DisableDevTools>false</DisableDevTools>
                <DisableFirstRunWizard>true</DisableFirstRunWizard>
                <DisableOOBAccelerators>true</DisableOOBAccelerators>
                <DisableWelcomePage>true</DisableWelcomePage>
                <EnableLinksBar>false</EnableLinksBar>
                <FavoritesDelete>true</FavoritesDelete>
                <FilterLevel>High</FilterLevel>
                <Help_Page>www.google.com</Help_Page>
                <Home_Page>www.google.com</Home_Page>
                <LockToolbars>false</LockToolbars>
                <MSCompatibilityMode>false</MSCompatibilityMode>
                <NoDial>true</NoDial>
                <ShowCommandBar>true</ShowCommandBar>
                <ShowInformationBar>true</ShowInformationBar>
                <SuggestedSitesEnabled>false</SuggestedSitesEnabled>
                <SearchScopes>
                    <Scope wcm:action="add">
                        <DisplayQuickPick>true</DisplayQuickPick>
                        <ScopeDefault>true</ScopeDefault>
                        <ScopeDisplayName>Google</ScopeDisplayName>
                        <ScopeKey>Search1</ScopeKey>
                        <ScopeUrl>http://www.google.com/advanced_search?hl=en</ScopeUrl>
                        <ShowSearchSuggestions>true</ShowSearchSuggestions>
                        <ShowTopResult>true</ShowTopResult>
                    </Scope>
                </SearchScopes>
            </component>
            <component name="Microsoft-Windows-IE-InternetExplorer" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
                <BlockPopups>yes</BlockPopups>
                <CompanyName>FYM Inc</CompanyName>
                <DisableAccelerators>true</DisableAccelerators>
                <DisableDevTools>false</DisableDevTools>
                <DisableFirstRunWizard>true</DisableFirstRunWizard>
                <DisableOOBAccelerators>true</DisableOOBAccelerators>
                <DisableWelcomePage>true</DisableWelcomePage>
                <EnableLinksBar>false</EnableLinksBar>
                <FavoritesDelete>true</FavoritesDelete>
                <FilterLevel>High</FilterLevel>
                <Help_Page>www.google.com</Help_Page>
                <Home_Page>www.google.com</Home_Page>
                <LockToolbars>false</LockToolbars>
                <MSCompatibilityMode>false</MSCompatibilityMode>
                <NoDial>true</NoDial>
                <ShowCommandBar>true</ShowCommandBar>
                <ShowInformationBar>true</ShowInformationBar>
                <SuggestedSitesEnabled>false</SuggestedSitesEnabled>
                <SearchScopes>
                    <Scope wcm:action="add">
                        <DisplayQuickPick>true</DisplayQuickPick>
                        <ScopeDefault>true</ScopeDefault>
                        <ScopeDisplayName>Google</ScopeDisplayName>
                        <ScopeKey>Search1</ScopeKey>
                        <ScopeUrl>http://www.google.com/advanced_search?hl=en</ScopeUrl>
                        <ShowSearchSuggestions>true</ShowSearchSuggestions>
                        <ShowTopResult>true</ShowTopResult>
                    </Scope>
                </SearchScopes>
            </component>
             <component name="Microsoft-Windows-RemoteAssistance-Exe" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"
    xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
                    <fAllowFullControl>true</fAllowFullControl>
                    <fAllowToGetHelp>true</fAllowToGetHelp>
             </component>
             <component name="Microsoft-Windows-RemoteAssistance-Exe" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"
    xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
                    <fAllowFullControl>true</fAllowFullControl>
                    <fAllowToGetHelp>true</fAllowToGetHelp>
             </component>
             <component name="Microsoft-Windows-ErrorReportingCore" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"
    xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
                <DisableWER>1</DisableWER>
             </component>
             <component name="Microsoft-Windows-ErrorReportingCore" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"
    xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
                <DisableWER>1</DisableWER>
             </component>         
            <component name="Microsoft-Windows-powercpl" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
                 <!--  High Performance -->
                 <PreferredPlan>8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c</PreferredPlan>
                 <!--  Power saver -->
                 <!--  <PreferredPlan>a1841308-3541-4fab-bc81-f71556f20b4a</PreferredPlan> -->
                 <!--  Balenced -->
                 <!--  <PreferredPlan>381b4222-f694-41f0-9685-ff5bb260df2e</PreferredPlan> -->
            </component>
            <component name="Microsoft-Windows-powercpl" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
                 <PreferredPlan>8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c</PreferredPlan>
            </component>      
            <component name="Microsoft-Windows-UnattendedJoin" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
                <Identification>
                    <JoinWorkgroup>Workgroup</JoinWorkgroup>
                </Identification>
            </component>
            <component name="Microsoft-Windows-UnattendedJoin" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
                <Identification>
                    <JoinWorkgroup>Workgroup</JoinWorkgroup>
                </Identification>
            </component>                
            <component name="Microsoft-Windows-AllUserInstallAgent" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"
    xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
                <LogonWaitForPackageRegistration>false</LogonWaitForPackageRegistration>
            </component>
            <component name="Microsoft-Windows-AllUserInstallAgent" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
                <LogonWaitForPackageRegistration>false</LogonWaitForPackageRegistration>
            </component>        
        </settings>
    I'm thinking of dumping the entire IE section and see what happens.

    I too received this error as I tried to run my first Windows 8.1 deployment. Per another post I commented out this line
    <IEWelcomeMsg>false</IEWelcomeMsg>
    from the IE section of the unattend.xml. I was then able to run my deployment. I do not see this line in your posting though.
    I referenced this link even though it was for Windows 7.
    http://social.technet.microsoft.com/Forums/en-US/c41a2b69-a591-4cd3-86ab-6a0f8a73b858/getting-windows-could-not-parse-or-process-the-unattend-answer-file-for-pass-specialize-with?forum=mdt
    Hope this helps someone.
    JayTheTech
    To clarify, I edited the unattend.xml file from from Deployment Share, not C:\Windows\Panther.
    DS\control\task sequence ID\unattend.xml
    JayTheTech

  • XML Message Not Generated in SUS SRM 4.0

    Hi !
      In Supplier Self Service(SUS) SRM 4.0 we did a  
      development for ASN creation through file upload .
      It's a <b>BSP</b> Application .
      Vendor uploaded the file for ASN creation .
      Their generated ASN No. which are in Standard tables.
      But for Some of them No XML Messages Genrated which  
      suppose to pass backend SAP R/3 .
      Anybody having any idea where exactly these XML 
      Messages are?   We have searched through SXMB_MONI  
      & checked all qRFCs.
      But unable to find their XML messages.
      Looking forward your ideas.
      Regards
      Sachin S M
    <b></b>
    Message was edited by: Sachin S M

    Hi,
    Can you tell me if the next scenario is possible with EBP 5.0 (WAS 6.40) but without XI.
    We need to develop an application to allow the supplier to upload an Invoice in XML and save it in EBP.
    I was thinking on using a BSP application with an input field to browse local PC and pick up an Invoice XML file. Then post the XML and parse it in the BSP application and save the invoice in EBP.
    Do you have any experience on it or some documentation?
    We have EBP 5.0 but don't want to install an SAP XI.
    Thank you

  • XML message as input for webservice gives deserialization error

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

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

  • Schema of a new Object Type: message pass the BIU without validation

    Hi,
    i've defined a new Object Type for send messages to Web Service. I've created the schema files and i've uploaded there in repository with the "Import" function of GUI. After, i've defined the XML file for the "Execute" function of the B1i GUI.
    After the load of files, in the repository the files are in correct position.
    In my BIU the definition of sender and receiver system type is correct, and also the definition of SenderMainObjectTypeID and ReceiverObjectTypeID. The message from B1 pass through the IPO chain without problems and the message is received by teh Web Service.
    If modify the file XSL into the BIU, a message with less elements than a schema pass without problem.
    If delete the schema from repository, the message pass without validation.
    I would know because the schema is bypassed...
    Thans

    Ok,
    solved with introduction of validation point in a customized IPO using a branch / unbranch atoms.
    Bye.

  • Possibility to transfer additional parameters in outbound XML message

    Hi,
    is there any possibility to transfer additional parameters in outbound XML message using (BADI: BBP_SAPXML1_OUT_BADI).
    Additional parameters are,
    1. Communication Method for the Business Partner
    2. R/3 Vendor # & logical system for Business Partner
    3. Relationship between Business Partner Number and R/3 Vendor Number is ‘BP GUID’.
    How can we extended the structure in the BADI.
    Please give me qucik response.
    Thanks & Regards.
    Surya

    Look for structure which the interface parameters are referring, there you should see some dummy structures referring to INCL_EEW* for e.g. in PO header INCL_EEW_PD_HEADER_SSF_PO. Add additional fields and pass the data accordingly.
    Regards, IA

  • Date time in XML message

    Hi All,
    How do i get the message datetime in the XML message. I want to handle this is iStudio instead of the application, since it should be for populated for both the published or subscribed applications. Don't want to modify the underlying application.
    I want the value of systimestamp
    Thanks,
    Sherry

    Generated the event date from the database and passed it on to the OAIHeader. Another option was to create a custom transformation and use iStudio to map the OAIHeader, which can be applied for any publish event.

  • RE: Validating XML message...

    Actually I stand corrected. XML Spy does seem to provide an OLE API to XML
    validation ( the isValid method on the IDocument class ) although I haven't
    tested it yet.
    In my previous post I was thinking of another XML product I tested earlier
    in the week which did not.
    -----Original Message-----
    From: Shaughnessy, Kevin
    Sent: Friday, April 20, 2001 08:59
    To: 'Rumen Georgiev'
    Cc: [email protected]
    Subject: RE: Validating XML message...
    Rumen,
    One idea that is possible is to use an OLE interface to a 3rd party XML
    product. This assumes your logic which needs to validate is running on a
    Windows box. But if so, it may work. Many products have type libraries which
    can be run through OLEGen to create Forte classes. Then you can use TOOL to
    talk OLE to that product.
    For example, XML Spy 3.5 has a type library from which I created a Forte
    project. Unfortunately this product didn't offer any extra features than
    Forte's XMLParser ( i.e. the API didn't allow me to validate the XML ) so I
    am back to using Forte's parser until I can test another product. If you
    find one that does what you want let me know.
    I've used OLE a lot with Forte to get functionality from other products (
    VISIO, MS Office ) that Forte doesn't provide and it works well. Its a
    platform dependent solution but one that may work for you.
    Kevin
    -----Original Message-----
    From: Rumen Georgiev [mailto:[email protected]]
    Sent: Friday, April 20, 2001 07:21
    To: [email protected]
    Cc: [email protected]
    Subject: RE: Validating XML message...
    Hi Kevin,
    From the answers I've got it seems Forte parser is anon-validating one. So we have to look for an external
    tool to validate these messages. What I am concerned
    about is the integration with Forte.
    Thanks for your help!
    Rumen
    Rumen,
    From Tech Note 11811:
    "ParserFactory.makeParser() will return a default,
    non-validating XML parser."
    My experience is that Forte's default XML parser will
    not validate but will throw an exception if the XML
    document is not well formed. I'm using the DOM
    model and this exception happens on the
    Document.importDocument( ) method.
    If you want anything more than that you'll have to do
    it externally.
    Kevin-----Original Message-----
    From: Rumen Georgiev [mailto:[email protected]]
    Sent: Thursday, April 19, 2001 11:49 AM
    To: [email protected]
    Subject: Validating XML message...
    We have to validate inbound XML messages before
    processing them. The guys on the other side are
    following XMLSchema recommendations to create their
    messages using xsd file for validation. We plan to
    use XMLParser Forte library and as far as I know it
    validates against dtd file (haven't tried yet). If
    this is true we have two options:
    1. Find a program to convert xsd into dtd file and
    use Forte XMLParser for validation.
    2. Validate the message beforehand with an external
    tool. That means integration between Forte and this
    tool.
    I would appreciate any help with either approach. Do
    you know of a program doing xsd into dtd? Have you
    used any existing tool on the market to validate
    using XMLSchema? Or may be there is another solution
    to
    this?
    Thank you in advance,
    Rumen
    =====
    Rumen Georgiev
    Forte Developer
    EXE Technologies
    (610) 872-4400 Ext.222
    Do You Yahoo!?
    Yahoo! Auctions - buy the things you want at great prices
    http://auctions.yahoo.com/

    Hi,
    there is some change in the XMLSPy4.3/XMLType Library 1.2 :
    Validation
    One common task on documents is to validate them against an assigned schema or DTD. If the XML file has no schema or DTD already assigned, use "Document.AssignSchema" or "Document.AssignDTD" to add the necessary references to the document.
    Examples:
    objSpy.ActiveDocument.AssignSchema "C:\mySchema.xsd", False
    or
    objSpy.ActiveDocument.AssignDTD "C:\myDTD.dtd", False
    If you want the user to select a schema or DTD, pass True as the second parameter to these functions to display a file-dialog. These methods only put the reference into the document and do not check the existence of the specified file. If the file path is not valid, the validation will fail.
    After you have assigned a valid schema or DTD reference to your file, you are able to validate it with "Document.IsValid". IsValid needs some out-parameters that must be declared as VARIANTs to be accessible from script languages like VBScript and JavaScript.

  • Send XML Message via HTTP and Receive Response

    Hello,
    We have a scenario where we need to update Currency Exchange Rates in R/3 via a 3rd party called Oanda.  I'd like to use XI for this Interface, if possible. 
    Basically, we need to send XML over HTTP.  Here's the URL and the XML we need to use for our POST (I'll need to perform the look-up for about 15 currency codes - I plan on using a BPM process to loop through each currency code specified in a flat file):
    http://www.oanda.com/cgi-bin/fxml/fxml?fxmlrequest=<CONVERT><CLIENT_ID>TestAccount1</CLIENT_ID><EXCH>USD</EXCH><EXPR>CAD</EXPR><DATE>03/25/2008</DATE></CONVERT>
    And the reponse looks like this:
    <RESPONSE>
      <EXPR>CAD</EXPR>
      <EXCH>USD</EXCH>
      <AMOUNT>1</AMOUNT>
      <NPRICES>1</NPRICES>
      <CONVERSION>
        <DATE>Mon, 24 Mar 2008 20:00:00 GMT</DATE>
        <ASK>1.0257</ASK>
        <BID>1.0251</BID>
      </CONVERSION>
    </RESPONSE>
    I plan on mapping each reponse to BAPI_EXCHRATE_CREATEMULTIPLE, using BPM.
    So my question is this:  Should I use the HTTP adapter for the out going POST to Oanda?  If so, would the HTTP adapter be consider the sender or the receiver?  Also, how would the XML message be automatically appended to the end of the URL (i.e., after the fxmlrequest parameter)?  I guess I'm a little confused on how to use the HTTP adapter...  Are there any blogs that discuss this type of scenario?
    Thanks,
    Matt

    Hi guys,
    I have few concerns for setting up this scenario.
    1). I have created a data type for request mapping, and teste the mapping.
    The output looks like below:
      <?xml version="1.0" encoding="UTF-8" ?>
      <ns1:MT_CONVERT xmlns:ns1="http://test.com/ExchngRate">
       <CONVERT>
         <CLIENT_ID>test</CLIENT_ID>
         <EXPR>CAD</EXPR>
         <EXCH>USD</EXCH>
         <DATE>10/21/2009</DATE>
         <AMOUNT>1</AMOUNT>
       </CONVERT>
      </ns1:MT_CONVERT>
    How to pass only
      <CONVERT>
         <CLIENT_ID>test</CLIENT_ID>
         <EXPR>CAD</EXPR>
         <EXCH>USD</EXCH>
         <DATE>10/21/2009</DATE>
         <AMOUNT>1</AMOUNT>
       </CONVERT>
    to the receiver HTTP adapter.
    2) I am using URL address in the receiver HTTP adapter.
    Target Host: www.oanda.com
    Path Prefix: cgi-bin/fxml/fxml?fxmlrequest=
    What is will be Service Number?
    Looking forward for you help. Your help is greatly appreciated.
    Thanks,
    Namadev
    Edited by: Namadev Chillal on Oct 21, 2009 5:35 PM

  • TCP XML messages parsing time with realtime output.

    I am currently coding a project and I have hit a bit of a roadblock. The basic overview is I need to be able to receive around 3,000 lines of XML per second from a JavaScript sending TCP messages. I have to extract the data to two seperate files, output the data to a text pane and also further seperate that data into a table as well. All this data needs to be updated as soon as it is received. I am currently comfortable with receiving around 700 lines per second without data loss but anything over that I start losing data somewhere. As for the basic over view of my code, I have my main program which creates the GUI and starts a listening thread that listens for "clients"(JavaScripts) to connect.
    Main:
    public static void main(String[] args)
         SplashScreen screen = new SplashScreen();
         screen.showSplashWindow();
         SwingUtilities.invokeLater(new Runnable()
             public void run()
              MainMenu mainmenu = new MainMenu();
              mainmenu.setVisible(true);
              mainmenu.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
        }Listener Thread:
    final Runnable listener_runner = new Runnable()
              public void run()
                  try
                   startClientListener();
                  catch (Exception e)
             final Thread listener_thread = new Thread(listener_runner,
                  "ListenerThread");
             listener_thread.start();Called from listening thread to setup client:
    public void startClientListener() throws IOException
         ServerSocket serverSocket = null;
         try
             serverSocket = new ServerSocket(XXXX);
         catch (IOException e)
             System.err.println("Could not listen on port: " + portNumber);
         while (true)
             MultiServerThread new_thread = new MultiServerThread(serverSocket
                  .accept(), outputWindow, resultsWindow, prefAttr, runningCount);
             new_thread.start();
        }In my MultiServerThreads runnable I have a BufferedReader to read the input. This reader loops through the input and adds it to a StringBuilder which then passes that data to the output files and the XML parser as seen here:
    in = new BufferedReader(new InputStreamReader(socket
                  .getInputStream()));
             while ((input_line = in.readLine()) != null)
              build.append(input_line + "\n");
              file_out.append(build);  //Text file
              xml_copy_out.append(build);  //XML file
              loadData(build);  //XML parser
              build = new StringBuilder();
             }My XML parser is configured as follows:
    public void loadData(final StringBuilder bufs)
         bufs.insert(0, "<VTR>");
         bufs.append("</VTR>");
         try
             StructuredDocumentHandler par = new StructuredDocumentHandler(
                  runningCount);
             SAXParserFactory spf = SAXParserFactory.newInstance();
             spf.setValidating(false);
             javax.xml.parsers.SAXParser sp = spf.newSAXParser();
             final String s = bufs.toString();
             final ByteArrayInputStream file_buf = new ByteArrayInputStream(s
                  .getBytes());
             final DataInputStream in_data = new DataInputStream(file_buf);
             org.xml.sax.InputSource input = new InputSource(in_data);
             sp.parse(input, par);
         catch (Exception ex)
             ex.printStackTrace();
        }As the parser goes through each XML message it sends the String to an output window that is straight text in a TextArea. It also stores the data in some arrays which then get built into a row that is added to a JTable. Does anyone have any ideas on how I can get up to 3000 lines per second? I'm not sure if my threading scheme is wrong or what. Is Java not powerful enough to handle 3000 TCP messages per second or can the XML parser not handle that much processing that fast? Any help would be much appreciated because I've kind of run out of ideas. Thanks!

    Thanks for the replies. I've trimmed my code down a little bit which has helped. I'm still around 2000 messages a second. Here's where I'm at for an update. Thanks again for all your help. I'm much happier at 2k vs 700 messages per second.
    import java.io.BufferedReader;
    import java.io.BufferedWriter;
    import java.io.ByteArrayInputStream;
    import java.io.File;
    import java.io.FileNotFoundException;
    import java.io.FileWriter;
    import java.io.InputStreamReader;
    import java.net.Socket;
    import java.util.ArrayList;
    import java.util.Calendar;
    import javax.swing.JOptionPane;
    import javax.xml.parsers.SAXParser;
    import javax.xml.parsers.SAXParserFactory;
    import org.xml.sax.Attributes;
    import org.xml.sax.InputSource;
    import org.xml.sax.helpers.DefaultHandler;
    public class MultiServerThread extends Thread
        private final StructuredDocumentHandler par = new StructuredDocumentHandler();
        private final SAXParserFactory spf = SAXParserFactory.newInstance();
        private SAXParser sp;
        public MultiServerThread(final Socket socket,
             final OutputWindow output_window,
             final ResultsWindow results_window,
             final PreferencesDialog.Info attr, final int count)
         try
             spf.setValidating(false);
             sp = spf.newSAXParser();
         catch (Exception ex)
        @Override
        public void run()
         try
             xml_copy_out.append("<VTR>\n");
             in = new BufferedReader(new InputStreamReader(socket
                  .getInputStream()));
             while ((input_line = in.readLine()) != null)
              file_out.append(input_line + StaticVariable.NEW_LINE);
              xml_copy_out.append(input_line + StaticVariable.NEW_LINE);
              loadData(input_line);
             xml_copy_out.append("</VTR>");
             xml_copy_out.close();
             file_out.close();
             in.close();
             attributes.parent.setCheckFailed(runningCount, procPassed);
             socket.close();
         catch (FileNotFoundException ex)
         catch (Exception e)
             e.printStackTrace();
       public void killOuts()
        public void loadData(final String xml_str)
         try
             ByteArrayInputStream file_buf = new ByteArrayInputStream(xml_str.getBytes());
             InputSource input = new InputSource(file_buf);
             sp.parse(input, par);
         catch (Exception ex)
             ex.printStackTrace();
        public void addRowData(boolean procedurePassed)
        public void clearArrays()
        public class StructuredDocumentHandler extends DefaultHandler
         boolean procedurePassed = true;
         boolean isTestCase = false;
         boolean isTestCaseInput = false;
         boolean isTestCaseOutput = false;
         boolean isTestStep = false;
         boolean isComment = false;
         boolean isRequirement = false;
         boolean isEnsure = false;
         boolean isVerify = false;
         boolean isResult = false;
         boolean eval = false;
         public StructuredDocumentHandler()
         public void startElement(String uri, String lname, String qname,
              Attributes attributes)
             if (!qname.equals(StaticVariable.XML_COMMAND))
              eval = true;
              if (qname.equals(StaticVariable.XML_TESTCASE))
                  isTestCase = true;
              else if (qname.equals(StaticVariable.XML_TESTCASEINPUT))
                  isTestCaseInput = true;
              else if (qname.equals(StaticVariable.XML_TESTCASEOUTPUT))
                  isTestCaseOutput = true;
              else if (qname.equals(StaticVariable.XML_TESTSTEP))
                  isTestStep = true;
              else if (qname.equals(StaticVariable.XML_COMMENT))
                  isComment = true;
              else if (qname.equals(StaticVariable.XML_REQUIREMENT))
                  isRequirement = true;
              else if (qname.equals(StaticVariable.XML_MEASUREMENT))
                  String xml_val = attributes
                       .getValue(StaticVariable.XML_VALUE);
                  outputWindow.addData(xml_val + StaticVariable.NEW_LINE);
                  measurementArray.add(xml_val);
              else if (qname.equals(StaticVariable.XML_EXPECTED))
                  String xml_val = attributes
                       .getValue(StaticVariable.XML_VALUE);
                  outputWindow.addData(xml_val + StaticVariable.NEW_LINE);
                  expectedArray.add(xml_val);
              else if (qname.equals(StaticVariable.XML_RESULT))
                  isResult = true;
              else if (qname.equals(StaticVariable.XML_VERIFY))
                  isVerify = true;
                  verifyArray.add(new String(attributes
                       .getValue(StaticVariable.XML_RESULT)));
              else if (qname.equals(StaticVariable.XML_ENSURE))
                  isEnsure = true;
         public void characters(char[] chars, int start, int length)
             if (eval)
              if (isTestCase)
                  outputWindow.addData(new String(chars, start, length)
                       + StaticVariable.NEW_LINE);
                  testCaseArray.add(new String(chars, start, length));
              else if (isTestCaseInput)
                  outputWindow.addData(new String(chars, start, length)
                       + StaticVariable.NEW_LINE);
                  testCaseInputArray.add(new String(chars, start, length));
              else if (isTestCaseOutput)
                  outputWindow.addData(new String(chars, start, length)
                       + StaticVariable.NEW_LINE);
                  testCaseOutputArray.add(new String(chars, start, length));
              else if (isTestStep)
                  outputWindow.addData(new String(chars, start, length)
                       + StaticVariable.NEW_LINE);
                  testStepArray.add(new String(chars, start, length));
              else if (isComment)
                  outputWindow.addData(new String(chars, start, length)
                       + StaticVariable.NEW_LINE);
                  commentArray.add(new String(chars, start, length));
              else if (isRequirement)
                  outputWindow.addData(new String(chars, start, length)
                       + StaticVariable.NEW_LINE);
                  requirementArray.add(new String(chars, start, length));
              else if (isResult)
                  outputWindow.addData(new String(chars, start, length)
                       + StaticVariable.NEW_LINE);
                  resultArray.add(new String(chars, start, length));
              else if (isVerify)
                  outputWindow.addData(new String(chars, start, length)
                       + StaticVariable.NEW_LINE);
                  verifyDescriptionArray
                       .add(new String(chars, start, length));
              else if (isEnsure)
                  outputWindow.addData(new String(chars, start, length)
                       + StaticVariable.NEW_LINE);
                  ensureArray.add(new String(chars, start, length));
         public void endElement(String uri, String lname, String qname)
             if (!qname.equals(StaticVariable.XML_COMMAND))
              if (qname.equals(StaticVariable.XML_VERIFY))
                  addRowData(procedurePassed);
                  clearArrays();
              else if (qname.equals(StaticVariable.XML_END))
                  clearArrays();
              isTestCase = false;
              isTestCaseInput = false;
              isTestCaseOutput = false;
              isTestStep = false;
              isComment = false;
              isRequirement = false;
              isResult = false;
              isVerify = false;
              isEnsure = false;
              eval = false;
    }Any other suggestions on trimming down that I'm not seeing would be much appreciated. Thanks again for all your help.

  • In OpenScript, is there anyway to have an XML post pass if a 500 error is returned?

    Hello,
    We're using OpenScript 9.3.1.0 and are automating some Web Service tests.  One of the scenarios is to test when data is sent to the service where no valid session exists, we expect a 500 Interval Server error to be returned.  I have created a test using XML Post Data, however because the server throws a 500 error, this always reports as failed even though the "Text Match Test" with a regex testing the error message passes as expected (as you can see in the attached screenshot).  Is there anyway to tell OpenScript that we expect a [500 Internal Server] error when creating the test, or not to fail on when a condition occurs?
    Thanks in advance,
    Michael.

    You probably need to keep that cookie and create an exception as well, so you can't use Private Browsing or clear the Cookies and Site Preferences via [[Clear Recent History]]. You can let all cookies expire if you close Firefox. That will keep the cookies that have an exception.
    In [[Private Browsing]] mode all cookies are session cookies that expire if that session is ended, so websites won't remember you.

  • How to use oracle TRIM functionality in XML messages

    When i am selecting data from XML message as per below query, it is returing values correctly.
    SELECT extractValue(x.column_value, '/DETAILS/EMPID') as emp_id,
    extractValue(x.column_value, '/DETAILS/NAME') as emp_name,
    extractValue(x.column_value, '/DETAILS/SALARY') as emp_sal
    FROM TABLE(
    XMLSequence(
    Extract( xmltype('<DETAILS><EMPID>2482</EMPID><NAME>SMITH</NAME><SALARY>4854</SALARY><LOC>CHENNAI</LOC></DETAILS>'),'/DETAILS'))) x;
    But when i am selecting data by using below query some additional spaces also coming with column values
    SELECT extractValue(x.column_value, '/DETAILS/EMPID') as emp_id,
    extractValue(x.column_value, '/DETAILS/NAME') as emp_name,
    extractValue(x.column_value, '/DETAILS/SALARY') as emp_sal
    FROM TABLE(
    XMLSequence(
    Extract( xmltype('<DETAILS>
                   <EMPID>
                             2482
                             </EMPID>
                             <NAME>
                             SMITH
                             </NAME>
                             <SALARY>
                             4854
                             </SALARY>
                             <LOC>
                             CHENNAI
                             </LOC>
                             </DETAILS>'),'/DETAILS'))) x;
    Please suggest how to remove additional spaces by using second query.
    Thanks
    Vikrant Jain.

    It appears that the ability to use XPath functions in the PATH expression doesn't work prior to 11g :
    Connecté à :
    Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - Production
    With the Partitioning, OLAP, Data Mining and Real Application Testing options
    SQL> var xmldoc varchar2(4000)
    SQL> begin :xmldoc := '<DETAILS>
      2  <EMPID>
      3  2482
      4  </EMPID>
      5  <NAME>
      6  SMITH
      7  </NAME>
      8  <SALARY>
      9  4854
    10  </SALARY>
    11  <LOC>
    12  CHENNAI
    13  </LOC>
    14  </DETAILS>';
    15  end;
    16  /
    Procédure PL/SQL terminée avec succès.
    SQL> SELECT emp_id, emp_name, emp_sal
      2    FROM XMLTable('/DETAILS'
      3                  PASSING XMLTYPE(:xmldoc)
      4                  COLUMNS
      5                  emp_id     NUMBER        PATH 'normalize-space(EMPID)',
      6                  emp_name   VARCHAR2(20)  PATH 'NAME',
      7                  emp_sal    VARCHAR2(20)  PATH 'SALARY');
    SELECT emp_id, emp_name, emp_sal
    ERREUR à la ligne 1 :
    ORA-31011: Echec d'analyse XML
    ORA-19202: Une erreur s'est produite lors du traitement la fonction XML (
    LPX-00601: Invalid token in: '/*/normalize-space(EMPID)')Using it in XQuery will work though :
    SQL> SELECT *
      2  FROM XMLTable(
      3   'for $i in /DETAILS
      4    return element r
      5    {
      6     for $j in $i/*
      7     return element {local-name($j)} {normalize-space($j)}
      8    }'
      9   PASSING XMLTYPE(:xmldoc)
    10   COLUMNS
    11     emp_id     NUMBER        PATH 'EMPID',
    12     emp_name   VARCHAR2(20)  PATH 'NAME',
    13     emp_sal    NUMBER        PATH 'SALARY'
    14  );
        EMP_ID EMP_NAME                EMP_SAL
          2482 SMITH                      4854

  • Intercepting SOAP XML message in JAX-RPC Handler and calling a diff method

    Is it possible to intercept the SOAP XML message in the JAX-RPC handler and avoid the serialization and deserialization (OR avoid XML data binding)
    Here is a more detail question
    My web service has two methods
    1. One Method which accepts Java Object (this object is mapped with a Schema
    Complex Type Element in my WSDL file)
    2. Second method which accept simple String type.
    I want my web service client to send java object (using the first method), so that the Input gets validate in the WSDL itself (before it hits the actual web service) but once the request gets validated i want to pass that converted SOAP XML String (on the Server side using JAX-RPC handler) to the Second method.

    The answer to this is that the WSDL had
    elementFormDefault="qualified"
    in the schema.
    Changing to unqualified resulted in the desired output.
    Note: The service was changed to handle both cases.

  • Please help me in inserting data into table from XML message.

    Hi Experts,
    Please provide a procedure to implement my below requirement.
    Since I am new to queue concept.
    [code]- <MESSAGES>
    - <MESSAGE ID="3026900">
      <MSG_ID>3026900</MSG_ID>
      <DT_POSTED>6/20/2013 08:15:48</DT_POSTED>
      <POSTED_BY>GPD_MSG_EXTRACTOR</POSTED_BY>
      <DT_LAST_QUEUED />
    - <MSG>
    - <WORK_SET TRANSACTION_ID="@TRANS_ID" TRANSACTION_TYPE="Batch" IS_ACID="@IS_ACID">
    - <WORK_UNIT GROUP="LEAD_TIME" ACTION="UPDATE" AFFECTED="LEAD_TIME">
    - <RECORDSET TABLE_NAME="LEAD_TIME">
    - <xml xmlns:s="uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882" xmlns:dt="uuid:C2F41010-65B3-11d1-A29F-00AA00C14882" xmlns:rs="urn:schemas-microsoft-com:rowset" xmlns:z="#RowsetSchema">
    - <rs:data>
      <z:row business_unit_id="3838" geo="AT" sku="A0814818" dw_maint_flag="False" stock_status_id="0" lead_time="30" est_qty="0" leadtime_lock="False" update_dts="2013-06-12T02:08:30.367" update_uid="DEACTIVATE_SKU_PROCESS" leadtime_dts="2010-05-22T02:21:21.707" leadtime_uid="Lead_Time_Rules" />
      <z:row business_unit_id="202" geo="GB" sku="A0814819" dw_maint_flag="False" stock_status_id="0" lead_time="30" est_qty="0" leadtime_lock="False" update_dts="2013-06-12T02:08:30.367" update_uid="DEACTIVATE_SKU_PROCESS" leadtime_dts="2010-05-22T02:21:21.707" leadtime_uid="Lead_Time_Rules" />
      <z:row business_unit_id="2828" geo="BE" sku="A0814820" dw_maint_flag="False" stock_status_id="0" lead_time="30" est_qty="0" leadtime_lock="False" update_dts="2013-06-12T02:08:30.367" update_uid="DEACTIVATE_SKU_PROCESS" leadtime_dts="2010-05-22T02:21:21.707" leadtime_uid="Lead_Time_Rules" />
      </rs:data>
      </xml>
      </RECORDSET>
      </WORK_UNIT>
    - <WORK_UNIT GROUP="LEAD_TIME" ACTION="ADD" AFFECTED="LEAD_TIME">
    - <RECORDSET TABLE_NAME="LEAD_TIME">
    - <xml xmlns:s="uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882" xmlns:dt="uuid:C2F41010-65B3-11d1-A29F-00AA00C14882" xmlns:rs="urn:schemas-microsoft-com:rowset" xmlns:z="#RowsetSchema">
    - <rs:data>
      <z:row business_unit_id="202" geo="GB" sku="A0814821" dw_maint_flag="False" stock_status_id="0" lead_time="30" est_qty="0" leadtime_lock="False" update_dts="2013-06-12T02:08:30.367" update_uid="DEACTIVATE_SKU_PROCESS" leadtime_dts="2010-05-22T02:21:21.707" leadtime_uid="Lead_Time_Rules" />
      <z:row business_unit_id="2828" geo="BE" sku="A0814822" dw_maint_flag="False" stock_status_id="0" lead_time="30" est_qty="0" leadtime_lock="False" update_dts="2013-06-12T02:08:30.367" update_uid="DEACTIVATE_SKU_PROCESS" leadtime_dts="2010-05-22T02:21:21.707" leadtime_uid="Lead_Time_Rules" />
      </rs:data>
      </xml>
      </RECORDSET>
      </WORK_UNIT>
    - <WORK_UNIT GROUP="LEAD_TIME" ACTION="DELETE" AFFECTED="LEAD_TIME">
    - <RECORDSET TABLE_NAME="LEAD_TIME">
    - <xml xmlns:s="uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882" xmlns:dt="uuid:C2F41010-65B3-11d1-A29F-00AA00C14882" xmlns:rs="urn:schemas-microsoft-com:rowset" xmlns:z="#RowsetSchema">
    - <rs:data>
      <z:row business_unit_id="202" geo="GB" sku="A0814817" dw_maint_flag="False" stock_status_id="0" lead_time="30" est_qty="0" leadtime_lock="False" update_dts="2013-06-12T02:08:30.367" update_uid="DEACTIVATE_SKU_PROCESS" leadtime_dts="2010-05-22T02:21:21.707" leadtime_uid="Lead_Time_Rules" />
      <z:row business_unit_id="2828" geo="BE" sku="A0814816" dw_maint_flag="False" stock_status_id="0" lead_time="30" est_qty="0" leadtime_lock="False" update_dts="2013-06-12T02:08:30.367" update_uid="DEACTIVATE_SKU_PROCESS" leadtime_dts="2010-05-22T02:21:21.707" leadtime_uid="Lead_Time_Rules" />
      </rs:data>
      </xml>
      </RECORDSET>
      </WORK_UNIT>
      </WORK_SET>
      </MSG>
      </MESSAGE>
      </MESSAGES>[/code]
    The above XML message is receieved by our oracle queue.Once the message is receieved to our queue.
    We have to process the message according to the action(UPDATE ADD DELETE).
    From this message we have to process only 3 fields (geo  sku lead_time).
    These three feilds data should be processed into the SKU_LEAD_TIME table based on the action.
    Req1:
    IF the action is update then the records should be updated in the "LEAD_TIME_TABLE" table
    IF the action is update then the records should be updated in the "LEAD_TIME_TABLE" table
    based on the below condition.
    [code]UPDATE LEAD_TIME_TABLE SET lead_time= lead time from xml message
    WHERE LEAD_TIME_TABLE.SKU=sku from xml message AND LEAD_TIME_TABLE.GEO=geo from xml message;[/code]
    Req2:
    IF the action is delete then the records should be deleted from the "LEAD_TIME_TABLE" table.
    based on the below condition.
    [code]DELETE FROM LEAD_TIME_TABLE
    WHERE LEAD_TIME_TABLE.SKU=sku from xml message AND LEAD_TIME_TABLE.GEO=geo from xml message;[/code]
    Req3:
    IF the action is add then the records should be inserted in the "LEAD_TIME_TABLE"  and "LEAD_TIME_TABLE_STAGING" table
    based on the below conditions.
    Req3.1:
    If SKU from XML message is available in "SKU_TABLE" table
    then the three parameter(GEO SKU LEAD_TIME) values from XML message should be inserted into "LEAD_TIME_TABLE" table.
    Req3.2:
    If SKU from XML message is not available in "SKU_TABLE" table
    then the three parameter(GEO SKU LEAD_TIME) values from XML message should be inserted into "LEAD_TIME_TABLE_STAGING" table.
    Req3.3:
    Once the new SKU is avilable in "SKU_TABLE" table then the corresponding SKU record should be
    inserted into "LEAD_TIME_TABLE" table and that record should be deleted from  "LEAD_TIME_TABLE_STAGING" table.
    I am posting required scripts and test cases.
    [code]CREATE TABLE LEAD_TIME_TABLE(sku VARCHAR2(20),model VARCHAR2(20),class CHAR(1),geo VARCHAR2(6),lead_time NUMBER,created DATE);
    CREATE TABLE LEAD_TIME_TABLE_STAGING(sku VARCHAR2(20),geo VARCHAR2(6),lead_time NUMBER);
    CREATE TABLE SKU_TABLE(sku VARCHAR2(20),geo VARCHAR2(6),lead_time NUMBER);
    INSERT INTO SKU_TABLE VALUES('A0814817','GB',30);
    INSERT INTO SKU_TABLE VALUES('A0814818','AT',30);
    INSERT INTO SKU_TABLE VALUES('A0814819','GB',30);
    INSERT INTO SKU_TABLE VALUES('A0814820','BE',30);
    INSERT INTO SKU_TABLE VALUES('A0814821','GB',30);
    INSERT INTO LEAD_TIME_TABLE(SKU,GEO,LEAD_TIME) VALUES('A0814817','GB',30);
    INSERT INTO LEAD_TIME_TABLE(SKU,GEO,LEAD_TIME) VALUES('A0814818','AT',20);
    INSERT INTO LEAD_TIME_TABLE(SKU,GEO,LEAD_TIME) VALUES('A0814819','GB',20);
    INSERT INTO LEAD_TIME_TABLE(SKU,GEO,LEAD_TIME) VALUES('A0814820','BE',20);
    INSERT INTO LEAD_TIME_TABLE_STAGING VALUES('A0814822','BE',30);[/code]
    From the above message.
    Test case for req3.1:
    The action for SKU numbers "A0814821"  "A0814822" are insert.
    The SKU number  "A0814821" is available in SKU_TABLE table.
    so the record should be inserted in the LEAD_TIME_TABLE.
    [code]SELECT * FROM LEAD_TIME_TABLE;
    SKU        GEO   LEAD_TIME
    A0814817    GB    30
    A0814818    AT    20
    A0814819    GB    20
    A0814820    BE    20
    A0814821    GB    30[/code]
    Test case for req3.2:
    The action for SKU numbers "A0814821"  "A0814822" are insert.
    The SKU number  "A0814822" is not available in SKU_TABLE table.
    so the record should be inserted in the LEAD_TIME_TABLE_STAGING.
    [code]SELECT * FROM LEAD_TIME_TABLE_STAGING;
    SKU        GEO   LEAD_TIME
    A0814822    BE     30[/code]
    Test case for req3.3:
    The action for SKU numbers "A0814821"  "A0814822" are insert.
    The SKU number  "A0814822" is not available in SKU_TABLE table.
    Once I insert SKU number "A0814822" in SKU_TABLE table.
    The corresponding records automatically should be inserted in the LEAD_TIME_TABLE
    and should be deleted from LEAD_TIME_TABLE_STAGING.
    [code]SELECT * FROM LEAD_TIME_TABLE_STAGING;  --- should return NULL.
    SELECT * FROM LEAD_TIME_TABLE;
    SKU        GEO   LEAD_TIME
    A0814817    GB    30
    A0814818    AT    20
    A0814819    GB    20
    A0814820    BE    20
    A0814821    GB    30
    A0814822    BE    30[/code]
    Please help me.
    Thanks in advance.

    Hi,
    I have resolved this issue.
    But I have stuck up in implementing some of the scenarios.
    Req1:
    IF the action is update then the records should be updated in the "LEAD_TIME_TABLE" table
    IF the action is update then the records should be updated in the "LEAD_TIME_TABLE" table
    based on the below condition.
    UPDATE LEAD_TIME_TABLE SET lead_time= lead time from xml message
    WHERE LEAD_TIME_TABLE.SKU=sku from xml message AND LEAD_TIME_TABLE.GEO=geo from xml message;
    Req3:
    IF the action is add then the records should be inserted in the "LEAD_TIME_TABLE"  and "LEAD_TIME_TABLE_STAGING" table
    based on the below conditions.
    Req3.1:
    If SKU from XML message is available in "schema_name.SKU_TABLE" table.
    The schema_name.SKU_TABLE table should be selected based on "business_unit_id" of XML message and "sid" of MAPPING table WHERE business_unit_id=sid.
    then the three parameter(GEO SKU LEAD_TIME) values from XML message and two fields MODEL,CLASS from SKU_TABLE
    should be inserted into "LEAD_TIME_TABLE" table.
    Req3.2:
    If SKU from XML message is not available in "schema_name.SKU_TABLE" table
    The schema_name.SKU_TABLE table should be selected based on "business_unit_id" of XML message and "sid" of MAPPING table WHERE business_unit_id=sid.
    then the four parameter(BUSINESS_UNIT_ID GEO SKU LEAD_TIME) values from XML message
    should be inserted into "LEAD_TIME_TABLE_STAGING" table.
    Req3.3:
    Once the new SKU is avilable in "schema_name.SKU_TABLE" table then the corresponding SKU record should be
    inserted into "LEAD_TIME_TABLE" table and that record should be deleted from  "LEAD_TIME_TABLE_STAGING" table.
    The schema_name.SKU_TABLE table should be selected based on "business_unit_id" of LEAD_TIME_TABLE_STAGING and "sid" of MAPPING table WHERE business_unit_id=sid.
    I am posting required scripts and test cases.
    [code]CREATE TABLE LEAD_TIME_TABLE(sku VARCHAR2(20),model VARCHAR2(20),class CHAR(1),geo VARCHAR2(6),lead_time NUMBER,created DATE);
    CREATE TABLE LEAD_TIME_TABLE_STAGING(business_unit_id NUMBER,sku VARCHAR2(20),geo VARCHAR2(6),lead_time NUMBER);
    CREATE TABLE SKU_TABLE(sku VARCHAR2(20),model VARCHAR2(20),class VARCHAR2(10));
    CREATE TABLE mapping(sid NUMBER,schema_name VARCHAR2(20));
    INSERT INTO LEAD_TIME_TABLE(SKU,GEO,LEAD_TIME) VALUES('A0814817','GB',30);
    INSERT INTO LEAD_TIME_TABLE(SKU,GEO,LEAD_TIME) VALUES('A0814818','AT',20);
    INSERT INTO LEAD_TIME_TABLE(SKU,GEO,LEAD_TIME) VALUES('A0814819','GB',20);
    INSERT INTO LEAD_TIME_TABLE(SKU,GEO,LEAD_TIME) VALUES('A0814820','BE',20);
    INSERT INTO SKU_TABLE VALUES('A0814817','M125','C111');
    INSERT INTO SKU_TABLE VALUES('A0814818','M127','A111');
    INSERT INTO SKU_TABLE VALUES('A0814819','M126','A111');
    INSERT INTO SKU_TABLE VALUES('A0814820','N100','B111');
    INSERT INTO SKU_TABLE VALUES('A0814821','P123','B111');
    INSERT INTO mapping VALUES(202,'WEDB');
    INSERT INTO mapping VALUES(2828,'HR');
    INSERT INTO mapping VALUES(3838,'BB');
    [/code]
    Test case for req3.1:
    The action for SKU numbers "A0814821"  "A0814822" are insert.
    The SKU number  "A0814821" is available in schema_name.SKU_TABLE table.
    so the record should be inserted in the LEAD_TIME_TABLE.
    [code]SELECT * FROM LEAD_TIME_TABLE;
    SKU        MODEL  CLASS  GEO   LEAD_TIME
    A0814817    M125   C111   GB     30
    A0814818    M127   A111   AT     20
    A0814819    M126   A111   GB     20
    A0814820    N100   B111   BE     20
    A0814821    P123   B111   GB     30
    [/code]
    Test case for req3.2:
    The action for SKU numbers "A0814821"  "A0814822" are insert.
    The SKU number  "A0814822" is not available in SKU_TABLE table.
    so the record should be inserted in the LEAD_TIME_TABLE_STAGING.
    [code]SELECT * FROM LEAD_TIME_TABLE_STAGING;
    BUSINESS_UNIT_ID       SKU        GEO   LEAD_TIME
    2828               A0814822    BE     30[/code]
    Test case3.3.3:
    The action for SKU numbers "A0814821"  "A0814822" are insert.
    The SKU number  "A0814822" is not available in SKU_TABLE table.
    Once I insert SKU number "A0814822" in SKU_TABLE table.
    The corresponding records automatically should be inserted in the LEAD_TIME_TABLE
    and should be deleted from LEAD_TIME_TABLE_STAGING.
    [code]INSERT INTO SKU_TABLE VALUES('A0814822','P123','B111');
    SELECT * FROM LEAD_TIME_TABLE_STAGING;  --- should return NULL.
    SELECT * FROM LEAD_TIME_TABLE;
    SKU        MODEL  CLASS  GEO   LEAD_TIME
    A0814817    M125   C111   GB     30
    A0814818    M127   A111   AT     20
    A0814819    M126   A111   GB     20
    A0814820    N100   B111   BE     20
    A0814821    P123   B111   GB     30
    A0814822    P123   B111   GB     30[/code]
    I am able to implement Req1 and Req3.1 for action UPDATE and INSERT in single merge statement.
    However my code is not taking care of all my requirements.
    Please find my below code.
    [code]   CREATE OR REPLACE PACKAGE BODY messg_values_process
       AS
        procedure ProcessInboundLtimeMessage(p_xml_message XmlType)
        is
        begin
            for work_unit in (
                select message.MESSAGE_ID
                     , work_unit.ACTION
                     , work_unit.LEADTIME_NODES
                  from XmlTable(
                        '/MESSAGES/MESSAGE'
                        passing p_xml_message
                        columns
                            MESSAGE_NO          for ordinality
                          , MESSAGE_ID          number path '@ID'
                          , WORK_UNIT_NODES     XmlType path 'MSG/WORK_SET/WORK_UNIT'
                       ) message
                     , XmlTable(
                        XmlNamespaces(
                            'urn:schemas-microsoft-com:rowset' as "rs"
                          , '#RowsetSchema' as "z"
                        '/WORK_UNIT'
                        passing message.WORK_UNIT_NODES
                        columns
                            WORK_UNIT_NO        for ordinality
                          , ACTION              varchar2(10 char) path '@ACTION'
                          , LEADTIME_NODES       XmlType path 'RECORDSET[@TABLE_NAME="LEAD_TIME"]/xml/rs:data/z:row'
                       ) work_unit
        LOOP
                CASE work_unit.ACTION
                  WHEN 'ADD'    THEN MergeData(work_unit.LEADTIME_NODES);
                  WHEN 'UPDATE' THEN MergeData(work_unit.LEADTIME_NODES);
                  WHEN 'DELETE' THEN RemoveData(work_unit.LEADTIME_NODES);
                  ELSE null;
                END CASE;
            END LOOP;
        END ProcessInboundLtimeMessage;
            procedure MergeData(p_leadtime_nodes XmlType)
        is
        begin
            if (p_leadtime_nodes is not null) then
                merge into LEAD_TIME_TABLE old
                using(
                    select *
                      from XmlTable(
                            XmlNamespaces(
                                'urn:schemas-microsoft-com:rowset' as "rs"
                              , '#RowsetSchema' as "z"
                            '/z:row[not(@business_unit_id=following-sibling::z:row/@business_unit_id)]'
                            passing p_leadtime_nodes
                            columns
                                ITEM_NO             for ordinality
                              , BUSINESS_UNIT_ID    number path '@business_unit_id'
                              , GEO                 varchar2(20 char) path '@geo'
                              , SKU                 varchar2(20 char) path '@sku'
                              , LEAD_TIME           number path '@lead_time'
                ) NEW
                   ON (old.VK_UNIT = new.SKU
                  AND old.GEO=new.GEO)
                when matched then update
                   set old.LEAD_TIME = new.LEAD_TIME
                when not matched then INSERT
                     ( old.VK_UNIT
                     , old.MODEL
                     , old.CLASS
                     , old.GEO
                     , old.LEAD_TIME
                     , old.COUNTDOWN
                     , old.LAST_UPDATED_DATE
                     values
                     ( new.SKU
                     ,'A123'
                     ,'A1234'
                     , new.GEO
                     , new.LEAD_TIME
                     , 'N'
                     , sysdate
            end if;
             exception
            when others then
                LogDataError(
                    'MergeData Procedure Failed #: '||chr(10)||sqlerrm
                  , null
                  , null
        END MergeData;
    END messg_values_process;
    /[/code]
    Please help me.
    Thanks.

  • Namespace Element within Outbound XML Message

    Hi there,
    I am using XI 2.0 and trying to map an IDoc to an XML message to be passed onwards via JMS to a 3rd Party MQ System.
    I've created the mapping without too many issues but the 3rd Party says that I need to remove the namespace element tag from my final message as they don't want to see this (It's not in their DTD). Is there any way in XI 2.0 to suppress this part of the XML output so that you only get the main XML definition tag...
    i.e. rather than the final message being...
    <?xml version="1.0" encoding="UTF-8"?>
    <ns0:MessageType xmlns:ns0="namespace">
    <first_tag>Data<first_tag/>...
    Instead produce...
    <?xml version="1.0" encoding="UTF-8"?>
    <first_tag>Data<first_tag/>...
    Any help would be much appreciated.
    Regards,
    Gordon

    Gordon--
    I think I have some good news, and some bad news.
    The good news is that you should be able to remove the namespace alias declaration attribute ('xmlns:ns0=...')  and namespace qualifiers ('ns0:[tagname]').  You can do this by writing a dispatcher function and adding it to the JMS adapter.
    The bad news is that this means you'll have to code the transformation that removes the tags.  Dispatchers are essentially the 'user exits' of XI.  This transformation can be either Java or XSLT -- XSLT is probably easier for a case like this.
    There is a touch of documentation about how to do this in the adapter engine online help (or the 'Adapter Engine' guide for XI 2.0 SR1).  See the sections for the JMS adapter for help on installing your dispatcher transformation.  See the section "Using the Dispatcher: Example" for a bit of help on using dispatchers.
    If you do it in Java, your dispatcher class will have to be accessible in the adapter engine classpath.  If you do it in XSLT, I'm not sure where the .xsl file goes -- perhaps in the Adapter Engine working directory?
    --Dan King
    Capgemini

Maybe you are looking for

  • How do i delete an iTunes account on my iPhone?

    I have an old iTunes account with a hotmail address.  how do i get rid of it?  Thanks

  • Default websiste size in Safari

    Is there a way to default the website size.  Every time I use Safari,  I have to hit the Command plus the + keys to enlarge the size of the website on the screen.   I don't mean changing the size of the window itself, but the size of the website in t

  • Disable vertical movement of the caret in a JTextArea

    Hello all, I have a JTextArea where the user should be able to edit only the last (current) line. Whenever the user presses CURSOR_UP, the caret shouldn't move. Moving the caret to the left and right should be possible. Could anyone give me a hint, w

  • Problem with arrays and comparing

    Hi, I am having problem accessing the array indexes. The program supposed to ask the user to enter the car model. If the car exists then it will display the message The modelname is available. If it doesnt exist The modelname does not exist. Thanks C

  • Pavilion D7-4060US Help

    I own a Pavilion D7-4060US running Windows 7 (not sure if it is 64 or 32 bit). The display was cracked some time back but I was able to continue using the computer via an analog cable connected to my tv. I packed the computer away for about 5 months