我试图使用SOAP over JMS接口调用Jboss JMS连接(Jboss 7.1)。 我有以下错误信息。下面提供了配置和代码。非常感谢您的帮助。
错误消息
2019-02-07 11:01:30,470 ERROR [org.jboss.msc.service.fail](MSC service thread 1-2) MSC000001: Failed to start service jboss.deployment.subunit."mef-fed-jboss-ssindEAR.ear"."mef-fed-jboss-ssindWEB.war".INSTALL: org.jboss.msc.service.StartException in service jboss.deployment.subunit."mef-fed-jboss-ssindEAR.ear"."mef-fed-jboss-ssindWEB.war".INSTALL: WFLYSRV0153: Failed to process phase INSTALL of subdeployment "mef-fed-jboss-ssindWEB.war" of deployment "mef-fed-jboss-ssindEAR.ear"
at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:172)
at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:2032)
at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1955)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Caused by: javax.xml.ws.WebServiceException: java.lang.RuntimeException: javax.naming.NameNotFoundException: jms -- service jboss.naming.context.java.jboss.exported.jms
at org.apache.cxf.jaxws.EndpointImpl.doPublish(EndpointImpl.java:375)
at org.jboss.wsf.stack.cxf.deployment.EndpointImpl.doPublish(EndpointImpl.java:79)
at org.apache.cxf.jaxws.EndpointImpl.publish(EndpointImpl.java:255)
at org.apache.cxf.jaxws.EndpointImpl.publish(EndpointImpl.java:543)
at org.jboss.wsf.stack.cxf.configuration.BusHolder.configure(BusHolder.java:235)
at org.jboss.wsf.stack.cxf.deployment.aspect.BusDeploymentAspect.startDeploymentBus(BusDeploymentAspect.java:97)
at org.jboss.wsf.stack.cxf.deployment.aspect.BusDeploymentAspect.start(BusDeploymentAspect.java:59)
at org.jboss.as.webservices.deployers.AspectDeploymentProcessor.deploy(AspectDeploymentProcessor.java:73)
at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:165) ... 5 more
Caused by:
java.lang.RuntimeException: javax.naming.NameNotFoundException: jms -- service jboss.naming.context.java.jboss.exported.jms
at org.apache.cxf.transport.jms.JMSFactory.getConnectionFactoryFromJndi(JMSFactory.java:64)
我们的domain.xml
中具有以下配置。我正在使用“ new-full-ha”个人资料
<connection-factory name="RemoteConnectionFactory" entries="java:/jboss/exported/jms/RemoteConnectionFactory" connectors="http-connector" ha="true" block-on-acknowledge="true" reconnect-attempts="-1"/>
<jms-queue name="MeF.FED.SSIND.Req" entries="java:/jboss/exported/jms/queue/MeF.FED.SSIND.Req" durable="true"/>
我正在尝试启动EAR应用程序并收到上述错误。
<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:efile="http://www.irs.gov/efile"
xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"
xmlns:soapbind="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:types="http://schedule1.fed.efile.irs.gov"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soapjms="http://www.w3.org/2010/soapjms/"
name="MeF" targetNamespace="http://www.irs.gov/efile">
<wsdl:message name="StoreSubmissionIndControllerArgs">
<wsdl:part name="irsSubmissionId" type="xsd:string"/>
<wsdl:part name="recoveryFlag" type="xsd:boolean"/>
</wsdl:message>
<wsdl:message name="void"/>
<wsdl:portType name="StoreSubmissionInd">
<wsdl:operation name="StoreSubmission">
<wsdl:input message="efile:StoreSubmissionIndControllerArgs"/>
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="StoreSubmissionIndBinding" type="efile:StoreSubmissionInd">
<soapbind:binding style="rpc" transport="http://www.w3.org/2010/soapjms/"/>
<!--
<soapbind:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/jms"/>
-->
<wsdl:operation name="StoreSubmission">
<soapbind:operation soapAction="http://www.irs.gov/mef/StoreSubmission"/>
<wsdl:input>
<soapbind:body namespace="http://www.irs.gov/efile" use="literal"/>
</wsdl:input>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="StoreSubmissionIndService">
<soapjms:jndiConnectionFactoryName>jms/RemoteConnectionFactory</soapjms:jndiConnectionFactoryName>
<soapjms:jndiInitialContextFactory>org.jboss.naming.remote.client.InitialContextFactory</soapjms:jndiInitialContextFactory>
<soapjms:jndiURL>remote://efdev176:4647</soapjms:jndiURL>
<wsdl:port binding="efile:StoreSubmissionIndBinding" name="StoreSubmissionIndPort">
<soapbind:address location="jms:queue:MeF.FED.SSIND.Req"/>
</wsdl:port>
</wsdl:service>
<wsdl:service name="StoreSubmissionIndServiceLocal">
<soapjms:jndiConnectionFactoryName>jms/RemoteConnectionFactory</soapjms:jndiConnectionFactoryName>
<soapjms:jndiInitialContextFactory>org.jboss.naming.remote.client.InitialContextFactory</soapjms:jndiInitialContextFactory>
<soapjms:jndiURL>remote://efdev176:4647</soapjms:jndiURL>
<wsdl:port binding="efile:StoreSubmissionIndBinding" name="StoreSubmissionIndPort">
<soapbind:address location="jms:queue:MeF.FED.SSIND.Req"/>
</wsdl:port>
</wsdl:service>
</wsdl:definitions>