Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/333.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java SOAP消息不能包含文档类型声明(DTD)_Java_Web Services_Tomcat_Soap_Axis2 - Fatal编程技术网

Java SOAP消息不能包含文档类型声明(DTD)

Java SOAP消息不能包含文档类型声明(DTD),java,web-services,tomcat,soap,axis2,Java,Web Services,Tomcat,Soap,Axis2,我试图理解ws-security签名和加密。我跟着导游走了。如前所述,我已经安装了rampart,成功创建了相关的*.aar文件,并将其部署到tomcat servlet引擎中,添加了org.bouncycastle.jce.provider.BouncyCastleProviderbouncycastle安全提供程序(示例代码中使用的公钥加密功能所必需)在JVM安全配置(文件lib/security/java.security中,向Axis2安装的lib目录和Axis2服务器应用程序的WEB-

我试图理解ws-security签名和加密。我跟着导游走了。如前所述,我已经安装了rampart,成功创建了相关的
*.aar
文件,并将其部署到tomcat servlet引擎中,添加了
org.bouncycastle.jce.provider.BouncyCastleProvider
bouncycastle安全提供程序(示例代码中使用的公钥加密功能所必需)在JVM安全配置(文件
lib/security/java.security
中,向Axis2安装的lib目录和Axis2服务器应用程序的
WEB-INF/lib
目录添加了Bouncy Castle JAR。(这是运行给定示例的设置)但是当运行所描述的示例时,我得到以下错误

 [java] Connecting to http://localhost:8080/axis2/services/library-signencr
 [java] Exception in thread "main" org.apache.axis2.AxisFault: SOAP message MUST NOT contain a Document Type Declaration(DTD)
 [java]     at org.apache.axis2.AxisFault.makeFault(AxisFault.java:430)
 [java]     at org.apache.axis2.transport.TransportUtils.createSOAPMessage(TransportUtils.java:123)
 [java]     at org.apache.axis2.transport.TransportUtils.createSOAPMessage(TransportUtils.java:67)
 [java]     at org.apache.axis2.description.OutInAxisOperationClient.handleResponse(OutInAxisOperation.java:354)
 [java]     at org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:421)
 [java]     at org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:229)
 [java]     at org.apache.axis2.client.OperationClient.execute(OperationClient.java:165)
 [java]     at com.sosnoski.ws.library.adb.LibrarySignencrStub.getBook(LibrarySignencrStub.java:205)
 [java]     at com.sosnoski.ws.library.adb.WebServiceClient.main(WebServiceClient.java:83)
 [java] Caused by: org.apache.axiom.om.OMException: SOAP message MUST NOT contain a Document Type Declaration(DTD)
 [java]     at org.apache.axiom.soap.impl.builder.StAXSOAPModelBuilder.createDTD(StAXSOAPModelBuilder.java:455)
 [java]     at org.apache.axiom.om.impl.builder.StAXOMBuilder.next(StAXOMBuilder.java:282)
 [java]     at org.apache.axiom.soap.impl.builder.StAXSOAPModelBuilder.getSOAPEnvelope(StAXSOAPModelBuilder.java:198)
 [java]     at org.apache.axiom.soap.impl.builder.StAXSOAPModelBuilder.<init>(StAXSOAPModelBuilder.java:154)
 [java]     at org.apache.axiom.soap.impl.builder.StAXSOAPModelBuilder.<init>(StAXSOAPModelBuilder.java:140)
 [java]     at org.apache.axis2.builder.BuilderUtil.getSOAPBuilder(BuilderUtil.java:686)
 [java]     at org.apache.axis2.transport.TransportUtils.createDocumentElement(TransportUtils.java:197)
 [java]     at org.apache.axis2.transport.TransportUtils.createSOAPMessage(TransportUtils.java:145)
 [java]     at org.apache.axis2.transport.TransportUtils.createSOAPMessage(TransportUtils.java:108)
 [java]     ... 7 more
 [java] Java Result: 1
[java]连接到http://localhost:8080/axis2/services/library-签字人
线程“main”org.apache.axis2.AxisFault中的[java]异常:SOAP消息不能包含文档类型声明(DTD)
[java]位于org.apache.axis2.AxisFault.makeFault(AxisFault.java:430)
[java]位于org.apache.axis2.transport.TransportUtils.createSOAPMessage(TransportUtils.java:123)
[java]位于org.apache.axis2.transport.TransportUtils.createSOAPMessage(TransportUtils.java:67)
[java]位于org.apache.axis2.description.OutInAxisOperationClient.handleResponse(OutInAxisOperation.java:354)
[java]位于org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:421)
[java]位于org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:229)
[java]位于org.apache.axis2.client.OperationClient.execute(OperationClient.java:165)
[java]位于com.sosnoski.ws.library.adb.LibrarySignencrStub.getBook(LibrarySignencrStub.java:205)
[java]位于com.sosnoski.ws.library.adb.WebServiceClient.main(WebServiceClient.java:83)
[java]由以下原因引起:org.apache.axiom.om.OmeException:SOAP消息不能包含文档类型声明(DTD)
[java]位于org.apache.axiom.soap.impl.builder.statxsoapmodelbuilder.createDTD(statxsoapmodelbuilder.java:455)
[java]位于org.apache.axiom.om.impl.builder.statxombuilder.next(statxombuilder.java:282)
[java]位于org.apache.axiom.soap.impl.builder.statxsoapmodelbuilder.getSOAPEnvelope(statxsoapmodelbuilder.java:198)
[java]位于org.apache.axiom.soap.impl.builder.statxsoapmodelbuilder.(statxsoapmodelbuilder.java:154)
[java]位于org.apache.axiom.soap.impl.builder.statxsoapmodelbuilder.(statxsoapmodelbuilder.java:140)
[java]位于org.apache.axis2.builder.BuilderUtil.getSOAPBuilder(BuilderUtil.java:686)
[java]位于org.apache.axis2.transport.TransportUtils.createDocumentElement(TransportUtils.java:197)
[java]位于org.apache.axis2.transport.TransportUtils.createSOAPMessage(TransportUtils.java:145)
[java]位于org.apache.axis2.transport.TransportUtils.createSOAPMessage(TransportUtils.java:108)
[java]。。。还有7个
[java]java结果:1

我该如何解决这个问题?

我对一个一直有效的Web服务也有同样的问题,但这是昨天的问题。这个问题之所以出现,是因为在代码中我们等待xml响应,但它给出了一个html错误页面。所以文档类型(html页面)不是我们在代码中所期望的。所有这些都是因为服务器搬走了

抱歉这么晚才回答,但我希望我的回答将来能帮助其他人^-^

当您在浏览器中打开此链接时,您会看到什么?