專利名稱:用于萬維網(wǎng)服務(wù)的動態(tài)互通性合同的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及機器可讀數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)結(jié)構(gòu)的動態(tài)計算以支持互通性。更具體地說,本發(fā)明涉及提高互通性的數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)結(jié)構(gòu)的動態(tài)生成這些方面。在權(quán)利要求書、說明書和附圖中描述了本發(fā)明的具體方面。
背景技術(shù):
商家到商家(B2B)和應(yīng)用到應(yīng)用(A2A)電子商務(wù)正在取代用于電子數(shù)據(jù)交換(EDI)的舊協(xié)議。隨著商家力爭借助于B2B和A2A系統(tǒng)來提高它們的效率,出現(xiàn)了大量不兼容平臺和競爭標準。在兼容標準之間,仍然需要填補相互之間的空隙。例如,企業(yè)定義了簡單萬維網(wǎng)服務(wù)是什么。與簡單萬維網(wǎng)服務(wù)有關(guān)的標準包括UDDI、WSDL、XSDL和SOAP。但是,這些標準沒有完全滿足實際B2B和A2A電子商務(wù)的安全性、可靠性、可管理性和安排(choregraphy)要求。特別是安全性將許多選擇和配置問題擺在人們面前。人們期望協(xié)同萬維網(wǎng)服務(wù)和它們的安全需要像非萬維網(wǎng)商業(yè)那樣演變。還沒有任何隨著萬維網(wǎng)服務(wù)不斷演變動態(tài)地解決和更新安全選擇和配置的綜合或統(tǒng)一設(shè)備或方法。
許多企業(yè)首創(chuàng)擴展了可應(yīng)用于B2B和A2A電子商務(wù)的標準。在安排方面的成果包括OASIS公司所作的ebXML/BPSS、IBM公司所作的WSFL和Microsoft公司所作的XLANG。在會話方面的成果包括OASIS所作的ebXML/TRP和Microsoft公司的WS-routing。與ebXML首創(chuàng)有關(guān)的進一步信息可從網(wǎng)站http//www.ebxml.org/specs/index.htm#whitepapers獲得,在該網(wǎng)絡(luò)中可找到ebXML Trading-Parters Team(2001年5月10日)發(fā)現(xiàn)的文章“Collabo-ration-Protocol Profile and Agreement Specification Version 1.0”。關(guān)于交互和服務(wù)合同強制執(zhí)行者邏輯性的無歧義規(guī)則,也可在美國專利第6,148,290號中找到。占優(yōu)勢的安全成果是IBM和Microsoft公司所作的WS-security,還存在稱為SAML的OASIS公司所作的輔助安全成果。有關(guān)可靠性,存在Microsoft公司提出的建議、OASIS公司所作的ebXML/TRP和IBM公司所作的HTTPR。W3C正在解決所有這些領(lǐng)域中的標準化問題。Keyindustry players形成了稱為WSI的競爭者聯(lián)盟。但是,他們還沒有解決動態(tài)安全協(xié)議問題。
在ebXML CPP和CPA中,對于它們在單個登記表中的服務(wù),各方為它們的互通性規(guī)則互通定義了稱為CPP的簡檔(profile)。兩個簡檔可以相交,以推出稱為CPA的默認互通性協(xié)議??蛇x地,雙方可以商定稱為CPA的相互之間的一組特定互通性規(guī)則。ebXML CPP和CPA帶來的問題包括它們假設(shè)發(fā)送方和接收方處在同一登記表中?;ネㄐ砸?guī)則不足以覆蓋互通性的許多方面。在使用的時候,它們假設(shè)CPA的簽名副本(由雙方簽名)保存在登記表中。使維護和修改變得非常麻煩。這正好與動態(tài)計算互通性協(xié)議不協(xié)調(diào)。于是,在一個服務(wù)調(diào)用另一個服務(wù)的運行內(nèi),不是借助于高速緩存來解決動態(tài)計算,而是涉及預(yù)下載和本地安裝,使得對CPA的管理改變既困難又非自動。
于是,出現(xiàn)了開發(fā)為貿(mào)易伙伴動態(tài)確定互通性協(xié)議的方法和設(shè)備的機會。
發(fā)明內(nèi)容
本發(fā)明涉及機器可讀數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)結(jié)構(gòu)的動態(tài)計算以支持互通性。更具體地說,本發(fā)明涉及提高互通性的數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)結(jié)構(gòu)的動態(tài)生成這些方面。在權(quán)利要求書、說明書和附圖中描述了本發(fā)明的具體方面。
圖1例示了共同體和共同體的網(wǎng)絡(luò),它們是機器可讀、動態(tài)協(xié)商互通性合同可用的一個環(huán)境;圖2例示了共用同一連接器以支持不同傳輸/封裝協(xié)議和技術(shù)的多個軸心和輻條機構(gòu);和圖3例示了當發(fā)送器對于安全、轉(zhuǎn)換和其它措施的計算是本地的時,獲取接收器信息的可替代實施例。
具體實施例方式
下面參照附圖作出詳細描述。描述優(yōu)選實施例是為了舉例說明本發(fā)明,而不是限制權(quán)利要求書所限定的本發(fā)明的范圍。本領(lǐng)域的普通技術(shù)人員應(yīng)該認識到,可以對如下的描述作出各種各樣等效的改變。
圖1例示了共同體和共同體的網(wǎng)絡(luò),它們是機器可讀、動態(tài)協(xié)商互通性合同可用的一個環(huán)境。
在這些共同體中,一個共同體維護本地登記表,本地登記表包括諸如共同體組成部分的用戶、公司、服務(wù)和連接器之類的信息。共同體可以屬性一個或多個共同體網(wǎng)絡(luò)。通常,共同體和網(wǎng)絡(luò)存在一些共同的商業(yè)利益?;ネㄐ允且粋€或多個網(wǎng)絡(luò)中的成員共同體之間。網(wǎng)絡(luò)包括黃金市場網(wǎng)絡(luò)1、貴金屬市場網(wǎng)絡(luò)2、專用網(wǎng)絡(luò)3和全局貿(mào)易萬維網(wǎng)4。在這個示例中,黃金市場網(wǎng)絡(luò)1和貴金屬市場網(wǎng)絡(luò)2包含在全局貿(mào)易萬維網(wǎng)4中。貴金屬市場網(wǎng)絡(luò)2包括黃金和白銀市場14和13。黃金市場消費者可以在白銀市場13中買賣白銀,和白銀市場消費者可以在黃金市場14中買賣黃金。一個共同體-PQR企業(yè)17屬于黃金市場網(wǎng)絡(luò)1、專用網(wǎng)絡(luò)3和全局貿(mào)易萬維網(wǎng)4;另一個共同體-ABC大供應(yīng)商18屬于專用網(wǎng)絡(luò)3。在這個示例中,XYZ黃金部分14是買賣黃金的市場或共同體。企業(yè)屬性這個共同體。像PQR企業(yè)17那樣自己形成一個共同體的企業(yè)屬于黃金市場網(wǎng)絡(luò)1。這些共同體是黃金市場網(wǎng)絡(luò)1和全局貿(mào)易萬維網(wǎng)4的組成部分。小供應(yīng)商15是黃金市場共同體的組成部分。其它企業(yè)16是黃金市場共同體的組成部分。XYZ黃金部分14和其它黃金市場實體15-17之間的連接表示黃金市場要求參與黃金買賣的企業(yè)(或共同體)之間的所有業(yè)務(wù)都要經(jīng)過XYZ黃金部分14,例如,以收集結(jié)帳和商業(yè)情報信息。PQR企業(yè)17是黃金市場的組成部分,和與供應(yīng)商18一起也是局部專用網(wǎng)絡(luò)的組成部分。小供應(yīng)商15可以是本身不想形成共同體,而是將諸如用戶、機構(gòu)、服務(wù)和轉(zhuǎn)換之類它的元數(shù)據(jù)登記在黃金市場的登記表中的個別小供應(yīng)商。另一方面,ABC大供應(yīng)商18形成它自己的專用網(wǎng)絡(luò),例如,由于它想要保存因開發(fā)它們相當昂貴而不允許一般公開訪問的元數(shù)據(jù)、機構(gòu)內(nèi)系統(tǒng)和轉(zhuǎn)換。由于PRQ 17是ABC 18的客戶,所以它加入專用網(wǎng)絡(luò)3中。金融服務(wù)提供商DEF金融部分12想要向全局貿(mào)易萬維網(wǎng)4中的任何人提供金融服務(wù),這樣就形成它自己的共同體和與全局貿(mào)易萬維網(wǎng)頂級部分11平起平坐。共同體的網(wǎng)絡(luò)使共同體的全局登記表可供使用。全局登記表允許發(fā)現(xiàn)共同體和確定到那個共同體,或到可以路由準備到共同體的電子商務(wù)文檔的外部連接器的一條或多條路線。從一個共同體路由到另一個共同體的文檔可以在兩個共同體的外部連接器之間直接路由,或者通過一個或多個中間共同體間接路由。在共同體登記表中也可以定義和維護涉及共同體的交易的商業(yè)和安全規(guī)則。一般說來,圖1例示了產(chǎn)生對電子商務(wù)平臺之間的互通性的推動力的實體和共同體的混合忠實性。
連接器是與其它應(yīng)用程序通信的應(yīng)用程序的一般術(shù)語。連接器可以對等(P2P)地或直接地通過起集線器、網(wǎng)關(guān)、外部端口、軸心連接器等作用的其它連接器通信。P2P通信的連接器能夠與使用相同傳輸/封裝協(xié)議的其它連接器通信。當試圖與不使用相同傳輸/封裝協(xié)議的其它連接器通信時,P2P通信的連接器可以有選擇地謀取進行翻譯服務(wù)的其它軸心連接器的幫助。直接通信的連接器根據(jù)路由規(guī)則,通過軸心連接器通信。在有向圖中可以映射連接器之間的路由規(guī)則,對于一種或多種傳輸/封裝協(xié)議,支持一種或多種軸心和輻條拓撲結(jié)構(gòu)。軸心和輻條拓撲結(jié)構(gòu)分一層或多層使通信沿著輻條指向軸心。這有助于諸如結(jié)帳、商業(yè)情報收集、跟蹤、審計、計費等的集中服務(wù)。像圖2所建議的那樣,多個軸心和輻條機構(gòu)可以共用同一連接器,以支持不同傳輸/封裝協(xié)議和技術(shù)。例如,可以要求較強的軸心和輻條機構(gòu)將Sonic用作傳輸技術(shù),而不是使用HTTP或HTTPS??蛇x地,通信路由可以取決于源和目的地是否是同一共同體的組成部分。在子共同體(它可能包括跨越共同體)內(nèi),可能不需要集中功能,并且當與其它子共同體中的目的地通信時,在以另外的方式指向其以便與母連接器通信的連接器之間允許P2P通信。
連接器可能被標記成簡單連接器(有時簡稱為連接器)、集線器(有時稱為網(wǎng)關(guān)或路由器)或中心連接器??商娲?,可以在功能上描述它們。通過軸心連接器指向簡單連接器通信,除了允許它們在相同子共同體中的連接器之間進行P2P通信之外。所謂的集線器供明顯指向它們或與它們鏈接的連接器使用。集線器可以提供不止一種功能,于是,在從源到目的地的路線中可能表現(xiàn)得不止一個。集線器轉(zhuǎn)發(fā)電子商務(wù)文檔或消息。集線器還可以翻譯支持公用封裝協(xié)議的傳輸協(xié)議。例如,集線器可以翻譯封裝協(xié)議,并且,根據(jù)發(fā)送而不是根據(jù)接收實現(xiàn)不同的傳輸協(xié)議。中心連接器是集線器的特殊情況,它可以供沒有明顯指向它們或與它們鏈接的連接器使用。中心連接器可用于例如根據(jù)路由規(guī)則從源開始穿過連接器沒有通向支持目的地使用的傳輸/封裝協(xié)議的任何集線器時,完成翻譯功能。
本發(fā)明的這些方面解決了聯(lián)合登記表、互通性合同數(shù)據(jù)結(jié)構(gòu)的成分和互通性合同的動態(tài)協(xié)商。登記表的范圍是共同體。共同體可以是企業(yè)、市場或較大分散企業(yè)中的子企業(yè)。互通的各方可能處在不同共同體中。例如,一方可能處在供應(yīng)者共同體中,另一方可能處在購買者共同體中。因此,應(yīng)該使用存儲簡檔和協(xié)議的聯(lián)合方案。關(guān)于互通性,本發(fā)明勝過ebXML和解決電子商務(wù)互通性的其它傳統(tǒng)手段?;ネㄐ院贤煌茝V到包括如下的組合在服務(wù)之間傳送消息時要沿著走的路線,和遵從定義的路由規(guī)則。例如,一條規(guī)則可能闡述到/來自萬維網(wǎng)服務(wù)的所有消息應(yīng)該由特定路由器置頂。該路線包括對于譬如SOAP和EDI封裝協(xié)議之間的封裝轉(zhuǎn)換,通過網(wǎng)關(guān)的自動路由。由于在消息中可以存在多個部分,指定基于逐個消息部分的信號發(fā)送、驗證和加密策略,其中,該策略包括算法、技術(shù)(例如,XML加密、SMIME、PKCS#7)和元素(例如,XML文檔中的XML元素)。一個部分一個部分地為包括在消息部分中的文檔指定轉(zhuǎn)換規(guī)則。例如,是否允許版本互通性的轉(zhuǎn)換,如果這樣的話,是否應(yīng)該附上原文。還可以標識特定轉(zhuǎn)換邏輯。標識要使用的消息交換安排的版本,例如,一種服務(wù)可能支持多種版本的安排,因此,服務(wù)知道發(fā)送器和接收器支持的正確版本是有益的。某些消息傳送策略被設(shè)置成譬如是否存檔消息、是否使用可靠交付和是否要求不拒絕接受確認。需要橋接的發(fā)送和接收消息之間的差異通過封裝調(diào)整或封裝轉(zhuǎn)換來解決。例如,使用的不同封裝外延、消息部分順序的差異和不同的封裝協(xié)議。路線中提供與連接器的能力相符的各種各樣互通性功能的連接器被登記在登記表中。本領(lǐng)域的普通技術(shù)人員應(yīng)該認識到,在許多有用的子集中可以組合本發(fā)明的前面和后面這些方面,且本發(fā)明無意局限于包括本發(fā)明所有方面的互通性合同。
互通性合同一般通過使發(fā)送器和接收器服務(wù)的策略和接口相交導(dǎo)出。但是,也可以使用指示應(yīng)該用于解決發(fā)送器和接收器之間的沖突的判定規(guī)則的越權(quán)。例如,判定規(guī)則可以確定發(fā)送器取勝、接收器取勝和最嚴格策略取勝等。由于互通性合同由可信服務(wù)譬如值得信任的共同體頂級方(root party)計算和簽名,這對于支持服務(wù)修改是有用的?;ネㄐ院贤梢援斦{(diào)用服務(wù)時動態(tài)地計算,并且可以本地地高速緩存在消息發(fā)送站上。
當調(diào)用的服務(wù)處在一個共同體中和被調(diào)用的服務(wù)處在另一個共同體中時,可以由從對于兩種服務(wù)都是本地的共同體登記表中獲得發(fā)送方和接收方信息和使其相交的分布式邏輯單元進行合同計算。如果以前沒有批準,將在接收方和發(fā)送方定義的任何越權(quán)(override)加上注釋,復(fù)制給輔助方,加以批準。在創(chuàng)建合同時,由于交叉共同體在線協(xié)商進程可以用于解決越權(quán),分布式地計算的所得互通性合同完全相同地結(jié)束。服務(wù)編寫者覺察不到非常復(fù)雜,和從登記表中自動推出互通性合同。這極大地簡化了服務(wù)開發(fā)。
應(yīng)該動態(tài)計算互通性合同,以便通過將合同安裝在本地機器中來避免主要同步問題。由于高速緩沖存儲器可以輔助動態(tài)計算,這未必要求對每個消息進行重新計算。通過登記表中有關(guān)變化的無效通知或過期策略可以使高速緩存保持連貫。高速緩存保持者可以預(yù)約任何所需通知。一旦從發(fā)送服務(wù)連接器(或它的知道如何管理它的代理器)開始萬維網(wǎng)服務(wù),就可以動態(tài)地計算互通性合同。計算之后可以將合同附在消息上,以便通信服務(wù)之間的中間連接器明白它們在消息交換中的作用。例如,合同可以指定哪個連接器應(yīng)該進行版本轉(zhuǎn)換、信號發(fā)送和加密等。
本發(fā)明的這些方面可以推廣到多維的互通性。對于真正的端到端消息互通性,存在多維的互通性需要解決。解決任何一維的互通性都推進利用基于萬維網(wǎng)的服務(wù)的電子商務(wù)。解決互通性組合問題可以產(chǎn)生顯著推進。在如下的討論中,給出了十幾維的互通性和在本發(fā)明范圍內(nèi)的解決方案。
1.傳輸協(xié)議互通互通的一維是傳輸層互通。根據(jù)在相關(guān)應(yīng)用中更全面討論的本發(fā)明的這些方面,將允許的和支持的傳輸協(xié)議與使用的封裝協(xié)議結(jié)合在一起。相反,在ebXML中,允許的傳輸協(xié)議是HTTP(S)。對于MML,允許的傳輸協(xié)議是Sonic。對于Biztalk,允許的傳輸協(xié)議是HTTP(S)。在本發(fā)明的一個實施例中,允許的傳輸協(xié)議是HTTP(S)和Sonic。
對于Sonic,可靠性被下推到傳輸層。Sonic可靠性協(xié)議是極好的算法。如果被標準化,長期HTTP(S)R可以提供HTTP(S)層本身上的可靠性。ebXML和Biztalk現(xiàn)在使用的解決方案是在HTTP(S)上存在封裝協(xié)議相關(guān)措施的可靠性。在未作擴展的情況下,SOAP不提供對封裝層上的可靠性的支持。
本發(fā)明包括對協(xié)商受支持協(xié)議當中的傳輸協(xié)議的支持。在一個實施例中,這涉及到HTTP(S)和Sonic之間的選擇。由于其它傳輸協(xié)議也適用于電子商務(wù),因此,本發(fā)明可以使那些附加選項包括在協(xié)商中。
2.封裝協(xié)議互通在本發(fā)明的一個實施例中,支持的封裝協(xié)議是MML、C1 SOAP、email和external SOAP,它允許像C1 address、conversation and message info、manifest、SAML和SOAP那樣的可選擴展與附件任意組合。在企業(yè)中用pureSOAP、SOAP WA、standard WSDL和discoverable with UDDI展示的服務(wù)被稱為簡單萬維網(wǎng)服務(wù)。但是,雖然與作為簡單萬維網(wǎng)服務(wù)(借助于第三方開發(fā)環(huán)境和第三方執(zhí)行環(huán)境開發(fā)的)的端點互通,C1 SOAP還支持具有可靠性、安全性和參與雙向安排的本地萬維網(wǎng)服務(wù)。用J2EE CA或EJB展示的機構(gòu)內(nèi)系統(tǒng)可以由第三方包裝成簡單萬維網(wǎng)服務(wù)。這個實施例可以與它們以及支持的電子郵件協(xié)議和external SOAP互通。
支持的協(xié)議定義允許的傳輸、可靠性和安全協(xié)議。它們還定義在那種協(xié)議下闡述服務(wù)和各方的方式和將相關(guān)消息結(jié)合在一起的數(shù)據(jù)連接。消息路由和調(diào)度基于定義的地址。
互通性合同可以支持封裝協(xié)議確定和轉(zhuǎn)換。這是互通性合同遠遠超過典型ebXML CPA合同的方式之一。此外,互通性合同可以包括有關(guān)要沿著走的路線、要完成的轉(zhuǎn)換和在什么地方完成轉(zhuǎn)換、要簽名和加密的東西和在什么地方做和使用什么算法、安排的名稱和版本、以及發(fā)送/接收TP/服務(wù)/服務(wù)版本/操作的信息。互通性合同可以用于沿著服務(wù)之間的路線導(dǎo)出中間連接器。參與服務(wù)之間的線段是即使端點嚴格地遵守沒有使用本專利的受讓人開發(fā)的軟件的標準,也可以附加數(shù)值的所謂“智能互通網(wǎng)絡(luò)”。
封裝協(xié)議之間的互通通過網(wǎng)關(guān)。同一協(xié)議的不同版本可以當作不同協(xié)議來對待。路由器知道通過適合互通的一組網(wǎng)關(guān)透明地路由消息。目的地連接器中的調(diào)度器將入站消息交給適當部件。這種再次調(diào)度基于通過目標地址和其它封裝字段導(dǎo)出的規(guī)則。
封裝協(xié)議互通的一種變種是我們擁有存在基線和可以使用的多個選項的協(xié)議。一個例子是external SOAP,帶有附件、路由、安全和SAML等的SOAP是可選的。如果發(fā)送器指定一組選項和接收器指定另一組,進入網(wǎng)絡(luò)點將計算互通是否可能,如果可能的話,如何互通。根據(jù)規(guī)則自動地附加可選塊和去掉網(wǎng)絡(luò)退出點上的無用塊。
當我們將來自SOAP正文的XML數(shù)據(jù)轉(zhuǎn)換成MIME部分中的文檔或反過來時,我們認為這是封裝互通的一種形式。這樣的轉(zhuǎn)換發(fā)生在在Biztalk和ebXML之間或在SOAP和ebXML之間轉(zhuǎn)換的時候。對于發(fā)送器將有效載荷放在附件中和接收器期望它在正文中(或反過來)的SOAP到SOAP互通,也會發(fā)生。
3.安全協(xié)議互通封裝協(xié)議互通存在的一個問題是支持的安全協(xié)議通過封裝協(xié)議來定義和安全協(xié)議之間的轉(zhuǎn)換幾乎是不可能的。例如,從封裝協(xié)議A支持XML簽名轉(zhuǎn)換成封裝協(xié)議B支持的PKCS#7是不可能的。如果接收服務(wù)要求原始簽名或?qū)ネ用埽W(wǎng)關(guān)應(yīng)該將錯誤返回給發(fā)送器,除非信任網(wǎng)關(guān)轉(zhuǎn)換安全協(xié)議。一種克服安全協(xié)議不兼容的手段是信任網(wǎng)關(guān)核實消息中的簽名,和解密(加密者使用網(wǎng)關(guān)密鑰),重新簽名和重新加密消息。制定信任方案,從而接收器可以信任網(wǎng)關(guān)簽名。
企業(yè)建議的SOAP擴展版是WS-security(GXA的組成部分)。本發(fā)明的實施例可以支持WS-security,包括用于C1 SOAP的WS-security。此時,這樣的安全擴展是可選的,如果外地萬維網(wǎng)服務(wù)沒有采用WS-security,可以將簽名權(quán)限授予進入互通網(wǎng)絡(luò)點和代表它加密消息(進入點訪問用戶密鑰)。如果進入網(wǎng)絡(luò)點位于存在外地萬維網(wǎng)服務(wù)的企業(yè)內(nèi),就這樣工作。
在沒有首先得到驗證的情況下(除非被調(diào)用服務(wù)明白地表示不在乎),不應(yīng)該接受到互通網(wǎng)絡(luò)的消息。
安全協(xié)議互通的一個方面是當發(fā)送器和接收器指定不同安全策略和能力時。互通框架必須計算互通是否可能,如果可能的話,如何互通。
4.不同類型服務(wù)之間的互通通常,除非另有說明,服務(wù)被登記在協(xié)同登記表中。在這個討論的背景下,預(yù)期協(xié)同萬維網(wǎng)服務(wù)通過至少一個接口與另一個協(xié)同萬維網(wǎng)服務(wù)交互。
存在所謂的簡單萬維網(wǎng)服務(wù)、高性能萬維網(wǎng)服務(wù)和協(xié)同萬維網(wǎng)服務(wù)。還存在本地萬維網(wǎng)服務(wù)和外地萬維網(wǎng)服務(wù)。最后,存在登記服務(wù)和未登記服務(wù)。簡單萬維網(wǎng)服務(wù)不使用簽名、加密、可靠消息傳送,和不要求來自中心可信方的驗證。也不支持雙向安排。換句話說,簡單萬維網(wǎng)服務(wù)的每一次調(diào)用都獨立于簡單萬維網(wǎng)服務(wù)的以前所有調(diào)用,并且,沒有保留在簡單萬維網(wǎng)服務(wù)中的安排背景,和不知道在這種背景下的返回地址,因此,以后可以回答。高性能萬維網(wǎng)服務(wù)可以包括更高的可靠性和安全性。協(xié)同萬維網(wǎng)服務(wù)可以是簡單的或高性能的,另外還支持雙向安排。除了由本申請的受讓人預(yù)備的那些(外地萬維網(wǎng)服務(wù))之外的萬維網(wǎng)服務(wù)都是簡單萬維網(wǎng)服務(wù)。
正如本申請和引用的申請通篇所述的那樣,本發(fā)明的這些方面可以以許多種方式推廣電子商務(wù)的機制。與高性能萬維網(wǎng)服務(wù)和協(xié)同萬維網(wǎng)服務(wù)一樣,新的萬維網(wǎng)服務(wù)可以登記在協(xié)同登記表中。可以為可以逐個加入單元的本地簡單和高性能萬維網(wǎng)服務(wù)之間的連續(xù)性提供支持。高性能萬維網(wǎng)服務(wù)可以在登記表中聲明它支持什么單元??梢韵螺d新本地簡單萬維網(wǎng)服務(wù)(從UDDI或從Commerce One自己的協(xié)同登記表)的WSDL定義,WSDL定義標識作為進入網(wǎng)絡(luò)點的URL的服務(wù)端口。通過進入端口傳送的消息將自動從那里路由到它們的邏輯目的地。按照本發(fā)明路由的消息包括互通性合同或受互通性合同支配,互通性合同支配每個跳段將發(fā)生什么。本地萬維網(wǎng)服務(wù)可以調(diào)用本地或外地簡單萬維網(wǎng)服務(wù)。
新的網(wǎng)絡(luò)可以支持外地簡單萬維網(wǎng)服務(wù)。如果外地萬維網(wǎng)服務(wù)知道新的尋址和消息身份和相關(guān)SOAP擴展版,它甚至可以作為協(xié)同萬維網(wǎng)服務(wù)參與雙向安排中。外地萬維網(wǎng)服務(wù)可以使用新SOAP擴展版的組合。它們不需要訪問共同體登記表或了解互通性合同。本發(fā)明可以推廣到提供建立外地萬維網(wǎng)服務(wù)的軟件和應(yīng)該使用第三方軟件。外地萬維網(wǎng)服可以供任何本地萬維網(wǎng)服務(wù)或任何其它外地萬維網(wǎng)服務(wù)通過我們的網(wǎng)絡(luò)來調(diào)用。外地萬維網(wǎng)服可以使用external SOAP或email。在email的情況下,使用電子郵件瀏覽器的人員可以“實現(xiàn)”萬維網(wǎng)服務(wù)和與簡單和協(xié)同本地或外地萬維網(wǎng)服務(wù)互通??梢詮膮f(xié)同登記表或從UDDI下載外地萬維網(wǎng)服務(wù)的WSDL定義。外地萬維網(wǎng)服務(wù)通過調(diào)用進入網(wǎng)絡(luò)點上的URL調(diào)用新網(wǎng)絡(luò)中的萬維網(wǎng)服務(wù)。協(xié)同外地萬維網(wǎng)服務(wù)通過本地協(xié)同萬維網(wǎng)服務(wù)提供SOAP擴展版中進入我們網(wǎng)絡(luò)點的URL,作為調(diào)用的一部分,因此,如果它了解SOAP擴展版,以后可以動態(tài)地作出回應(yīng)。
5.網(wǎng)絡(luò)和位置無關(guān)互通目的地服務(wù)部件的位置應(yīng)該無關(guān)緊要,和其中登記服務(wù)的市場或企業(yè)共同體也應(yīng)該無關(guān)緊要。路由算法應(yīng)該透明地管理位置透明性和市場或企業(yè)共同體透明性。沿著傳輸和安全機構(gòu)的路由應(yīng)該支持在安全方面不打折扣地自動穿越適當?shù)钠髽I(yè)和市場防火墻。
6.平臺無關(guān)互通平臺可以包括軟件運行的硬件/操作系統(tǒng)和商業(yè)服務(wù)運行的服務(wù)器的開發(fā)和執(zhí)行環(huán)境。它還可以涉及軟件運行的服務(wù)器技術(shù)(J2EE應(yīng)用服務(wù)器、萬維網(wǎng)服務(wù)器或小服務(wù)程序運行器)。無關(guān)的硬件部分可以利用100%純度的Java來實現(xiàn)。與開發(fā)/執(zhí)行環(huán)境的無關(guān)性可以通過支持與外地連接器和服務(wù)器的基于嚴格標準有線層互通來實現(xiàn)。服務(wù)器技術(shù)無關(guān)性可以通過使部件可嵌入和遵從J2EE標準來實現(xiàn)。
當銷售商供應(yīng)的部件是平臺無關(guān)的時,消費者可以利用來自它們優(yōu)選的喜歡銷售商和與它們喜歡的客戶機方工具相聯(lián)系的它們優(yōu)選開發(fā)/執(zhí)行環(huán)境開始服務(wù)。這樣的服務(wù)借助于智能網(wǎng)絡(luò)加入的互通值仍然可以與銷售商開發(fā)的服務(wù)互通,和利用進程流引擎可以將所有服務(wù)組合成具有復(fù)合能力的更復(fù)雜服務(wù)。
輕型商用萬維網(wǎng)服務(wù)服務(wù)器主要根據(jù)消息互通部件來部署。輕型(lightweight)服務(wù)器將是供應(yīng)商連通、網(wǎng)關(guān)編寫者和ISV市場的目標。協(xié)同萬維網(wǎng)服務(wù)服務(wù)器的更完整實施例是輕型版的一個超集。輕型版包括用于文檔相關(guān)開發(fā)的基本開發(fā)工具,但主要補充支持用于服務(wù)開發(fā)的第三方工具。對于協(xié)同萬維網(wǎng)服務(wù)服務(wù)器實施例,可以包括用于基于UI和文檔進程中心自含或組合服務(wù)的復(fù)雜全面開發(fā)環(huán)境。
7.機構(gòu)內(nèi)系統(tǒng)互通與外地連接器互通的一個方面是與機構(gòu)內(nèi)系統(tǒng)的互通。本發(fā)明的這些方面允許機構(gòu)內(nèi)系統(tǒng)展示出來,以便從消息傳送層和從發(fā)現(xiàn)層看來就像數(shù)個服務(wù)一樣。工具箱使機構(gòu)內(nèi)系統(tǒng)操作者將他們的接口展示成簡單萬維網(wǎng)服務(wù),或者將它們的定制適配器包裝成萬維網(wǎng)服務(wù)。定制綜合中介器能夠?qū)⒔⒌腅AI技術(shù)與新消息傳送系統(tǒng)結(jié)合在一起或直接構(gòu)建萬維網(wǎng)服務(wù)接口。與機構(gòu)內(nèi)系統(tǒng)結(jié)合的另一個實施例是電子郵件支持。電子郵件服務(wù)器可以用于將機構(gòu)內(nèi)系統(tǒng)與新網(wǎng)絡(luò)結(jié)合在一起。
將機構(gòu)內(nèi)系統(tǒng)展示成萬維網(wǎng)服務(wù)可能涉及不基于XML的專業(yè)轉(zhuǎn)換方案。例子是DB和XML或XML和平面文件之間的轉(zhuǎn)換,或J2EE CA 1.0記錄結(jié)構(gòu)和XML之間的轉(zhuǎn)換。所有這些都對下游萬維網(wǎng)服務(wù)保密和對下游萬維網(wǎng)服務(wù)開發(fā)者是透明的。
8.服務(wù)發(fā)現(xiàn)和跨越共同體互通將來,很有可能貿(mào)易伙伴之間的互通將變得更加動態(tài)。發(fā)現(xiàn)機制可用于在建立商業(yè)關(guān)系之前,找出要做生意的貿(mào)易伙伴。服務(wù)和提供服務(wù)的貿(mào)易伙伴的發(fā)現(xiàn)是通過UDDI標準完成的。UDDI支持的更強大工具調(diào)用新登記表萬維網(wǎng)服務(wù)。與本發(fā)明有關(guān)的發(fā)明提供將數(shù)據(jù)上載到公共UDDI登記表或上載到對于一個共同體或一組共同體用作黃頁的專用UDDI登記表的支持。在跨越共同體的網(wǎng)絡(luò)內(nèi)發(fā)現(xiàn)是可能的。
對于跨越共同體的發(fā)現(xiàn),每個共同體可能擁有全局白頁共同體的列表或與之相聯(lián)系的全局黃頁登記表。全局白頁共同體包含將請求路由到一組被廣告的共同體的傳輸?shù)刂贰H贮S頁登記表包含貿(mào)易伙伴和一組被廣告的共同體的服務(wù),以及別名和類別。按類別進行搜索。由于互通是雙向的,兩個共同體可以預(yù)約公用全局白頁共同體或在它們的共同體登記表內(nèi)擁有直接到彼此的路由信息。如果兩個共同體預(yù)約公用黃頁登記表,它們可以在彼此中發(fā)現(xiàn)對象。通常,黃頁登記表寄宿在白頁共同體內(nèi)。
不僅對于發(fā)現(xiàn),而且對于包括角色和特權(quán)的貿(mào)易伙伴信息、以及用戶與機構(gòu)及其它們的關(guān)系,也支持編程登記表訪問接口。此外,存在對獲取包括WSDL文件、服務(wù)接口、轉(zhuǎn)換代碼和模式文件的有關(guān)互通的技術(shù)信息的支持。
9.登記表版本互通登記表服務(wù)可以被配置成其它萬維網(wǎng)服務(wù),并且,可以從所有服務(wù)的互通性支持中獲益。
10.文檔語義互通基礎(chǔ)設(shè)施不關(guān)心有效負載的語義。但是,文檔語義互通允許使用不同文檔的服務(wù)享用端到端互通。發(fā)送器和接收器必須承認文檔語義,譬如,文檔族成員和成員之間的轉(zhuǎn)換,以促進互通。對于與機構(gòu)內(nèi)系統(tǒng)的互通,文檔標準可以包括Idocs和OAGI。
11.文檔版本互通服務(wù)中接收操作的接口可以定義對一個或多個版本的文檔的支持。新版互通系統(tǒng)轉(zhuǎn)換發(fā)送文檔和要接收的預(yù)期文檔,并且,設(shè)法通過挑選最佳接收版本降低損失。轉(zhuǎn)換發(fā)生在在發(fā)送方簽名和加密消息之前。
登記表支持文檔族中的主要和次要版本。主要版本可以遵從不同模式語言。預(yù)計次要版本將可選部分加入基本版本中。
12.模式語言互通有效負載XML文檔的模式語言通過封裝協(xié)議來定義。模式語言的例子是SOX和XSDL。這些是描述XML文檔的模式的語言。一種語言下模式的XML事例不同于另一種語言下等效模式的XML事例。因此,模式語言事例轉(zhuǎn)換應(yīng)該得到網(wǎng)關(guān)中的轉(zhuǎn)換支持。
網(wǎng)關(guān)可以進行有效負載(單元之間的關(guān)系)和語義的結(jié)構(gòu)不改變,但語法和包裝發(fā)生改變的所謂語法轉(zhuǎn)換。將兼容結(jié)構(gòu)轉(zhuǎn)換成完全等效的XML標記,或反之。
13.對互通步驟的位置和順序的依賴從這個討論中,本領(lǐng)域的普通技術(shù)人員將看到,互通性合同是保證在商定位置上和按商定順序執(zhí)行互通步驟的一種方式。從發(fā)送器到接收器的消息穿過不同連接器為互通執(zhí)行各種步驟的一系列連接器。在模式語言事例轉(zhuǎn)換、版本轉(zhuǎn)換、封裝轉(zhuǎn)換、簽名和加密的位置和順序之間存在相互影響。基礎(chǔ)設(shè)施適當?shù)貙@些轉(zhuǎn)換排序。
14.服務(wù)版本互通萬維網(wǎng)服務(wù)通過它們外在如何表現(xiàn),根據(jù)它們的登記表描述在將消息交給它們時定義。隨著時間升級服務(wù)和改變服務(wù)版本是自然的事。服務(wù)的新版本可能將操作加入現(xiàn)有消息中,或者,將可選部分加入現(xiàn)有消息中或從現(xiàn)有消息中刪除可選部分。也有可能改變支持的一組安排和某部分在消息中的位置。所述的安排互通可以用于使發(fā)送器知道他們是否應(yīng)該調(diào)用新操作。另外,使服務(wù)的版本號為發(fā)送器和接收器所知,因此,它們可以適當?shù)刈鞒鲰憫?yīng)。
當該組可選部分不同時,或者,當正文部分變成附件或反過來時,基礎(chǔ)設(shè)施關(guān)心互通。
15.安排互通至少存在兩個支持安排的實施例。一個實施例定義進程流和讓所有參與者通過這個進程運行它們的消息。在服務(wù)中進程流在進程流引擎中運行。另一個實施例支持知道端點服務(wù)本身中的安排細節(jié)的端點服務(wù)之間的直接消息傳送。進程流引擎進程借助于其它服務(wù)發(fā)送和接收消息,因此,可以使它看起來像服務(wù)本身。這種抽象非常有用。
進程流引擎進程應(yīng)該表現(xiàn)得像服務(wù)。想要與進程交互的應(yīng)用將消息發(fā)送給這個服務(wù)和從這個服務(wù)接收消息。由于這種抽象,進程流引擎進程也可以用于利用進程定義組成更大服務(wù),以便將一組服務(wù)結(jié)合在一起形成流和展示更大服務(wù)。此外,可以使進程流引擎進程用在每個新服務(wù)中,因此,可以構(gòu)建跨越多個進程引擎的分布式進程。這是可能的,因為分布式進程中的每個子進程看起來就像一個服務(wù),和就像一個服務(wù)調(diào)用另一個服務(wù)那樣對待一個子進程調(diào)用另一個子進程。各種子進程與消息交互和消息攜帶可用在每個子進程中的進程流前后關(guān)系,以便更緊密地合并子進程。
考慮服務(wù)之間的雙向安排是知道發(fā)送TP/服務(wù)/操作的能力,特別是當服務(wù)之一不直接支持安排或會話ID擴展時。將相關(guān)消息與會話ID關(guān)聯(lián)的方法是有用的。利用有效負載數(shù)據(jù)使形成會話的相關(guān)消息關(guān)聯(lián),可以與不支持安排的簡單萬維網(wǎng)服務(wù)進行虛擬會話。進程流引擎包括進行關(guān)聯(lián)的邏輯單元和資源。對于來自沒有尋址擴展的外地連接器(通常,機構(gòu)內(nèi)系統(tǒng)就是這樣)的消息,可以將消息發(fā)送給尋找有效負載的固定服務(wù)、登記表或本地數(shù)據(jù)庫,以便在繼續(xù)轉(zhuǎn)發(fā)消息之前推出目的地地址。這種能力被稱為邏輯路由,并且,根據(jù)從中可以推斷會話ID的、要檢查的有效負載中的字段的配置說明,進程流引擎起促進作用。
16.安排變種互通安排將參與者提供的一組服務(wù)類型結(jié)合在一起。安排的所有變種形成第一消息基本相同的族。應(yīng)該存在唯一一個在互通的兩個服務(wù)之間受到支持的族和可以按偏好排序那個族中的安排。但是,一個服務(wù)可能支持涉及不同服務(wù)組合的多個安排族。
在安排協(xié)商的一個實施例中,當發(fā)送安排中的第一消息時,告訴發(fā)送器和接收器由系統(tǒng)挑選的安排變種。然后,這些之間的安排可以不發(fā)生改變。然后,它們據(jù)此調(diào)整它們的處理。如果將一個新服務(wù)加入會話中,發(fā)送服務(wù)可以在起多極安排中不同服務(wù)支持的安排變種之間的橋梁作用和強迫使用所選安排之間作出選擇。在引用的共同擁有的申請之一中進一步描述了安排協(xié)商。
17.隱藏互通的復(fù)雜性由于可以隱蔽地關(guān)心復(fù)雜問題,按照本發(fā)明這些方面交互的服務(wù)可能需要知道一點或一點也知道互通??梢耘渲脤崿F(xiàn)互通的新模塊。這些模塊關(guān)心與通過登記表元數(shù)據(jù)導(dǎo)出的互通有關(guān)的復(fù)雜問題??梢蕴峁〢PI抽象概念來完全隱藏封裝結(jié)構(gòu)和盡可能多地隱藏特定字段語義和語法。所有安全策略都可以包括在互通性合同中,從而簡化了服務(wù)開發(fā)者實現(xiàn)應(yīng)用的工作。
18.限制互通的機制直接互通的一道障礙是安全。模型是基礎(chǔ)設(shè)施驗證發(fā)送器和服務(wù)根據(jù)登記表捕獲的元數(shù)據(jù)有可能授權(quán)它。這些障礙包括商業(yè)規(guī)則、預(yù)約和隱式服務(wù)。商業(yè)規(guī)則有時應(yīng)該限制幾個共同體之間或一個共同體內(nèi)的互通。正如提供者服務(wù)策略所指的那樣,在互通之前可能要求預(yù)約。擁有在共同體外面看不見或只有特定方看得見的隱式服務(wù)也是有用的。
圖2例示了生產(chǎn)者服務(wù)和消費者服務(wù)之間的動態(tài)協(xié)商互通性合同的有用性。該圖的主要特征包括登記表201、包括動態(tài)確定互通性合同的邏輯單元的萬維網(wǎng)服務(wù)引擎202、向內(nèi)部進程流204展示安排化接口的生產(chǎn)者服務(wù)203和消費者服務(wù)205。圖文表示這個例子涉及接收定單的定單接收系統(tǒng)。生產(chǎn)者和消費者服務(wù)對于安排、服務(wù)版本、文檔、安全驗證、安全加密、安全簽名、封裝協(xié)議和傳輸213和215,擁有它們自己的能力和策略。動態(tài)協(xié)商互通性合同降低了建立或維護服務(wù)網(wǎng)所需的成對配置的程度。它為解決參與者設(shè)置的策略之間的差異提供了無歧義規(guī)則。隨著參與服務(wù)不斷演變,動態(tài)協(xié)商互通性合同也不斷演變。
互通性合同的動態(tài)協(xié)商呈現(xiàn)出與更接近合法合同協(xié)商的傳統(tǒng)手段的顯著偏離。動態(tài)協(xié)商從生產(chǎn)者服務(wù)對它的可用性、能力和策略的描述開始。消費者服務(wù)利用諸如UDDI之類的發(fā)現(xiàn)協(xié)議,可以容易地發(fā)現(xiàn)產(chǎn)生者服務(wù)。生產(chǎn)者和消費者擁有它們的能力和策略的機器可讀說明。生產(chǎn)者和消費者識別的一種或多種模式無歧義地定義如何翻譯各方的能力和策略和找出相交部分。取代要求通過協(xié)商來解決不同的互通性條款,系統(tǒng)提供與如何解決兩種沖突有關(guān)的判定規(guī)則對可替代選項的偏好之間的沖突和有關(guān)是否將諸如簽名和加密之類的安全措施應(yīng)用于根據(jù)動態(tài)協(xié)商互通性合同交換的消息的特定部分的沖突。有關(guān)偏好的判定規(guī)則可以是標準規(guī)則,譬如,接收器取勝,接收器取勝,最嚴格要求取勝,最不嚴格要求取勝,或應(yīng)用對雙方喜歡的加權(quán)考慮。有關(guān)是否應(yīng)用例如安全措施的判定規(guī)則是相似的。在與本申請同時提出和特此引用以供參考的“萬維網(wǎng)服務(wù)之間的安全措施的動態(tài)協(xié)商(Dynamic Nego-tiation Of Security Arrangements Between Web Services)”專利申請中進一步討論了包括越權(quán)的這些判定規(guī)則。在一些事例中,生產(chǎn)者可能要求在消費者可以與生產(chǎn)者交互之前進行預(yù)約。這可能有助于信用和驗證檢驗等。相交和判定規(guī)則的框架使可信軟件代理可以動態(tài)地協(xié)商互通性協(xié)議,特別是當生產(chǎn)者已經(jīng)接受預(yù)約時。這種授權(quán)動態(tài)協(xié)商互通性合同的可信軟件代理的使用是對生效之前由生產(chǎn)者和消費者兩者用密碼簽名的更傳統(tǒng)CPA風(fēng)格互通性協(xié)議的明顯違背(雖然這種描述是針對生產(chǎn)者和消費者服務(wù)展開的,但為了幫助讀者理解,可以平等地應(yīng)用于兩種或更多種服務(wù),與它們作為生產(chǎn)者、消費者、中間人等的角色無關(guān))。
一組模式和示范性互通性合同提供了與本發(fā)明這些方面有關(guān)的附加細節(jié)。
源代碼附錄中的模式Interoperability.XSD可以用于模型化包括本發(fā)明幾個方面的互通性合同。在這個實施例中,機器可讀輸出文件是XML文檔。在其它實施例中,其它數(shù)據(jù)結(jié)構(gòu)可以用于存儲相同信息,例如,在XML代碼之后模型化的樹結(jié)構(gòu)。通過將文件裝入諸如XML Spy TM之類的綜合開發(fā)環(huán)境(IDE)中可以最好地理解模式Interoperability.XSD,XML Spy TM提供模式的幾種可替代視窗,包括文檔生成視窗。在Spy模式設(shè)計視窗中觀察到,Interoperability.XSD部件包括一般合同部分、路由合同部分、轉(zhuǎn)換合同部分、安全合同部分和合同簽名。正如下面所討論的,四個部分每一個都通過引用另一種模式插入。與傳統(tǒng)互通性合同不同,信任協(xié)商合同的軟件代理應(yīng)用合同簽名。不需要各方單獨對合同簽名。正如在源代碼中進一步文檔化的那樣,合同簽名部分包括SignedInfoType、SignatureValue、KeyInfo和ObjectType。
也在源代碼附錄中的模式GeneralContract.XSD可以用于模型化包括本發(fā)明幾個方面的互通性合同的一般部分。GeneralContract.XSD部件包括來往信息、ErrorHandling和DeliveryReceiptHandling。部件可選地包括RequiredMessageParts和OptionalMessageParts以及發(fā)送和接收連接器能力。來往信息與所涉及的各方/服務(wù)/活動有關(guān)。ErrorHandling部件描述能力和可選地標識發(fā)送錯誤消息的地方。與ErrorHandling一樣,Delivery-ReceiptHandling是帶有消息的可選地址的能力參數(shù)。交付收據(jù)用于實現(xiàn)非拒絕。必選消息和可選部分就像命名的那樣。在引用的申請中更全面地討論了在服務(wù)版本確定和文檔族版本確定中必選部分和可選部分的作用。發(fā)送和接收連接器能力列出了連接器的屬性和屬性的值(譬如,能夠簽名或加密)。能力是可選的,因為對于非協(xié)同請求或?qū)τ趩蜗蛳⑺鼈兛赡懿怀霈F(xiàn)。在源代碼中進一步將這些部件文檔化。
也在源代碼附錄中的模式RoutingContract.XSD可以用于模型化包括本發(fā)明幾個方面的互通性合同的路由部分。在Spy模式設(shè)計視窗中觀察到,RoutingContract.XSD指定一條路線。路線包括路線中的兩個或更多個RouteNodes,包括發(fā)送器和接收器。進入節(jié)點和從節(jié)點退出的信道通過用于到達節(jié)點和從節(jié)點退出的傳輸和封裝協(xié)議來定義。這個信息的對稱性使退出和進入信道對于相反的路線起相反的作用。在源代碼中進一步將這種模式文檔化。在引用的申請中更全面地討論了路由。
正如在同時提出的申請之一中所闡述的那樣,安全措施的協(xié)商是通過將發(fā)送和接收服務(wù)的安全簡檔用于確定相互同意安全措施的基于計算機進程實現(xiàn)的。最好,無需用戶介入,定期協(xié)商或潛在地更新這個安全措施。每當交換消息時或基于一些其它周期或偶發(fā)事件,譬如,每月、每周、每日、發(fā)生影響消息在特定發(fā)送器和接收器之間的交換的事件(例如,軟件部件出現(xiàn)故障或安全偏好發(fā)生改變),并且當以前協(xié)商的措施失效時或基于一些其它周期或偶發(fā)事件,可以在用戶的請求下或無需用戶介入?yún)f(xié)商、更新或有效性檢驗這種措施。源代碼附錄中的模式SecurityContract.XSD可以用作準備機器可讀安全互通性合同文檔的模型。在這個實施例中,機器可讀文檔是XML文檔。在其它實施例中,其它數(shù)據(jù)結(jié)構(gòu)可以用于存儲相同信息,例如,在XML代碼之后模型化的樹結(jié)構(gòu)。這種模式定義了策略和安全策略的通道。安全通道定義資源和到執(zhí)行安全算法,譬如,簽名、加密和驗證算法的資源的路線。它也可以包括不拒絕和驗證資源。
下面部分再現(xiàn)了一組計算的安全措施<SecurityContractICD...><SecurityPolicies>
<SignaturePolicies>
<XMLDsigPolicy Policyld=″P-XMLSignatureRSA-MD5-C14N″>
<SignaturePolicyAlgorithm>...</SignaturePolicyAlgorithm>
<SignatureAlg...>MD5withRSA</SignatureAlg...>
<HashFunction>MD5</HashFunction>
<Canonical...>...14n-20001026</Canonical...>
<Transform>...#RoutingSignatureT...</Transform>
</XMLDsigPolicy>
</SignaturePolicies>
<EncryptionPolicies>
<XMLEncryptionPolicy Policyld=″P-XMLEncrypt3DES-RSA-2048″><EncryptionPolicyAlgorithm>http//www.w3.org/2001/04/xmlenc#</EncryptionPolicyAlgorithm>
<EncryptionMethod>http//www.w3.org//2001/04/xmlenc#3des-cbc</EncryptionMethod>
<KeySize>2048</KeySize><KeyEncryptionMethod>http//www.w3.org/2001/04/xmlenc#rsa-1_5</KeyEncryptionMethod>
</XMLEncryptionPolicy>
</EncryptionPolicies>
<EncryptionKeyInfo KeyOwner=″x-ccnscommerceone.comCollaborationParty∷sellParty″>
<PublicKeyID>DefaultTestCert</PublicKeyID>
<X509Data><X509Certificate>LSOtLS1...==</X509Certificate>
</X509Data>
</EncryptionKeyInfo></SecurityPolicies><SecurityChannel channelid=″CHANNEL1″sourceConnector=″x-ccnscup.commerceone.comconnector∷centerSell″targetConnector=″x-ccnscup.commerceone.comconnector∷centerSell″>
<Confidential Algorithmld=″P-XMLEncrypt3DES-RSA-2048″>
<PublicKeyName KeyOwner=″x-ccnscommerceone.comCollaborationPartysellParty″>DefaultTestCert</PublicKeyName>
<MessagePart PartName=″Order″isOptional=″false″/>
<MessagePart PartName=″Image″isOptional=″false″/>
</Confidential>
</SecurityChannel>
<SecurityChannel channelld=″CHANNEL2″sourceConnector=″x-ccnscup.commerceone.comconnector∷buy″targetConnector=″x-conscup.commerceone.comconnector∷sell″>
<Integrity Algorithmld=″P-XMLSignatureRSA-MD5-C14N″>
<PublicKeyName KeyOwner=″OwnerA″>BuyerPublicKey</PublicKeyName>
<MessagePart PartName=″Order″isOptional=″false″/>
</Integrity>
</SecurityChannel>
</SecurityContractlCD>
這組安全措施擁有安全策略和安全通道兩個主要部分。在本例中,存在一個可應(yīng)用于整個消息的安全策略和實現(xiàn)安全策略的各個部分的多個安全通道。安全策略部分展示簽名策略以及加密策略和加密密鑰信息。它也可以展示與驗證、授權(quán)和不拒絕發(fā)送或接收有關(guān)的信息。在本實施例中,同一簽名和加密策略應(yīng)用于文檔的所有部分。在其它實施例中,多種算法可應(yīng)用于不同部分或一個部分內(nèi)的不同單元。為簽名、加密和驗證選擇的算法通過包含選項集的模板抽象化,從而簡化算法的選擇。所選算法與邏輯單元和資源相聯(lián)系,因此,不同服務(wù)或進程可以用于簽名/核實和加密/解密消息的不同部分。可以在安全策略部分的加密密鑰單元中發(fā)送公開密鑰或證書。安全通道部分描述應(yīng)用安全策略所涉及的服務(wù)或連接器。對于特定策略,通道部分標識要求有助于應(yīng)用安全策略(例如,發(fā)送服務(wù)請求加密)的源連接器和應(yīng)用安全策略或起應(yīng)用安全策略的邏輯單元和資源的中介作用的目標連接器。對于特定安全策略,譬如,簽名、加密、驗證、授權(quán)或不拒絕,在安全通道部分中提供執(zhí)行安全策略所需的特定信息。
圖3例示了當發(fā)送器對于安全、轉(zhuǎn)換和其它措施的計算是本地的時,獲取接收器信息的可替代實施例。在該圖中,標出了本地登記表331和遠程登記表332。在本例中,發(fā)送器是本地的和接收器是遠程的。在本地登記表331中發(fā)送器數(shù)據(jù)是當前的和完整的。收集(321)發(fā)送器信息和使它可用于計算(311)安全措施的邏輯單元和資源。接收器數(shù)據(jù)可能是當前的和完整的,例如,如果接收器處在與發(fā)送器相同的共同體中和存在全共同體的登記表,或者,如果最近已經(jīng)獲得和本地高速緩沖了接收器信息。取決于可以找出(331或332)接收器信息的地方,調(diào)用進程322或323,以收集接收器信息和使它可用于計算安全措施的邏輯單元。得出一組安全措施301。
可能需要協(xié)調(diào)兩種類型的偏好??梢躁愂鰹楣餐w特有偏好和服務(wù)特有偏好兩者。一種偏好是在算法模板之間。在選項B和D之間作出選擇的判定規(guī)則可能要考慮消息傳送服務(wù)偏好之一或兩者。例如,可能從匹配當中選擇傾向于簽名的接收服務(wù)偏好(D)和傾向于加密的發(fā)送服務(wù)偏好(B)。對這兩種偏好加以考慮,可以選擇最嚴格的(B)或最不嚴格的(D)。在另一個實施例中,各自服務(wù)可能加權(quán)它們的偏好或?qū)λ鼈兊钠么蚍?,組合權(quán)重或分數(shù)可以用于考慮這兩種偏好。第二種偏好是是否簽名或加密一部分消息。判定表可以用于實現(xiàn)與是否簽名或加密一部分消息有關(guān)的那種偏好協(xié)調(diào)。此外,可以使判定偏向于接受偏好,而不是簽名,或接受接收器偏好,或正好相反??梢杂糜趯崿F(xiàn)可能判定規(guī)則的一些判定表如下
這些安全判定規(guī)則的格式同等效力地應(yīng)用于其它偏好協(xié)商。在一些特殊情況下,譬如,轉(zhuǎn)換,正如在引用的申請中所述的那樣,可以應(yīng)用信息損失或信息精度的度量。
也在源代碼附錄中的模式TransformationContract.XSD可以用于模型化包括本發(fā)明幾個方面的互通性合同的文檔轉(zhuǎn)換部分。在Spy模式設(shè)計視窗中觀察到,TransformationContract.XSD部件指定一個或多個文檔,以轉(zhuǎn)換和可選地指定響應(yīng)文檔。DocumentToTransformType包括源文檔ID和部分名和接收器附件偏好標志。它可選地包括附件部分ID和描述如何實現(xiàn)轉(zhuǎn)換的一個或多個轉(zhuǎn)換圖。在源代碼中進一步描述了這種模式,特別是轉(zhuǎn)換圖。在引用的申請中更全面地討論了文檔轉(zhuǎn)換。
在源代碼附錄中,在InteroperabilityContract.XML中提供了計算互通性合同的部分例子。這個例子包括一般、路由和轉(zhuǎn)換合同部分。有關(guān)安全合同部分的例子,請看上文。對于本領(lǐng)域的普通技術(shù)人員來說,例子大都顯而易見,特別是可用的伴隨模式。一些重點如下。一般合同部分將此標識成支配協(xié)同交互的合同。對于不拒絕、錯誤管理和其它使用,將消息存檔。在編譯總(或,可配置、特定)商業(yè)情報信息過程中,允許實用程序?qū)τ蛇@個合同支配的消息加以考慮。對于buyParty ConsumerOrderManagement send-Order活動,給出來源地址。歷史DDID號或地址進一步標識發(fā)送服務(wù)。對于sellPartyproviderOrderManagement進程定購活動,給出接收地址。發(fā)送器利用到指定地址的C1 SOAP 1.0封裝協(xié)議接受異步錯誤消息。發(fā)送器可以要求接收器可以異步生成的交付收據(jù)。必選的消息部分或文檔是Order和Image??蛇x地,可以包括一些XMLPart。對于簽名、加密、存檔、消息封裝、載貨單類型和交付收據(jù)類型,列舉發(fā)送和接收連接器能力。在源代碼附近中,示范性一般合同部分是例子的組成部分。
除了一般合同部分之外,還有路由合同部分和轉(zhuǎn)換合同部分。示范性路由合同部分如下<RoutingContract>
<routeRouteNode prelCDComputation=″false″connector=″x-gtwcup.commerceone.comconnector∷default″isNative=″true″connectorFunction=″service-send″>
<routeEntryChannel envelopeProtocol=″C1 SOAP 1.0″transportSupportedMessageType=″both″transportPhysicalAddress=″icdtest.commerceone.com∷SOAP_buyspicenutmeg″transportProtocol=″SONIC″transportNative=″true″transportReliable=″true″/>
<routeExitChannel envelopeProtocol=″C1 SOAP 1.0″transportSupportedMessageType=″both″transportPhysicalAddress=″icdtest.commerceone.com∷SOAP_buyspicenutmeg″transportProtocol=″SONIC″transportNative=″true″transportReliable=″true″/>
</routeRouteNode>
<routeRouteNode prelCDComputation=″false″connector=″x-gtwcup.commerceone.comconnector∷default″isNative=″true″connectorFunction=″service-receive″>
<routeEntryChannel envelopeProtocol=″C1 SOAP 1.0″transportSupportedMessageType=″both″transportPhysicalAddress=″icdtest.commerceone.com∷SOAP_buyspicenutmeg″transportProtocol=″SONIC″transportNative=″true″transportReliable=″true″/>
<routeExitChannel envelopeProtocol=″C1 SOAP 1.0″transportSupportedMessageType=″both″transportPhysicalAddress=″icdtest.commerceone.com∷SOAP_buyspicenutmeg″transportProtocol=″SONIC″transportNative=″true″transportReliable=″true″/>
</routeRouteNode></RoutingContract>
這個樣本例示了如上所述的模式的應(yīng)用。類似地,例示轉(zhuǎn)換模式的應(yīng)用的示范性轉(zhuǎn)換合同如下<TransformationContract><xformDocumentToTransform><xformSourceDocID>publicidcom.commerceone.schemasPurchaseOrder3.5</xformSourceDocID>
<xformPartName>PurchaseOrder</xformPartName>
<xformAttachment>false</xformAttachment>
<xformTransformationMap>
<xformConnector>x-gtvv∷lion-z-01.lion.commerceone.com∷connector∷buyspicenutmeg</xformConnector>
<xformStartDoc><xformDocURI>publicidcom.commerceone.schemasPurchaseOrder3.5</xformDocURI>
<xformDocName>PurchaseOrder</xformDocName>
<xformNamespace>publicidcom.commerceone.schemas</xformNamespace>
<xformVersion>3.5</xformVersion>
</xformStartDoc>
<xformEndDoc><xformDocURI>publicidcom.commerceone.schemasPurchaseOrder4.0</xformDocURI>
<xformDocName>PurchaseOrder</xformDocName><xformNamespace>publicidcom.commerceone.schemas</xformNamespace>
<xformVersion>4.0</xformVersion>
</xformEndDoc>
<xformCommunityID>exostar</xformCommunityID>
<xformTransformationMapURI>urnx-commerceonetransformation1</xformTransformationMapURI>
</xformTransformationMap></xformDocumentToTransform></TransformationContract>
本領(lǐng)域的普通技術(shù)人員可以從前面的描述中明顯看出,根據(jù)本發(fā)明的這些方面和部件可以構(gòu)造出各種各樣的系統(tǒng)和方法。一個實施例是指定互通性數(shù)據(jù)的機器可讀數(shù)據(jù)結(jié)構(gòu)。這種機器可讀數(shù)據(jù)結(jié)構(gòu)可用的環(huán)境是消費服務(wù)和提供或生產(chǎn)服務(wù)之間的互通。這些服務(wù)通過網(wǎng)絡(luò)可選地利用中間連接器交換文檔。機器可讀數(shù)據(jù)結(jié)構(gòu)可以組合如下有效數(shù)據(jù)單元的兩個或更多個通過服務(wù)名指定的服務(wù)和中間連接器之間的路線;用于消息交換的安排版本;存檔消息、保證消息的可靠交付和要求接收確認的策略;特定消息的一些部分的簽名要求和使用的至少一種簽名算法的說明;特定消息的一些部分的加密要求和使用的至少一種簽名算法的說明;使用的一個或多個驗證過程的說明;應(yīng)用于包括在特定消息中的文檔的一個或多個轉(zhuǎn)換邏輯單元的說明;和是否應(yīng)該與文檔的轉(zhuǎn)換副本一起包括文檔的非轉(zhuǎn)換副本的說明。在從屬權(quán)利要求中指定的組合并不意味著是唯一的。特此清楚地描述了兩個或更多個上面有用數(shù)據(jù)單元的置換。
本發(fā)明的進一步實施例是指定通過進程準備的當前互通性數(shù)據(jù)的機器可讀數(shù)據(jù)結(jié)構(gòu)。這種機器可讀數(shù)據(jù)結(jié)構(gòu)可用的環(huán)境是消費服務(wù)和提供或生產(chǎn)服務(wù)之間的互通。這些服務(wù)通過網(wǎng)絡(luò)交換文檔??蛇x地,這些服務(wù)可以使用中間連接器。與靜態(tài)互通合同,譬如,由雙方簽名的合同不同,這種機器可讀數(shù)據(jù)結(jié)構(gòu)由一個進程響應(yīng)啟用服務(wù)之間的交換消息的請求創(chuàng)建。該處理包括訪問服務(wù)的互通性數(shù)據(jù),使服務(wù)的互通性數(shù)據(jù)相交,和對于產(chǎn)生多于一個可相互接受選項的互通性數(shù)據(jù)的相交,應(yīng)用判定規(guī)則來選擇一個選項。這種機器可讀數(shù)據(jù)結(jié)構(gòu)可以包括在前面實施例中描述的有用數(shù)據(jù)單元的任何置換。使用的判定規(guī)則可以由交換消息的服務(wù)預(yù)約或通過服務(wù)的預(yù)約可以適合于貿(mào)易共同體。貫穿本申請描述的任何判定規(guī)則可以用作本實施例的進一步方面。
本發(fā)明的另一個實施例是指定一個或多個安全通道的機器可讀數(shù)據(jù)結(jié)構(gòu)。這種機器可讀數(shù)據(jù)結(jié)構(gòu)可用的環(huán)境是消費服務(wù)和提供或生產(chǎn)服務(wù)之間的互通。這些服務(wù)通過網(wǎng)絡(luò)交換文檔??蛇x地,這些服務(wù)可以使用中間連接器。安全通道應(yīng)用于簽名、加密或驗證中的一個或多個。它們也可應(yīng)用于授權(quán)或不拒絕,或這些安全相關(guān)任務(wù)的任何組合。安全通道本身包括發(fā)出安全相關(guān)請求的連接器和響應(yīng)安全相關(guān)請求的連接器的說明和安全相關(guān)請求的說明。安全相關(guān)請求可以包括一個或多個上面列出的安全相關(guān)任務(wù)。這種包括安全通道的數(shù)據(jù)結(jié)構(gòu)可以響應(yīng)啟動服務(wù)之間的消息交換的請求形成。
雖然通過參照上面詳述的優(yōu)選實施例和例子公開了本發(fā)明,但應(yīng)該明白,這些例子的用途是說明性的,而不是限制性的。在所述的實施例中暗示了計算機輔助處理。于是,本發(fā)明可以用計算機輔助處理的方法、包括實現(xiàn)這些方法的邏輯單元的系統(tǒng)、利用邏輯單元實現(xiàn)這些方法的媒體、利用邏輯單元實現(xiàn)這些方法的數(shù)據(jù)流或計算機可訪問處理服務(wù)具體化??梢栽O(shè)想,本領(lǐng)域的普通技術(shù)人員可以容易地作出修改和組合,這些修改和組合在本發(fā)明的范圍和所附權(quán)利要求書的范圍內(nèi)。
計算機程序列表附錄InteroperabilityContract.xsd<?xml version=″1.0″encoding=″UTF-8″?>-<!--edited with XML Spy v4.3U(http//www.xmlspy.com)by Rashmi Murthy(Commerce One)-->-<xsschematargetNamespace=″publicidcom.commerceoneschemas/soapextension/contract/v1_0/InteroperabilityContract.xsd″xmlnssecurity=″publicidcom.commerceoneschemas/soapextension/contract/security/v1_0/SecurityContract.xsd″xmlnsxform=″publicidcom.commerceoneschemas/soapextension/contract/transformation/v1_0/TransformationContract.xsd″xmlnsroute=″publicidcom.commerceoneschemas/soapextension/contract/routing/v1_0/RoutingContract.xsd″xmlnsgeneral=″publicidcom.commerceoneschemas/soapextension/contract/general/v1_0/GeneralContract.xsd″xmlnsxs=″http//www.w3.org/2001/XMLSchema″xmlnsds=″http//www.w3.org/2000/09/xmldsig#″xmlnsicd=″publicidcom.commerceoneschemas/soapextension/contract/v1_0/InteroperabilityContract.xsd″elementFormDefault=″qualified″attributeFormDefault=″unqualified″><xsimportnamespace=″publicidcom.commerceoneschemas/soapextension/contract/general/v1_0/GeneralContract.xsd″schemaLocation=″http//schemas.commerceone.com/schemas/soapextension/contract/general/v1_0/GeneralContract.xsd″/><xsimportnamespace=″publicidcom.commerceoneschemas/soapextension/contract/routing/v1_0/RoutingContract.xsd″schemaLocation=″http//schemas.commerceone.com/schemas/soapextension/contract/routing/v1_0/RoutingContract.xsd″/><xsimportnamespace=″publicidcom.commerceoneschemas/soapextension/contract/transfornation/v1_0/TransformationContract.xsd″schemaLocation=″http//schemas.commerceone.com/schemas/soapextension/contract/transformation/v1_0/TransformationContract.xsd″/><xsimportnamespace=″publicidcom.commerceoneschemas/soapextension/contract/security/v1_0/SecurityContract.xsd″schemaLocation=″http//schemas.commerceone.com/schemas/soapextension/contract/security/v1_0/SecurityContract.xsd″/><xsimport namespace=″http//www.w3.org/2000/09/xmldsig#″schemaLocation=″http//www.w3.org/TR/xmldsig-core/xmldsig-core-schema.xsd″/>-<xselement name=″InteroperabilityContract″>-<xsannotation>
<xsdocumentation>Container for ICD blocks</xsdocumentation>
</xsannotation>-<xscomplexType>
-<xssequence>
-<xselement name=″GeneralContract″type=″generalGeneralContractType″>
-<xsannotation>
<xsdocumentation>General contract sub-block ofICD.This contains all general contractinformation</xsdocumentation>
</xsannotation>
</xselement>
-<xselement name=″RoutingContract″type=″routeRouteType″>
-<xsannotation>
<xsdocumentation>Routing contract sub-block ofICD.Contains the end-to-endroute</xsdocumentation>
</xsannotation>
</xselement>
-<xselement name=″TransformationContract″type=″xformTransformationContractType″minOccurs=″0″>
-<xsannotation>
<xsdocumentation>Transformation contract sub-block of ICD.Contains transformationinformation required for versioninteroperability</xsdocumentation>
</xsannotation>
</xselement>
-<xselement name=″SecurityContract″type=″securitySecurityContractType″minOccurs=″0″>
-<xsannotation>
<xsdocumentation>Security contract sub-block.
Contains security information needed to satisfysecurity constraints between the sending andreceiving parties</xsdocumentation>
</xsannotation>
</xselement>
-<xselement name=″ContractSignature″type=″dsSignatureType″minOccurs=″0″>
-<xsannotation>
<xsdocumentation>Signature for thiscontract</xsdocumentation>
</xsannotation>
</xselement>
</xssequence>
<xsanyAttribute namespace=″##other″processContents=″lax″/>
</xscomplexType></xselement></xsschema>
GeneralContract.XSD<?xml version=″1.0″encoding=″UTF-8″?>
-<!--edited with XML Spy v4.3U(http//www.xmlspy.com)by Rashmi Murthy(Commerce One)-->
-<xsschematargetNamespace=″publicidcom.commerceoneschemas/soapextension/contract/general/v1_0/GeneralContract.xsd″xmlnsxs=″http//www.w3.org/2001/XMLSchema″xmlnsgen=″publicidcom.commerceoneschemas/soapextension/contract/general/v1_0/GeneralContract.xsd″elementFormDefault=″qualified″attributeFormDefault=″unqualified″>
-<xselement name=″GeneralContract″type=″genGeneralContractType″>
-<xsannotation>
<xsdocumentation>General information of theInteroperabilityContract</xsdocumentation>
</xsannotation>
</xselement>
-<xscomplexType name=″ServiceActivityType″>
-<xsannotation>
<xsdocumentation>Descrlption of service andactivity</xsdocumentation>
</xsannotation>
-<xssequence>
-<xselement name=″Service″>
-<xsannotation>
<xsdocumentation>URI of the servicedefinition</xsdocumentation>
</xsannotation>
-<xscomplexType>
-<xssimpleContent>
-<xsextension base=″xsanyURI″>
<xsattribute name=″Version″type=″xsstring″use=″optional″/>
<xsattribute name=″EnvelopeProtocol″type=″xsstring″use=″optional″/>
</xsextension>
</xssimpleContent>
</xscomplexType>
</xselement>
-<xselement name=″Activity″type=″xsstring″>
-<xsannotation>
<xsdocumentation>Activity name</xsdocumentation>
</xsannotation>
</xselement></xssequence><xsattribute name=″SoapAction″type=″xsstring″use=″optional″/></xscomplexType>-<xscomplexType name=″GeneralContractType″>-<xssequence>-<xselement name=″From″>
-<xsannotation>
<xsdocumentation>Sendingparty/service/activity</xsdocumentation>
</xsannotation>
-<xscomplexType>
-<xssequence>
<xselement name=″FromAddress″type=″genFromAddressType″minOccurs=″0″/>
-<xselement name=″SenderDDID″type=″xsstring″minOccurs=″0″>
-<xsannotation>
<xsdocumentation>DDID of the sender.
This will not be present if the sender isa virtual CP or if the mode isclient/server</xsdocumentation>
</xsannotation>
</xselement>
</xssequence>
</xscomplexType>
</xselement>-<xselement name=″To″>
-<xsannotation>
<xsdocumentation>Receivingparty/service/activity</xsdocumentation>
</xsannotation>
-<xscomplexType>
-<xssequence>
<xselement name=″ToAddress″type=″genToAddressType″/>
-<xselement name=″ReceiverDDID″type=″xsstring″minOccurs=″0″>
-<xsannotation>
<xsdocumentation>DDID of the receiver.
DDID of the sender.This will not bepresent if the receiver is a virtualCP</xsdocumentation>
</xsannotation>
</xselement>
</xssequence></xscomplexType></xselement>-<xselement name=″ErrorHandling″>-<xsannotation>
<xsdocumentation>This is a capability parameter inactivity definltion</xsdocumentation></xsannotation>-<xscomplexType>-<xssequence>-<xselement name=″SendAsyncErrorResponseTo″type=″genServiceActivityType″minOccurs=″0″>
-<xsannotation>
<xsdocumentation>service/activity inFrom party to which the async errorresponse should besent</xsdocumentation>
</xsannotation>
</xselement>
</xssequence>
-<xsattribute name=″SenderAcceptsAsyncError″type=″xsboolean″use=″required″>
-<xsannotation>
<xsdocumentation>Indicates whether thesender accepts async error response.Thisonly applies to one-waymessages</xsdocumentation>
</xsannotation>
</xsattribute></xscomplexType></xselement>-<xselement name=″DeliveryReceiptHandling″>-<xsannotation>
<xsdocumentation>This is a capability parameter inactivity definition</xsdocumentation></xsannotation>-<xscomplexType>-<xssequence>-<xselement name=″SendAsyncDeliveryReceiptTo″type=″genServiceActivityType″minOccurs=″0″>
-<xsannotation>
<xsdocumentation>service/activity inFrom party to which the deliveryreceipt should besent</xsdocumentation>
</xsannotation>
</xselement></xssequence>-<xsattribute name=″SenderRequiresDeliveryReceipt″type=″xsboolean″use=″required″>-<xsannotation>
<xsdocumentation>This applies to only one-way messages</xsdocumentation>
</xsannotation></xsattribute><xsattribute name=″IsSignatureRequiredBySender″type=″xsboolean″use=″optional″/><xsattributename=″IsAsyncDeliveryReceiptAcceptedBySender″type=″xsboolean″use=″optional″/>-<xsattributename=″ReceiverCanGenerateAsyncDeliveryReceipt″type=″xsboolean″use=″optional″>-<xsannotation>
<xsdocumentation>Indicates whether thereceiver can generate a delivery receipt asrequired by the sender.If set to false,gateway will generate the delivery recelpton behalf of the receivingconnector</xsdocumentation>
</xsannotation></xsattribute>
</xscomplexType></xselement>-<xselement name=″RequiredMessagePart″type=″genMessagePartInfo″maxOccurs=″unbounded″>
-<xsannotation>
<xsdocumentation>Contains information collectedfrom the registry for all the required messageparts</xsdocumentation>
</xsannotation></xselement>-<xselement name=″OptionalMessagePart″type=″genMessagePartInfo″minOccurs=″0″maxOccurs=″unbounded″>
-<xsannotation>
<xsdocumentation>Contains information collectedfrom the registry for all the optional messageparts</xsdocumentation>
</xsannotation></xselement>-<xselement name=″SendingConnectorCapabilities″type=″genConnectorCapabilitiesType″minOccurs=″0″>
-<xsannotation>
<xsdocumentation>Describes the list of attributes andtheir associated values for the send side connector.
This will not be present for non-collaborativerequest and oneway messages</xsdocumentation>
</xsannotation></xselement>-<xselement name=″ReceivingConnectorCapabilities″type=″genConnectorCapabilitlesType″minOccurs=″0″>
-<xsannotation>
<xsdocumentation>Describes the list of attributes andtheir associated values for the receive sideconnector.This will not be present for non-collaborative response message</xsdocumentation>
</xsannotation></xselement></xssequence>-<xsattribute name=″ChoreographyID″type=″xsanyURI″use=″optional″>-<xsannotation>
<xsdocumentation>Choreography which the service isassociated with.This only applies to Collaborativeinteractions</xsdocumentation></xsannotation></xsattribute>-<xsattribute name=″MessageType″use=″required″>-<xsannotation>
<xsdocumentation>Indicates if the message is request,response or oneway</xsdocumentation></xsannotation>-<xssimpleType>-<xsrestriction base=″xsstring″>
<xsenumeration value=″REQUEST″/>
<xsenumeration value=″RESPONSE″/>
<xsenumeration value=″ONEWAY″/>
</xsrestriction>
</xssimpleType></xsattribute>-<xsattribute name=″CollaborativeInteraction″type=″xsboolean″use=″required″>
-<xsannotation>
<xsdocumentation>Indicates whether it is a collaborativeor non-collaborative messagingparadigm</xsdocumentation>
</xsannotation></xsattribute>-<xsattribute name=″ICDTimeToLive″type=″xslong″use=″required″>-<xsannotation>
<xsdocumentation>Time duration after which the cachedversion of this ICD expires.This value is set in theconfig file</xsdocumentation>
</xsannotation></xsattribute>-<xsattribute name=″MessageTimeToLive″type=″xslong″use=″required″>-<xsannotation>
<xsdocumentation>Time duration after which the messagewill be dropped.This value is set in the activitydefinition</xsdocumentation>
</xsannotation></xsattribute>-<xsattribute name=″MessageArchived″type=″xsboolean″use=″required″>-<xsannotation>
<xsdocumentation>Indicates whether the message shouldbe archived.This is a capability parameter in activitydefinition</xsdocumentation>
</xsannotation></xsattribute>-<xsattribute name=″BusinessIntelligence″type=″xsboolean″use=″required″>-<xsannotation>
<xsdocumentation>Indicates whether the message isavailable for Business Intelligence purposes.This is acapability parameter in activitydefinition</xsdocumentation>
</xsannotation></xsattribute>-<xsattribute name=″ContractID″type=″xsstring″use=″required″>-<xsannotation>
<xsdocumentation>This contract’s ID</xsdocumentation></xsannotation></xsattribute>-<xsattribute name=″QualityOfService″use=″required″>-<xssimpleType>-<xsrestriction base=″xsstring″>
<xsenumeration value=″EXACTLYONCE″/>
<xsenumeration value=″BESTEFFORT″/>
</xsrestriction>
</xssimpleType>
</xsattribute>
</xscomplexType>
-<xscomplexType name=″FromAddressType″>
-<xssequence>
-<xselement name=″Party″type=″xsanyURI″>
-<xsannotation>
<xsdocumentation>URI of the collaboration party.Thiswill not be present if the sender is an unregisteredforeign party</xsdocumentation>
</xsannotation>
</xselement>
-<xselement name=″ServiceActivity″type=″genServiceActivityType″minOccurs=″0″>
-<xsannotation>
<xsdocumentation>Sending service and activity.Thiswill not be present if the from party is not present.
Also,it will not be present if the message is therequest part of a request/response message in anon-collaborative messagingparadigm</xsdocumentation>
</xsannotation>
</xselement>
</xssequence>
</xscomplexType>-<xscomplexType name=″ToAddressType″>
-<xssequence>
-<xselement name=″Party″type=″xsanyURI″>
-<xsannotation>
<xsdocumentation>URI of the collaborationparty</xsdocumentation>
</xsannotation>
</xselement>
-<xselement name=″ServiceActivity″type=″genServiceActivityType″minOccurs=″0″>
-<xsannotation>
<xsdocumentation>Receiving service and activity.Thiswill not be present if the message is the responsepart of a request/response in a non-collaborativemessaging paradlgm</xsdocumentation>
</xsannotation>
</xselement></xssequence></xscomplexType>-<xscomplexType name=″ConnectorCapabllitiesType″>-<xssequence>-<xselement name=″Attribute″maxOccurs=″unbounded″>-<xsannotation>
<xsdocumentation>List ofattributes</xsdocumentation>
</xsannotation>
-<xscomplexType>
-<xssequence>
-<xselement name=″Value″type=″xsstring″minOccurs=″0″maxOccurs=″unbounded″>
-<xsannotation>
<xsdocumentation>Values for eachattribute</xsdocumentation>
</xsannotation>
</xselement>
</xssequence>
<xsattribute name=″Name″type=″xsstring″/>
</xscomplexType>
</xselement>
</xssequence>
</xscomplexType>
-<xscomplexType name=″MessagePartInfo″>
-<xsattribute name=″PartName″type=″xsstring″use=″required″>
-<xsannotation>
<xsdocumentation>Name of the document part.Anexample would be PurchaseOrder</xsdocumentation>
</xsannotation>
</xsattribute>
-<xsattribute name=″DocIDRequired″type=″x5boolean″use=″required″>
-<xsannotation>
<xsdocumentation>Document ID of the part.Thisinformation is present in the input ICDRequest</xsdocumentation>
</xsannotation>
</xsattribute>
-<xsattribute name=″Location″type=″xsstring″use=″required″>
-<xsannotation>
<xsdocumentation>Location of the part in the message.
Possible values are SOAP body,attachment andexternal</xsdocumentation>
</xsannotation>
</xsattribute>
-<xsattribute name=″MimeType″type=″xsstring″use=″optional″>
-<xsannotation>
<xsdocumentation>Specifies the MIMEtype</xsdocumentation>
</xsannotation>
</xsattribute>
-<xsattribute name=″Root″type=″xsboolean″use=″required″>
-<xsannotation>
<xsdocumentation>Indicates if this is the rootpart</xsdocumentation>
</xsannotation>
</xsattribute>-<xsattribute name=″XML″type=″xsboolean″use=″required″>
-<xsannotation>
<xsdocumentation>Indicates if this part is an XMLmessage</xsdocumentation>
</xsannotation></xsattribute></xscomplexType></xsschema>
RoutingContract.XSD<?xml version=″1.0″encoding=″UTF-8″?>-<!--edited with XML Spy v4.4U(http//www.xmlspy.com)by Todd Klaus(Commerce One)-->-<xsdschematargetNamespace=″publicidcom.commerceoneschemas/soapextension/contract/routing/v1_0/RoutingContract.xsd″xmlnsxsd=″http//www.w3.org/2001/XMLSchema″xmlnsroute=″publicidcom.commerceoneschemas/soapextension/contract/routing/v1_0/RoutingContract.xsd″elementFormDefault=″qualified″attributeFormDefault=″unqualified″>-<!--imports-->-<!--elements and types-->-<xsdelement name=″Route″type=″routeRouteType″>
-<xsdannotation>
<xsddocumentation>Routing element in theICD</xsddocumentation>
</xsdannotation></xsdelement>-<xsdcomplexType name=″RouteType″>-<xsdannotation>
<xsddocumentation>Defines the list of nodes to be traversedfrom sender to receiver</xsddocumentation>
</xsdannotation>-<xsdsequence>
-<xsdelement name=″RouteNode″type=″routeRouteNodeType″minOccurs=″2″maxOccurs=″unbounded″>
-<xsdannotation>
<xsddocumentation>Nodes in the route.There must beat least two nodes in the route(sender andreceiver)</xsddocumentation>
</xsdannotation>
</xsdelement></xsdsequence></xsdcomplexType>-<xsdcomplexType name=″RouteNodeType″>-<xsdannotation>
<xsddocumentation>Defines a node in theroute</xsddocumentation></xsdannotation>-<xsdsequence>-<xsdelement name=″EntryChannel″type=″routeChannelType″>-<xsdannotation>
<xsddocumentation>Transport and envelope protocolused to reach this node.Becomes ExitChannel whenroute is reversed.</xsddocumentation>
</xsdannotation></xsdelement>
-<xsdelement name=″ExitChannel″type=″routeChannelType″>
-<xsdannotation>
<xsddocumentation>Transport and envelope protocolused to exit this node.Becomes EntryChannel whenroute is reversed.</xsddocumentation>
</xsdannotation>
</xsdelement>
</xsdsequence>
-<xsdattribute name=″connector″type=″xsdstring″use=″required″>
-<xsdannotation>
<xsddocumentation>GTW unique name consisting ofissuing authority prefix,type(always connector here),community name,and local name</xsddocumentation>
</xsdannotation>
</xsdattribute>
-<xsdattribute name=″isNative″type=″xsdboolean″ use=″required″>
-<xsdannotation>
<xsddocumentation>Indicates whether this connector isrunning C1 software(CWSP 6.0+)</xsddocumentation>
</xsdannotation>
</xsdattribute>
-<xsdattribute name=″connectorFunction″use=″required″>
-<xsdannotation>
<xsddocumentation>Specifies the role this connector playsin the route at the specified node,</xsddocumentation>
</xsdannotation>
-<xsdsimpleType>
-<xsdrestriction base=″xsdstring″>
<xsdenumeration value=″service-send″/>
<xsdenumeration value=″service-receive″/>
<xsdenumeration value=″hub″/>
<xsdenumeration value=″envelope-gateway″/>
</xsdrestriction>
</xsdsimpleType>
</xsdattribute>-<xsdattribute name=″preICDComputation″type=″xsdboolean″use=″required″>
-<xsdannotation>
<xsddocumentation>Indicates whether this node shouldhave already been traversed by the time the ICDrequest was made(i.e.,it is prior to the currentconnector/envelope protocol)</xsddocumentation>
</xsdannotation></xsdattribute></xsdcomplexType>-<xsdcomplexType name=″ChannelType″>-<xsdannotation>
<xsddocumentation>Defines the transport information neededto reach the associated node</xsddocumentation></xsdannotation>-<xsdattribute name=″envelopeProtocol″type=″xsdstring″use=″required″>-<xsdannotation>
<xsddocumentation>Envelope protocol and versionassociated with this channel</xsddocumentation>
</xsdannotation>
</xsdattribute>
-<xsdattribute name=″transportSupportedMessageType″use=″required″>
-<xsdannotation>
<xsddocumentation>Message type supported by thischannel.One of oneway,request-reponse,orboth</xsddocumentation>
</xsdannotation>
-<xsdsimpleType>
-<xsdrestriction base=″xsdstring″>
<xsdenumeration value=″oneway″/>
<xsdenumeration value=″request-response″/>
<xsdenumeration value=″both″/>
</xsdrestriction>
</xsdsimpleType>
</xsdattribute>
-<xsdattribute name=″transportPhysicalAddress″type=″xsdstring″use=″required″>
-<xsdannotation>
<xsddocumentation>transport-specifc address(URL,nodequeue name,etc)</xsddocumentation>
</xsdannotation>
</xsdattribute>
-<xsdattribute name=″transportProtocol″type=″xsdstring″use=″required″>
-<xsdannotation>
<xsddocumentation>Transport type(HTTPS,Sonic,etc.)</xsddocumentation>
</xsdannotation>
</xsdattribute>
-<xsdattribute name=″transportReliable″type=″xsdboolean″use=″required″>
-<xsdannotation>
<xsddocumentation>Indicates whether this transport isreliable.</xsddocumentation>
</xsdannotation>
</xsdattribute>
-<xsdattribute name=″transportNative″type=″xsdboolean″use=″required″>
-<xsdannotation>
<xsddocumentation>Indicates whether this is a nativelysupported transport. If false,it is handled by atransport gateway.</xsddocumentation>
</xsdannotation>
</xsdattribute></xsdcomplexType></xsdschema>
TransformationContract.XSD<?xml version=″1.0″encoding=″UTF-8″?>-<!--edited with XML Spy v4.4U(http//www.xmlspy.com)by Helen Yuen(Commerce One)-->-<!--Generated by XML Authority.Conforms to w3c http//www.w3.org/2001/XMLSchema-->-<schematargetNamespace=″publicidcom.commerceoneschemas/soapextension/contract/transformation/v1_0/TransformationContract.xsd″xmlnsxs=″http//www.w3.org/2001/XMLSchema″xmlnstpc=″publicidcom.commerceoneschemas/soapextension/contract/transformation/v1_0/TransformationContract.xsd″xmlns=″http//www.w3.org/2001/XMLSchema″elementFormDefault=″qualified″attributeFormDefault=″unqualified″version=″1.0″>-<!--import namespaces-->-<!--giobal elements-->-<element name=″TransformationContract″type=″tpcTransformationContractType″>
-<annotation>
<documentation>Transformation Contract Block of theICD</documentation>
</annotation>
</element>-<complexType name=″DocInfoType″>
-<sequence>
<element name=″DocURI″type=″xsanyURI″/>
<element name=″DocName″type=″xsstring″/>
<element name=″Namespace″type=″xsanyURI″/>
<element name=″Version″type=″xsstring″/>
</sequence></complexType>-<complexType name=″TransformationContractType″>-<sequence>
-<element name=″DocumentToTransform″type=″tpcDocumentToTransformType″maxOccurs=″unbounded″>
-<annotation>
<documentation>Source Document transformationinformation</documentation>
</annotation>
</element>
<element name=″ResponseDoc″type=″tpcResponseDocType″minOccurs=″0″/></sequence></complexType>-<complexType name=″TransformationMapType″>
-<sequence>
-<element name=″Connector″type=″xsanyURI″>
-<annotation>
<documentation>Connector GTW name.Specify thelocation where the transformation willoccur.</documentation>
</annotation>
</element>
<element name=″StartDoc″type=″tpcDocInfoType″/>
<element name=″EndDoc″type=″tpcDocInfoType″/>
-<element name=″CommunityID″type=″xsstring″>
-<annotation>
<documentation>Community ID of where thetransformation maps are located.</documentation>
</annotation>
</element>
<element name=″TransformationMapURI″type=″xsanyURI″/>
</sequence></complexType>-<complexType name=″ResponseDocType″>-<sequence>
<element name=″DocIdURI″type=″xsanyURI″/>
<element name=″ColumnNum″type=″xsint″/>
</sequence></complexType>-<complexType name=″DocumentToTransformType″>-<sequence>-<element name=″SourceDocID″type=″xsanyURI″>
-<annotation>
<documentation>Source Document ID</documentation>
</annotation></element>-<element name=″PartName″type=″xsstring″>-<annotation>
<documentation>Source DocumentPartID</documentation>
</annotation></element>-<element name=″Attachment″type=″xsboolean″>-<annotation>
<documentation>Receiver attachment preferenceflag</documentation></annotation></element>-<element name=″AttachmentPartID″type=″xsstring″minOccurs=″0″>-<annotation>
<documentation>Attachment Part ID</documentation></annotation></element>-<element name=″TransformationMap″type=″tpcTransformationMapType″minOccurs=″0″maxOccurs=″unbounded″>-<annotation>
<documentation>Transformationinstructions</documentation>
</annotation>
</element>
</sequence></complexType></schema>
SecurityContractKeyInfo.XSD<?xml version=″1.0″encoding=″UTF-8″?>-<!--edited with XML Spy v4.4U(http//www.xmlspy.com)by Symon Chang(Commerce One)-->-<xsschematargetNamespace=″publicidcom.commerceoneschemas/soapextension/contract/security/v1_0/SecurityContract.xsd″xminssicd=″publicidcom.commerceoneschemas/soapextension/contract/security/v1_0/5ecurityContract.xsd″xmlnsxs=″http//www.w3.org/2001/XMLSchema″elementFormDefault=″qualified″attributeFormDefault=″unqualified″version=″1.0″>
-<xssimpleType name=″CollaberationPartyID″>
<xsannotation>
<xsdocumentation>This is the Coliaboration Partner′sID</xsdocumentation>
</xsannotation>
<xsrestriction base=″xsstring″/></xssimpleType>-<xssimpleType name=″KeyUsageTypes″>-<xsannotation>
<xsdocumentation>Key is used for signature,encryption,and/or authentication.</xsdocumentation>
</xsannotation>-<xsrestriction base=″xsNMTOKENS″>
<xsenumeration value=″AUTHENTICATION″/>
<xsenumeration value=″ENCRYPTION″/>
<xsenumeration value=″SIGNATURE″/>
<xsenumeration value=″SSL″/>
</xsrestriction></xssimpleType>-<xssimpleType name=″KeyAlgorithmTypes″>-<xsannotation>
<xsdocumentation>Key is RSA or DSA type ofkey.</xsdocumentation></xsannotation>-<xsrestriction base=″xsNMTOKENS″>
<xsenumeration value=″RSA″/>
<xsenumeration value=″DSA″/></xsrestriction></xssimpleType>-<xssimpleType name=″AuthenticateModeTypes″>-<xsannotation>
<xsdocumentation>The location of where the authenticationtakes place.NONE means neither source nor targetconnector will perform the authentication.This may be thecase of letting foreign connector to perform theauthentication.</xsdocumentation></xsannotation>-<xsrestriction base=″xsNMTOKEN″>
<xsenumeration value=″SOURCE″/>
<xsenumeration value=″TARGET″/>
<xsenumeration value=″NONE″/>
</xsrestriction>
</xssimpleType>
-<xselement name=″PublicKey″type=″sicdPublicKeyType″>
-<xsannotation>
<xsdocumentation>The Public Key record.Each public key willhave partyID,KeyInfo,description andusages.</xsdocumentation>
</xsannotation>
</xselement>-<xselement name=″EncryptionKeyInfo″>
-<xsannotation>
<xsdocumentation>The KeyInfo that has both PublicKeyID andX509Data for encryption.</xsdocumentation>
</xsannotation>
-<xscomplexType>
-<xscomplexContent>
-<xsextension base=″sicdKeyInfoType″>
<xsattribute name=″KeyOwner″type=″sicdCollaberationPartyID″use=″optional″/>
</xsextension>
</xscomplexContent></xscomplexType></xselement>-<xscomplexType name=″PublicKeyType″>-<xsannotation>
<xsdocumentation>The Public Key record,including PartyID,KeyInfo,Usages and Description.</xsdocumentation></xsannotation>-<xssequence>
<xselement ref=″sicdPartyID″/>-<xselement ref=″sicdEncryptionKeyInfo″>
-<xsannotation>
<xsdocumentation>The KeyInfo block that has KeyIDand X509 Data.</xsdocumentation>
</xsannotation></xselement>-<xselement ref=″sicdKeyTypeUsage″maxOccurs=″4″>-<xsannotation>
<xsdocumentation>Key is used for signature,encryption,and/orauthentication.</xsdocumentation>
</xsannotation></xselement>-<xselement name=″KeyAlgorithm″type=″sicdKeyAlgorithmTypes″minOccurs=″0″>-<xsannotation>
<xsdocumentation>The Key is RSA or DSAkey</xsdocumentation>
</xsannotation></xselement><xselement ref=″sicdDescription″minOccurs=″0″/>-<xselement name=″Location″type=″xsstring″minOccurs=″0″>-<xsannotation>
<xsdocumentation>The connector ID that key thePrivate Key.</xsdocumentation>
</xsannotation>
</xselement>
</xssequence>
</xscomplexType>
-<xselement name=″PartyID″type=″sicdCollaberationPartyID″>
-<xsannotation>
<xsdocumentation>Trading partner ID or Collabration PartnerID in UUID format.</xsdocumentation>
</xsannotation>
</xselement>
-<xselement name=″Description″type=″xsstring″>
-<xsannotation>
<xsdocumentation>The description of thekey</xsdocumentation>
</xsannotation>
</xselement>
-<xselement name=″KeyTypeUsage″type=″sicdKeyUsageTypes″>
-<xsannotation>
<xsdocumentation>Key is used for signature,encryption,and/or authentication.</xsdocumentation>
</xsannotation>
</xselement>-<xselement name=″KeyInfo″>
-<xsannotation>
<xsdocumentation>The KeyInfo object is from the XMLDsigdsKeyInfo object.However,within SICD we only use PublicKey ID field.</xsdocumentation>
</xsannotation>
-<xscomplexType>
-<xssequence>
<xselement ref=″sicdPublicKeyID″/>
</xssequence>
</xscomplexType></xselement>-<xselement name=″PublicKeyID″type=″xsstring″>-<xsannotation>
<xsdocumentation>The Public Key ID is a unique key ID(UUIDor from XMKS server).</xsdocumentation>
</xsannotation></xselement>-<xselement name=″PublicKeyName″type=″sicdPublicKeyNameType″>-<xsannotation>
<xsdocumentation>The Name of the Public Key.It is same asthe PublicKeyID but has owner name as the optionalattribute.</xsdocumentation></xsannotation></xselement>-<xscomplexType name=″PublicKeyNameType″>-<xssimpleContent>-<xsextension base=″xsstring″>
<xsattribute name=″KeyOwner″type=″sicdCollaberationPartyID″use=″optional″/>
</xsextension>
</xssimpleContent>
</xscomplexType>
-<xscomplexType name=″KeyInfoType″>
-<xsannotation>
<xsdocumentation>This is for Encryption.The KeyInfo object isfrom the XMLDsig dsKeyInfo object.However,within SICDwe only use Public Key ID and X509 Certificate twofields.</xsdocumentation>
</xsannotation>
-<xssequence>
<xselement ref=″sicdPublicKeyID″/>
-<xselement name=″X509Data″minOccurs=″0″>
-<xscomplexType>
-<xssequence>
<xselement name=″X509Certificate″type=″xsbase64Binary″/>
</xssequence>
</xscomplexType>
</xselement>
</xssequence>
</xscomplexType>-<!--Policy Types-->-<xscomplexType name=″Abstract_PolicyType″abstract=″true″>
-<xsannotation>
<xsdocumentation>This is the abstract policy for all securitypolicy related algorithm.The ID is the Template Name forthe Algorithm.</xsdocumentation>
</xsannotation>
<xsattribute name=″PolicyId″type=″xsstring″use=″optional″/></xscomplexType>-<xscomplexType name=″Abstract_CredentlalPolicyType″abstract=″true″>
-<xsannotation>
<xsdocumentation>This is the abstract policy for authenticationcredential policy algorithm.</xsdocumentation>
</xsannotation>
-<xscomplexContent>
-<xsextension base=″sicdAbstract_PolicyType″>
-<xssequence>
<xselement name=″CredentialPolicyAlgorithm″type=″xsstring″/>
</xssequence>
</xsextension></xscomplexContent></xscomplexType>-<xselement name=″AuthenticateImplementation″type=″xsstring″>-<xsannotation>
<xsdocumentation>Optional for different implementation,suchas SAML,SecureID,or Kerberos.</xsdocumentation></xsannotation></xselement>
-<xselement name=″AuthenticateMode″type=″sicdAuthenticateModeTypes″>
-<xsannotation>
<xsdocumentation>The location of where the authenticationtakes place.It can be either SOURCE connector or TARGETconnector.SOURCE means the sender′s local connectors willperform SAML Single Sign-On type of authentication.
TARGET means the connector on the receiving end willperform the authentication.NONE means neither source nortarget connector will perform the authentication.This maybe the case of letting foreign connector to perform theauthentication.</xsdocumentation>
</xsannotation>
</xselement>
-<xscomplexType name=″AuthenticationCredentialPolicyType″>
-<xsannotation>
<xsdocumentation>This authentication and credential policywill work for Basic and X509.</xsdocumentation>
</xsannotation>
-<xscomplexContent>
-<xsextension base=″sicdAbstract_CredentialPolicyType″>
-<xssequence minOccurs=″0″>
<xselement ref=″sicdAuthenticateMode″/>
<xselement ref=″sicdAuthenticateImplementation″minOccurs=″0″/>
</xssequence>
</xsextension>
</xscomplexContent>
</xscomplexType>
-<xscomplexType name=″AnonymousCredentialPolicyType″>
-<xsannotation>
<xsdocumentation>This is an anonymous credential policy typethat has no credential.</xsdocumentation>
</xsannotation>
-<xscomplexContent>
-<xsrestriction base=″sicdAbstract_CredentialPolicyType″>
-<xssequence>
<xselement name=″CredentialPolicyAlgorithm″type=″xsstring″fixed=″Anonymous″/>
</xssequence>
</xsrestriction>
</xscomplexContent></xscomplexType>-<xscomplexType name=″BasicCredentialPolicyType″>-<xsannotation>
<xsdocumentation>This is a basic credential policy type thatuses ID and password as credential.</xsdocumentation></xsannotation>-<xscomplexContent>
<xsextension base=″sicdAuthenticationCredentialPolicyType″/></xscomplexContent></xscomplexType>-<xscomplexType name=″X509CredentialPolicyType″>
-<xsannotation>
<xsdocumentation>This is a X509 credential policytype.</xsdocumentation>
</xsannotation>
-<xscomplexContent>
<xsextension base=″sicdAuthenticationCredentialPolicyType″/>
</xscomplexContent>
</xscomplexType>
-<xscomplexType name=″BASE64_BINARYCredentialPolicyType″>
-<xsannotation>
<xsdocumentation>This is a BASE64_BINARY_CREDENTIALpolicy type.</xsdocumentation>
</xsannotation>
-<xscomplexContent>
-<xsextension base=″sicdAuthenticationCredentialPolicyType″>
-<xssequence>
<xselement name=″valueType″type=″xsQName″/>
<xselement name=″encodingType″type=″xsQName″/>
</xssequence>
</xsextension>
</xscomplexContent></xscomplexType>-<xscomplexType name=″Abstract_EncryptionPolicyType″abstract=″true″>
-<xsannotation>
<xsdocumentation>This is the abstract policy for Encryptionpolicy algorithm.</xsdocumentation>
</xsannotation>
-<xscomplexContent>
-<xsextension base=″sicdAbstract_PolicyType″>
-<xssequence>
<xselement name=″EncryptionPolicyAlgorithm″type=″xsstring″/>
<xselement name=″EncryptionMethod″type=″xsstring″/>
<xselement ref=″sicdKeySize″/>
<xselement ref=″sicdSymmetryKeySize″minOccurs=″0″/>
</xssequence>
</xsextension></xscomplexContent></xscomplexType>-<xscomplexType name=″EncryptionPolicyType″>-<xsannotation>
<xsdocumentation>This encryption policy will work for bothXMLEnc and PKCS#7.</xsdocumentation></xsannotation>-<xscomplexContent>-<xsextension base=″sicdAbstract_EncryptionPolicyType″>
-<xssequence>
<xselement name=″KeyEncryptionMethod″type=″xsstring″minOccurs=″0″/>
</xssequence>
</xsextension>
</xscomplexContent>
</xscomplexType>
-<xselement name=″KeySize″>
-<xsannotation>
<xsdocumentation>This is the asymmetry encryption orsymmetry key size,depends which algorithm is used.For anasymmetry case,this will be the asymmetry key size,andthe symmetry key size is defined on the SymmetryKeySizefield.</xsdocumentation>
</xsannotation>
-<xsslmpleType>
-<xsrestriction base=″xsshort″>
<xsminInclusive value=″56″/>
<xsmaxExclusive value=″4096″/>
</xsrestriction>
</xssimpleType>
</xselement>
-<xselement name=″SymmetryKeySize″>
-<xsannotation>
<xsdocumentation>This is the symmetry encryption key size,ifthe asymmetry algorithm is used.</xsdocumentation>
</xsannotation>
-<xssimpleType>
-<xsrestriction base=″xsshort″>
<xsminInclusive value=″56″/>
<xsmaxExclusive value=″4096″/>
</xsrestriction>
</xssimpleType>
</xselement>-<xscomplexType name=″XMLEncryptionPolicyType″>
-<xsannotation>
<xsdocumentation>This will work for any encryption policytype.</xsdocumentation>
</xsannotation>
-<xscomplexContent>
-<xsextension base=″sicdAbstract_EncryptionPolicyType″>
-<xssequence>
<xselement name=″KeyEncryptionMethod″type=″xsstring″default=″http//www.w3.org/2001/04/xmlenc#rsa-1_5″/>
<xselement name=″DecryptionTransform″type=″xsstring″minOccurs=″0″/>
</xssequence>
</xsextension></xscomplexContent></xscomplexType>-<xscomplexType name=″Abstract_SignaturePolicyType″abstract=″true″>-<xsannotation>
<xsdocumentation>This is the abstract policy for DigitalSignature policy algorithm.</xsdocumentation></xsannotation>-<xscomplexContent>
-<xsextension base=″sicdAbstract_PolicyType″>
-<xssequence>
<xselement name=″SlgnaturePolicyAlgorithm″type=″xsstring″/>
<xselement name=″SignatureAlgorithm″type=″xsstring″/>
<xselement name=″HashFunction″type=″xsstring″/>
</xssequence>
</xsextension>
</xscomplexContent>
</xscomplexType>
-<xscomplexType name=″SignaturePolicyType″>
-<xsannotation>
<xsdocumentation>This will work for any digital signaturepolicy type.</xsdocumentation>
</xsannotation>
-<xscomplexContent>
<xsextension base=″sicdAbstract_SignaturePolicyType″/>
</xscomplexContent>
</xscomplexType>-<xscomplexType name=″XMLDsigPolicyType″>
-<xsannotation>
<xsdocumentation>This is for XMLDsigpolicy.</xsdocumentation>
</xsannotation>
-<xscomplexContent>
-<xsextension base=″sicdSignaturePolicyType″>
-<xssequence>
<xselement name=″CanonicalizationMethod″type=″xsstring″minOccurs=″0″/>
<xselement name=″Transform″type=″xsstring″minOccurs=″0″/>
</xssequence>
</xsextension>
</xscomplexContent></xscomplexType>-<!--Message Part-->-<xscomplexType name=″PartElementType″>-<xsannptation>
<xsdocumentation>Xpath is used to define the element withinthe part of the message.</xsdocumentation></xsannotation>-<xssimpleContent>
-<xsextension base=″xsstring″>
<xsattribute name=″Type″type=″xsanyURI″use=″optional″/>
<xsattribute name=″BlockId″type=″xsshort″use=″optional″/>
</xsextension></xssimpleContent></xscomplexType>-<xscomplexType name=″MessagePartsType″>
-<xsannotation>
<xsdocumentation>The part within a message.URI is used todefine the part.</xsdocumentation>
</xsannotation>
-<xssequence>
-<xselement name=″PartElement″type=″sicdPartElementType″minOccurs=″0″maxOccurs=″unbounded″>
-<xsannotation>
<xsdocumentation>The element within the part.It isonly apply to XML type of messagepart.</xsdocumentation>
</xsannotation>
</xselement>
</xssequence>
<xsattribute name=″PartName″type=″xsstring″use=″required″/>
<xsattribute name=″Type″type=″xsanyURI″use=″optional″/>
<xsattribute name=″AlgorithmId″type=″xsstring″use=″optional″/>
<xsattribute name=″BlockId″type=″xsshort″use=″optional″/></xscomplexType>-<xselement name=″MessagePart″type=″sicdMessagePartsType″>-<xsannotation>
<xsdocumentation>The part within the message.TheAlgorithmId is for this part.If the AlgorithmId is notdefined,then parent′s AlgorithmId will beused.</xsdocumentation>
</xsannotation></xselement></xsschema>
SecurityContract.XSD<?xml version=″1.0″encoding=″UTF-8″?>-<!--edited with XML Spy v4.4U(http//www.xmlspy.com)by Symon Chang(Commaroe One)-->-<!--Security Interop Contract DocumentCreated bySymon ChangCopyright 2002 Commerce One,Inc.-->-<xsschematargetNamespace=″publicidcom.commerceoneschemas/soapextension/contract/security/v1_0/SecurityContract.xsd″xmlnsds=″http//www.w3.org/2000/09/xmldsig#″xmlnsxs=″http//www.w3.org/2001/XMLSchema″xmlnssicd=″publicidcom.commerceoneschemas/soapextension/contract/security/v1_0/SecurityContract.xsd″xmlnssaml=″urnoasisnamestcSAML1.0assertion″elementFormDefault=″qualified″attributeFormDefault=″unqualified″version=″1.0″>-<!--imports-->
-<!--<xsimportnamespace=″publicidcom.commerceoneschemas/soapextension/contract/v1_0/InteroperabilityContract.xsd″schemaLocation=″http//schemas.commerceone.com/schemas/soapextension/contract/v1_0/InteroperabilityContract.xsd″/>
-->
<xsimport namespace=″urnoasisnamestcSAML1.0assertion″schemaLocation=″http//www.oasis-open.org/committees/security/docs/cs-sstc-schema-assertion-01.xsd″/>-<!--includes--><xsinciude schemaLocation=″SecurityContractKeyInfo.xsd″/>-<!--Schema for Security Policies-->-<!--top element-->-<xselement name=″SecurityContractICD″type=″sicdSecurityContractType″>-<xsannotation>
<xsdocumentation>The Security Interop Contract agreement.Itdefines Policies and channels for securitypolicies.</xsdocumentation></xsannotation></xselement>-<!--Schema for Security Policies-->-<!--Define Crdetential Policies-->-<xselement name=″BasicCredentialPolicy″type=″sicdBasicCredentialPolicyType″>
-<xsannotation>
<xsdocumentation>The credential and authentication algorithmpolicy for ID and Password.</xsdocumentation>
</xsannotation></xselement>-<xselement name=″X509CredentialPolicy″type=″sicdX509CredentialPolicyType″>
-<xsannotation>
<xsdocumentation>The credential and authentication algorithmpolicy for X.509 Certificate.</xsdocumentation>
</xsannotation></xselement>-<xselement name=″AnonymousCredentialPolicy″type=″sicdAnonymousCredentialPolicyType″>
-<xsannotation>
<xsdocumentation>The credential and authentication algorithmpolicy for no credential.</xsdocumentation>
</xsannotation></xselement>-<xselement name=″BASE64_BINARYCredentialPolicy″type=″sicdBASE64_BINARYCredentialPolicyType″>
-<xsannotation>
<xsdocumentation>The credential and authentication algorithmpolicy for BASE64_BINARY_CREDENTIAL</xsdocumentation>
</xsannotation></xselement>-<xselement name=″AuthenticationPolicies″>-<xsannotation>
<xsdocumentation>The abstraction for credential andauthentication algorithm policy.</xsdocumentation>
</xsannotation>-<xscomplexType>
-<xssequence>
<xselement ref=″sicdBasicCredentialPolicy″minOccurs=″0″maxOccurs=″unbounded″/>
<xselement ref=″sicdX509CredentialPolicy″minOccurs=″0″maxOccurs=″unbounded″/>
<xselement ref=″sicdBASE64_BINARYCredentialPolicy″minOccurs=″0″maxOccurs=″unbounded″/>
<xselement ref=″sicdAnonymousCredentialPolicy″minOccurs=″0″maxOccurs=″unbounded″/>
</xssequence></xscomplexType></xselement>-<!--Define Encryption Policies
-->
-<xselement nare=″EncryptionPolicy″type=″sicdEncryptionPolicyType″>
-<xsannotation>
<xsdocumentation>The encryption algorithm and policy,suchas PCSK#7,or S/MIME.</xsdocumentation>
</xsannotation>
</xselement>
-<xselement name=″XMLEncryptionPolicy″type=″sicdXMLEncryptionPolicyType″>
-<xsannotation>
<xsdocumentation>The encryption algorithm and policy forXMLEnc.</xsdocumentation>
</xsannotation>
</xselement>
-<xselement name=″EncryptionPolicies″>
-<xsannotation>
<xsdocumentation>The group of encryption algorithms andpolicies for XM LEnc,PCSK#7,or S/MIME.The PolicyID willbe the TemplateID in the Registry.This ID will be used inthe Channel Section as AlgorithmID to identify whichencryption policy algorithm will be used.</xsdocumentation>
</xsannotation>
-<xscomplexType>
-<xssequence>
<xselement ref=″sicdXMLEncryptionPolicy″minOccurs=″0″maxOccurs=″unbounded″/>
<xselement ref=″sicdEncryptionPolicy″minOccurs=″0″maxOccurs=″unbounded″/>
</xssequence>
</xscomplexType></xselement>-<!--Digital Signature Poiicy-->-<xselement name=″XMLDsigPolicy″type=″sicdXMLDsigPolicyType″>-<xsannotation>
<xsdocumentation>The signature algorithm and policy forXMLDsig.</xsdocumentation>
</xsannotation></xselement>-<xselement name=″SignaturePolicy″type=″sicdSignaturePolicyType″>-<xsannotation>
<xsdocumentation>The signature algorithm and policy forXMLDsig,PCSK#7 or S/MIME.</xsdocumentation></xsannotation></xselement>-<xselement name=″SignaturePolicies″>-<xsannotation>
<xsdocumentation>The group of digital signature algorothmsand policies for XMLDsig,PCKS#7,or S/MIME.The Policy IDwill be the TemplateID in the Registry.This Policy ID will beused in the Channel Section as AlgorithmID to identifywhich sinature policy algorithm will beused.</xsdocumentation>
</xsannotation>-<xscomplexType>
-<xssequence>
<xselement ref=″sicdXMLDsigPolicy″minOccurs=″0″maxOccurs=″unbounded″/>
<xselement ref=″sicdSignaturePolicy″minOccurs=″0″maxOccurs=″unbounded″/>
</xssequence></xscomplexType></xselement>-<!--Non-repudiation-->-<xselement name ″NonRepudiationPolicy″type=″sicdSignaturePolicyType″substitutionGroup=″sicdNonRepudiationPolicies″>-<xsannotation>
<xsdocumentation>The non-repudiationl algorithm and policythat use daigital signature.</xsdocumentation></xsannotation></xselement>-<xselement name=″NonRepudiationPolicies″type=″sicdAbstract_PolicyType″abstract=″true″>-<xsannotation>
<xsdocumentation>The policy and algorithm for non-repudiation of origin.</xsdocumentation></xsannotation></xselement>-<xselement name=″NonRepudiationReceiptPolicy″type=″sicdSignaturePolicyType″substitutionGroup=″sicdNonRepudiationReceiptPolicies″>-<xsannotation>
<xsdocumentation>The non-repudiationl algorithm and policythat use daigital signature.</xsdocumentation></xsannotation></xselement>-<xselement name=″NonRepudiationReceiptPolicies″type=″sicdAbstract_PolicyType″abstract=″true″>-<xsannotation>
<xsdocumentation>The policy and algorithm for non-repudiation of receipt.</xsdocumentation></xsannotation></xselement>-<xselement name=″SecurityPolicies″>-<xsannotation>
<xsdocumentation>The security Policies section.It defines allpolicy related security policies.</xsdocumentation></xsannotation>-<xscomplexType>-<xssequence>
<xselement ref=″sicdAuthenticationPolicies″minOccurs=″0″/>
<xselement ref=″sicdSignaturePolicies″minOccurs=″0″/>
<xselement ref=″sicdEncryptionPolicies″minOccurs=″0″/>
<xselement ref=″sicdNonRepudiationPolicies″minOccurs=″0″maxOccurs=″unbounded″/>
<xselement ref=″sicdNonRepudiationReceiptPolicies″minOccurs=″0″maxOccurs=″unbounded″/>
<xselement ref=″sicdEncryptionKeyInfo″minOccurs=″0″maxOccurs=″unbounded″/>
</xssequence>
</xscomplexType>
</xselement>
-<!--Schema for Channel-->
-<xscomplexType name=″KeyAlgorithmType″>
-<xsannotation>
<xsdocumentation>The root for Integraty and Confidentialblocks.All these two types of block within the Securitychannel have to have PubllcKeyID and AlgorithmId,so doesthe signing and encryption policy within the Credentailblock.</xsdocumentation>
</xsannotation>
-<xssequence>
<xselement ref=″sicdPublicKeyName″/>
</xssequence>
<xsattribute name=″AlgorithmId″type=″xsstring″use=″optional″/>
</xscomplexType>-<xscomplexType name=″KeyMessagePartsType″>
-<xsannotation>
<xsdocumentation>The root for parts in a message.It alsodefine the KeyInfo and the algorithm policy for allparts.</xsdocumentation>
</xsannotation>
-<xscomplexContent>
-<xsextension base=″sicdKeyAlgorithmType″>
-<xssequence minOccurs=″0″>
<xselement ref=″sicdMessagePart″minOccurs=″0″maxOccurs=″unbounded″/>
</xssequence>
<xsattribute name=″SequenceID″type=″xsshort″use=″optional″/>
</xsextension></xscomplexContent></xscomplexType>-<xselement name=″Credential″>-<xsannotation><xsdocumentation>The credentail and authentication polocy.
Note that the CredentailEncryptionAlgorithm is here.This isdue to authentication will be preformed before thedecryption at inbound.</xsdocumentation></xsannotation>-<xscomplexType>-<xssequence minOccurs=″0″>-<xschoice minOccurs=″0″>-<xselement name=″PartyID″type=″sicdCollaberationPartyID″minOccurs=″0″>
-<xsannotation>
<xsdocumentation>The party ID that is usedfor Basic credentail.</xsdocumentation>
</xsannotation>
</xselement>
-<xselement ref=″sicdPublicKeyName″minOccurs=″0″>
-<xsannotation>
<xsdocumentation>The Key that is used forX.509 credntial.</xsdocumentation>
</xsannotation>
</xselement>
</xscholce>
-<xselement name=″CredentialEncryptionAlgorithm″type=″sicdKeyAlgorithmType″minOccurs=″0″>
-<xsannotation>
<xsdocumentation>The Encryption Algorithm thatis used to encrypt the credntial.This will onlybe used when the Authentication mode isTARGET.</xsdocumentation>
</xsannotation>
</xselement>
</xssequence>
<xsattribute name=″AlgorithmId″type=″xsstring″use=″required″/>
<xsattribute name=″SequenceID″type=″xsshort″use=″optional″/>
<xsattribute name=″DelegationFlag″type=″xsboolean″use=″optional″default=″false″/>
</xscomplexType></xselement>-<xselement name=″Confidential″>-<xsannotation>
<xsdocumentation>The encryption security policy.TheAlgorithmId will be the tmeplateID from the Registry.If theAlgorothmId is defined and no message parts,then thewhole message will be encrypted.In this case,if there areNon-XML parts,then the NonXMLAlgorithmID will bedefined,too.</xsdocumentation>
</xsannotation>-<xscomplexType>
-<xscomplexContent>
-<xsextension base=″sicdKeyMessagePartsType″>
<xsattribute name=″NonXMLAlgorithmId″type=″xsstring″use=″optional″/>
</xsextension>
</xscomplexContent></xscomplexType></xselement>-<xselement name=″Integrity″>-<xsannotation>
<xsdocumentation>The digital signature security policy.TheAlgorithmId will be the tmeplateID from the Registry.If theAlgorithmID is defined,and no message parts then thewhole message will be signed.</xsdocumentation></xsannotation>
-<xscomplexType>
-<xscomplexContent>
-<xsextension base=″sicdKeyMessagePartsType″>
-<xssequence minOccurs=″0″>
-<xselement name=″HeaderSignatureAlgorithm″type=″sicdKeyAlgorithmType″minOccurs=″0″>
-<xsannotation>
<xsdocumentation>The SignatureAlgorithm that is used to sign theheader credntial.</xsdocumentation>
</xsannotation>
</xselement>
</xssequence>
<xsattribute name=″NonXMLAlgorithmId″type=″xsstring″use=″optional″/>
</xsextension>
</xscomplexContent>
</xscomplexType>
</xselement>
-<xselement name=″NonRepudiation″>
-<xsannotation>
<xsdocumentation>The non-repudiation of orginpolicy.</xsdocumentation>
</xsannotation>
-<xscomplexType>
-<xssequence>
<xselement name=″NROSignPart″type=″sicdKeyMessagePartsType″/>
</xssequence>
</xscomplexType></xselement>-<xselement name=″NonRepudiationReceipt″>-<xsannotation>
<xsdocumentation>The non-repudiation of receiptpolicy.</xsdocumentation>
</xsannotation>-<xscomplexType>
-<xssequence>
<xselement name=″NRRSignPart″type=″sicdKeyMessagePartsType″/>
</xssequence></xscomplexType></xselement>-<xselement name=″Authorization″>-<xsannotation>
<xsdocumentation>The SAML attribute assertion for thesending CP that will be pass to the reciving service.This willbe shown in the end-to-end securitychannel.</xsdocumentation></xsannotation>-<xscomplexType>-<xssimpleContent>-<xsextension base=″xsstring″>
<xsattribute name=″RequireSubscription″type=″xsboolean″use=″optional″default=″false″/>
</xsextension>
</xssimpleContent>
</xscomplexType>-<!--samlAttributeStatementType″>
--></xselement>-<xselement name=″SecurityContainer″>-<xsannotation>
<xsdocumentation>This will be the container for those piggyback security related objects.</xsdocumentation>
</xsannotation>-<xscomplexType>
-<xssequence>
<xselement name=″PiggbackObject″type=″xsanyType″minOccurs=″0″maxOccurs=″unbounded″/>
</xssequence></xscomplexType></xselement>-<xselement name=″SecurityChannel″>-<xsannotation>
<xsdocumentation>The Security Channel defines the fromconnector and to connector,and what to do within thechannel,such as authentication,encryption and digitalsignature.</xsdocumentation></xsannotation>-<xscomplexType>-<xssequence>
<xselement ref=″sicdCredential″minOccurs=″0″/>
<xselement ref=″sicdConfidential″minOccurs=″0″/>
<xselement ref=″sicdIntegrity″minOccurs=″0″/>-<xselement ref=″sicdAuthorization″minOccurs=″0″>
-<xsannotation>
<xsdocumentation>The SAML attribute assertionfor the sending CP that will be pass to thereciving senvice.This will be shown in the end-to-end security channel.</xsdocumentation>
</xsannotation></xselement><xselement ref=″sicdNonRepudiation″minOccurs=″0″/><xselement ref=″sicdNonRepudiationReceipt″minOccurs=″0″/>-<xselement ref=″sicdSecurityContainer″minOccurs=″0″>-<xsannotation>
<xsdocumentation>This will be the container forthose piggy back security relatedobjects.</xsdocumentation>
</xsannotation></xselement></xssequence><xsattribute name=″channelId″type=″xsstring″use=″optional″/>
<xsattribute name=″sourceConnector″type=″xsstring″use=″required″/>
<xsattribute name=″targetConnector″type=″xsstring″use=″required″/>
</xscomplexType></xselement>-<xscomplexType name=″SecurityContractType″>-<xssequence>
<xselement ref=″sicdSecurityPolicies″/>
<xselement ref=″sicdSecurityChannel″maxOccurs=″unbounded″/>
</xssequence></xscomplexType></xsschema>
InteroperabilityContract.XML<?xml version=″1.0″?>-<!--edited with XML Spy v4.3U(http//www.xmlspy.com)by Ernest Beffel(same)-->-<InteroperabilityContractxmlns=″publicidcom.commerceoneschemas/soapextension/contract/v1_0/InteroperabilityContract.xsd″xmlnsds=″http//www.w3.org/2000/09/xmldsig#″xmlnsgeneral=″publicldcom.commerceoneschemas/soapextension/contract/general/v1_0/GeneralContract.xsd″xmlnsroute=″publicidcom.commerceoneschemas/soapextension/contract/routing/v1_0/RoutingContract.xsd″xmlnssecurity=″publicidcom.commerceoneschemas/soapextension/contract/security/v1_0/SecurityContract.xsd″xmlnsxform=″publicidcom.commerceoneschemas/soapextension/contract/transformation/v1_0/TransformationContract.xsd″xmlnsxsi=″http//www.w3.org/2001/XMLSchema-instance″xsischemaLocation=″publicidcom.commerceoneschemas/soapextension/contract/v 1_0/InteroperabilityContract.xsdhttp//schemas.commerceone.com/schemas/soapextension/contract/v1_0/InteroperabilityContract.xsd″>-<GeneralContract ChoreographyID=″ccnsorderManagement″MessageType=″ONEWAY″CollaborativeInteraction=″true″ICDTimeToLive=″123456″MessageTimeToLive=″2147483647″MessageArchived=″true″BusinessIntelligence=″true″ContractID=″x-ccnscommerceone.comCollaborationParty∷buyPartyx-ccnscommerceone.comCollaborationParty∷sellParty″QualityOfService=″EXACTLYONCE″>
-<generalFrom>
-<generalFromAddress>
<generalParty>x-ccnscommerceone.comCollaborationParty∷buyParty</generalParty>
-<generalServiceActivity>
<generalService Version=″1.0″EnvelopeProtocol=″C1SOAP1.0″>AconsumerOrderManagement</generalService>
<generalActivity>sendOrder</generalActivity>
</generalServiceActivity>
</generalFromAddress>
<generalSenderDDID>9f76db48-784d-1000-b0d5-0a0a02030002</generalSenderDDID>
</generalFrom>-<generalTo>
-<generalToAddress>
<generalParty>x-ccnscommerceone.comCollaborationParty∷sellParty</generalParty>
-<generalServiceActivity>
<generalServlce Version=″1.0″EnvelopeProtocol=″C1SOAP
1.0″>AproviderOrderManagement</generalService>
<generalActivity>processOrder</generalActivity>
</generalServiceActivity>
</generalToAddress>
<generalReceiverDDID>9f76db48-784d-1000-bod5-0a0a02030001</generalReceiverDDID>
</generalTo>-<generalErrorHandling SenderAcceptsAsyncError=″true″>
-<generalSendAsyncErrorResponseTo>
<generalService Version=″1.0″EnvelopeProtocol=″C1 SOAP1.0″>AconsumerOrderManagement</generalService>
<generalActivity>sendOrder</generalActivity>
</generalSendAsyncErrorResponseTo></generalErrorHandling>-<generalDeliveryReceiptHandling SenderRequiresDeliveryReceipt=″true″IsAsyncDeliveryRecelptAcceptedBySender=″true″ReceiverCanGenerateAsyncDeliveryReceipt=″true″>-<generalSendAsyncDeliveryReceiptTo>
<generalService Version=″1.0″EnvelopeProtocol=″C1 SOAP1 AconsumerOrderManagement</generalService>
<generalActivity>DeliveryReceiptConsumer</generalActivity></generalSendAsyncDeliveryRecelptTo></generalDeliveryReceiptHandling><generalRequiredMessagePart PartName=″Order″DocIDRequired=″true″Location=″attachment″MimeType=″text/xml″Root=″true″XML=″false″/><generalRequiredMessagePart PartName=″Image″DocIDRequired=″false″Location=″attachment″MimeType=″image/jpeg″Root=″false″XML=″false″/><generalOptionalMessagePart PartName=″someXMLPart″DocIDRequired=″false″Location=″soapbody″MlmeType=″text/xml″Root=″false″XML=″false″/>-<generalSendingConnectorCapabilities>-<generalAttributeName=″Messaging.SupportDeliveryReceiptRequest″>
<generalValue>None</generalValue></generalAttribute>-<generalAttribute Name=″Messaging.ConversationData″>
<generalValue>rrnorg.soapextensionsschemas/highperformancesoap/conversationdata/v1_0/ConversationData</generalValue></generalAttribute>-<generalAttribute Name=″Messaging.AddressInfo″>
<generalValue>rrnorg.soapextensionsschemas/highperformancesoap/addressinfo/v1_0/AddressInfo</generalValue></generalAttribute>-<generalAttribute Name=″Messaging.MessageIdentity″>
<generalValue>rrnorg.soapextensionsschemas/highpe
rformancesoap/messageidentity/v1_o/MessageIdentity</generalValue></generalAttribute>-<generalAttribute Name=″Archiving.Archiving″>
<generalValue>Yes</generalValue></generalAttribute>-<generalAttribute Name=″Messaging.MessageTimeData″>
<generalValue>rrnorg.soapextensionsschemas/highperformancesoap/messagetimedata/v1_0/MessageTimeData</generalValue></generalAttribute>-<generalAttribute Name=″Messaging.Privacy″>
<generalValue>http//schemas.xmlsoap.org/ws/2002/04/secext</generalValue></generalAttribute>-<generalAttribute Name=″Messaging.Credential″>
<generalValue>None</generalValue></generalAttribute>-<generalAttribute Name=″Messaging.SecurityAssertion″>
<generalValue>http//schemas.xmlsoap.org/ws/2002/04/secext</generalValue></generalAttribute>-<generalAttribute Name=″Messaging.Integrity″>
<generalValue>http//schemas.xmlsoap.org/ws/2002/04/secext</generalValue></generalAttribute>-<generalAttribute Name=″Messaging.Manifest″>
<generalValue>rrnorg.soapextensionsschemashighperformancesoap/manifest/v1_0/Manifest</generalValue></generalAttribute>-<generalAttribute Name=″Transformation.Transformation″>
<genera lValue>Yes</generalValue></generalAttribute>-<generalAttribute Name=″Messaging.Reliability″>
<generalValue>None</generalValue></generalAttribute>-<generalAttribute Name=″Messaging.ReturnAddress″>
<generalValue>None</generalValue></generalAttribute>-<generalAttribute Name=″Messaging.MessageEnvelope″>
<generalValue>SOAP WA 1.2</generalValue></generalAttribute>-<generalAttribute Name=″Archiving.Mining″>
<generalValue>No</generalValue></generalAttribute>-<generalAttribute Name=″Security.Encryption″>
<generalValue>Message Receiver</generalValue></generalAttribute>-<generalAttribute Name=″Security.Signing″>
<generalValue>Message Sender</generalValue></generalAttribute>-<generalAttribute Name=″Messaging.TestMode″>
<generalValue>rrnorg.soapextensionsschemas/highperformancesoap/testmode/v1_0/TestMode</generalValue></generalAttribute>-<generalAttribute Name=″Messaging.Body″>
<generalValue>Optional</generalValue></generalAttribute>-<generalAttribute Name=″Messaging.ContractData″>
<generalValue>rrnorg.soapextensionsschemas/highperformancesoap/contractdata/v1_0/ContractData</generalValue></generalAttribute>-<generalAttribute Name=″Messaging.ReturnDocument″>
<generalValue>rrnorg.soapextensionsschemas/highperformancesoap/returndocument/v1_0/ReturnDocument</generalValue></generalAttribute>-<generalAttribute Name=″Messaging.GenerateDeliveryReceipt″>
<generalValue>Yes</generalValue></generalAttribute></generalSendingConnectorCapabilities>-<generalReceivingConnectorCapabilities>-<generalAttributeName=″Messaging.SupportDeliveryReceiptRequest″><generalValue>None</generalValue></generalAttribute>-<generalAttribute Name=″Messaging.ConversationData″>
<generalValue>rrnorg.soapextensionsschemas/highperformancesoap/conversationdata/v1_0/ConversationData</generalValue></generalAttribute>-<generalAttribute Name=″Messaging.AddressInfo″>
<generalValue>rrnorg.soapextensionsschemas/highperformancesoap/addressinfo/v1_0/AddressInfo</generalValue></generalAttribute>-<generalAttribute Name=″Messaging.MessageIdentity″>
<generalValue>rrnorg.soapextensionsschemas/highperformancesoap/messageidentity/v1_0/MessageIdentity</generalValue></generalAttribute>-<generalAttribute Name=″Archiving.Archiving″><generalValue>Yes</generalValue></generalAttribute>-<generalAttribute Name=″Messaging.MessageTimeData″>
<generalValue>rrnorg.soapextensionsschemas/highpe
rformancesoap/messagetimedata/v1_0/MessageTimeData</generalValue></generalAttribute>-<generalAttribute Name=″Messaging.Privacy″>
<generalValue>http//schemas.xmlsoap.org/ws/2002/04/secext</generalValue></generalAttribute>-<generalAttribute Name=″Messaging.Credential″>
<generalValue>None</generalValue></generalAttribute>-<generalAttribute Name=″Messaging.SecurityAssertion″>
<generalValue>http//schemas.xmlsoap.org/ws/2002/04/secext</generalValue></generalAttribute>-<generalAttribute Name=″Messaging.Integrity″>
<generalValue>http//schemas.xmlsoap.org/ws/2002/04/secext</generalValue></generalAttribute>-<generalAttribute Name=″Messaging.Manifest″>
<generalValue>rrnorg.soapextensionsschemashighperformancesoap/manifest/v1_0/Manifest</generalValue></generalAttribute>-<generalAttribute Name=″Transformation.Transformation″><generalValue>Yes</generalValue></generalAttribute>-<generalAttribute Name=″Messaging.Reliability″><generalValue>None</generalValue></generalAttribute>-<generalAttribute Name=″Messaging.ReturnAddress″><generalValue>None</generalValue></generalAttribute>-<generalAttribute Name=″Messaging.MessageEnvelope″><generalValue>SOAP WA 1.2</generalValue></generalAttribute>-<generalAttribute Name=″Archiving.Mining″><generalValue>No</generalValue></generalAttribute>-<generalAttribute Name=″Security.Encryption″><generalValue>Message Receiver</generalValue></generalAttribute>-<generalAttribute Name=″Security.Signing″><generalValue>Message Sender</generalValue></generalAttribute>-<generalAttribute Name=″Messaging.TestMode″>
<generalValue>rrnorg.soapextensionsschemas/highperformancesoap/testmode/v1_0/TestMode</generalValue></generalAttribute>-<generalAttribute Name=″Messaging.Body″><generalValue>Optional</generalValue>
</generalAttribute>
-<generalAttribute Name=″Messaging.ContractData″>
<generalValue>rrnorg.soapextensionsschemas/highperformancesoap/contractdata/v1_0/ContractData</generalValue>
</generalAttribute>
-<generalAttribute Name=″Messaging.ReturnDocument″>
<generalValue>rrnorg.soapextensionsschemas/highperformancesoap/returndocument/v1_0/ReturnDocument</generalValue>
</generalAttribute>
-<generalAttribute Name=″Messaging.GenerateDeliveryReceipt″>
<generalValue>Yes</generalValue>
</generalAttribute>
</generalReceivingConnectorCapabilities></GeneralContract>-<RoutingContract>-<routeRouteNode connector=″x-ccnscup.commerceone.comconnector∷buy″isNative=″true″connectorFunction=″service-send″preICDComputation=″true″>
<routeEntryChannel envelopeProtocol=″C1 SOAP 1.0″transportSupportedMessageType=″both″transportPhysicalAddress=″https//uranus.cup.commerceone.com8433/buy/soap″transportProtocol=″https,basicauthentication″transportReliable=″true″transportNative=″true″/>
<routeExitChannel envelopeProtocol=″C1 SOAP 1.0″transportSupportedMessageType=″both″transportPhysicalAddress=″https//uranus.cup.commerceone.com8433/buy/soap″transportProtocol=″https,basicauthentication″transportReliable=″true″transportNative=″true″/></routeRouteNode>-<routeRouteNode connector=″x-ccnscup.commerceone.comconnector∷sell″isNative=″true″connectorFunction=″service-receive″preICDComputation=″false″>
<routeEntryChannel envelopeProtocol=″C1 SOAP 1.0″transportSupportedMessageType=″both″transportPhysicalAddress=″https//saturn.cup.commerceone.com8433/sell/soap″transportProtocol=″https,basicauthentication″transportReliable=″true″transportNative=″true″/>
<routeExitChannel envelopeProtocol=″C1 SOAP 1.0″transportSupportedMessageType=″both″transportPhysicalAddress=″https//saturn.cup.commerceone.com8433/sell/soap″transportProtocol=″https,basicauthentication″transportReliable=″true″transportNative=″true″/></routeRouteNode></RoutingContract>-<TransformationContract>-<xformDocumentToTransform>
<xformSourceDocID>x-ccnsdocid∷rrnorg.xcblschemas/xcbl/v3_5/xcb135.xsdorder3.5</xformSourceDocID>
<xformPartName>Order</xformPartName>
<xformAttachment>false</xformAttachment>
-<xformTransformationMap>
<xformConnector>x-ccnscup.commerceone.comconnector∷buy</xformConnector>
-<xformStartDoc>
<xformDocURI>x-ccnsdocid∷rrnorg.xcblschemas/xcbl/v3_5/xcbl35.xsdorder3.5</xformDocURI>
<xformDocName>Order</xformDocName>
<xformNamespace>rrnorg.xcblschemas/xcbl/v3_5/xcbl35.xsd</xformNamespace>
<xformVersion>3.5</xformVersion>
</xformStartDoc>
-<xformEndDoc>
<xformDocURI>x-ccnsdocid∷rrnorg.xcbischemas/xcbl/v4_0/ordermanagement/v1_0/ordermanagement.xsdorder4.
0.1.0</xformDocURI>
<xformDocName>Order</xformDocName>
<xformNamespace>rrnorg.xcblschemas/xcbl/v4_0/ordermanagement/v1_0/ordermanagement.xsd</xformNamespace>
<xformVersion>4.0.1.0</xformVersion>
</xformEndDoc>
<xformCommunityID>commerceone.com</xformCommunityID>
<xformTransformationMapURI>x-ccnstransformationMapOrderxcbl35Toxcbl4010</xformTransformationMapURI>
</xformTransformationMap></xformDocumentToTransform></TransformationContract>-<SecurityContract>-<securitySecurityPolicies>-<securityAuthenticationPolicies>-<securityBasicCredentialPolicy PolicyId=″P-AuthenBasicSource″>
<securityCredentialPolicyAlgorithm>Basic</securityCredentialPolicyAlgorithm>
<securityAuthenticateMode>SOURCE</securityAuthentlcateMode>
</securityBasicCredentialPolicy></securityAuthenticationPolicies>-<securitySignaturePolicies>-<securityXMLDsigPolicy PolicyId=″P-XMLSignatureRSA-MD5-EXC14N″>
<securitySignaturePolicyAlgorithm>http//www.w3.org/2000/09/xmldsig#</securitySignaturePolicyAlgorithm>
<securitySignatureAlgorithm>MD5withRSA</securitySignatureAlgorithm>
<securityHashFunction>MD5</securityHashFunction>
<securityCanonicalizationMethod>http//www.w3.org/2001/10/xml-exc-c14n#</securityCanonicalizationMethod>
<securityTransform>http//msdn.microsoft.com/ws/2002/01/Security#RoutingSignatureTransform</securityTransform>
</securityXMLDsigPolicy></securitySignaturePolicies>-<securityEncryptionPolicies>-<securityXMLEncryptionPolicy PolicyId=″P-XMLEncryptAES-128-RSA-2048″>
<securityEncryptionPolicyAlgorithm>http//www.w3.org/2001/04/xmlenc#</securityEncryptionPolicyAlgorithm>
<securityEncryptionMethod>http//www.w3.org/2001/04/xmlenc#aes128-cbc</securityEncryptionMethod>
<securityKeySize>2048</securltyKeySize>
<securitySymmetryKeySize>128</securitySymmetryKeySize>
<securityKeyEncryptionMethod>http//www.w3.org/2001/04/xmlenc#rsa-1_5</securityKeyEncryptionMethod></securityXMLEncryptionPolicy></securityEncryptionPolicies>-<securityEncryptionKeyInfo KeyOwner=″x-ccnscommerceone.comCollaborationParty∷sellParty″>
<securityPublicKeyID>DefaultTestCert</securityPublicKeyID>-<securityX509Data>
<securityX509Certificate>LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tTUIJREZEQ0NBZnInQXdJQkFnSUVQT0ZQSVRBTKJna3Foa2IHOXcwQkFRVUZBREI2TVFzd0NRWURWUVFHRXdKVIV6RVZNQk1HQTFVRUNoTU1RMjI0YIdWeVkyVWdUMjVsTVMwd0t3WURWUVFMRXISVWFHbHpJRU5CSUdsekIHWnZjaUIwWIhOMGFXNW5JSEIxY25CdmMyVnpJRzI1YkhreEpUQWpCZ05WQkFNVUhFTnZiVzFsY21ObEIFOXVaU0JVWIhOMEIFTkJJRKp2YjNRZ0I6RXdIaGNOTURJd05URTBNVGMxTXpNM1doY05NRE13TIRFME1UWTFNek0zV2pCb01S
Z3dGZ1IEVIFRREV3OUVZWFpwWkNCWpYTjBJREI3TURJeEVqQVFCZ05WQkFjVENVTjFjR1Z5ZEdsdWJ6RVVNQkIHQTFVRUN4TUxSVzVuYVc1bFpYSnBibWN4RIRBVEJnTIZCQW9UREVOdmJXMWxjbU5sSUU5dVpURUxNQWtHQTFVRUJoTUNWVk1321o4d0RRWUpLb1pJaHZjTkFRRUJCUUFEZ1kwQu1JR0pBb0dCQU5nc2pTQkxjcFp2QnVDQ2ITTHR3RGFkaFZEMGNLRXJuQ3M2azg5UEhSUGJSMFdYOHBDUzByZWxIMkcyaDMxNU5vNGkzQVNidHZhYmdHeIIRVFNiR2EzcWtNYmVLNDZTSGxtTkJOTUp2YUkvMmZVQIBxdkkzejiLTVJSTGh3eUhCMEdFNmUvSzdnVGZkSUo0MUJobTZzSmcwYzJqZ041cWt1d3FZQkV4eWN1MUFnTUJBQUdqT0RBMk1DY0dBMVVkRVFRZ01CNKJIRzE1VkdWemRFVnRZV2xzUUdOdmJXMWpaWEpqWIc5dVpTNWpiMjB3Q3dZRFZSMFBCQVFEQWdYZ01BMEdDU3FHU0IiM0RRRUJCUVVBQTRJQkFRQ0UrNEVaUWZYZWpmVnBsbXEzZnFtUjJZSGZhczErcXA0MUg4UWRmNmRESXBiYkZ2OUxocnorYkc2c2hWQIptMVpYVXphaHI6N2Q3Z2U3V0MxR2FZVjFHYIdFTXJMUkZkeXM2c1VIQkZNbHZuNkZPRjNqOHdMY3JuN2FFN3pRMEMwa2U5LzVVNVBHTnIaZWVaUGNLNTIKM0hPdWpzbXUvaENPVW1OOXZVM2M3MHVjMmhRaE96aExJQ0VIQ2VTRDFCd2hEMXNkdXZmNnVOanAzUGp2eUpCakITeDVxY2UwS25oQmxpcDR3ejRNTWxpdEtTdkFXSEIqR1Bvb0w0N01ac3I4N3RLamJHaTgxcWJrQ3hiYIZ1dEIoYmkzZDRnaW1Ockc1RXJ0dUUxNmwvRW9GUkJLU2VRTXd2cFdGUIIiN2YreWtKVGE5ZVRLaWF4R2hOcDR4dnc5LS0tLS1FTkQgQ0VSVEIGSUNBVEUtLS0tLQ==</securityX509Certificate>
</securityX509Data></securityEncryptionKeyInfo></securitySecurityPolicies>-<securitySecurityChannel channelId=″CHANNEL1″sourceConnector=″x-ccnscup.commerceone.comconnector∷buy″targetConnector=″x-ccnscup.commerceone.comconnector∷sell″>-<securityCredential AlgorithmId=″P-AuthenBasicSource″SequenceID=″4″>
<securityPartyID>x-ccnscommerceone.comCollaborationParty∷buyParty</securutyPartyID></securityCredential>-<securityConfidential AlgorithmId=″P-XMLEncryptAES-128-RSA-2048″>
<securityPublicKeyName KeyOwner=″x-ccnscommerceone.comCollaborationParty∷sellParty″>
DefaultTestCert</securityPublicKeyName>
<securityMessagePart PartName=″Order″isOptional=″false″/>
<securityMessagePart PartName=″Image″isOptional=″false″/>
</securityConfidential>-<securityIntegrity AlgorithmId=″P-XMLSignatureRSA-MD5-EXC14N″>
<securityPublicKeyName KeyOwner=″x-ccnscommerceone.comCollaborationParty∷buyParty″>
DefaultTestCert</securityPublicKeyName>
<securityMessagePart PartName=″Order″isOptional=″false″/>
</securityIntegrity>
</securitySecurityChannel></SecurityContract></InteroperabilityContract>
ComputeSecurityContract.XML<?xml version=″1.0″?>
-<prefix_0SecurityContractICDxmlnsprefix_0=″publicidcom.commerceoneschemas/soapextension/contract/security/v1_0/SecurityContract.xsd″xmlnsxsi=″http//www.w3.org/2001/XMLSchema-instance″>
-<prefix_0SecurityPolicies>
-<prefix_0AuthenticationPolicies>
-<prefix_0X509CredentialPolicy PolicyId=″P-AuthenX.509Source″>
<prefix_0CredentialPollcyAlgorithm>X.509v3</prefix_0CredentialPolicyAlgorithm>
<prefix_0AuthenticateMode>SOURCE</prefix_0AuthenticateMode>
</prefix_0X509CredentialPolicy>
</prefix_0AuthenticationPolicies>
-<prefix_0SignaturePolicies>
-<prefix_0XMLDsigPolicy PolicyId=″P-XMLSignatureRSA-MD5-C14N″>
<prefix_0SignaturePolicyAlgorithm>http//www.w3.org/2000/09/xmldsig#</prefix_0SignaturePolicyAlgorithm>
<prefix_0SignatureAlgorithm>MD5withRSA</prefix_0SignatureAlgorithm>
<prefix_0HashFunction>MD5</prefix_0HashFunction>
<prefix_0CanonicalizationMethod>http//www.w3.org/TR/2000/CR-xml-c14n-20001026</prefix_0CanonicalizationMethod>
<prefix_0Transform>http//msdn.microsoft.com/ws/2002/01/Security#RoutingSignatureTransform</prefix_0Transform>
</prefix_0XMLDsigPolicy></prefix_0SignaturePolicies>-<prefix_0EncryptionPolicies>-<prefix_0XMLEncryptionPolicy PolicyId=″P-XMLEncrypt3DES-RSA-2048″>
<prefix_0EncryptionPolicyAlgorithm>http//www.w3.org/2001/04/xmlenc#</prefix_0EncryptionPolicyAlgorithm>
<prefix_0EncryptionMethod>http//www.w3.org/2001/04/xmlenc#3des-cbc</prefix_0EncryptionMethod>
<prefix_0KeySize>2048</prefix_OKeySize>
<prefix_0KeyEncryptionMethod>http//www.w3.org/2001/04/xmlenc#rsa-1_5</prefix_0KeyEncryptionMethod></prefix_0XMLEncryptionPolicy></prefix_0EncryptionPolicies>-<prefix_0EncryptionKeyInfo KeyOwner=″x-ccnscommerceone.comCollaborationParty∷sellParty″><prefix_0PublicKeyID>DefaultTestCert</prefix_0PublicKeyID>
-<prefix_0X509Data>
<prefix_0X509Certificate>LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tTUIJREZEQ0NBZnInQXdJQkFnSUVQT0ZQSVRBTKJna3Foa2IHOXcwQkFRVUZBREI2TVFzd0NRWURWUVFHRXdKVIV6RVZNQk1HQTFVRUNoTU1RMjI0YIdWeVkyVWdUMjVsTVMwd0t3WURWUVFMRXISVWFHbHpJRU5CSUdsekIHWnZjaUIwWIhOMGFXNW5JSEIxY25CdmMyVnpJRzI1YkhreEpUQWpCZ05WQkFNVUhFTnZiVzFsY21ObEIFOXVaU0JVWIhOMEIFTkJJRkp2YjNRZ016RXdIaGNOTURJd05URTBNVGMxTXpNM1doY05NRE13TIRFME1UWTFNek0zV2pCb01SZ3dGZ1IEVIFRREV3OUVZWFpwWkNCVVpYTjBJREI3TURJeEVqQVFCZ05WQkFjVENVTjFjR1Z5ZEdsdWJ6RVVNQkIHQTFVRUN4TUxSVzVuYVc1bFpYSnBibWN4RIRBVEJnTIZCQW9UREVOdmJXMWxjbU5sSUU5dVpURUxNQWtHQTFVRUJoTUNWVk13Z1o4d0RRWUpLb1pJaHZjTkFRRUJCUUFEZ1kwQU1JR0pBb0dCQU5nc2pTQkxjcFp2QnVDQ2ITTHR3RGFkaFZEMGNLRXJuQ3M2azg5UEhSUGJSMFdYOHBDUzByZWxIMkcyaDMxNU5vNGkzQVNidHZhYmdHeIIRVFNiR2EzcWtNYmVLNDZTSGxtTkJOTUp2YUkvMmZVQIBxdkkzejILTVJSTGh3eUhCMEdFNmUvSzdnVGZkSUo0MUJobTZzSmcwYzJqZ041cWt1d3FZQkV4eWN1MUFnTUJBQUdqT0RBMk1DY0dBMVVkRVFRZ01CNkJIRzE1VkdWemRFVnRZV2xzUUdOdmJXMWpaWEpqWIc5dVpTNWpiMjB3Q3dZRFZSMFBCQVFEQWdYZ01BMEdDU3FHU0IiM0RRRUJCUVVBQTRJQkFRQ0UrNEVaUWZYZWpmVnBsbXEzZnFtUjJZSGZhczErcXA0MUg4UWRmNmRESXBIYkZ2OUxocnorYkc2c2hWQIptMVpYVXphaHI6N2Q3Z2U3V0MxR2FZVjFHYIdFTXJMUkZkeXM2c1VIQkZNbHZuNkZPRjNqOHdMY3JuN2FFN3pRMEMwa2U5LzVVNVBHTnIaZWVaUGNLNTIKM0hPdWpzbXUvaENPVW1OOXZVM2M3MHVjMmhRaE96aExJQ0VIQ2VTRDFCd2hEMXNkdXZmNnVOanAzUGp2eUpCakITeDVxY2UwS25oQmxpcDR3ejRNTWxpdEtTdkFXSEIqR1Bvb0w0N01ac3I4N3RLamJHaTgxcWJrQ3hiYIZ1dEIoYmkzZDRnaW1Ockc1RXJ0dUUxNmwvRW9GUkJLU2VRTXd2cFdGUIIiN2YreWtKVGE5ZVRLaWF4R2hOcDR4dnc5LS0tLS1FTkQgQ0VSVEIGSUNBVEUtLS0tLQ==</prefix_0X509Certificate>
</prefix_0X509Data></prefix_0EncryptionKeyInfo></prefix_0SecurityPolicies>-<prefix_0SecurityChannel channelId=″CHANNEL1″sourceConnector=″x-ccnscup.commerceone.comconnector∷buy″targetConnector=″x-ccnscup.commerceone.comconnector∷sell″>-<prefix_0Credential AlgorithmId=″P-AuthenX.509Source″SequenceID=″4″DelegationFlag=″false″>
<prefix_0PublicKeyName>BuyerPublicKey</prefix_0PublicKeyName></prefix_0Credential>-<prefix_0Integrity AlgorithmId=″P-XMLSignatureRSA-MD5-C14N″>
<prefix_0PublicKeyNameKeyOwner=″OwnerA″>BuyerPublicKey</prefix_0PublicKeyName>
<prefix_0MessagePart PartName=″Order″isOptional=″false″/>
</prefix_0Integrity></prefix_0SecurityChannel>-<prefix_0SecurityChannel channelId=″CHANNEL2″sourceConnector=″x-ccnscup.commerceone.comconnector∷centerSell″targetConnector=″x-ccnscup.commerceone.comconnector∷centerSell″>-<prefix_0Confidential AlgorithmId=″P-XMLEncrypt3DES-RSA-2048″>
<prefix_0PublicKeyName KeyOwner=″x-ccnscommerceone.comCollaborationParty∷sellParty″>DefaultTestCert</prefix_0PublicKeyName>
<prefix_0MessagePart PartName=″Order″isOptional=″false″/>
<prefix_0MessagePart PartName=″Image″isOptional=″false″/>
</prefix_0Confidential></prefix_0SecurityChannel></prefix_0SecurityContractICD>
權(quán)利要求
1.一種為消費服務(wù)和提供服務(wù)指定互通性數(shù)據(jù)的機器可讀數(shù)據(jù)結(jié)構(gòu),這些服務(wù)通過網(wǎng)絡(luò)可選地利用中間連接器交換文檔,該數(shù)據(jù)結(jié)構(gòu)包括通過服務(wù)名指定的服務(wù)和中間連接器之間的路線以及有名服務(wù)和連接器之間的路線;用于消息交換的安排版本;存檔消息、保證消息的可靠交付和要求接收確認從而可以減少接收被拒絕的策略。
2.根據(jù)權(quán)利要求1所述的數(shù)據(jù)結(jié)構(gòu),還包括在服務(wù)之間交換的特定消息的一些部分的簽名要求和使用的至少一種簽名算法的說明;
3.根據(jù)權(quán)利要求1所述的數(shù)據(jù)結(jié)構(gòu),還包括在服務(wù)之間交換的特定消息的一些部分的加密要求和使用的至少一種簽名算法的說明。
4.根據(jù)權(quán)利要求1所述的數(shù)據(jù)結(jié)構(gòu),還包括使用的一個或多個驗證過程的說明。
5.根據(jù)權(quán)利要求1所述的數(shù)據(jù)結(jié)構(gòu),還包括應(yīng)用于包括在在服務(wù)之間交換的特定消息中的文檔的一個或多個轉(zhuǎn)換邏輯單元的說明;和是否應(yīng)該與文檔的轉(zhuǎn)換副本一起包括文檔的非轉(zhuǎn)換副本的說明。
6.一種為消費服務(wù)和提供服務(wù)指定互通性數(shù)據(jù)的機器可讀數(shù)據(jù)結(jié)構(gòu),這些服務(wù)通過網(wǎng)絡(luò)可選地利用中間連接器交換包括文檔的消息,該數(shù)據(jù)結(jié)構(gòu)包括在服務(wù)之間交換的特定消息的一些部分的簽名要求和使用的至少一種簽名算法的說明;在服務(wù)之間交換的特定消息的一些部分的加密要求和使用的至少一種簽名算法的說明;和使用的一個或多個驗證過程的說明。
7.根據(jù)權(quán)利要求6所述的數(shù)據(jù)結(jié)構(gòu),還包括通過服務(wù)名指定的服務(wù)和中間連接器之間的路線以及有名服務(wù)和連接器之間的路線。
8.根據(jù)權(quán)利要求6所述的數(shù)據(jù)結(jié)構(gòu),還包括用于消息交換的安排版本。
9.根據(jù)權(quán)利要求6所述的數(shù)據(jù)結(jié)構(gòu),還包括存檔消息、保證消息的可靠交付和要求接收確認從而可以減少接收被拒絕的策略。
10.根據(jù)權(quán)利要求6所述的數(shù)據(jù)結(jié)構(gòu),還包括應(yīng)用于包括在在服務(wù)之間交換的特定消息中的文檔的一個或多個轉(zhuǎn)換邏輯單元的說明;和是否應(yīng)該與文檔的轉(zhuǎn)換副本一起包括文檔的非轉(zhuǎn)換副本的說明。
11.一種為消費服務(wù)和提供服務(wù)指定互通性數(shù)據(jù)的機器可讀數(shù)據(jù)結(jié)構(gòu),這些服務(wù)通過網(wǎng)絡(luò)可選地利用中間連接器交換包括文檔的消息,該數(shù)據(jù)結(jié)構(gòu)包括應(yīng)用于包括在在服務(wù)之間交換的特定消息中的文檔的一個或多個轉(zhuǎn)換邏輯單元的說明;和是否應(yīng)該與文檔的轉(zhuǎn)換副本一起包括文檔的非轉(zhuǎn)換副本的說明。
12.根據(jù)權(quán)利要求11所述的數(shù)據(jù)結(jié)構(gòu),還包括通過服務(wù)名指定的服務(wù)和中間連接器之間的路線以及有名服務(wù)和連接器之間的路線。
13.根據(jù)權(quán)利要求11所述的數(shù)據(jù)結(jié)構(gòu),還包括用于消息交換的安排版本。
14.根據(jù)權(quán)利要求11所述的數(shù)據(jù)結(jié)構(gòu),還包括存檔消息、保證消息的可靠交付和要求接收確認從而可以減少接收被拒絕的策略。
15.根據(jù)權(quán)利要求11所述的數(shù)據(jù)結(jié)構(gòu),還包括在服務(wù)之間交換的特定消息的一些部分的簽名要求和使用的至少一種簽名算法的說明;
16.根據(jù)權(quán)利要求11所述的數(shù)據(jù)結(jié)構(gòu),還包括在服務(wù)之間交換的特定消息的一些部分的加密要求和使用的至少一種簽名算法的說明。
17.根據(jù)權(quán)利要求11所述的數(shù)據(jù)結(jié)構(gòu),還包括使用的一個或多個驗證過程的說明。
18.一種為消費服務(wù)和提供服務(wù)指定當前互通性數(shù)據(jù)的機器可讀數(shù)據(jù)結(jié)構(gòu),這些服務(wù)通過網(wǎng)絡(luò)交換包括文檔的消息,該數(shù)據(jù)結(jié)構(gòu)是通過如下的進程準備的響應(yīng)啟動服務(wù)之間的消息交換的請求,訪問服務(wù)的互通性數(shù)據(jù);使服務(wù)的互通性數(shù)據(jù)相交;和對于產(chǎn)生多于一個可相互接受選項的互通性數(shù)據(jù)的相交,應(yīng)用判定規(guī)則來選擇一個選項。
19.根據(jù)權(quán)利要求18所述的數(shù)據(jù)結(jié)構(gòu),其中,判定規(guī)則由服務(wù)預(yù)約。
20.根據(jù)權(quán)利要求18所述的數(shù)據(jù)結(jié)構(gòu),其中,判定規(guī)則通過服務(wù)的預(yù)約適合于貿(mào)易共同體。
21.根據(jù)權(quán)利要求18所述的數(shù)據(jù)結(jié)構(gòu),其中,互通性數(shù)據(jù)包括如下的一個或多個通過服務(wù)名指定的服務(wù)和中間連接器之間的路線以及有名服務(wù)和連接器之間的路線;用于消息交換的安排版本;存檔消息、保證消息的可靠交付和要求接收確認從而可以減少接收被拒絕的策略;通過服務(wù)名指定的服務(wù)和中間連接器之間的路線以及有名服務(wù)和連接器之間的路線;用于消息交換的安排版本;存檔消息、保證消息的可靠交付和要求接收確認從而可以減少接收被拒絕的策略;應(yīng)用于包括在在服務(wù)之間交換的特定消息中的文檔的一個或多個轉(zhuǎn)換邏輯單元的說明;和是否應(yīng)該與文檔的轉(zhuǎn)換副本一起包括文檔的非轉(zhuǎn)換副本的說明。
22.根據(jù)權(quán)利要求19所述的數(shù)據(jù)結(jié)構(gòu),其中,互通性數(shù)據(jù)包括如下的一個或多個通過服務(wù)名指定的服務(wù)和中間連接器之間的路線以及有名服務(wù)和連接器之間的路線;用于消息交換的安排版本;存檔消息、保證消息的可靠交付和要求接收確認從而可以減少接收被拒絕的策略;通過服務(wù)名指定的服務(wù)和中間連接器之間的路線以及有名服務(wù)和連接器之間的路線;用于消息交換的安排版本;存檔消息、保證消息的可靠交付和要求接收確認從而可以減少接收被拒絕的策略;應(yīng)用于包括在在服務(wù)之間交換的特定消息中的文檔的一個或多個轉(zhuǎn)換邏輯單元的說明;和是否應(yīng)該與文檔的轉(zhuǎn)換副本一起包括文檔的非轉(zhuǎn)換副本的說明。
23.根據(jù)權(quán)利要求18所述的數(shù)據(jù)結(jié)構(gòu),其中,互通性數(shù)據(jù)包括通過服務(wù)名指定的服務(wù)和中間連接器之間的路線以及有名服務(wù)和連接器之間的路線;用于消息交換的安排版本;存檔消息、保證消息的可靠交付和要求接收確認從而可以減少接收被拒絕的策略;
24.根據(jù)權(quán)利要求18所述的數(shù)據(jù)結(jié)構(gòu),其中,互通性數(shù)據(jù)包括在服務(wù)之間交換的特定消息的一些部分的簽名要求和使用的至少一種簽名算法的說明;在服務(wù)之間交換的特定消息的一些部分的加密要求和使用的至少一種簽名算法的說明;和使用的一個或多個驗證過程的說明。
25.根據(jù)權(quán)利要求18所述的數(shù)據(jù)結(jié)構(gòu),其中,互通性數(shù)據(jù)包括應(yīng)用于包括在在服務(wù)之間交換的特定消息中的文檔的一個或多個轉(zhuǎn)換邏輯單元的說明;和是否應(yīng)該與文檔的轉(zhuǎn)換副本一起包括文檔的非轉(zhuǎn)換副本的說明。
26.一種為消費服務(wù)和提供服務(wù)指定互通性數(shù)據(jù)的機器可讀數(shù)據(jù)結(jié)構(gòu),這些服務(wù)通過網(wǎng)絡(luò)可選地利用中間連接器交換包括文檔的消息,該數(shù)據(jù)結(jié)構(gòu)包括可應(yīng)用于簽名、加密或驗證中的一個或多個的一個或多個安全通道,其中,安全通道包括發(fā)出安全相關(guān)請求的連接器;響應(yīng)安全相關(guān)請求的連接器;和作為簽名、加密或驗證中的一個或多個的安全相關(guān)請求的說明。
27.根據(jù)權(quán)利要求26所述的數(shù)據(jù)結(jié)構(gòu),其中,如果安全相關(guān)請求是簽名、加密、驗證或不拒絕中的一個或多個,安全通道可應(yīng)用于簽名、加密、驗證或不拒絕中的一個或多個和說明。
28.根據(jù)權(quán)利要求26所述的數(shù)據(jù)結(jié)構(gòu),其中,數(shù)據(jù)結(jié)構(gòu)是響應(yīng)啟動服務(wù)之間的消息交換的請求形成的。
29.根據(jù)權(quán)利要求27所述的數(shù)據(jù)結(jié)構(gòu),其中,數(shù)據(jù)結(jié)構(gòu)是響應(yīng)啟動服務(wù)之間的消息交換的請求形成的。
全文摘要
本發(fā)明涉及機器可讀數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)結(jié)構(gòu)的動態(tài)計算以支持互通性。更具體地說,本發(fā)明涉及提高互通性的數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)結(jié)構(gòu)的動態(tài)生成這些方面。在權(quán)利要求書、說明書和附圖中描述了本發(fā)明的具體方面。
文檔編號G06Q10/00GK1695339SQ03824896
公開日2005年11月9日 申請日期2003年8月19日 優(yōu)先權(quán)日2002年9月18日
發(fā)明者杰亞拉姆·R·卡西, 拉什米·默西, 西蒙·S·Y·常, 托德·C·克勞斯, 海倫·S·尤恩 申請人:Jgr阿奎西申公司