如何設定 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>";
URI和AddressableURI屬性是使用接收位置物件的Address和PublicAddress屬性來設定。
下列程式碼片段示範建立 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 接收位置的變數
在 [BizTalk Server管理主控台] 中,依序展開[BizTalk Server系統管理]、[BizTalk 群組]、[應用程式],然後展開您要建立接收位置的應用程式。
在 [BizTalk Server管理主控台] 的左窗格中,按一下 [接收埠]節點。 然後在右窗格中,使用滑鼠右鍵按一下與現有接收位置關聯的接收埠,或是您要與新接收位置關聯的接收埠,然後按一下 [屬性]。
在 [ 接收埠屬性 ] 對話方塊的左窗格中,選取 [ 接收位置],然後在右窗格中按兩下現有的接收位置,或按一下 [ 新增] 來建立新的接收位置。
在 [接收位置屬性] 對話方塊的 [類型] 旁的 [傳輸] 區段中,從下拉式清單中選取[SOAP],然後按一下 [設定]。
在 [ 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單一登入;此屬性只啟用企業單一登入。 按一下 [確定]。
在 [ 接收位置屬性 ] 對話方塊中,輸入適當的值以完成接收位置的設定,然後按一下 [ 確定 ] 以儲存設定。 如需 [接收位置屬性] 對話方塊的詳細資訊,請參閱 如何建立接收位置。
SOAP 接收位置使用的安全性設定值,是在 IIS 中設定。 依照預設,SOAP 接收位置不會設成使用匿名驗證。
雖然 SOAP 用戶端會呼叫 Web 服務,但 SOAP 配接器會使用「匿名」、「基本」、「摘要」或「Windows 整合」驗證來驗證 SOAP 用戶端。 若未驗證使用者,使用者內容會傳送至接收處理常式。
注意
任何導致 SOAP 與 HTTP 共用相同程序的 IIS 組態都無效。 每個程序只能有一個隔離的接收器。
若要更新虛擬目錄以使用 ASP.NET 4.0
啟動 Internet Information Services (IIS) Manager。 按一下 [開始],按一下 [所有程式],然後按一下 [ Internet Information Services (IIS) 管理員]。
如果您需要連線到遠端 IIS 伺服器,請以滑鼠右鍵按一下 [Internet Information Services ] 節點,然後按一下 [ 連線]。
如有需要,輸入遠端 IIS 伺服器的電腦名稱和認證。
展開要更新的網站或虛擬目錄所在之伺服器的伺服器名稱。
展開 [網站]。
展開 [預設網站]。
展開 [預設的網站],以檢視網站下方的虛擬目錄。
以滑鼠右鍵按一下您要更新以使用 ASP.NET 4.0 的虛擬目錄,按一下 [ 管理應用程式],然後按一下 [ 進階設定]。 [ 應用程式集區 ] 欄位會顯示所選虛擬目錄的應用程式集區集區。 按一下 [確定]。
在 [Internet Information Services (IIS) 管理員] 視窗中,按一下 [應用程式集區]。 詳細資料窗格會顯示伺服器上的應用程式集區清單。
以滑鼠右鍵按一下步驟 8 中設定的應用程式集區,然後按一下 [ 基本設定]。
在 [ 編輯應用程式集區 ] 對話方塊中,變更下列專案:
.NET Framework4.0版
受控管線模式 至 傳統
按一下 [確定] 套用這些變更。