--首先SQL操作
1 创建表
 

 Code
Code
CREATE TABLE [dbo].[BIZ_WORKFLOW](
    [AUTO_ID] [int] IDENTITY(1,1) NOT 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 写存储过程
 

 Code
Code
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框架文件
 

 Code
Code
 <?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
 

 Code
Code
<?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