--首先SQL操作
1 创建表

 

biztalk 传输SQL XML 报文_sqlbiztalk 传输SQL XML 报文_连接字符串_02Code
CREATE TABLE [dbo].[BIZ_WORKFLOW](
    
[AUTO_ID] [int] IDENTITY(1,1NOT NULL,
    
[BIZ_TYPE] [varchar](4) COLLATE Chinese_PRC_CI_AS NULL,
    
[BIZ_NO] [varchar](20) COLLATE Chinese_PRC_CI_AS NULL,
    
[OP_MAN] [varchar](100) COLLATE Chinese_PRC_CI_AS NULL,
    
[SEND_MARK] [varchar](4) COLLATE Chinese_PRC_CI_AS NULL,
    
[OP_TIME] [datetime] NULL CONSTRAINT [DF_BIZ_WORKFLOW_OP_TIME]  DEFAULT (getdate()),
    
[REMARK] [varchar](200) COLLATE Chinese_PRC_CI_AS NULL,
    
[STATUS] [varchar](4) COLLATE Chinese_PRC_CI_AS NULL,
    
[ADD_TIME] [datetime] NULL CONSTRAINT [DF_BIZ_WORKFLOW_ADD_TIME]  DEFAULT (getdate()),
 
CONSTRAINT [PK_BIZ_WORKFLOW] PRIMARY KEY NONCLUSTERED 
(
    
[AUTO_ID] ASC
)
ON [PRIMARY]

 

2 写存储过程

 

biztalk 传输SQL XML 报文_sqlbiztalk 传输SQL XML 报文_连接字符串_02Code
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go

ALTER  PROCEDURE [dbo].[BIZ_SP_BP_APPROVE_TRACES_New_GetAutoID]
--@AUTO_ID    nvarchar(20)=null OUTPUT
@AUTO_ID    nvarchar(20)=null 
--@StrAuto_ID    nvarchar(40) OUTPUT
AS 

SET NOCOUNT OFF;

Begin Tran
    
--If(@FunctionCode = 'A')
    Begin     
     
select TOP 1 @AUTO_ID=auto_id  from BIZ_WORKFLOW where send_Mark='0'       
     
     
--    SELECT 
--
      AUTO_ID 
--
      ,[BIZ_TYPE] 
--
      ,[BIZ_NO]
--
      ,[OP_MAN]
--
      ,[SEND_MARK]
--
      ,[OP_TIME]
--
      ,[REMARK]
--
      ,[STATUS]
--
      ,[ADD_TIME]
--
    from BIZ_WORKFLOW   
--
    where AUTO_ID = @AUTO_ID   
--
    FOR XML PATH('BIZ_WORKFLOW'),ELEMENTS XSINIL, ROOT('BIZ_WORKFLOWS')
    
    
SELECT 
      AUTO_ID 
      ,
[BIZ_TYPE] 
      ,
[BIZ_NO]
      ,
[OP_MAN]
      ,
[SEND_MARK]
      ,
[OP_TIME]
      ,
[REMARK]
      ,
[STATUS]
      ,
[ADD_TIME]
    
from BIZ_WORKFLOW   
    
where AUTO_ID = @AUTO_ID   
    
FOR XML PATH('BIZ_WORKFLOW')--, ROOT('BIZ_WORKFLOWS') ELEMENTS XSINIL ,,xmldata
    
    
update BIZ_WORKFLOW set send_Mark='1' where auto_id =@AUTO_ID 
    
End
Commit;

 


3 创建框架文件
  创建xsd框架文件

 

biztalk 传输SQL XML 报文_sqlbiztalk 传输SQL XML 报文_连接字符串_02Code
 <?xml version="1.0" encoding="utf-16"?>
<xs:schema xmlns:b="http://schemas.microsoft.com/BizTalk/2003" xmlns="http://www.w3.org/2001/XMLSchema-instance" attributeFormDefault="unqualified" 

elementFormDefault
="qualified" targetNamespace="http://www.w3.org/2001/XMLSchema-instance" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  
<xs:element name="BIZ_WORKFLOWS">
    
<xs:annotation>
      
<xs:appinfo>
        
<b:properties>
          
<b:property distinguished="true" xpath="/*[local-name()='BIZ_WORKFLOWS' and namespace-uri()='http://www.w3.org/2001/XMLSchema-instance']/*[local-

name()='BIZ_WORKFLOW' and namespace-uri()='http://www.w3.org/2001/XMLSchema-instance']/*[local-name()='AUTO_ID' and namespace-uri()

='http://www.w3.org/2001/XMLSchema-instance']"
 />
        
</b:properties>
      
</xs:appinfo>
    
</xs:annotation>
    
<xs:complexType>
      
<xs:sequence>
        
<xs:element name="BIZ_WORKFLOW">
          
<xs:complexType>
            
<xs:sequence>
              
<xs:element minOccurs="0" name="AUTO_ID" type="xs:string" />
              
<xs:element minOccurs="0" name="BIZ_TYPE" type="xs:string" />
              
<xs:element minOccurs="0" name="BIZ_NO" type="xs:string" />
              
<xs:element minOccurs="0" name="OP_MAN" type="xs:string" />
              
<xs:element minOccurs="0" name="SEND_MARK" type="xs:string" />
              
<xs:element minOccurs="0" name="OP_TIME" type="xs:string" />
              
<xs:element minOccurs="0" name="REMARK" type="xs:string" />
              
<xs:element minOccurs="0" name="STATUS" type="xs:string" />
              
<xs:element minOccurs="0" name="ADD_TIME" type="xs:string" />
            
</xs:sequence>
          
</xs:complexType>
        
</xs:element>
      
</xs:sequence>
    
</xs:complexType>
  
</xs:element>
</xs:schema>

 


  对应的xml

 

biztalk 传输SQL XML 报文_sqlbiztalk 传输SQL XML 报文_连接字符串_02Code
<?xml version="1.0" encoding="utf-16"?>
  
<BIZ_WORKFLOWS xmlns="http://www.w3.org/2001/XMLSchema-instance">
    
<BIZ_WORKFLOW>
        
<AUTO_ID>1</AUTO_ID>
        
<BIZ_TYPE>1</BIZ_TYPE>
        
<BIZ_NO>1</BIZ_NO>
        
<OP_MAN>1</OP_MAN>
        
<SEND_MARK>0</SEND_MARK>
        
<OP_TIME>2009-05-07T14:48:36.230</OP_TIME>
        
<REMARK>1</REMARK>
        
<ADD_TIME>2009-05-07T14:48:36.230</ADD_TIME>
    
</BIZ_WORKFLOW>
  
</BIZ_WORKFLOWS>

 

 

4 建立odx流程文件

5 配置接收端口
  (1)接收位置类型:SQL
  (2)接收管道:XMLReceive

 
  (1)SQL 命令  EXEC   BIZ_SP_BP_APPROVE_TRACES_New_GetAutoID
  (2)URI 自动生成
  (3)连接字符串自动生成
  (4)文档根元素名称:BIZ_WORKFLOWS
  (5)文档目标命名空间 http://www.w3.org/2001/XMLSchema-instance
  (6)轮寻间隔 设置时间间隔

6 配置发送端口
  (1)发送设置为文件类型 设置文件位置,发送管道设置为:XMLTransmit


7 测试,当SEND_MARK='0' 报文发送

 

8设置发送队列,发送消息到MSMQ

发送队列的名称 SendPort_MSMQ_Out
设置如下:
发送MSMQ到
发送处理程序:BizTalkServerApplication
发送管道设置:PassThruTransmit
目标队列设置FORMATNAME:DIRECT=TCP:192.168.106.138\PRIVATE$\ADMINCHANNEL
事务性设置为True