共用方式為


如何設定 SOAP 接收位置

您可以程式設計的方式或使用 [BizTalk Server 管理] 主控台,以設定 SOAP 接收位置。

如何以程式設計的方式設定 SOAP 接收位置

「BizTalk 總管」物件模型可讓您以程式設計的方式建立和設定接收位置。 BizTalk Explorer 物件模型會公開具有TransportTypeData讀取/寫入屬性的IReceiveLocation接收位置組態介面。 此屬性接受的 SOAP 接收位置組態屬性包格式,是成對的名稱-數值 XML 字串。 若要在 BizTalk Explorer 物件模型中設定此屬性,您必須設定IReceiveLocation介面的InboundTransportLocation屬性。

IReceiveLocation介面的TransportTypeData屬性不需要設定。 若不設定此屬性,SOAP 配接器會按照下列表格指示,使用預設值做為 SOAP 接收位置組態。

下列表格列出您可在「BizTalk 總管」物件模型中,為 SOAP 接收位置設定的組態屬性。

屬性名稱 類型 Description
URI 字串 包含部署伺服器上 Web 服務的虛擬目錄。
AddressableURI 字串 公用位址欄位,包含完整可呼叫的 URL。

預設值:空白
UseSSO Boolean 指定 SOAP 配接器是否發出「單一登入」票證至扺達此接收位置的訊息。

預設值:False

使用下列格式設定屬性:

receiveLocation.TransportTypeData = "<CustomProps><UseSSO vt=\"11\">-1</UseSSO></CustomProps>";  

URIAddressableURI屬性是使用接收位置物件的AddressPublicAddress屬性來設定。

下列程式碼片段示範建立 SOAP 接收位置:

// Use BizTalk Explorer object model to create new SOAP receive location.  
string server = System.Environment.MachineName;  
string database = "BizTalkMgmtDb";  
string connectionString = string.Format("Server={0};Database={1};Integrated Security=true", server, database);  
//requires project reference to \Program Files\Microsoft BizTalk Server 2009\Developer Tools\Microsoft.BizTalk.ExplorerOM.dll  
BtsCatalogExplorer explorer = new Microsoft.BizTalk.ExplorerOM.BtsCatalogExplorer();  
explorer.ConnectionString = connectionString;  

// Add a new Request-Response port  
ReceivePort receivePort = explorer.AddNewReceivePort(true);  
receivePort.Name = "SampleReceivePort";  
receivePort.SendPipeline = explorer.Pipelines["Microsoft.BizTalk.DefaultPipelines.PassThruTransmit"];  

// Add primary SOAP receive location  
ReceiveLocation receiveLocation = receivePort.AddNewReceiveLocation();  
receiveLocation.Name = "SampleReceiveLocation";  
receiveLocation.Address = "/PurchaseOrder/POOrchestration.asmx";  
receiveLocation.TransportType = explorer.ProtocolTypes["SOAP"];  
receiveLocation.TransportTypeData = "<CustomProps><UseSSO vt=\"11\">-1</UseSSO></CustomProps>";  
receiveLocation.ReceivePipeline = explorer.Pipelines["Microsoft.BizTalk.DefaultPipelines.PassThruReceive"];  
foreach (ReceiveHandler receiveHandler in explorer.ReceiveHandlers)  
{  
if (receiveHandler.TransportType.Name == receiveLocation.TransportType.Name)  
{  
receiveLocation.ReceiveHandler = receiveHandler;   
}  
}  

// Save  
explorer.SaveChanges();   

如何使用 BizTalk Server 管理主控台設定 SOAP 接收位置

您可在 [BizTalk Server 管理] 主控台設定 SOAP 接收位置配接器變數。 若未在接收位置設定屬性,則會使用在 [BizTalk Server 管理] 主控台中設定的預設接收處理常式值。

注意

完成下列程序之前,您必須已經新增接收埠。 如需詳細資訊,請參閱 如何建立接收埠

設定 SOAP 接收位置的變數

  1. 在 [BizTalk Server管理主控台] 中,依序展開[BizTalk Server系統管理]、[BizTalk 群組]、[應用程式],然後展開您要建立接收位置的應用程式。

  2. 在 [BizTalk Server管理主控台] 的左窗格中,按一下 [接收埠]節點。 然後在右窗格中,使用滑鼠右鍵按一下與現有接收位置關聯的接收埠,或是您要與新接收位置關聯的接收埠,然後按一下 [屬性]

  3. 在 [ 接收埠屬性 ] 對話方塊的左窗格中,選取 [ 接收位置],然後在右窗格中按兩下現有的接收位置,或按一下 [ 新增] 來建立新的接收位置。

  4. 在 [接收位置屬性] 對話方塊的 [類型] 旁的 [傳輸] 區段中,從下拉式清單中選取[SOAP],然後按一下 [設定]。

  5. 在 [ SOAP 傳輸屬性] 對話方塊中,執行下列動作:

    使用 作法
    虛擬目錄加 Web 服務 .asmx 檔案 指示由「BizTalk Web 服務發佈精靈」所建立的 .asmx 檔案。

    此訊息的格式類似下列各項:

    /PurchaseOrder/POOrchestration.asmx

    .asmx 檔案的完整位置為 http://localhost/PurchaseOrder/POOrchestration.asmx. 注意: 傳送埠或接收位置的 URI 不能超過 256 個字元。
    公用位址 指定此接收位置的完整格式 URI。 此屬性的值是由伺服器名稱與虛擬目錄所組成。 指定的 URI 應指派當訊息傳送至 BizTalk Server 時,所要連接的交易夥伴的公用網站 URL。

    此資訊是選擇性的,BizTalk Server 不會使用。 此參數可用來允許管理員記載接收位置所連結的公用 URL。
    使用單一登入 指示 SOAP 配接器使用「企業單一登入」。 注意:BizTalk Web 服務發佈精靈可讓您使用SharePoint Portal Server單一登入;此屬性只啟用企業單一登入。
  6. 按一下 [確定]。

  7. 在 [ 接收位置屬性 ] 對話方塊中,輸入適當的值以完成接收位置的設定,然後按一下 [ 確定 ] 以儲存設定。 如需 [接收位置屬性] 對話方塊的詳細資訊,請參閱 如何建立接收位置

    SOAP 接收位置使用的安全性設定值,是在 IIS 中設定。 依照預設,SOAP 接收位置不會設成使用匿名驗證。

    雖然 SOAP 用戶端會呼叫 Web 服務,但 SOAP 配接器會使用「匿名」、「基本」、「摘要」或「Windows 整合」驗證來驗證 SOAP 用戶端。 若未驗證使用者,使用者內容會傳送至接收處理常式。

注意

任何導致 SOAP 與 HTTP 共用相同程序的 IIS 組態都無效。 每個程序只能有一個隔離的接收器。

若要更新虛擬目錄以使用 ASP.NET 4.0

  1. 啟動 Internet Information Services (IIS) Manager。 按一下 [開始],按一下 [所有程式],然後按一下 [ Internet Information Services (IIS) 管理員]。

  2. 如果您需要連線到遠端 IIS 伺服器,請以滑鼠右鍵按一下 [Internet Information Services ] 節點,然後按一下 [ 連線]。

  3. 如有需要,輸入遠端 IIS 伺服器的電腦名稱和認證。

  4. 展開要更新的網站或虛擬目錄所在之伺服器的伺服器名稱。

  5. 展開 [網站]。

  6. 展開 [預設網站]。

  7. 展開 [預設的網站],以檢視網站下方的虛擬目錄。

  8. 以滑鼠右鍵按一下您要更新以使用 ASP.NET 4.0 的虛擬目錄,按一下 [ 管理應用程式],然後按一下 [ 進階設定]。 [ 應用程式集區 ] 欄位會顯示所選虛擬目錄的應用程式集區集區。 按一下 [確定]。

  9. 在 [Internet Information Services (IIS) 管理員] 視窗中,按一下 [應用程式集區]。 詳細資料窗格會顯示伺服器上的應用程式集區清單。

  10. 以滑鼠右鍵按一下步驟 8 中設定的應用程式集區,然後按一下 [ 基本設定]。

  11. 在 [ 編輯應用程式集區 ] 對話方塊中,變更下列專案:

    • .NET Framework4.0

    • 受控管線模式傳統

  12. 按一下 [確定] 套用這些變更。

另請參閱

使用 Web 服務