RE: [BizTalker] Mapping Question


    [Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
    • From: Nikolai Blackie
    • Subject: RE: [BizTalker] Mapping Question
    • Date: Fri, 29 Apr 2005 09:36:27 +1000

    Have you considered implementing Web Services in C# or VB.NET that utilise the Enterprise Libraries DAAB to connect to your Oracle database?
     
    I have recently completed a project where we designed the web service request/response messages as XSDs and used XSDObjectGen.exe to create serializable classes which were then used as the parameters for the web service. Inside the web service we then called codesmith generated data access layers, passing in the parameters from the request class.
     
    When you add a reference in your BizTalk project those classes are then available as XSD references for use in your maps.
     
     
     
     Nikolai Blackie
     Development & Integration Services
     
     
     
     
    
    ________________________________
    
    From: biztalkerlist@xxxxxxxxxxxxxxxxxxxxxx on behalf of CRANFORD, CHRIS
    Sent: Fri 29/04/2005 11:45 AM
    To: BizTalker@xxxxxxxxxxxxxxxxxxxxxx
    Subject: RE: [BizTalker] Mapping Question
    
    
    Sachin,
     
    Unfortunately my database is Oracle and the ODBC adapter we're using does not permit passing parameters to a stored procedure.  It certainly would make my life much easier :o).  
     
    So essentially I need to create a message from the incoming message with values that map to an insert call for the header.  Then for each line I find in the incoming order, I must create a message from that a line with values from that line plus the order # and map that to a line insert call.
     
    Do you have any ideas using this approach?
    
    Chris
    
    ________________________________
    
    From: biztalkerlist@xxxxxxxxxxxxxxxxxxxxxx on behalf of Sachin Kulkarni
    Sent: Thu 4/28/2005 7:17 PM
    To: BizTalker@xxxxxxxxxxxxxxxxxxxxxx
    Subject: RE: [BizTalker] Mapping Question
    
    
    
    The easiest way would be to use the SQL Server Adapter for BizTalk
    
     
    
    1.	Create two stored procedures one for inserting Order Header and one for the Lines. 
    2.	Use SQL Server Adapter wizard to generate schemas based on these stored procedures 
    3.	create two maps (simple one-to-one field mapping) to transform your input messages into stored procedures input parameters 
    4.	in your orchestration call header stored procedure first 
    5.	in following step you can call Line insert stored proc. Adapter will fire multiple SP requests based on the number of lines in your input message, 
    
     
    
    depending on your referential integrity constraints you can perform step 4 to get an order ID which you can insert in step 5 along with line details as a foreign key. BizTalk allows you to transform two input messages into one output message (and of course vice versa)
    
     
    
    -Sachin
    
     
    
    ________________________________
    
    From: biztalkerlist@xxxxxxxxxxxxxxxxxxxxxx [mailto:biztalkerlist@xxxxxxxxxxxxxxxxxxxxxx] On Behalf Of CRANFORD, CHRIS
    Sent: Friday, 29 April 2005 8:50 AM
    To: biztalker@xxxxxxxxxxxxxxxxxxxxxx
    Subject: [BizTalker] Mapping Question
    
     
    
    I am trying to develop an orchestration that will take an input XML document in the following form:
    
     
    
    <Order>
    
      <Header>
    
        <Number>1234</Number>
    
        <OrderDate>04/31/2005</OrderDate>
    
        <TotalCost>25.00</TotalCost>
    
      </Header>
    
      <Lines>
    
        <Line>
    
           <Item>00003948432</Item>
    
           <Qty>5</Qty>
    
           <Cost>17.25</Cost>
    
        </Line>
    
        <Line>
    
          <Item>3948321</Item>
    
          <Qty>1</Qty>
    
          <Cost>7.75</Cost>
    
        </Line>
    
      </Lines>
    
    </Order>
    
     
    
    I need to split this incoming message so that I can insert 3 records into my database.  The first record represents the order header and the other 2 represent each individual line.  When the lines are inserted, I also need to include the order number so I can join the values back at a later point.
    
     
    
    Can someone explain how I could do this within BizTalk 2004 via a map or orchestration process?
    
     
    
    Thanks!
    
    
    
    -- 
    Confidential: This email is intended only for the person or entity to which it is addressed. The information contained in this email may be confidential and privileged. Any retransmission, review, dissemination or other use of, or taking of any action in reliance upon, this information by persons or entities other than the intended recipient is prohibited. If you received this email in error, please let us know by reply and destroy all copies of it. Thank you. 
    to unsubscribe to this list, please send a message back to the list with 'unsubscribe' as the subject. Powered by mailenable.com - List managed by http://www.readify.net to unsubscribe to this list, please send a message back to the list with 'unsubscribe' as the subject. Powered by mailenable.com - List managed by http://www.readify.net 
    
    
    
    to unsubscribe to this list, please send a message back to the list with 'unsubscribe' as the subject. Powered by mailenable.com - List managed by http://www.readify.net
    

    <<winmail.dat>>




    (Click here for more information on the biztalkers mailling list)