WS部署错误:无法为Web服务生成序列化框架

2020-08-23 12:15发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


大家好,

我已经从NWDS中的WSDL文件创建了一个Web服务(Web服务->使用SAP Runtime生成Java Bean框架)。 生成的工件驻留在父EAR的EJB项目中。 我现在不使用组件开发-香草Java项目。

我在META-INF/wsdl目录中有WSDL文件,并相应地修改了生成的bean中的wsdlLocation批注:

@WebService(

portName =" XXXXXXPort",

serviceName =" XXXXXX",

endpointInterface =" XXXXXXXPortType",

targetNamespace =" http://myns.com ",

wsdlLocation =" META-INF/wsdl/XXXXXX.wsdl"

但是,当我将EAR部署到NW 7.31 AS Java服务器时,运行时似乎正在尝试为该服务创建一个"内部" WSDL,该文件无法访问,因为文件路径无法解析为URI。 。 如果我将wsdlLocation属性指向 http://类型的外部地址或根本不包含,则运行时会再次创建此内部WSDL并得到相同的结果 部署错误。

由于这是一个基本步骤,所以我觉得我犯了一个严重的错误,或者没有人在开发来自WSDL的任何服务????

下面是来自NW Admin的完整开发人员跟踪,我在NW 7.3中也遇到了相同的异常。

我的NWDS版本为7.31,IDE使用JDK 1.6u45 x86,而AS Java在具有SAP JVM的64位MS Server2008上运行-VM版本也为1.6u45但64位。 (虽然这听起来很奇怪,但对我来说似乎不太可能)。

任何想法都将不胜感激,谢谢。

此致

Gökhan

Web服务部署期间发生异常。 无法为应用程序 sap.com/XXXXXX_EAR 的Web服务XXXXX生成序列化框架。

[例外]

com.sap.engine.interfaces.webservices.server.deploy.WSDeploymentException:Web服务部署期间发生异常。 无法为应用程序 sap.com/XXXXXX_EAR 的Web服务XXXXXX生成序列化框架。

在com.sap.engine.services.webservices.server.deploy.ws.WSInitialStartProcess.generateJAXWSFramework(WSInitialStartProcess.java:386)

在com.sap.engine.services.webservices.server.deploy.ws.WSInitialStartProcess.generateJAXWSFramework(WSInitialStartProcess.java:224)

com.sap.engine.services.webservices.server.deploy.ws.WSInitialStartProcess.execute(WSInitialStartProcess.java:145)

在com.sap.engine.services.webservices.server.deploy.WSBaseAbstractDProcess.makeProcess(WSBaseAbstractDProcess.java:330)

com.sap.engine.services.webservices.server.deploy.WebServicesDeployManager.makeStartInitially(WebServicesDeployManager.java:744)

在com.sap.engine.services.deploy.server.utils.container.ContainerWrapper.makeStartInitially(ContainerWrapper.java:1045)

com.sap.engine.services.deploy.server.application.StartInitiallyTransaction.makeStartInitially(StartInitiallyTransaction.java:220)

com.sap.engine.services.deploy.server.application.StartInitiallyTransaction.prepare(StartInitiallyTransaction.java:178)

在com.sap.engine.services.deploy.server.application.ApplicationTransaction.makeAllPhasesOnOneServer(ApplicationTransaction.java:430)

在com.sap.engine.services.deploy.server.application.ApplicationTransaction.makeAllPhases(ApplicationTransaction.java:473)

在com.sap.engine.services.deploy.server.application.ApplicationTransaction.makeNestedTransaction(ApplicationTransaction.java:749)

com.sap.engine.services.deploy.server.application.StartTransaction.doStartInitially(StartTransaction.java:600)

在com.sap.engine.services.deploy.server.application.StartTransaction.prepareCommon(StartTransaction.java:334)

在com.sap.engine.services.deploy.server.application.StartTransaction.prepare(StartTransaction.java:317)

在com.sap.engine.services.deploy.server.application.ApplicationTransaction.makeAllPhasesOnOneServer(ApplicationTransaction.java:430)

在com.sap.engine.services.deploy.server.application.ApplicationTransaction.makeAllPhases(ApplicationTransaction.java:473)

在com.sap.engine.services.deploy.server.application.ParallelAdapter.makeAllPhasesSequentially(ParallelAdapter.java:311)

在com.sap.engine.services.deploy.server.application.StartTransaction.makeAllPhases(StartTransaction.java:618)

com.sap.engine.services.deploy.server.DeployServiceImpl.makeGlobalTransaction(DeployServiceImpl.java:1828)

在com.sap.engine.services.deploy.server.DeployServiceImpl.startApplicationAndWait(DeployServiceImpl.java:2480)

在com.sap.engine.services.deploy.server.DeployServiceImpl.startApplicationOnInstanceWait(DeployServiceImpl.java:2732)

在com.sap.engine.services.deploy.server.DeployServiceImpl.startApplicationOnInstanceAndWaitAuth(DeployServiceImpl.java:2882)

在com.sap.engine.services.deploy.server.DeployServiceImpl.startApplicationAndWait(DeployServiceImpl.java:2432)

com.sap.engine.services.dc.lcm.impl.J2EELCMProcessor.doStart(J2EELCMProcessor.java:109)

在com.sap.engine.services.dc.lcm.impl.LifeCycleManagerImpl.start(LifeCycleManagerImpl.java:80)

在com.sap.engine.services.dc.cm.deploy.impl.LifeCycleManagerStartVisitor.visit(LifeCycleManagerStartVisitor.java:48)

com.sap.engine.services.dc.cm.deploy.impl.DeploymentItemImpl.accept(DeploymentItemImpl.java:84)

在com.sap.engine.services.dc.cm.deploy.impl.DefaultDeployPostProcessor.postProcessLCMDeplItem(DefaultDeployPostProcessor.java:108)

在com.sap.engine.services.dc.cm.deploy.impl.DefaultDeployPostProcessor.postProcess(DefaultDeployPostProcessor.java:72)

在com.sap.engine.services.dc.cm.deploy.impl.DeployerImpl.doPostProcessing(DeployerImpl.java:1138)

在com.sap.engine.services.dc.cm.deploy.impl.DeployerImpl.performDeploy(DeployerImpl.java:1027)

在com.sap.engine.services.dc.cm.deploy.impl.DeployerImpl.doDeploy(DeployerImpl.java:815)

在com.sap.engine.services.dc.cm.deploy.impl.DeployerImpl.deployInternal(DeployerImpl.java:450)

在com.sap.engine.services.dc.cm.deploy.impl.DeployerImpl.deploy(DeployerImpl.java:224)

在com.sap.engine.services.dc.cm.deploy.impl.DeployerImplp4_Skel.dispatch(DeployerImplp4_Skel.java:910)

在com.sap.engine.services.rmi_p4.DispatchImpl._runInternal(DispatchImpl.java:462)

在com.sap.engine.services.rmi_p4.server.ServerDispatchImpl.run(ServerDispatchImpl.java:69)

在com.sap.engine.services.rmi_p4.P4Message.process(P4Message.java:72)

在com.sap.engine.services.rmi_p4.P4Message.execute(P4Message.java:43)

在com.sap.engine.services.cross.fca.FCAConnectorImpl.executeRequest(FCAConnectorImpl.java:983)

在com.sap.engine.services.rmi_p4.P4Message.process(P4Message.java:59)

在com.sap.engine.services.cross.fca.MessageReader.run(MessageReader.java:55)

在com.sap.engine.core.thread.execution.Executable.run(Executable.java:122)

在com.sap.engine.core.thread.execution.Executable.run(Executable.java:101)

在com.sap.engine.core.thread.execution.CentralExecutor $ SingleThread.run(CentralExecutor.java:328)

原因:net.sf.saxon.trans.XPathException:java.net.URISyntaxException:索引2处不透明部分中的非法字符:E:\ usr \ sap \ XXX \ DVEBMGS10 \ j2ee \ cluster \ apps \ sap.com \ XXXXXX_EAR \ webservices_containerXXXXXXX_EJB \ META-INF \ wsdl \ pt_tmpl_XXXXXX.wsdl

在net.sf.saxon.serialize.Emitter.makeOutputStream(Emitter.java:200)

在net.sf.saxon.serialize.Emitter.makeWriter(Emitter.java:160)

在net.sf.saxon.serialize.XMLEmitter.openDocument(XMLEmitter.java:145)

在net.sf.saxon.serialize.XMLEmitter.startElement(XMLEmitter.java:309)

在net.sf.saxon.serialize.UncommittedSerializer.startElement(UncommittedSerializer.java:162)

在net.sf.saxon.event.NamespaceReducer.startElement(NamespaceReducer.java:73)

在net.sf.saxon.dom.DOMSender.outputElement(DOMSender.java:202)

在net.sf.saxon.dom.DOMSender.sendElement(DOMSender.java:133)

在net.sf.saxon.dom.DOMSender.send(DOMSender.java:93)

在net.sf.saxon.dom.DOMObjectModel.sendSource(DOMObjectModel.java:242)

在net.sf.saxon.event.Sender.send(Sender.java:219)

在net.sf.saxon.IdentityTransformer.transform(IdentityTransformer.java:46)

在com.sap.engine.services.webservices.espbase.wsdl.misc.OutsideInWSDLUtils.removeBindingAndServiceFromXMLAndSave(OutsideInWSDLUtils.java:100)

在com.sap.engine.services.webservices.server.deploy.ws.WSInitialStartProcess.saveJEEBindingAndPortTypeTemplates(WSInitialStartProcess.java:486)

com.sap.engine.services.webservices.server.deploy.ws.WSInitialStartProcess.generateJAXWSFramework(WSInitialStartProcess.java:377)

...另外44个

原因:java.net.URISyntaxException:索引2:E:\ usr \ sap \ XXX \ DVEBMGS10 \ j2ee \ cluster \ apps \ sap.com \ XXXXXX_EAR \ webservices_container \ XXXXXXXXX_EJB \ META-INF \ wsdl \ pt_tmpl_XXXXXXX.wsdl

在java.net.URI $ Parser.fail(URI.java:2810)

在java.net.URI $ Parser.checkChars(URI.java:2983)

在java.net.URI $ Parser.parse(URI.java:3020)

在java.net.URI。(URI.java:577)

在net.sf.saxon.serialize.Emitter.makeOutputStream(Emitter.java:172)

...另外58

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


大家好,

我已经从NWDS中的WSDL文件创建了一个Web服务(Web服务->使用SAP Runtime生成Java Bean框架)。 生成的工件驻留在父EAR的EJB项目中。 我现在不使用组件开发-香草Java项目。

我在META-INF/wsdl目录中有WSDL文件,并相应地修改了生成的bean中的wsdlLocation批注:

@WebService(

portName =" XXXXXXPort",

serviceName =" XXXXXX",

endpointInterface =" XXXXXXXPortType",

targetNamespace =" http://myns.com ",

wsdlLocation =" META-INF/wsdl/XXXXXX.wsdl"

但是,当我将EAR部署到NW 7.31 AS Java服务器时,运行时似乎正在尝试为该服务创建一个"内部" WSDL,该文件无法访问,因为文件路径无法解析为URI。 。 如果我将wsdlLocation属性指向 http://类型的外部地址或根本不包含,则运行时会再次创建此内部WSDL并得到相同的结果 部署错误。

由于这是一个基本步骤,所以我觉得我犯了一个严重的错误,或者没有人在开发来自WSDL的任何服务????

下面是来自NW Admin的完整开发人员跟踪,我在NW 7.3中也遇到了相同的异常。

我的NWDS版本为7.31,IDE使用JDK 1.6u45 x86,而AS Java在具有SAP JVM的64位MS Server2008上运行-VM版本也为1.6u45但64位。 (虽然这听起来很奇怪,但对我来说似乎不太可能)。

任何想法都将不胜感激,谢谢。

此致

Gökhan

Web服务部署期间发生异常。 无法为应用程序 sap.com/XXXXXX_EAR 的Web服务XXXXX生成序列化框架。

[例外]

com.sap.engine.interfaces.webservices.server.deploy.WSDeploymentException:Web服务部署期间发生异常。 无法为应用程序 sap.com/XXXXXX_EAR 的Web服务XXXXXX生成序列化框架。

在com.sap.engine.services.webservices.server.deploy.ws.WSInitialStartProcess.generateJAXWSFramework(WSInitialStartProcess.java:386)

在com.sap.engine.services.webservices.server.deploy.ws.WSInitialStartProcess.generateJAXWSFramework(WSInitialStartProcess.java:224)

com.sap.engine.services.webservices.server.deploy.ws.WSInitialStartProcess.execute(WSInitialStartProcess.java:145)

在com.sap.engine.services.webservices.server.deploy.WSBaseAbstractDProcess.makeProcess(WSBaseAbstractDProcess.java:330)

com.sap.engine.services.webservices.server.deploy.WebServicesDeployManager.makeStartInitially(WebServicesDeployManager.java:744)

在com.sap.engine.services.deploy.server.utils.container.ContainerWrapper.makeStartInitially(ContainerWrapper.java:1045)

com.sap.engine.services.deploy.server.application.StartInitiallyTransaction.makeStartInitially(StartInitiallyTransaction.java:220)

com.sap.engine.services.deploy.server.application.StartInitiallyTransaction.prepare(StartInitiallyTransaction.java:178)

在com.sap.engine.services.deploy.server.application.ApplicationTransaction.makeAllPhasesOnOneServer(ApplicationTransaction.java:430)

在com.sap.engine.services.deploy.server.application.ApplicationTransaction.makeAllPhases(ApplicationTransaction.java:473)

在com.sap.engine.services.deploy.server.application.ApplicationTransaction.makeNestedTransaction(ApplicationTransaction.java:749)

com.sap.engine.services.deploy.server.application.StartTransaction.doStartInitially(StartTransaction.java:600)

在com.sap.engine.services.deploy.server.application.StartTransaction.prepareCommon(StartTransaction.java:334)

在com.sap.engine.services.deploy.server.application.StartTransaction.prepare(StartTransaction.java:317)

在com.sap.engine.services.deploy.server.application.ApplicationTransaction.makeAllPhasesOnOneServer(ApplicationTransaction.java:430)

在com.sap.engine.services.deploy.server.application.ApplicationTransaction.makeAllPhases(ApplicationTransaction.java:473)

在com.sap.engine.services.deploy.server.application.ParallelAdapter.makeAllPhasesSequentially(ParallelAdapter.java:311)

在com.sap.engine.services.deploy.server.application.StartTransaction.makeAllPhases(StartTransaction.java:618)

com.sap.engine.services.deploy.server.DeployServiceImpl.makeGlobalTransaction(DeployServiceImpl.java:1828)

在com.sap.engine.services.deploy.server.DeployServiceImpl.startApplicationAndWait(DeployServiceImpl.java:2480)

在com.sap.engine.services.deploy.server.DeployServiceImpl.startApplicationOnInstanceWait(DeployServiceImpl.java:2732)

在com.sap.engine.services.deploy.server.DeployServiceImpl.startApplicationOnInstanceAndWaitAuth(DeployServiceImpl.java:2882)

在com.sap.engine.services.deploy.server.DeployServiceImpl.startApplicationAndWait(DeployServiceImpl.java:2432)

com.sap.engine.services.dc.lcm.impl.J2EELCMProcessor.doStart(J2EELCMProcessor.java:109)

在com.sap.engine.services.dc.lcm.impl.LifeCycleManagerImpl.start(LifeCycleManagerImpl.java:80)

在com.sap.engine.services.dc.cm.deploy.impl.LifeCycleManagerStartVisitor.visit(LifeCycleManagerStartVisitor.java:48)

com.sap.engine.services.dc.cm.deploy.impl.DeploymentItemImpl.accept(DeploymentItemImpl.java:84)

在com.sap.engine.services.dc.cm.deploy.impl.DefaultDeployPostProcessor.postProcessLCMDeplItem(DefaultDeployPostProcessor.java:108)

在com.sap.engine.services.dc.cm.deploy.impl.DefaultDeployPostProcessor.postProcess(DefaultDeployPostProcessor.java:72)

在com.sap.engine.services.dc.cm.deploy.impl.DeployerImpl.doPostProcessing(DeployerImpl.java:1138)

在com.sap.engine.services.dc.cm.deploy.impl.DeployerImpl.performDeploy(DeployerImpl.java:1027)

在com.sap.engine.services.dc.cm.deploy.impl.DeployerImpl.doDeploy(DeployerImpl.java:815)

在com.sap.engine.services.dc.cm.deploy.impl.DeployerImpl.deployInternal(DeployerImpl.java:450)

在com.sap.engine.services.dc.cm.deploy.impl.DeployerImpl.deploy(DeployerImpl.java:224)

在com.sap.engine.services.dc.cm.deploy.impl.DeployerImplp4_Skel.dispatch(DeployerImplp4_Skel.java:910)

在com.sap.engine.services.rmi_p4.DispatchImpl._runInternal(DispatchImpl.java:462)

在com.sap.engine.services.rmi_p4.server.ServerDispatchImpl.run(ServerDispatchImpl.java:69)

在com.sap.engine.services.rmi_p4.P4Message.process(P4Message.java:72)

在com.sap.engine.services.rmi_p4.P4Message.execute(P4Message.java:43)

在com.sap.engine.services.cross.fca.FCAConnectorImpl.executeRequest(FCAConnectorImpl.java:983)

在com.sap.engine.services.rmi_p4.P4Message.process(P4Message.java:59)

在com.sap.engine.services.cross.fca.MessageReader.run(MessageReader.java:55)

在com.sap.engine.core.thread.execution.Executable.run(Executable.java:122)

在com.sap.engine.core.thread.execution.Executable.run(Executable.java:101)

在com.sap.engine.core.thread.execution.CentralExecutor $ SingleThread.run(CentralExecutor.java:328)

原因:net.sf.saxon.trans.XPathException:java.net.URISyntaxException:索引2处不透明部分中的非法字符:E:\ usr \ sap \ XXX \ DVEBMGS10 \ j2ee \ cluster \ apps \ sap.com \ XXXXXX_EAR \ webservices_containerXXXXXXX_EJB \ META-INF \ wsdl \ pt_tmpl_XXXXXX.wsdl

在net.sf.saxon.serialize.Emitter.makeOutputStream(Emitter.java:200)

在net.sf.saxon.serialize.Emitter.makeWriter(Emitter.java:160)

在net.sf.saxon.serialize.XMLEmitter.openDocument(XMLEmitter.java:145)

在net.sf.saxon.serialize.XMLEmitter.startElement(XMLEmitter.java:309)

在net.sf.saxon.serialize.UncommittedSerializer.startElement(UncommittedSerializer.java:162)

在net.sf.saxon.event.NamespaceReducer.startElement(NamespaceReducer.java:73)

在net.sf.saxon.dom.DOMSender.outputElement(DOMSender.java:202)

在net.sf.saxon.dom.DOMSender.sendElement(DOMSender.java:133)

在net.sf.saxon.dom.DOMSender.send(DOMSender.java:93)

在net.sf.saxon.dom.DOMObjectModel.sendSource(DOMObjectModel.java:242)

在net.sf.saxon.event.Sender.send(Sender.java:219)

在net.sf.saxon.IdentityTransformer.transform(IdentityTransformer.java:46)

在com.sap.engine.services.webservices.espbase.wsdl.misc.OutsideInWSDLUtils.removeBindingAndServiceFromXMLAndSave(OutsideInWSDLUtils.java:100)

在com.sap.engine.services.webservices.server.deploy.ws.WSInitialStartProcess.saveJEEBindingAndPortTypeTemplates(WSInitialStartProcess.java:486)

com.sap.engine.services.webservices.server.deploy.ws.WSInitialStartProcess.generateJAXWSFramework(WSInitialStartProcess.java:377)

...另外44个

原因:java.net.URISyntaxException:索引2:E:\ usr \ sap \ XXX \ DVEBMGS10 \ j2ee \ cluster \ apps \ sap.com \ XXXXXX_EAR \ webservices_container \ XXXXXXXXX_EJB \ META-INF \ wsdl \ pt_tmpl_XXXXXXX.wsdl

在java.net.URI $ Parser.fail(URI.java:2810)

在java.net.URI $ Parser.checkChars(URI.java:2983)

在java.net.URI $ Parser.parse(URI.java:3020)

在java.net.URI。(URI.java:577)

在net.sf.saxon.serialize.Emitter.makeOutputStream(Emitter.java:172)

...另外58

付费偷看设置
发送
2条回答
打个大熊猫
1楼 · 2020-08-23 12:40.采纳回答

已解决。

我的EAR中有几个库jar,包括saxon9he.jar,尽管其他依赖模块已删除。

绿领巾童鞋
2楼-- · 2020-08-23 12:55
以我为例,这个错误出现了,可能是这样,我现在看到了该路径上的文件性别歧视, 所有的权限,有些想法,我已经搜索了该库,而在开发中不满足它,我从jax-ws添加了库 在com.sap.engine.services.httpserver.filters.DSRHttpFilter.process(DSRHttpFilter.java:43)上

在com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java: 12)在com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)处
在com.sap.engine.services.httpserver.server.Processor.chainedRequest(Processor。 java:475)
com.sap.engine.services.httpserver.server.Processor $ FCAProcessorThread.process(Processor.java:269)
com.sap.engine.services.httpserver.server.rcm。 com.sap.engine.core.thread.execution.Executable.run(Executable.java:122)处的RequestProcessorThread.run(RequestProcessorThread.java:56)
在com.sap.engine.core.thread处。 com.sap.engine.core.thread.execution.CentralExecutor $ SingleThread.run(CentralExecutor.java:328)上的execution.Executable.run(Executable.java:101)
起因:javax.xml。 transform.TransformerException:java.io.FileNotFoundException:文件:/usr/sap/NDJ/J00/j2ee/cluster/apps/ gromero.sd/mind~zdc_ear5/webservices_container/gromero.sd 〜mind〜zdc_web5_WEB/WEB-INF/wsdl/NitroWS.wsdl (路径名中的文件或目录不存在。)
位于org.apache.xalan.transformer.TransformerIdentityImpl.createResultContentHandler(TransformerIdentityImpl。 java:245)在org.apache.xalan.transformer.TransformerIdentityImpl.transform(TransformerIdentityImpl.java:278)在com.sap.engine.services.webservices.espbase.wsdl.misc.OutsideInWSDLUtils.removeCFGGArtefactsAndSave(TransformerIdentityImpl.java:278)
OutsideInWSDLUtils.java:224)
在com.sap.engine.services.webservices.server.deploy.ws.WSInitialStartProcess.saveJEEBindingAndPortTypeTemplates(WSInitialStartProcess.java:468)在com.sap.engine.services.webservices上。 server.deploy.ws.WSInitialStartProcess.generateJAXWSFramework(WSInitialStartProcess.java:377)
... 53个其他
原因:java.io.FileNotFoundException:文件:/usr/sap/ND J/J00/j2ee/cluster/apps/ gromero.sd/mind~zdc_ear5/webservices_container/gromero.sd~mind~zdc_web5_WEB/WEB-INF/wsdl/NitroWS.wsdl (路径名中的文件或目录不会 存在。)
在java.io.FileOutputStream.open(本机方法)
在java.io.FileOutputStream。(FileOutputStream.java:193)
在java.io.FileOutputStream。(FileOutputStream.java:84)

一周热门 更多>