




版權(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 【正版授權(quán)】 IEC 63522-13:2024 EN-FR Electrical relays - Tests and measurements - Part 13: Corrosive atmospheres due to sulfur impact
- 【正版授權(quán)】 IEC 62309:2024 EN-FR Dependability of new products containing reused parts and life-extended products
- 2025-2030年中國(guó)降血脂藥行業(yè)運(yùn)營(yíng)現(xiàn)狀及發(fā)展規(guī)劃分析報(bào)告
- 2025-2030年中國(guó)銀礦石市場(chǎng)運(yùn)行動(dòng)態(tài)與發(fā)展趨勢(shì)分析報(bào)告
- 2025-2030年中國(guó)鋁合金防火門窗市場(chǎng)發(fā)展?fàn)顩r及營(yíng)銷戰(zhàn)略研究報(bào)告
- 2025-2030年中國(guó)鋼構(gòu)件行業(yè)市場(chǎng)發(fā)展現(xiàn)狀及前景趨勢(shì)分析報(bào)告
- 2025-2030年中國(guó)遠(yuǎn)洋漁輪市場(chǎng)運(yùn)行格局及發(fā)展趨勢(shì)分析報(bào)告
- 2025-2030年中國(guó)轎車懸架彈簧行業(yè)發(fā)展前景及投資戰(zhàn)略研究報(bào)告
- 2025-2030年中國(guó)美體塑身衣行業(yè)市場(chǎng)運(yùn)行狀況及發(fā)展趨勢(shì)分析報(bào)告
- 2025-2030年中國(guó)繡花機(jī)市場(chǎng)運(yùn)行動(dòng)態(tài)及發(fā)展趨勢(shì)分析報(bào)告
- 新生兒敗血癥(共22張課件)
- 頌缽療愈師培訓(xùn)
- 2025蛇年春節(jié)習(xí)俗大賞體驗(yàn)感受家的溫馨課件
- 投資居間協(xié)議合同模板
- 羽毛球課件教學(xué)課件
- 多重耐藥菌的預(yù)防及護(hù)理課件
- 抽水蓄能電站課件
- GB/T 25052-2024連續(xù)熱浸鍍層鋼板和鋼帶尺寸、外形、重量及允許偏差
- 河北科大項(xiàng)目實(shí)施計(jì)劃書
- 消防設(shè)施操作和維護(hù)保養(yǎng)規(guī)程
- -精益與智能工廠三年規(guī)劃
評(píng)論
0/150
提交評(píng)論