OSB(Oracle Service Bus)安裝配置手冊(cè)_第1頁(yè)
OSB(Oracle Service Bus)安裝配置手冊(cè)_第2頁(yè)
OSB(Oracle Service Bus)安裝配置手冊(cè)_第3頁(yè)
OSB(Oracle Service Bus)安裝配置手冊(cè)_第4頁(yè)
OSB(Oracle Service Bus)安裝配置手冊(cè)_第5頁(yè)
已閱讀5頁(yè),還剩61頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

OracleServiceBus

安裝配置手冊(cè)

目錄

1OracleServiceBus安裝3

2OracleServiceBus域配置10

3開發(fā)環(huán)境打算14

3.1Server配理14

3.2建立OracleServiceBus配置項(xiàng)目及項(xiàng)目15

3.3建立記Log的Java項(xiàng)目18

3.4配置WebLogicServer的連接池(記Log要用)20

3.5配置Queue(對(duì)帳交易中用到)21

3.6建立對(duì)SocketTransport的支持27

3.7電子支付平臺(tái)與碼頭接口配置31

4接口說(shuō)明39

4.1接口需求文檔39

4.2OracleServiceBus接口描述39

5服/配置過(guò)程及測(cè)試40

5.1工行實(shí)時(shí)扣費(fèi)及劃帳服務(wù)配置(ICBCScrviccs)40

5.2工行對(duì)帳服務(wù)配置(BaichServices)57

5.3電子支付平臺(tái)到碼頭服務(wù)配置(SCTService)60

6運(yùn)用和對(duì)接66

1OracleServiceBus安裝

點(diǎn)擊osb103_wcblogic103_win32.exe

OracleInstaller

ORACLe'

Preparingtheinstaller...

建立BEAHome

選擇Custom方式,并選擇全部

ChooseProductsandComponents

Selecttheproductsandcomponentsyouwishtoinstall.ORACLE,

Grayedselectionsarealreadyinstalled.Double-clickheadingstorevealorcolapseselections.

0口WebLogicServer

0CoreApplicationServer

0AdministrationConsole

0ConfigurationWizardandUpgradeFramework

0Web2.0HTTPPub-SubServer

13WebLogicJDBCDrivers

0ThrdPartyJDBCDrivers

0WebLogicServerClients

0WebLogicWebServerPlugnsApproximate[nstaledSize*

0UDDIandXquerySupportHighlighteditem:3.3MB

0ServerExamples

Commonartifacts:14.6MB

[]亡)

?WorkshopTotalofallselecteditems:1,099.6

[?]WorkshopforWebLogic

*Instalerreqjresfreediskspace

1^1SA/nrkchnnDiinbimAFrAmPi*mrkH

]Eapproximately2xthistotal

PreviousNext

選擇'安裝JDK

InstallWindowsService

InstallWindowsServicetomakendkatedfunctionalityORACLE,

availableaftermachinereboot.

SOracleInstaller-OracleServiceBus__TTX_j

ChooseShortcutLocation

TheinstallercreatesshortcutstcBEAcomponents,samples,andtools.AsaORACLE

userwithadministrativeprivileges,youcanspecifywheretheseshortcutsarecreated.

SelecttheStartMenjfolderinwhichyouwanttocreateBEAshcrtcuts:

?"AllUsers"StartMenuFolder(recommended)

Forsomeinstallations,thissettingmaySmittheautomaticcreation

ofservershortcutsforuserswithoutadministrativeprivileges.

Refeztothedocumentationformoreinformation.

OLocaluser'sStartMenufolder

Selectthisoptionfyouneedtoensurethatothezprofies

regisreredonthismachine時(shí)IInothaveaccesstotheseshortcuts.

PreviousNext

rac(eInstaUer-OracleServiceBus10.3.0.0-□X

InstallationSummary

ThefollowingProductsandJDKswlbeinstalled.ORACLe,

IWebLogicServer▲Description_____________________________________________

)CoreApplicationServer

ImplementsJ2EEtechnologies,Webservices,andotherleading

_jAdministrationConsoleInternetstandards,toprovideareliableframeworkforhighly

)ConfigurationWizardandUpgradeFavailable,scalable,andsecureapplications.

jWeb2.0HTTPPub-SubServer

)WebLogicJDBCDrivers

1ThirdPartyJDBCDrivers

[WebLogicServerClient;

[WebLogicWebServerPlugins

i1UDOIandXquerySupport

1ServerExamples

「Workshop

ApproximateInstalledSize

1WorkshopforWebLogw

1WorkshopRuntimeFrameworkHighlighteditem:396.2MB

GIHTotalofallselecteditems:1,412.9MB

PreviousMext

?OracracceOTW

InstallationComplete

ClicktheDonebuttontoexittheinstaller.ORACLE,

Message

Congratulations!"OracleProdjcts-hasbeensuccessfullyrstaled.

ORACLe,

0RunQuickstart

B°ne

2OracleServiceBus域配置

啟動(dòng)配置向?qū)onfigurationwizard(program->OracleWebLogic->WebLogicServer

10gr3->Tools->ConfigurationWizard)

QOraclelebLocicCoafiationTizard,|r|x

Welcome

ChoosebetweencreatingsdextendingadcmanonyoursdecUon,ORACLG,

theConfigurationWizardgukfesyouhoughtheHepstogenerateaneworextendanexistingdomain.

◎CreateanewWebLogicdomain

CreateaWebLogcdomainnyoixprojectsdirectory.

OExterxlanexistingWebLcx^cdomain

ExtendanexistngWebLogKdomain.

Usethisoptiontoaddaopicatonsandservces,ortooverrideexistingdatabaseaccess(JCCC)and

messaanQ(JMS)settinos.

|4一I-11*^一

選擇CreateanewWcbLogicdomain,然后Next

|jOracleVebLogicCoafijurationVizard

SelectDomainSource

Sdectthesourcefromwhichthedomainwilbecreated.YoucancreatethedomainbyckkingORACLE-

ontherequredconconentsorbyselectingfroma1stofexistingdomantemplates.

@Generateadomainconfiguredautomaticallytosupportthefollowingproducts:

0WeblogkServer(Required)

0WorkshopforWeblogic10.3

0OracleServiceBus

OBasethisdomainonanexistingtemplate

Templatelocettn:

選擇WorkshopforWcbLogicl0.3和OracleServiceBus,然后Next

輸入WcbLogic管理限制臺(tái)用戶名密碼(wcblogic/wcblogic),然后Next

選擇域的運(yùn)行模式,缺省開發(fā)模式.然后選擇相應(yīng)的JDK,然后Next

選擇Next

輸入域名稱和所在書目,選擇Create,直到完成,選擇Done

flOraclefebLocicConficvationfix&rd上1兇

CreatingDomain

ORACLE'

Progress:

70%

Prcoaeing...

ExtraccngDorr>ainConcents...

CreatingDomanSecurityIrformatton...

ORACLG,

I空心tQ?!

OracleServiceBus的域配置完成.

3開發(fā)環(huán)境打算

3.1Server配置

打開workshop(Program->OracleWcbLogic->WorkshopforWcbLogiclOgr3),在Servers

的視圖中選擇新建

Ne*丁Server

選擇OracleWeblx)gicServerv10.3,然后Next

配置域路徑

1□1x|

OracleWebLogicServervlO.3

DefineaWebLogicServerORACLG

直到出現(xiàn)

配置server過(guò)程完成

3.2建立OracleServiceBus配置項(xiàng)目及項(xiàng)目

選擇File->New->OracleServiceBusConfigurationProject

OOracleServiceBus-OracleWorkshopforfebLo^ic

£ileEditNavigateSearchProjectRunlindowHelp

輸入項(xiàng)目名,比如EPSProjcctl

EPSProjectl

國(guó)函ResourceSummary

選擇EPSProjccll,右鍵建立OracleServiceBus項(xiàng)目

EPSProjcctl

FlProject

ITJyrync.Qwq,1>

S100SBLo<Proj<

哈CopyCtrlK‘Fil。

Al;金Sinpl?Sodc<

■PezteCU14V(3Folder

S)testosb

XDelet.

j)testvithbaz國(guó)JJIDIProvider

Wove...

31testvithb^x

ProxyServer

3;jtestvithbozRenameF2

康SH?Server

3壯JSR-109WeiInport?

□IDDIRepstry

Export>

OracleServiceBusConficurationProject

<jRefreshFS

Or?cl?S?rvxc?BuzProject

CloseProject

輸入項(xiàng)目名稱,然后Finish

在新建立的OracleServiceBus項(xiàng)目下如圖建立.以下書目(Folder),分別是

BusincssScnqces.ProxyScrvices.ScnqccAccount.Tranformation.WSDL.Jar

日出EPSProject

+ResourceSummary

白用EPSServices

l+lBusinessServices

S&Jar

國(guó)0ProxyServices

E&ServiceAccourt

ETransformalien

國(guó)0WSDL

分別作為以下用途

BusinesssServices:用于存放定義的BusinessServices,接入后端服務(wù)

ProxyServices:用于定義ProxyServices,供應(yīng)前端調(diào)用接口

ServiceAccouni:用于定義ftp的訪問(wèn)須要的用戶名密碼

Transformation:用于存放和定義在過(guò)程中發(fā)生的數(shù)據(jù)轉(zhuǎn)換

WSDL:用于存放WSDL文件

Jar:用于JavaCallout,主要是通過(guò)JavaCallout方式來(lái)記Fl志

3.3建立記Log的Java項(xiàng)目

?首先先在數(shù)據(jù)庫(kù)表中建立osblog表

Createtableosblog(

Transnovarchar(20).

Messagevarchar(200).

Transdatedate);

.在WcbLogicconsole中建立到數(shù)據(jù)庫(kù)的連接池JNDI設(shè)置為XE

建立JavaProject,留意在build路徑下加入weblogic.jar

?先建立一個(gè)osbutilit)的package,然后新建OsbLogMessage類,代碼如卜.:

packageosbutility;

importjava.sql.Connection;

importjava.sql.SQLExseption;

importjava.sql.Statement;

importjava.util.*;

importjavax.naming.Context;

importjavax.naming.Initialcontext;

publicclassOsbLogMessage{

/★★

*@paramargs

*/

/*publicstaticvoidmain(StringOargs){

//TODOAuto-generatedmethodstub

)

*/

publicstaticbooleanlog(Stringtransno,Stringmess){

Connectioncon=null;

Statementstmt=null;

intval-1;

try(

Contextctx=null;

Hashtable<String,String>htnewHashtable<String,String>();

ht.put(Context.INITIAL_CONTEXT_FACTORY,"weblogic.jndi.WLInitialContextFactory");

ht.put(Context.PROVIDER_URL,"t3://localhost:7001");

ht.put(Context.SECURITY_PRINCIPAL,"weblogic");

ht.put(Context.SECURITY_CREDENTIALS,"weblogic");

ctx=newInitialcontext(ht);

javax.sql.DataSourceds=(javax.sql.DataSource)ctx.lookup(MXE");

con=ds.getConnection();

Stringsql="insertintoosblog

values('"+transno+"1,'"+mess+n',sysdate)";

System.out.printin(sql);

stmt=con.createStatement();

val=stmt.executeUpdate(sql);

}catch(Exceptione){

System.out.printin(e.getMessage());

}finally{

try(

if(stmt!=null)

stmt.close();

if(con!=null)

con.close();

}

catch(SQLExceptione){

System.cut.printIn(e.toString());

}

}

if(val!=0)

returnfalse;

returntrue;

}

3.4配置WebLogicServer的連接池(記Log要用)

打開WebLogicServer管理限制臺(tái)://localhosi:7001/console

新建Services->JDBC->DataSource

JDBCDataSourceProperties

ThefollowingpropertieswillbeusedtoidentifyyournewJDBCdatasource.

Indicatesrequiredfields

WhatwouldyouliketonameyournewJDBCdatasource?

'Name:

CHDS

WhatJFJDInamewouldyouliketoassigntoyournewJDBCDataSource?

明JNDIName:

(A'hatdatabasetypewouldyouliketoselect?

DatabaseType:匠工三]

Whatdatabasedriverwouldyouliketousetocreatedatabaseconnections?

DatabaseDriven|Oracle,sDriver(Thin)Versions:901,920.10.113

其他選擇缺省設(shè)置,并且設(shè)置用戶名密碼,測(cè)試通過(guò)部署到AdminServer就可

3.5配置Queue(對(duì)帳交易中用到)

1)選擇Services->Messaging->JMSModules,建立CHModule

CreateJMSSystemModule

FinishCancel

Thefollowingpropertieswillbeusedtoidentifyyournewmodule.

JMSsystemresourcesareconfiguredandstoredasmodulessimilartostandardJ2EEmo

includequeues,topics,connectionfactories,templates,destinationkeys,quota,distributed

foreignsevers,andJI.1Sstore-and-forv^ard(S叼)parameters.Youcanadministrativelycom

systemmodulesasglobalsystemresources.

Indicatesrequiredlelds

WhatwouldyouliketonameyourSystemModule?

"Name:CHModule|

Whatwouldyouliketonamethedescriptorfilename9Ifyoudonotprovideaname,adefault

DescriptorFileName:

WherewouldliketoplacethedescriptorforthisSystemModule,relativetothejmsconfigurat

domain*?

LocationInDomain:

FinishCancel

選擇部署到AdminServer

CreateJMSSystemModule

EdCk■匕extIILsiiii:iiJllCdiicel

Thefollov/ingpropertiesv/illbeusedtotargetyourne.vJMSsystemm

Usethispagetoselecttheserverorclusteronwhichyouwouldliketodei

reconfiguretargetslaterifyouwish.

Targets:

CreateJMSSystemModule

Next

Back11FinishICancel

AddresourcestothisJMSsystemmodule

Usethispagetoindicatewhetheryouwanttoimmediatelyaddresourcestothis

JMSresourcesincludequeues,topics,connectionfactories,etc.

“WouldyouliketoaddresourcestothisJMSsystemmodule?

BackBLkL^.dllFinishIICancel

2)新建.IMSServers同時(shí)部署到AdminServer

CreateaNewJMSServer

NextIIFinishIICancel

JMSServerProperties

ThefollowingpropertieswillbeusedtoidentifyyournewJMSSender.

fIndicatesrequiredfields

WhatwouldyouliketonameyournewJMSServer?

朗"Name:ICHSen/er

SpecifypersistentstoreforthenewJMSServer.

PersistentStore:

|FilestoreZ]CreateaNewStore

FinishCancel

3)在CHModule中建立ConnectionFactory

CreateaNewJMSSystemModuleResource

NextCancel

Choosethetypeofresourceyouv/anttocreate.

UsethesepagestocreateresourcesinaJMSsystemmodul

factories.

Dependingontnet/peofresourceyouselect,youareprompl

targetableresources,likestand-alonequeuesandtopics,co

servers,andJMSSAFdestinations,youcan3lsoproceedtot

canalsoassociatetargetableresourceswithsubdeploymenl

moduleresourcesandthememberstosen/erresources.

(?ConnectionFactory

CQueue

CreateaNewJMSSystemModuleResource

BaJIIIFinishIICati-el

ConnectionFactoryProperties

Thefollowingpropertieswillbeusedtoidentifyyournewconnectionfactory.Thecurn

bIndicatesrequiredfields

Whatwouldyouliketonameyournewconnectionfactor/*?

Name:ChConnectionFactory

WhatJNDINamewouldyouliketousetolookupyournewconnectionfactory*?

JNDIName.jmsCHQueueConnectionFactoryj

BaJIile.-.tIIFinishIICancel

4)然后新建Queue

CreateaNewJMSSystemModuleResource

Back■Ne>1IIFinishIICancel

JMSDestinationProperties

ThefollowingpropertieswillbeusedtoidentifyyournewQueueThecurrentmoc

1Indicatesrequiredfields

Name:ChQueue

JNDIName:r777;

jins仰eQueue______________________________________

Temple:麗包

Back■NextIIFinishIICancel

5)選擇新建Subdcployment如圖

CreateaNewJMSSystemModuleResource

Next11

BackFinishCancel

ThefollowingpropertieswillbeusedtotargetyournewJMSsystemmoduleresource

Usethispagetoselectasubdeploymenttoassignthissystemmoduleresource.Asubdeployi

whichJMSresourcesaregroupedandtargetedtoaseiverinstance,duster,orSAFagentIfne

newsubdeplo.mentbyclickingtheCreateaNewSubdeploymentbutton.Youcanalsoreconfij

targetslaterbyusingtheparentmodulessubdeploymentmanagementpage.

Selectthesubdeploymentyouwanttouse.Ifyouselect(none),notargetingwilloccur.

Subdeployments:

CreateaNewSubdeployment

Whattargetsdoyouwanttoassigntothissubdeployment?

Targets:

BackNext11FinishIICancel

CreateaNewSubdeployment

OKICancel

SubdeploymentProperties

Thefollowingpropertieswillbeusedtoidentifyyournewsubdeployment.

SubdeploymentName:les二c~:

-'CHSubDeployment

OKCancel

CreateaNewJMSSystemModuleResource

Cancel

ThefollowingpropertieswillbeusedtotargetyournewJMSsystemmoduleresoi

Usethispagetoselectasubdeploymenttoassignthissystemmoduleresource.As

whichJMSresourcesaregroupedandtargetedtoasenerinstance,cluster,orSNFa

newsubdeploymentbyclickingtheCreateaNewSubdeploymentbutton.Youcan3ls

targetslaterbyusingtheparentmodulessubdeploymeitmanagementpage.

Selectthesubdeploymentyouwanttouse.Ifyouselect(none),notargetingwilloccur.

Subdeployments:

|CHSubDeploymentTCreateaNewSubdeployment

Whattargetsdoyouwanttoassigntothissubdeployment*?

Targets:

JMSServers

CHServer

wIsbJMSServer

WseeJmsServer

Next|

BackFinishCancel

完成

3.6建立對(duì)SocketTransport的支持

1)先在cmd下轉(zhuǎn)到須要部署的OracleServiceBusdomain書目(如

E:\bea\user_projecls\doniaMs\CH_doniain\bin),運(yùn)行SetDomainEnvd

2)在cmd下轉(zhuǎn)到相應(yīng)的SocketTransport的安裝書目(如

E:\bea\osb_10.3\samples\servicebus\sample-lransport),修改在

E:\bea\osb_l0.3\samples\ser\icebus\saniple-tiansport\sic\com\bea\alsb\tianspoils\sock

中的SocketTransponUIBinding.java,主要修改方法為:(藍(lán)色)

publicbooleanisSen-iceTypcSupported(BindingTypeInfobindingTypc)(

returntrue;

/*

try(

BindingTypelnlb.BindingTypcEnumtype=bindingType.getTypc();

if(type.equals(Bindingl\peInfo.BindingiypeEnum.MIXED)){

BindingTypcInfo.McssagcTypeEnumrcsponseMcssagcTypc=

bindingType.getResponseMessageTypeO;

if(responseMessageType!=null){

if(K

BindingTypelnfo.MessageTypeEnum.TEXT.equals(responseMessageType)||

.cquals(responseMessageTypc))){

returnfalse;

)

}

BindingTypeInfo.MessageTypeEnumrequestMessagely'pe=

bindingType.geiReques(MessageType();

if(rcqucslMcssagcTypc!=null){

IClUlll

BindingTypelnfo.MessageiypeEnum.TEXT.equals(reqijestMessageType)||

BindingTypelnlb.MessageTypcEnuni.XML.cquals(rcqucslMcssagcTypc):

)else(

returnfalse;

}

}

retunitype.equals(Biidingiypelnfo.BindingTypeEnum.ABSTRACT_XML)

||typc.equals(BindingTypelnro.BindingTypcEnuni.XML);

}catch(TransportExceptione){

SockeiTransportU(il.logger.error(e.getLocalizedMessage(),e):

returnfalse;

)*/

3)修改SocketOutBoundMessageContext.java

Run方法主要確定如何處現(xiàn)從后端系統(tǒng)的返回,修改的部分如藍(lán)色

publicvoidrun(){

//iftheend-pointisone-way,don'treadtheresponse.

if(Jepc.getRequestResponseO)(

S(KkctTransportMcssagcsLoggcr.oncWayEndpoint();

listener.onReceiveResponse(SockeiOulboundMessageCortext.this);

return;

StringresEnc=geiResponseEncodingO;

rcsponscMctadala=newSockctRcsponscMetaData(rcsEnc);

InetAddressinetAddreJts=clientSocket.getlnetAddressO;

responseMetadatasetEndPointllostCinetAddress.getllostNameO);

rcsponscMctadala.'?ctEndPointIP(inelAddrcss.getHostAddress());

llReadingtheresponsefromtheexternalservice.

InpulSlrcaminpuiSlrcam=clicntSockel.gctInpulSlrcam();

InputStreaniReaderinputStreaniReader=

newlnputStreamReader(inputStreain.resEnc);

inii="I;

StringBuildersb=newStringBuilder();

char[)buff=newchar(512];

while(true){

i=inputStreamReader.read(bufT);

if(i==-l){

break;

)

sb.append(bufT.0,i);

/**ifilendswithdoubleCRLF.comeout.Wecanreadthecontent

*after\r\n\r\nbecuaseweareexpectingonlyonemessageper

*connectioni.eweareclosingtheconnectionafterprocessinga

*singlemessage.

*/

if((i=sb.indexOf(SocketTranspor(Util.FIN_FLAG))!=-!){

break;

)

}

if(i;=-?{

Hstrip\r\n\r\nfromthemessage.

Stringmsg=sb.substring(O,i+2);

rcsponscIS=newBylcArrayInputStream(msg.gctBylcs(n:sEnc));

listener.onReceiveResponse(SocketOutboundMessageCortext.this);

}else(

//Messageformatiswrong,itshouldendwith\r\n\r\n

listener.onError(SocketOutboundMessageContext.this,

TransportMarager.TRANSPORTERRORGENERIC.

SockctTranspjr(MessagesLogger.invalidMessageO);

)

}catch(lOExceplione){

SockctTransportUtil.ioggcr.crrorfe.getLocalizcdMcssageO.c);

listener.onError(SccketOutboundMessageContext.this,

TransporlManager.TRANSPORT_ERROR_GENERIC.e.gctLocalizedMessagcO):

}catch(TransportExceptiontrex){

SocketTranspor(Util.logger.enor(trex.getLocalizedMessage().trex);

listcner.onErrorfScckciOutboundMcssagcContext.lhis.

TransportManager.TR/XNSPORT_ERROR_GENERIC,trex.getLocalizedMessageO);

}finally{

try{

clientSocket.closeO;

}catch(lOExceptione){

Scx:kelTransportUlil.logger.error(c.gctLocalizcdMcssagc(sc);

}

}

4)Send則確定如何把信息從OSB發(fā)給后端系統(tǒng),改動(dòng)部分如藍(lán)色:

publicvoidsend(finalTransporiSendLislenerlistener)

throwsTransportException{

Stringaddress=options.getURI().toStringO;

iry{

Stringhost=null;

intport=0;

try{

URIuri=newURI(addrcss);

host=uri.getHostO;

port=uri.getPonO;

}catch(URISyntaxExccptionc){

newTransportException(e.getMessage(),e);

}

SockctTransportMcssagcsLoggcr.ipAddrcss(host.port);

finalSocketclieniSocket=newSocket(host,port);

SockctEndpointConflguratio

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論