Transform JMS objects to XML in ESB

All,
Is there a possibility of converting the JMS objects into XML using adapter services in ESB?
Thanks,
M.Rajesh

Rajesh,
If it is Text message(payload) then you can do that,
but for Java objects i never came across any thing?

Similar Messages

  • How to transform common object to xml string

    I know that I can import xml dtd a the common data type in iStudio. However, does anyone know how to serialize it back to the xml string during the field mapping? Is it even possible?
    Thanks,
    Edward

    Thanks Stuart for your reply. What I'm trying to do is to convert the xml message from the common view object to JMS Text Message. I declared the application data type as AQ$JMS_TEXT_MESSAGE and I try to map the common data type which is I imported from dtd to the application JMS type. During the mapping I need to serialize the common data type object back to xml string, so I can copy it to text_vc field defined in JMS Text Message (String type).
    Or do you know any other alternative to convert from RAW XML payload type to JMS payload type in iStudio?
    Thanks,
    Edward

  • I want to transform an object into a XML-String

    Hallo,
    in my BSP I want to transform an object into a xml string to set a server side cookie.
    Therefore my code is:
      DATA:
        lv_xml      TYPE string,
        lv_username TYPE string.
    model    ?= get_model( model_id = 'main' ).
      lv_username = sy-uname.
      Call TRANSFORMATION id SOURCE o = model  RESULT XML lv_xml.
      cl_bsp_server_side_cookie=>set_server_cookie(
            name                  = 'MODEL'
            application_name      = runtime->application_name
            application_namespace = runtime->application_namespace
            username              = lv_username
            session_id            = runtime->session_id
            data_value            = lv_xml
            data_name             = 'MODEL'
            expiry_time_rel       = 3600 ).
    But after the command "Call Transformation" the xml-string doesn't contain all the data of my object, only this:
    <?xml version="1.0" encoding="iso-8859-1"?>#<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0"><asx:values><O href="#o19"/></asx:values><asx:heap xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:abap="http://www.sap.com/abapxml/types/built-in" xmlns:cls="http://www.sap.com/abapxml/classes/global" xmlns:dic="http://www.sap.com/abapxml/types/dictionary"> <cls:ZCL_M_ESS_TRV_OVW id="o19"/
    ></asx:heap></asx:abap>
    What is wrong?
    Regards.
    Martin

    see thread nr.: Re: Call transformation with an object

  • How do I add a variable into an object as xml

    I have a xml document with 2 protection order numbers. I want to get the information for one of them which is **protectionOrderNumber="1400042"**. I would like to add strPoNumber variable to the object objXmlCaseDoc. Inside this object is the xml
    that was read and put inside the object. I want at the beginning of the xml code inside the objXmlCaseDoc to add the protectionOrderNumber at the end of the first line. This should be added at the beginning of the xml document. In my object (objXmlCaseDoc)
    there is no variable strPoNumber. This is why I want to add it at the top. The object has xml document in it. 
    It should look like this:
    <Integration xmlns:msxsl="urn:schemas-microsoft-com:xslt" xmlns:tsg="http://tsgweb.com" xmlns:IXML="http://tsgweb.com" xmlns:CMCodeQueryHelper="urn:CMCodeQueryHelper" protectionOrderNumber="1400042">
    My vb code: I have the variable strPoNumber and the object where the xml document is. Object name is objXmlCaseDoc
    I want to add the line of code where I have comment Tranform case information into the output format near the bottom of the code.
    Option Strict On
    Option Explicit On
    Imports System.Xml
    Public Class BcaPoRequests
    Shared Sub Main()
    Dim objMessageProcessor As New MessageProcessor
    Dim objSchemasCollection As New Msc.Integration.MessageBroker.Library.v4.SchemasCollection
    Dim objTransformsCollection As New Msc.Integration.MessageBroker.Library.v4.TransformsCollection
    objMessageProcessor.ProcessInputQueue(False, False, objSchemasCollection, objTransformsCollection)
    End Sub
    Private Class MessageProcessor
    Inherits Msc.Integration.ServiceCatalog.Library.v4.SoapMessageProcessor
    Protected Overrides Sub ProcessMessage(ByRef aobjBroker As ServiceCatalog.Library.v4.Broker, ByRef aobjXMLInputSoapEnvelopeDoc As System.Xml.XmlDocument, ByRef aobjInstantiatedObjectsCstrollection As Microsoft.VisualBasic.Collection, ByRef aobjConsumer As ServiceCatalog.Library.v4.Consumer)
    MyBase.ProcessMessage(aobjBroker, aobjXMLInputSoapEnvelopeDoc, aobjInstantiatedObjectsCollection, aobjConsumer)
    Dim objXmlMessageDoc As XmlDocument
    Dim objXmlMessageNode As XmlNode
    Dim objNameTable As NameTable
    Dim objXMLNameSpaceManager As XmlNamespaceManager
    Dim objXMLSchemaException As Xml.Schema.XmlSchemaException
    Dim strCaseNumber As String
    Dim strPoNumber As String
    Dim objXmlCaseDoc As XmlDocument
    'create a namespace manager used for queries into inputmessage (because of namespace)
    objNameTable = New NameTable
    objXMLNameSpaceManager = New XmlNamespaceManager(objNameTable)
    objXMLNameSpaceManager.AddNamespace("ext", "http://www.courts.state.mn.us/ProtectionOrderExtension/1.0")
    objXMLNameSpaceManager.AddNamespace("exc", "http://www.courts.state.mn.us/ProtectionOrderQuery/1.0")
    objXMLNameSpaceManager.AddNamespace("soap", "http://www.w3.org/2003/05/soap-envelope")
    objXMLNameSpaceManager.AddNamespace("wsa", "http://schemas.xmlsoap.org/ws/2004/08/addressing")
    objXmlMessageNode = aobjXMLInputSoapEnvelopeDoc.DocumentElement.SelectSingleNode("soap:Body/exc:ProtectionOrderQueryRequest", objXMLNameSpaceManager)
    objXmlMessageDoc = New XmlDocument
    objXmlMessageDoc.LoadXml(objXmlMessageNode.OuterXml)
    'Check authorization
    'Validate the input message
    objXMLSchemaException = aobjBroker.ValidateXmlDocument(objXmlMessageDoc, "ProtectionOrderQuery_1_0.xsd", "NiemExchanges\ProtectionOrders\Exchange", , False)
    If Not objXMLSchemaException Is Nothing Then
    'return fault if invalid
    aobjBroker.Reply(aobjBroker.CreateSoapFault(Msc.Integration.Utility.Library.v4.Soap.udtSoapCodes.Sender, Msc.Integration.Utility.Library.v4.Xml.FormatXmlSchemaValidationErrorText(objXMLSchemaException), Msc.Integration.Utility.Library.v4.Soap.udtSoapRoles.RoleUltimateReceiver, aobjXMLInputSoapEnvelopeDoc, "soap:InvalidMessage", "soap:Body", Msc.Integration.Utility.Library.v4.Soap.GetReplyEndpointReference(aobjXMLInputSoapEnvelopeDoc), aobjXMLInputSoapEnvelopeDoc.DocumentElement.SelectSingleNode("soap:Header/wsa:MessageID", objXMLNameSpaceManager).InnerText, aobjConsumer))
    Exit Sub
    End If
    'Get the case number and the PO number from the input message
    strCaseNumber = objXmlMessageDoc.DocumentElement.SelectSingleNode("ext:CourtFileNumber", objXMLNameSpaceManager).InnerText
    strPoNumber = objXmlMessageDoc.DocumentElement.SelectSingleNode("ext:ProtectionOrderID", objXMLNameSpaceManager).InnerText
    'Get the case information from Mncis
    'Code for calling the case
    objXmlCaseDoc = Msc.Integration.Mncis.Library.v4.Case.GetIxmlForCaseNumber(strCaseNumber, "CourtCaseHeader,ProtectionOrder,SubjectParties,HearingTrialSetting", False)
    'Tranform case information into the output format
    End Sub
    End Class
    End Class
    xslt code
    <?xml version="1.0" encoding="UTF-8"?>
    <?altova_samplexml file:///Z:/Training%20with%20Tim%20XML%20code%20various/BcaRequestIxml.xml?>
    <xsl:stylesheet version="3.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:fn="http://www.w3.org/2005/xpath-functions" xmlns:poq="http://www.courts.state.mn.us/ProtectionOrderQuery/1.0" xmlns:ext="http://www.courts.state.mn.us/ProtectionOrderExtension/1.0" xmlns:nc="http://niem.gov/niem/niem-core/2.0" xmlns:j="http://niem.gov/niem/domains/jxdm/4.1" xmlns:mscef="courts.state.mn.us/extfun" xmlns:msxsl="urn:schemas-microsoft-com:xslt" xmlns:exsl="urn:schemas-microsoft-com:xslt" extension-element-prefixes="exsl" exclude-result-prefixes="mscef msxsl exsl">
    <xsl:import href="../General/ExtensionFunctions.xsl"/>
    <xsl:import href="MNCIS_PO_BCA_ProtectionOrder_1_0.xsl"/>
    <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
    <!-- Path to environment folder used by document function. Relative to location of stylesheet. -->
    <xsl:param name="gEnvPath">../..</xsl:param>
    <xsl:template match="/">
    <xsl:variable name="vPoNumber">
    <xsl:value-of select="Integration/@protectionOrderNumber"/>
    </xsl:variable>
    <poq:ProtectionOrderQueryResponse>
    <xsl:for-each select="//Integration/ProtectionOrder[ProtectionOrderNumber=$vPoNumber]">
    <xsl:call-template name="ProtectionOrder"/>
    </xsl:for-each>
    </poq:ProtectionOrderQueryResponse>
    </xsl:template>
    </xsl:stylesheet>
    XML document output  from my xslt code
    <?xml version="1.0" encoding="UTF-8"?>
    <poq:ProtectionOrderQueryResponse xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:fn="http://www.w3.org/2005/xpath-functions" xmlns:poq="http://www.courts.state.mn.us/ProtectionOrderQuery/1.0" xmlns:ext="http://www.courts.state.mn.us/ProtectionOrderExtension/1.0" xmlns:nc="http://niem.gov/niem/niem-core/2.0" xmlns:j="http://niem.gov/niem/domains/jxdm/4.1">
    <ext:ProtectionOrder xmlns:exc="http://www.courts.state.mn.us/ProtectionOrderServiceExchange/1.0" xmlns:s="http://niem.gov/niem/structures/2.0" xmlns:usps="http://niem.gov/niem/usps_states/2.0">
    <j:CourtOrderEnforcementAgency>
    <nc:OrganizationIdentification>
    <nc:IdentificationID>MN0700000</nc:IdentificationID>
    </nc:OrganizationIdentification>
    </j:CourtOrderEnforcementAgency>
    <ext:ForeignOrderIdentification>
    <nc:IdentificationID/>
    <ext:ForeignOrderIdentificationTypeCode/>
    </ext:ForeignOrderIdentification>
    <ext:HearingHeldIndicator>false</ext:HearingHeldIndicator>
    <nc:Location s:id="DB1618611387">
    <nc:LocationAddress>
    <nc:StructuredAddress>
    <nc:LocationStreet>
    <nc:StreetFullText>3434 Bohnsack Way</nc:StreetFullText>
    <nc:StreetFullText>Unit 75 B</nc:StreetFullText>
    <nc:StreetFullText/>
    </nc:LocationStreet>
    <nc:LocationCityName>New Prague</nc:LocationCityName>
    <nc:LocationStateUSPostalServiceCode>MN</nc:LocationStateUSPostalServiceCode>
    <nc:LocationPostalCode>56071</nc:LocationPostalCode>
    </nc:StructuredAddress>
    </nc:LocationAddress>
    </nc:Location>
    <ext:ProtectedParty>
    <ext:PersonBirthDate ext:approximateDateIndicator="false" ext:currentIndicator="true">1987-11-21</ext:PersonBirthDate>
    <nc:PersonName>
    <nc:PersonGivenName>Jennifer</nc:PersonGivenName>
    <nc:PersonMiddleName>Marie</nc:PersonMiddleName>
    <nc:PersonSurName>O'Brien</nc:PersonSurName>
    <nc:PersonNameSuffixText/>
    <nc:PersonFullName>O'Brien, Jennifer Marie</nc:PersonFullName>
    </nc:PersonName>
    <ext:PersonRaceCode/>
    <nc:PersonSexCode>F</nc:PersonSexCode>
    <ext:PetitionerIndicator>true</ext:PetitionerIndicator>
    </ext:ProtectedParty>
    <ext:ProtectedParty>
    <ext:PersonBirthDate ext:approximateDateIndicator="false" ext:currentIndicator="true">2008-03-24</ext:PersonBirthDate>
    <nc:PersonName>
    <nc:PersonGivenName>Eli</nc:PersonGivenName>
    <nc:PersonMiddleName>Rose</nc:PersonMiddleName>
    <nc:PersonSurName>Noir</nc:PersonSurName>
    <nc:PersonNameSuffixText/>
    <nc:PersonFullName>Noir, Eli Rose</nc:PersonFullName>
    </nc:PersonName>
    <ext:PersonRaceCode/>
    <nc:PersonSexCode>F</nc:PersonSexCode>
    <ext:PetitionerIndicator>false</ext:PetitionerIndicator>
    </ext:ProtectedParty>
    <ext:ProtectionOrderBradyIndicator>N</ext:ProtectionOrderBradyIndicator>
    <ext:ProtectionOrderCondition>
    <ext:ConditionText>Respondent must not have any contact with the Protected Person(s) whether in person, with or through other persons, by telephone, mail, e-mail, through electronic devices, social media, or by any other means except as follows: [] </ext:ConditionText>
    <ext:ConditionCode>08</ext:ConditionCode>
    </ext:ProtectionOrderCondition>
    <ext:ProtectionOrderCondition>
    <ext:ConditionText>Respondent must stay a reasonable distance away from the residence(s) of the Protected Person(s), specifically as follows: [distance]; and Respondent must stay a reasonable distance away from ANY FUTURE RESIDENCES of the Protected Person(s). </ext:ConditionText>
    <ext:ConditionCode>04</ext:ConditionCode>
    </ext:ProtectionOrderCondition>
    <ext:ProtectionOrderCondition>
    <ext:ConditionText>Respondent shall not call or enter Petitioner's place of employment which includes all land, parking lots, and buildings at: </ext:ConditionText>
    <ext:ConditionCode>04</ext:ConditionCode>
    </ext:ProtectionOrderCondition>
    <ext:ProtectionOrderExpirationDate>2015-12-22</ext:ProtectionOrderExpirationDate>
    <ext:ProtectionOrderFinding>
    <ext:FindingText>Respondent personally appeared or had reasonable notice and opportunity to be heard. The procedures for service upon Respondent set forth in the Minnesota Domestic Abuse Act (Minn.Stat. 518B.01) were followed, and the court has jurisdiction over the parties and subject matter. </ext:FindingText>
    <ext:FindingCode>OAH1</ext:FindingCode>
    </ext:ProtectionOrderFinding>
    <ext:ProtectionOrderFinding>
    <ext:FindingText>Acts of domestic abuse have occurred, including the following: [] </ext:FindingText>
    <ext:FindingCode>OAH4A</ext:FindingCode>
    </ext:ProtectionOrderFinding>
    <ext:ProtectionOrderID>1400042</ext:ProtectionOrderID>
    <ext:ProtectionOrderIssuingCourt>
    <nc:OrganizationIdentification>
    <nc:IdentificationID>MN070015J</nc:IdentificationID>
    </nc:OrganizationIdentification>
    <ext:CourtFaxNumber>
    <nc:TelephoneNumberFullID>952-496-8211</nc:TelephoneNumberFullID>
    </ext:CourtFaxNumber>
    <ext:CourtTelephoneNumber>
    <nc:TelephoneNumberFullID>952-496-8200</nc:TelephoneNumberFullID>
    <nc:TelephoneSuffixID/>
    </ext:CourtTelephoneNumber>
    </ext:ProtectionOrderIssuingCourt>
    <ext:ProtectionOrderIssuingDate>2014-12-22</ext:ProtectionOrderIssuingDate>
    <ext:ProtectionOrderIssuingJudicialOfficial>
    <nc:PersonName>
    <nc:PersonGivenName>Do</nc:PersonGivenName>
    <nc:PersonMiddleName>P.</nc:PersonMiddleName>
    <nc:PersonSurName>Ande</nc:PersonSurName>
    <nc:PersonNameSuffixText/>
    <nc:PersonFullName>Ande, Do P.</nc:PersonFullName>
    </nc:PersonName>
    </ext:ProtectionOrderIssuingJudicialOfficial>
    <ext:ProtectionOrderOtherIdentification>
    <nc:IdentificationID>12345</nc:IdentificationID>
    <ext:ProtectionOrderOtherIdentificationTypeCode>NCICNUM</ext:ProtectionOrderOtherIdentificationTypeCode>
    </ext:ProtectionOrderOtherIdentification>
    <ext:ProtectionOrderService>
    <ext:ProtectionOrderServiceAgency>
    <nc:OrganizationIdentification>
    <nc:IdentificationID>MN0191000</nc:IdentificationID>
    </nc:OrganizationIdentification>
    </ext:ProtectionOrderServiceAgency>
    <ext:ProtectionOrderServiceDate>2015-01-10</ext:ProtectionOrderServiceDate>
    <ext:ProtectionOrderServiceTime>16:25:00-06:00</ext:ProtectionOrderServiceTime>
    <ext:ProtectionOrderServiceToCode>Respondent</ext:ProtectionOrderServiceToCode>
    <ext:ProtectionOrderServiceTypeCode>BYPUB</ext:ProtectionOrderServiceTypeCode>
    </ext:ProtectionOrderService>
    <ext:ProtectionOrderService>
    <ext:ProtectionOrderServiceAgency>
    <nc:OrganizationIdentification>
    <nc:IdentificationID>MN0191000</nc:IdentificationID>
    </nc:OrganizationIdentification>
    </ext:ProtectionOrderServiceAgency>
    <ext:ProtectionOrderServiceDate>2015-01-10</ext:ProtectionOrderServiceDate>
    <ext:ProtectionOrderServiceTime>16:25:00-06:00</ext:ProtectionOrderServiceTime>
    <ext:ProtectionOrderServiceToCode>Respondent</ext:ProtectionOrderServiceToCode>
    <ext:ProtectionOrderServiceTypeCode>BYPUB</ext:ProtectionOrderServiceTypeCode>
    </ext:ProtectionOrderService>
    <ext:ProtectionOrderService>
    <ext:ProtectionOrderServiceAgency>
    <nc:OrganizationIdentification>
    <nc:IdentificationID>MN0191000</nc:IdentificationID>
    </nc:OrganizationIdentification>
    </ext:ProtectionOrderServiceAgency>
    <ext:ProtectionOrderServiceDate>2015-01-10</ext:ProtectionOrderServiceDate>
    <ext:ProtectionOrderServiceToCode>Respondent</ext:ProtectionOrderServiceToCode>
    <ext:ProtectionOrderServiceTypeCode>BYPUB</ext:ProtectionOrderServiceTypeCode>
    </ext:ProtectionOrderService>
    <ext:ProtectionOrderService>
    <ext:ProtectionOrderServiceAgency>
    <nc:OrganizationIdentification>
    <nc:IdentificationID>MN0250800</nc:IdentificationID>
    </nc:OrganizationIdentification>
    </ext:ProtectionOrderServiceAgency>
    <ext:ProtectionOrderServiceDate>2015-01-09</ext:ProtectionOrderServiceDate>
    <ext:ProtectionOrderServiceToCode>Respondent</ext:ProtectionOrderServiceToCode>
    <ext:ProtectionOrderServiceTypeCode>BYMAIL</ext:ProtectionOrderServiceTypeCode>
    </ext:ProtectionOrderService>
    <ext:ProtectionOrderService>
    <ext:ProtectionOrderServiceAgency>
    <nc:OrganizationIdentification>
    <nc:IdentificationID>MN0720100</nc:IdentificationID>
    </nc:OrganizationIdentification>
    </ext:ProtectionOrderServiceAgency>
    <ext:ProtectionOrderServiceDate>2014-12-22</ext:ProtectionOrderServiceDate>
    <ext:ProtectionOrderServiceToCode>Respondent</ext:ProtectionOrderServiceToCode>
    <ext:ProtectionOrderServiceTypeCode>BYPUB</ext:ProtectionOrderServiceTypeCode>
    </ext:ProtectionOrderService>
    <ext:ProtectionOrderStatus>
    <ext:ProtectionOrderStatusCode>SBJO</ext:ProtectionOrderStatusCode>
    <ext:ProtectionOrderStatusDate>2014-12-22</ext:ProtectionOrderStatusDate>
    </ext:ProtectionOrderStatus>
    <ext:ProtectionOrderTypeCode>OFP</ext:ProtectionOrderTypeCode>
    <ext:QualifyingRelationship>
    <ext:QualifyingRelationshipCode>LIVTOGTHR</ext:QualifyingRelationshipCode>
    <ext:QualifyingRelationshipText>Lived Together</ext:QualifyingRelationshipText>
    </ext:QualifyingRelationship>
    <ext:Respondent>
    <nc:PersonEthnicityCode/>
    <nc:PersonEyeColorCode/>
    <nc:PersonHairColorCode>XXX</nc:PersonHairColorCode>
    <nc:PersonHeightMeasure>
    <nc:MeasureText>71</nc:MeasureText>
    <nc:MeasureUnitText>inches</nc:MeasureUnitText>
    <nc:LengthUnitCode>INH</nc:LengthUnitCode>
    </nc:PersonHeightMeasure>
    <ext:PersonRaceCode>W</ext:PersonRaceCode>
    <nc:PersonSexCode>M</nc:PersonSexCode>
    <nc:PersonWeightMeasure>
    <nc:MeasureText>210</nc:MeasureText>
    <nc:MeasureUnitText>pounds</nc:MeasureUnitText>
    <nc:WeightUnitCode>LBR</nc:WeightUnitCode>
    </nc:PersonWeightMeasure>
    <ext:AddressReference ext:currentIndicator="true">
    <nc:LocationReference s:ref="DB1618611387"/>
    </ext:AddressReference>
    <ext:PersonBirthDate ext:approximateDateIndicator="true" ext:currentIndicator="false">1990-12-23</ext:PersonBirthDate>
    <ext:PersonBirthDate ext:approximateDateIndicator="false" ext:currentIndicator="false">1989-12-23</ext:PersonBirthDate>
    <ext:PersonBirthDate ext:approximateDateIndicator="false" ext:currentIndicator="true">1991-12-23</ext:PersonBirthDate>
    <ext:PersonName ext:currentIndicator="true">
    <nc:PersonGivenName>Guy</nc:PersonGivenName>
    <nc:PersonMiddleName>Andr</nc:PersonMiddleName>
    <nc:PersonSurName>Noir</nc:PersonSurName>
    <nc:PersonNameSuffixText>Jr.</nc:PersonNameSuffixText>
    <nc:PersonFullName>Noir Jr , Guy Andr</nc:PersonFullName>
    </ext:PersonName>
    </ext:Respondent>
    <ext:RespondentPresentAtHearingIndicator>false</ext:RespondentPresentAtHearingIndicator>
    </ext:ProtectionOrder>
    <ext:SupersededProtectionOrderID xmlns:exc="http://www.courts.state.mn.us/ProtectionOrderServiceExchange/1.0" xmlns:s="http://niem.gov/niem/structures/2.0" xmlns:usps="http://niem.gov/niem/usps_states/2.0"/>
    <ext:Hearing xmlns:exc="http://www.courts.state.mn.us/ProtectionOrderServiceExchange/1.0" xmlns:s="http://niem.gov/niem/structures/2.0" xmlns:usps="http://niem.gov/niem/usps_states/2.0">
    <ext:HearingDateTime>2015-01-20T09:00:00-06:00</ext:HearingDateTime>
    <ext:HearingLocationText>Scott County</ext:HearingLocationText>
    </ext:Hearing>
    </poq:ProtectionOrderQueryResponse>

    Inert to root as first nood.
    http://msdn.microsoft.com/en-us/library/system.xml.xmlnode.insertbefore(v=vs.110).aspx
    Dim doc As New XmlDocument()
    doc.LoadXml("<book genre='novel' ISBN='1-861001-57-5'>" & _
    "<title>Pride And Prejudice</title>" & _
    "</book>")
    Dim root As XmlNode = doc.DocumentElement
    'Create a new node.
    Dim elem As XmlElement = doc.CreateElement("price")
    elem.InnerText = "19.95"
    'Add the node to the document.
    root.InsertBefore(elem, root.FirstChild)
    Console.WriteLine("Display the modified XML...")
    doc.Save(Console.Out)
    remember make the reply as answer and vote the reply as helpful if it helps.

  • Problem Transforming modified in-memory XML doc

    In a web app, I'm using javascript to load an XML document and an XSL stylesheet. The XML data is presented in html with <input> tags to allow the user to modify the in-memory XML document. Whenever a user modifies the data, the in-memory XML document is modified accordingly, a xslt processor object is created using the in-memory stylesheet, the XML is transformed via XSL and the updated XML data is again presented in html with <input> tags, etc., etc.
    This is working fine when the user initially loads the page, and after the user performs any action that deletes content {i.e. nodeToDelete.parentNode.removeChild(nodeToDelete);}. However, I cannot get the html transform of the modified XML to work when the user adds content { var newElement = myXmlDoc.createElement('tag'); ... parentNode.appendChild(newElement);}. Using alert boxes I can see that the in-memory XML document is being modified correctly when you both delete and add content, but upon xsl transformation, only changes that delete content are being reflected in the resultant html. This is very confusing..
    At present, I am stumped and not sure how to proceed. I'm hoping someone out there may have encountered this problem previously and has a solution, or can tell me what I'm doing wrong. Thanks in advance for any help.

    In a web app, I'm using javascript to load an XML document and an XSL stylesheet. The XML data is presented in html with <input> tags to allow the user to modify the in-memory XML document. Whenever a user modifies the data, the in-memory XML document is modified accordingly, a xslt processor object is created using the in-memory stylesheet, the XML is transformed via XSL and the updated XML data is again presented in html with <input> tags, etc., etc.
    This is working fine when the user initially loads the page, and after the user performs any action that deletes content {i.e. nodeToDelete.parentNode.removeChild(nodeToDelete);}. However, I cannot get the html transform of the modified XML to work when the user adds content { var newElement = myXmlDoc.createElement('tag'); ... parentNode.appendChild(newElement);}. Using alert boxes I can see that the in-memory XML document is being modified correctly when you both delete and add content, but upon xsl transformation, only changes that delete content are being reflected in the resultant html. This is very confusing..
    At present, I am stumped and not sure how to proceed. I'm hoping someone out there may have encountered this problem previously and has a solution, or can tell me what I'm doing wrong. Thanks in advance for any help.

  • Transform an object draft (purchase invoice) to one final with SDK.

    Some body help me.
              I need transform an object draft (purchase invoice) to one final with SDK.  
    I want make a massive approving puchase invoice in draf mode.
    How can i do that???
    CGM

    Hi,
    Different DI API Versions handles different XML versions.
    see ocompany documentation or you can use the following to reach version 2.
           oCompany.XmlExportType = SAPbobsCOM.BoXmlExportTypes.xet_ExportImportMode
           oCompany.XMLAsString = False
    You can define in the xml file the version. Even if you have an older version it can work also.
    I have put here a stocktransfer, but i have found a Purchase Invoice
    Here is version 1/2 from 2004ABC versions up to 2007AB ... I had a full function for you.input is the draft absentry.
        Private Function saveDraftAsPurchaseInvoice(ByVal AbsEntry As String) As Boolean
            'oCompany.XmlExportType = SAPbobsCOM.BoXmlExportTypes.xet_ExportImportMode
            'oCompany.XMLAsString = False
            Dim oPI As SAPbobsCOM.Documents = oCompany.GetBusinessObject(BoObjectTypes.oPurchaseInvoices)
            If oPI.GetByKey(1) Then
                oPI.SaveXML(My.Application.Info.DirectoryPath & "\sample_Purchase_invoice.xml")
            End If
            Dim oDraft As SAPbobsCOM.Documents = oCompany.GetBusinessObject(BoObjectTypes.oDrafts)
            If oDraft.GetByKey(AbsEntry) = False Then
                Return False
            End If
            Dim FileName As String = My.Application.Info.DirectoryPath & "\18_" & CStr(DateDiff(DateInterval.Second, CDate("2007/01/01"), Now)) & ".xml"
            Dim xmlString As String
            Dim oXmlDoc As New Xml.XmlDocument
            xmlString = oDraft.GetAsXML()
            ' event this is not set you have version 1 using table names!
            'oCompany.XmlExportType = SAPbobsCOM.BoXmlExportTypes.xet_ExportImportMode -> version 2 of XML DI API, using DOCUMENT instead
            ' of table name !
            xmlString = xmlString.Replace("<Object>112</Object>", "<Object>18</Object>")
            xmlString = xmlString.Replace("<ODRF>", "<OPCH>")
            xmlString = xmlString.Replace("</ODRF>", "</OPCH>")
            xmlString = xmlString.Replace("<DRF1>", "<PCH1>")
            xmlString = xmlString.Replace("</DRF1>", "</PCH1>")
            xmlString = xmlString.Replace("<DRF3>", "<PCH3>")
            xmlString = xmlString.Replace("</DRF3>", "</PCH3>")
            xmlString = xmlString.Replace("<DRF6>", "<PCH6>")
            xmlString = xmlString.Replace("</DRF6>", "</PCH6>")
            oXmlDoc.LoadXml(xmlString)
            oXmlDoc.Save(FileName)
            Dim oDoc As SAPbobsCOM.Documents = oCompany.GetBusinessObject(BoObjectTypes.oPurchaseInvoices)
            Try
                oDoc = oCompany.GetBusinessObjectFromXML(FileName, 0)
                oDoc.Comments = oDraft.Comments & " DI API ADDED FROM DRAFT"
                oDoc.DocNum = 0
                oDoc.DocDate = Date.Today
                oDoc.DocDueDate = Date.Today
                oDoc.TaxDate = Date.Today
                lRetCode = oDoc.Add()
                'Kill(FileName)
                If lRetCode = 0 Then
                    Dim NewEntry As String = String.Empty
                    Call oCompany.GetNewObjectCode(NewEntry)
                    sbo_application.StatusBar.SetText(NewEntry)
                Else
                    sbo_application.StatusBar.SetText(oCompany.GetLastErrorCode.ToString & " - " & oCompany.GetLastErrorDescription)
                End If
            Catch ex As Exception
                sbo_application.StatusBar.SetText(ex.Message)
            End Try
        End Function
    Regards
    J.
    Edited by: Janos  Nagy on Aug 12, 2008 1:13 PM

  • Converting Document object into XML file

    I was wondering how to convert a document object to XML file? I have read the documentation about document and Node but nothing explains the procedure of the conversion. Ive been told that it can be done, but not sure how. I have converted an XML file into Document by parsing DocumentBuilder. Just not sure how to do the reverse. Any help appreciated.

    TransformerFactory tf = TransformerFactory.newInstance();
    Transformer trans = tf.newTransformer();
    trans.transform(new DOMSource(yourDOMsRootNode), new StreamResult(new FileOutputStream(yourFileName)));or something a lot like that.

  • Conversion of DOM object to XML file

    Hi
    Is there a direct method for conversion of a Document object to xml file? My code is like this
    Transformer aTransformer = tranFactory.newTransformer();
              System.out.println("Tansformers :"+aTransformer);
              aTransformer.setOutputProperty(OutputKeys.INDENT, "yes");
              DOMSource src = new DOMSource(resultDocument);
              System.out.println("src :"+src);
              Result dest = new StreamResult(new FileOutputStream(new File(filepath)));
              System.out.println("desc :"+dest);
              aTransformer.transform(src, dest);
    but the line DOMSource src = new DOMSource(resultDocument);
    is giving me an error like "undefined constrctor" . what must be the problem?
    Thanks

    DOMSource src = new DOMSource(resultDocument);
    resultDocument should be of type org.w3c.Node

  • Simple Transformation to deserialize an XML file into ABAP data structures?

    I'm attempting to write my first simple transformation to deserialize
    an XML file into ABAP data structures and I have a few questions.
    My simple transformation contains code like the following
    <tt:transform xmlns:tt="http://www.sap.com/transformation-templates"
                  xmlns:pp="http://www.sap.com/abapxml/types/defined" >
    <tt:type name="REPORT" line-type="?">
      <tt:node name="COMPANY_ID" type="C" length="10" />
      <tt:node name="JOB_ID" type="C" length="20" />
      <tt:node name="TYPE_CSV" type="C" length="1" />
      <tt:node name="TYPE_XLS" type="C" length="1" />
      <tt:node name="TYPE_PDF" type="C" length="1" />
      <tt:node name="IS_NEW" type="C" length="1" />
    </tt:type>
    <tt:root name="ROOT2" type="pp:REPORT" />
        <QueryResponse>
        <tt:loop ref="ROOT2" name="line">
          <QueryResponseRow>
            <CompanyID>
              <tt:value ref="$line.COMPANY_ID" />
            </CompanyID>
            <JobID>
              <tt:value ref="$line.JOB_ID" />
            </JobID>
            <ExportTypes>
              <tt:loop>
                <ExportType>
                   I don't know what to do here (see item 3, below)
                </ExportType>
              </tt:loop>
            </ExportTypes>
            <IsNew>
              <tt:value ref="$line.IS_NEW"
              map="val(' ') = xml('false'), val('X') = xml('true')" />
            </IsNew>
          </QueryResponseRow>
          </tt:loop>
        </QueryResponse>
        </tt:loop>
    1. In a DTD, an element can be designated as occurring zero or one
    time, zero or more times, or one or more times. How do I write the
    simple transformation to accommodate these possibilities?
    2. In trying to accommodate the "zero or more times" case, I am trying
    to use the <tt:loop> instruction. It occurs several layers deep in the
    XML hierarchy, but at the top level of the ABAP table. The internal
    table has a structure defined in the ABAP program, not in the data
    dictionary. In the simple transformation, I used <tt:type> and
    <tt:node> to define the structure of the internal table and then
    tried to use <tt:loop ref="ROOT2" name="line"> around the subtree that
    can occur zero or more times. But every variation I try seems to get
    different errors. Can anyone supply a working example of this?
    3. Among the fields in the internal table, I've defined three
    one-character fields named TYPE_CSV, TYPE_XLS, and TYPE_PDF. In the
    XML file, I expect zero to three elements of the form
    <ExportType exporttype='csv' />
    <ExportType exporttype='xls' />
    <ExportType exporttype='pdf' />
    I want to set field TYPE_CSV = 'X' if I find an ExportType element
    with its exporttype attribute set to 'csv'. I want to set field
    TYPE_XLS = 'X' if I find an ExportType element with its exporttype
    attribute set to 'xls'. I want to set field TYPE_PDF = 'X' if I find
    an ExportType element with its exporttype attribute set to 'pdf'. How
    can I do that?
    4. For an element that has a value like
    <ErrorCode>123</ErrorCode>
    in the simple transformation, the sequence
    <ErrorCode>  <tt:value ref="ROOT1.CODE" />  </ErrorCode>
    seems to work just fine.
    I have other situations where the XML reads
    <IsNew value='true' />
    I wanted to write
    <IsNew>
            <tt:value ref="$line.IS_NEW"
            map="val(' ') = xml('false'), val('X') = xml('true')" />
           </IsNew>
    but I'm afraid that the <tt:value> fails to deal with the fact that in
    the XML file the value is being passed as the value of an attribute
    (named "value"), rather than the value of the element itself. How do
    you handle this?

    Try this code below:
    data  l_xml_table2  type table of xml_line with header line.
    W_filename - This is a Path.
      if w_filename(02) = '
        open dataset w_filename for output in binary mode.
        if sy-subrc = 0.
          l_xml_table2[] = l_xml_table[].
          loop at l_xml_table2.
            transfer l_xml_table2 to w_filename.
          endloop.
        endif.
        close dataset w_filename.
      else.
        call method cl_gui_frontend_services=>gui_download
          exporting
            bin_filesize = l_xml_size
            filename     = w_filename
            filetype     = 'BIN'
          changing
            data_tab     = l_xml_table
          exceptions
            others       = 24.
        if sy-subrc <> 0.
          message id sy-msgid type sy-msgty number sy-msgno
                     with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
        endif.

  • How can I use XStream to persist complicated Java Object  to XML & backward

    Dear Sir:
    I met a problem as demo in my code below when i use XTream to persist my Java Object;
    How can I use XStream to persist complicated Java Object to XML & backward??
    See
    [1] main code
    import java.io.BufferedReader;
    import java.io.BufferedWriter;
    import java.io.FileReader;
    import java.io.FileWriter;
    import java.io.IOException;
    import java.util.ArrayList;
    import com.thoughtworks.xstream.XStream;
    import com.thoughtworks.xstream.io.xml.DomDriver;
    public class PhoneList {
         ArrayList<PhoneNumber> phones;
         ArrayList<Person> person;
         private PhoneList myphonelist ;
         private LocationTest location;
         private PhoneList(String name) {
         phones = new ArrayList<PhoneNumber>();
         person = new ArrayList<Person>();
         public ArrayList<PhoneNumber> getphones() {
              return phones;
         public ArrayList<Person> getperson() {
              return person;
         public void addPhoneNumber(PhoneNumber b1) {
              this.phones.add(b1);
         public void removePhoneNumber(PhoneNumber b1) {
              this.phones.remove(b1);
         public void addPerson(Person p1) {
              this.person.add(p1);
         public void removePerson(Person p1) {
              this.person.remove(p1);
         public void BuildList(){
              location = new LocationTest();
              XStream xstream = new XStream();
              myphonelist = new PhoneList("PhoneList");
              Person joe = new Person("Joe, Wallace");
              joe.setPhone(new PhoneNumber(123, "1234-456"));
              joe.setFax(new PhoneNumber(123, "9999-999"));
              Person geo= new Person("George Nixson");
              geo.setPhone(new PhoneNumber(925, "228-9999"));
              geo.getPhone().setLocationTest(location);          
              myphonelist.addPerson(joe);
              myphonelist.addPerson(geo);
         public PhoneList(){
              XStream xstream = new XStream();
              BuildList();
              saveStringToFile("C:\\temp\\test\\PhoneList.xml",convertToXML(myphonelist));
         public void saveStringToFile(String fileName, String saveString) {
              BufferedWriter bw = null;
              try {
                   bw = new BufferedWriter(
                             new FileWriter(fileName));
                   try {
                        bw.write(saveString);
                   finally {
                        bw.close();
              catch (IOException ex) {
                   ex.printStackTrace();
              //return saved;
         public String getStringFromFile(String fileName) {
              BufferedReader br = null;
              StringBuilder sb = new StringBuilder();
              try {
                   br = new BufferedReader(
                             new FileReader(fileName));
                   try {
                        String s;
                        while ((s = br.readLine()) != null) {
                             // add linefeed (\n) back since stripped by readline()
                             sb.append(s + "\n");
                   finally {
                        br.close();
              catch (Exception ex) {
                   ex.printStackTrace();
              return sb.toString();
         public  String convertToXML(PhoneList phonelist) {
              XStream xstream = new  XStream(new DomDriver());
              xstream.setMode(xstream.ID_REFERENCES) ;
              return xstream.toXML(phonelist);
         public static void main(String[] args) {
              new PhoneList();
    }[2].
    import java.io.Serializable;
    import javax.swing.JFrame;
    public class PhoneNumber implements Serializable{
           private      String      phone;
           private      String      fax;
           private      int      code;
           private      String      number;
           private      String      address;
           private      String      school;
           private      LocationTest      location;
           public PhoneNumber(int i, String str) {
                setCode(i);
                setNumber(str);
                address = "4256, Washington DC, USA";
                school = "Washington State University";
         public Object getPerson() {
              return null;
         public void setPhone(String phone) {
              this.phone = phone;
         public String getPhone() {
              return phone;
         public void setFax(String fax) {
              this.fax = fax;
         public String getFax() {
              return fax;
         public void setCode(int code) {
              this.code = code;
         public int getCode() {
              return code;
         public void setNumber(String number) {
              this.number = number;
         public String getNumber() {
              return number;
         public void setLocationTest(LocationTest bd) {
              this.location = bd;
            JFrame f = new JFrame();
            f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            f.getContentPane().add(location);
            f.getContentPane().add(location.getControls(), "Last");
            f.setSize(400,400);
            f.setLocation(200,200);
            f.setVisible(true);
         public LocationTest getLocationTest() {
              return location;
         }[3].
    package test.temp;
    import java.io.Serializable;
    public class Person implements Serializable{
         private String           fullname;
           @SuppressWarnings("unused")
         private PhoneNumber      phone;
           @SuppressWarnings("unused")
         private PhoneNumber      fax;
         public Person(){
         public Person(String fname){
                fullname=fname;           
         public void setPhone(PhoneNumber phoneNumber) {
              phone = phoneNumber;
         public void setFax(PhoneNumber phoneNumber) {
              fax = phoneNumber;
         public PhoneNumber getPhone() {
              return phone ;
         public PhoneNumber getFax() {
              return fax;
        public String getName() {
            return fullname ;
        public void setName(String name) {
            this.fullname      = name;
        public String toString() {
            return getName();
    }[4]. LocationTest.java
    package test.temp;
    import java.awt.*;
    import java.awt.event.*;
    import java.awt.geom.*;
    import javax.swing.*;
    import javax.swing.event.*;
    public class LocationTest extends JPanel implements ChangeListener
        Ellipse2D.Double ball;
        Line2D.Double    line;
        JSlider          translate;
        double           lastTheta = 0;
        public void stateChanged(ChangeEvent e)
            JSlider slider = (JSlider)e.getSource();
            String name = slider.getName();
            int value = slider.getValue();
            if(name.equals("rotation"))
                tilt(Math.toRadians(value));
            else if(name.equals("translate"))
                moveBall(value);
            repaint();
        protected void paintComponent(Graphics g)
            super.paintComponent(g);
            Graphics2D g2 = (Graphics2D)g;
            g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
                                RenderingHints.VALUE_ANTIALIAS_ON);
            if(ball == null)
                initGeom();
            g2.setPaint(Color.green.darker());
            g2.draw(line);
            g2.setPaint(Color.red);
            g2.fill(ball);
        private void initGeom()
            int w = getWidth();
            int h = getHeight();
            int DIA = 30;
            int padFromEnd = 5;
            line = new Line2D.Double(w/4, h*15/16, w*3/4, h*15/16);
            double x = line.x2 - padFromEnd - DIA;
            double y = line.y2 - DIA;
            ball = new Ellipse2D.Double(x, y, DIA, DIA);
            // update translate slider values
            int max = (int)line.getP1().distance(line.getP2());
            translate.setMaximum(max);
            translate.setValue(max-padFromEnd);
        private void tilt(double theta)
            // rotate line from left end
            Point2D pivot = line.getP1();
            double lineLength = pivot.distance(line.getP2());
            Point2D.Double p2 = new Point2D.Double();
            p2.x = pivot.getX() + lineLength*Math.cos(theta);
            p2.y = pivot.getY() + lineLength*Math.sin(theta);
            line.setLine(pivot, p2);
            // find angle from pivot to ball center relative to line
            // ie, ball center -> pivot -> line end
            double cx = ball.getCenterX();
            double cy = ball.getCenterY();
            double pivotToCenter = pivot.distance(cx, cy);
            // angle of ball to horizon
            double dy = cy - pivot.getY();
            double dx = cx - pivot.getX();
            // relative angle phi = ball_to_horizon - last line_to_horizon
            double phi = Math.atan2(dy, dx) - lastTheta;
            // rotate ball from pivot
            double x = pivot.getX() + pivotToCenter*Math.cos(theta+phi);
            double y = pivot.getY() + pivotToCenter*Math.sin(theta+phi);
            ball.setFrameFromCenter(x, y, x+ball.width/2, y+ball.height/2);
            lastTheta = theta;  // save theta for next time
        private void moveBall(int distance)
            Point2D pivot = line.getP1();
            // ball touches line at distance from pivot
            double contactX = pivot.getX() + distance*Math.cos(lastTheta);
            double contactY = pivot.getY() + distance*Math.sin(lastTheta);
            // find new center location of ball
            // angle lambda = lastTheta - 90 degrees (anti-clockwise)
            double lambda = lastTheta - Math.PI/2;
            double x = contactX + (ball.width/2)*Math.cos(lambda);
            double y = contactY + (ball.height/2)*Math.sin(lambda);
            ball.setFrameFromCenter(x, y, x+ball.width/2, y+ball.height/2);
        JPanel getControls()
            JSlider rotate = getSlider("rotation angle", "rotation", -90, 0, 0, 5, 15);
            translate = getSlider("distance from end",  "translate", 0, 100, 100,25, 50);
            JPanel panel = new JPanel(new GridLayout(0,1));
            panel.add(rotate);
            panel.add(translate);
            return panel;
        private JSlider getSlider(String title, String name, int min, int max,
                                  int value, int minorSpace, int majorSpace)
            JSlider slider = new JSlider(JSlider.HORIZONTAL, min, max, value);
            slider.setBorder(BorderFactory.createTitledBorder(title));
            slider.setName(name);
            slider.setPaintTicks(true);
            slider.setMinorTickSpacing(minorSpace);
            slider.setMajorTickSpacing(majorSpace);
            slider.setPaintLabels(true);
            slider.addChangeListener(this);
            return slider;
    }OK, My questions are:
    [1]. what I generated XML by XSTream is very complicated, especially for object LocationTest, Can we make it as simple as others such as Person object??
    [2]. after I run it, LocationTest will popup and a red ball in a panel will dsiplay, after I change red ball's position, I hope to persist it to xml, then when I read it back, I hope to get same picture, ie, red ball stiil in old position, How to do that??
    Thanks a lot!!

    Positive feedback? Then please take this in a positive way: if you want to work on persisting Java objects into XML, then GUI programming is irrelevant to that goal. The 1,000 lines of code you posted there appeared to me to have a whole lot of GUI code in it. You should produce a smaller (much smaller) example of what you want to do. Calling the working code from your GUI program should come later.

  • ABAP Simple Transformation - How to save XML to file with CL_FX_WRITER?

    Hello!
    When calling a Simple Transformation program for transformation from ABAP to XML, it is possible to specify RESULT XML rxml as a class reference variable of type CL_FX_WRITER, which points to an XML writer.
    How to handle CL_FX_WRITER in order to save XML to a file?
    Thanks and regards,
    Andrey

    Hallo Rainer!
    Many thanks. I have checked the profile parameter ztta/max_memreq_MB and it is set to 2048 MB in the development system. I hope, that won't be less on the client's machine. The only thing I did not clearly explained, is that I need to write XML data to the server. I am so sorry. Downloading to the local PC is very helpful for me also, but only for the test purposes.
    Regards,
    Andrey

  • Dynamically create Value Objects from XML file

    Hi
    I want to create a value object from Xml file dynamically,like in the xml file i have the name of the variable and the datatype of the variable.is it possible do that,if so how.

    Read about apache's Digester tool. This is part of the Jakartha project. This tool helps in creating java objects from the XML files. I am not sure, if that is what u r looking for.

  • How do I check if section and subdivision exist inside object's xml?

    My function is working but not as I expect it to. The problem is that when Section and Subvision are not found in the object aobjXmlGetStatuteRequestNode xml, I get an error NullReference Exception was unhandled by user code. Object reference not set
    to an instance of an object. 
    For that reason, because the two elements are optional, I would like to check if they exist before adding their value into the xml inside the object objXmlRequestMessageDoc.
    The if statement I used in my function did not work. When it found Section element, it did not check for Subdivision. 
    How do I check for both and add them if they exist. If they do not exist, I do not need to do anything and should not throw an error since they are optional.
     Object aobjXmlGetStatuteRequestNode has this xml
    <ns:GetStatutesRequest xmlns:ns="http://www.courts.state.mn.us/StatuteService/1.0">
    <ns:Statute>
    <ns:Chapter>169</ns:Chapter>
    <!--Optional:-->
    <ns:Section>191</ns:Section>
    <!--Optional:-->
    <ns:Subdivision>a</ns:Subdivision>
    </ns:Statute>
    The following output in the objXmlRequestMessageDoc object is correct but this does not work when Section and or Subdivision are not found in the object aobjXmlGetStatuteRequestNode.
    <ns:BasicSearchQueryRequest xmlns:ns="http://crimnet.state.mn.us/mnjustice/statute/service/4.0">
    <ns1:BasicSearchCriteria xmlns:ns1="http://crimnet.state.mn.us/mnjustice/statute/messages/4.0">
    <ns2:Chapter xmlns:ns2="http://crimnet.state.mn.us/mnjustice/statute/4.0"/169</ns2:Chapter>>
    <ns2:Section xmlns:ns2="http://crimnet.state.mn.us/mnjustice/statute/4.0"/>191</ns2:Chapter>
    <ns2:Subdivision xmlns:ns2="http://crimnet.state.mn.us/mnjustice/statute/4.0"/>a</ns2:Chapter>
    </ns1:BasicSearchCriteria>
    </ns:BasicSearchQueryRequest>
    My Function
    Function GetStatutesByChapter(ByVal aobjXmlGetStatuteRequestNode As XmlNode, ByVal aobjXMLNameSpaceManager As XmlNamespaceManager, ByVal aobjBroker As ServiceCatalog.Library.v4.Broker) As XmlDocument
    Dim objXmlRequestMessageDoc As XmlDocument
    Dim objXmlResponseMessageDoc As XmlDocument
    Dim intCount As Integer
    aobjBroker.PostMessageWarehouseInformationalMessage("Chapter found.", 1)
    objXmlResponseMessageDoc = New XmlDocument
    'Add the first element into the document GetStatuteByChapter with its namespace
    objXmlResponseMessageDoc.AppendChild(objXmlResponseMessageDoc.CreateElement("BasicSearchQueryResponse", "http://crimnet.state.mn.us/mnjustice/statute/service/4.0"))
    'Create the BCA request message
    objXmlRequestMessageDoc = New XmlDocument
    objXmlRequestMessageDoc.AppendChild(objXmlRequestMessageDoc.CreateElement("ns:BasicSearchQueryRequest", aobjXMLNameSpaceManager.LookupNamespace("ns")))
    objXmlRequestMessageDoc.SelectSingleNode("ns:BasicSearchQueryRequest", aobjXMLNameSpaceManager).AppendChild(objXmlRequestMessageDoc.CreateElement("ns1:BasicSearchCriteria", aobjXMLNameSpaceManager.LookupNamespace("ns1")))
    objXmlRequestMessageDoc.SelectSingleNode("ns:BasicSearchQueryRequest/ns1:BasicSearchCriteria", aobjXMLNameSpaceManager).AppendChild(objXmlRequestMessageDoc.CreateElement("ns2:Chapter", aobjXMLNameSpaceManager.LookupNamespace("st")))
    objXmlRequestMessageDoc.SelectSingleNode("ns:BasicSearchQueryRequest/ns1:BasicSearchCriteria", aobjXMLNameSpaceManager).AppendChild(objXmlRequestMessageDoc.CreateElement("ns2:Section", aobjXMLNameSpaceManager.LookupNamespace("st")))
    objXmlRequestMessageDoc.SelectSingleNode("ns:BasicSearchQueryRequest/ns1:BasicSearchCriteria", aobjXMLNameSpaceManager).AppendChild(objXmlRequestMessageDoc.CreateElement("ns2:Subdivision", aobjXMLNameSpaceManager.LookupNamespace("st")))
    objXmlRequestMessageDoc.DocumentElement.SelectSingleNode("ns1:BasicSearchCriteria/st:Chapter", aobjXMLNameSpaceManager).InnerText = aobjXmlGetStatuteRequestNode.SelectSingleNode("ss:Statute/ss:Chapter", aobjXMLNameSpaceManager).InnerText
    objXmlRequestMessageDoc.DocumentElement.SelectSingleNode("ns1:BasicSearchCriteria/st:Section", aobjXMLNameSpaceManager).InnerText = aobjXmlGetStatuteRequestNode.SelectSingleNode("ss:Statute/ss:Section", aobjXMLNameSpaceManager).InnerText
    objXmlRequestMessageDoc.DocumentElement.SelectSingleNode("ns1:BasicSearchCriteria/st:Subdivision", aobjXMLNameSpaceManager).InnerText = aobjXmlGetStatuteRequestNode.SelectSingleNode("ss:Statute/ss:Subdivision", aobjXMLNameSpaceManager).InnerText
    'check if there is a section and or subdivision if it is there then set the value
    'If Not (aobjXmlGetStatuteRequestNode.SelectSingleNode("ss:Statute/ss:Section", aobjXMLNameSpaceManager).InnerText) Is Nothing Then
    ' objXmlRequestMessageDoc.DocumentElement.SelectSingleNode("ns1:BasicSearchCriteria/st:Section", aobjXMLNameSpaceManager).InnerText = aobjXmlGetStatuteRequestNode.SelectSingleNode("ss:Statute/ss:Section", aobjXMLNameSpaceManager).InnerText
    'End If
    'check if there is a section and or subdivision if it is there then set the value
    aobjBroker.PostMessageWarehouseSnapshot(objXmlRequestMessageDoc.OuterXml, "Request Message", 1)
    'Call the BCA service
    intCount = 0
    'Count how many Statute node found
    CType(objXmlResponseMessageDoc.SelectSingleNode("ss:GetStatutesResponse/ss:StatutesXml/ss:Statutes", aobjXMLNameSpaceManager), System.Xml.XmlElement).SetAttribute("totalCount", CStr(intCount))
    Return objXmlResponseMessageDoc
    End Function

    I have resolved this issue by using two if statements as follows
    'check if there is a section and or subdivision if it is there then set the value
    If Not (aobjXmlGetStatuteRequestNode.SelectSingleNode("ss:Statute/ss:Section", aobjXMLNameSpaceManager) Is Nothing) Then
    objXmlRequestMessageDoc.DocumentElement.SelectSingleNode("ns1:BasicSearchCriteria/st:Section", aobjXMLNameSpaceManager).InnerText = aobjXmlGetStatuteRequestNode.SelectSingleNode("ss:Statute/ss:Section", aobjXMLNameSpaceManager).InnerText
    End If
    If Not (aobjXmlGetStatuteRequestNode.SelectSingleNode("ss:Statute/ss:Subdivision", aobjXMLNameSpaceManager) Is Nothing) Then
    objXmlRequestMessageDoc.DocumentElement.SelectSingleNode("ns1:BasicSearchCriteria/st:Subdivision", aobjXMLNameSpaceManager).InnerText = aobjXmlGetStatuteRequestNode.SelectSingleNode("ss:Statute/ss:Subdivision", aobjXMLNameSpaceManager).InnerText
    End If

  • General exception in deploy transformation for object "ZWAD_PPQM_Q009.

    hi experts
    I am getting this error when i am tring to access  report
    General exception in deploy transformation for object "ZWAD_PPQM_Q009.
    thanks

    Hi,
    Please help.
    How did you manage to resolve this. I have similar issues.
    I have SAP_ALL and can run the reports without problems but users have error message
    general exception in deploy transformation for object "WEB_TEMPLATE"
    thanks

  • Objects to XML

    I use XStream to parse the following Objects to XML, the problem is what to do with:
    class Tag {
    @XStreamAsAttribute
    List<SubTag1> st1 = new ArrayList<SubTag1>();
    @XStreamAsAttribute
    List<SubTag2> st2 = new ArrayList<SubTag2>();
    ...When the class Tag is converted to XML it will always contain both a 'st1' and 'st2' even when I only
    have a Tag that ONLY contains 'st1'.
    Tag should be able to contain:
    1) List of SubTag1
    or
    2) List of SubTag2
    or
    3) List of SubTag1 and List of SubTag2
    How do I make sure to only process the Lists if they contains elements?

    Looks like you need a converter, for more info you could try the [XStream mailing list|http://xstream.codehaus.org/list-user.html].

Maybe you are looking for

  • AC 5.3  Critical Action Alert Emails not being sent

    HI: We have set up Critical Action alerts for a couple of transactions and while the on-line alert logs are being generated correctly, the alert email is not being sent to the Risk Owner. Does anyone know where I can trouble shoot this issue? Thanks,

  • Ichat says my iSight is in use by another app

    Hello, I just got my iSight that I bought on ebay. I have a problem, iChat is saying my camera is in use by another application, but I'm not using it with any other app. I also tried to use it with quicktime pro, and when I went to file, new recordin

  • JAR containing HTML files??

    I am using Forte for Java ME to compile and debug my application. When I view the contents of the JAR file, I see that it contains serveral HTML files. These HTML files are adding about 50K to the size of my application. Can anyone tell me why these

  • External System Address Book Import

    Does anyone know of a way to import an external address book into the Groupwise system address book? I can place the data in any format (CSV, NAB, etc.). I have followed Tid 3230787 and setup the external post Office and it works fine. Unfortunately

  • TV Show episode order.

    Hi- How do I change the order of TV episodes? I would like to make them chronological. They are not. -Ron.