我目前正在开发一个Mule 3.9应用程序,它同时处理REST和SOAP请求。其余部分工作正常,但是我在SOAP功能方面遇到了一个奇怪的问题。现在,文件只是HTTP侦听器、SOAP路由器和两个流,每个流用于一个不同的进程,每个流程包含一个Logger。但是,当我试图运行该项目时,它未能进行部署,原因是MuleRuntimeException: CorsManager尚未启动。我很困惑,因为这个项目根本不使用CORS。
除了MuleSoft论坛上的一个问题:https://forums.mulesoft.com/questions/71349/orgmuleapimuleruntimeexception-corsmanager-not-sta.html?childToView=78861#answer-78861,我在互联网上找不到多少关于这个问题的信息。这个问题确实有答案,但是这个应用程序根本不使用MQ,所以这个解决方案不适用。
以下是我的XML:
<mule xmlns="http://www.mulesoft.org/schema/mule/core" xmlns:apikit-
soap="http://www.mulesoft.org/schema/mule/apikit-soap"
xmlns:doc="http://www.mulesoft.org/schema/mule/documentation"
xmlns:http="http://www.mulesoft.org/schema/mule/http"
xmlns:spring="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.mulesoft.org/schema/mule/core
http://www.mulesoft.org/schema/mule/core/current/mule.xsd
http://www.mulesoft.org/schema/mule/http
http://www.mulesoft.org/schema/mule/http/current/mule-http.xsd
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
http://www.mulesoft.org/schema/mule/apikit-soap
http://www.mulesoft.org/schema/mule/apikit-soap/current/mule-apikit-
soap.xsd">
<apikit-soap:config name="/bt2dm/MuleSoapProc/api-config"
wsdlUrl="pdw.wsdl" serviceName="bt2m" portName="MuleSoapProc"
doc:name="APIkit SOAP: Configuration"/>
<flow name="api-main">
<http:listener path="/bt2m/MuleSoapProc" config-ref="mule-domain-
http-listener-config" doc:name="/bt2m/MuleSoapProc"
allowedMethods="POST, GET"/>
<apikit-soap:router config-ref="/bt2m/MuleSoapProc/api-config"
doc:name="SOAP Router"/>
<exception-strategy ref="apiKitGlobalExceptionMapping"
doc:name="Reference Exception Strategy"/>
</flow>
<flow name="OperationPDwCL2Way:/bt2m/MuleSoapProc/api-config">
<logger level="INFO" doc:name="Logger"/>
<exception-strategy ref="apiKitGlobalExceptionMapping"
doc:name="Reference Exception Strategy"/>
</flow>
<flow name="OperationPDwTL2Way:/bt2m/MuleSoapProc/api-config">
<logger level="INFO" doc:name="Logger"/>
<exception-strategy ref="apiKitGlobalExceptionMapping"
doc:name="Reference Exception Strategy"/>
</flow>
</mule>以下是WSDL:
<wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsx="http://schemas.xmlsoap.org/ws/2004/09/mex" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:wsa10="http://www.w3.org/2005/08/addressing" xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy" xmlns:wsap="http://schemas.xmlsoap.org/ws/2004/08/addressing/policy" xmlns:msc="http://schemas.microsoft.com/ws/2005/12/wsdl/contract" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing" xmlns:wsam="http://www.w3.org/2007/05/addressing/metadata" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://Mule/Claims/PDW/Mule_Claims_CC_PDW/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" name="CompanyPDw" targetNamespace="http://Mule/Claims/PDW/Mule_Claims_CC_PDW/">
<wsdl:documentation>
<CreationInfo Created="2018-12-17 08:14:00Z"/>
</wsdl:documentation>
<wsdl:types>
<xsd:schema targetNamespace="http://Mule/C/PDW/MuleCDW/Imports">
<xsd:import schemaLocation="http://localhost:8163/pdw/MuleSoapProc?xsd=xsd2" namespace="http://company.com/claimcenter/DW/DWClaim"/>
<xsd:import schemaLocation="http://localhost:8163/pdw/MuleSoapProc?xsd=xsd3" namespace="http://company_Mule_PDW.PDwCCStatResponse"/>
<xsd:import schemaLocation="http://localhost:8163/pdw/MuleSoapProc?xsd=xsd4" namespace="http://company.com/claimcenter/DW/DWTransaction"/>
</xsd:schema>
</wsdl:types>
<wsdl:message name="WcfService_Mule_Claims_CC_PDW_OperationPDwCL2Way_InputMessage">
<wsdl:part xmlns:q1="http://company.com/DW/DWClaim" name="part" element="q1:DWClaim"/>
</wsdl:message>
<wsdl:message name="WcfService_Mule_Claims_CC_PDW_OperationPDwCL2Way_OutputMessage">
<wsdl:part xmlns:q2="http://company_Mule_PDw.PDwCCStatResponse" name="part" element="q2:PDwStatResponse"/>
</wsdl:message>
<wsdl:message name="WcfService_Mule_Claims_CC_PDW_OperationPDwTL2Way_InputMessage">
<wsdl:part xmlns:q3="http://company.com/DW/DWTransaction" name="part" element="q3:DWTransaction"/>
</wsdl:message>
<wsdl:message name="WcfService_Mule_Claims_CC_PDW_OperationPDwTL2Way_OutputMessage">
<wsdl:part xmlns:q4="http://company_Mule_PDw.PDwCCStatResponse" name="part" element="q4:PDwStatResponse"/>
</wsdl:message>
<wsdl:portType name="WcfService_Mule_Claims_CC_PDW">
<wsdl:documentation>service "*" port "*"</wsdl:documentation>
<wsdl:operation name="OperationPDwCL2Way">
<wsdl:documentation>operation "OperationPDwCL2Way"</wsdl:documentation>
<wsdl:input message="tns:WcfService_Mule_Claims_CC_PDW_OperationPDwCL2Way_InputMessage"/>
<wsdl:output message="tns:WcfService_Mule_Claims_CC_PDW_OperationPDwCL2Way_OutputMessage"/>
</wsdl:operation>
<wsdl:operation name="OperationPDwTL2Way">
<wsdl:documentation>operation "OperationPDwTL2Way"</wsdl:documentation>
<wsdl:input message="tns:WcfService_Mule_Claims_CC_PDW_OperationPDwTL2Way_InputMessage"/>
<wsdl:output message="tns:WcfService_Mule_Claims_CC_PDW_OperationPDwTL2Way_OutputMessage"/>
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="MuleSoapProc" type="tns:WcfService_Mule_Claims_CC_PDW">
<soap:binding transport="http://schemas.xmlsoap.org/soap/http"/>
<wsdl:operation name="OperationPDwCL2Way">
<wsdl:documentation>operation "OperationPDwCL2Way"</wsdl:documentation>
<soap:operation soapAction="OperationPDwCL2Way" style="document"/>
<wsdl:input>
<soap:body use="literal"/>
</wsdl:input>
<wsdl:output>
<soap:body use="literal"/>
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="OperationPDwTL2Way">
<wsdl:documentation>operation "OperationPDwTL2Way"</wsdl:documentation>
<soap:operation soapAction="OperationPDwTL2Way" style="document"/>
<wsdl:input>
<soap:body use="literal"/>
</wsdl:input>
<wsdl:output>
<soap:body use="literal"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="g1PDw">
<wsdl:port name="MuleSoapProc" binding="tns:MuleSoapProc">
<soap:address location="http://localhost:8163/PDw/insertService"/>
</wsdl:port>
</wsdl:service>
</wsdl:definitions>以下是在应用程序启动期间引发的错误:
org.mule.modules.cors.CorsPhase.runPhase(CorsPhase.java:65) ~ CorsManager尚未启动-模块-cors-gw-3.9.0.jar:3.9.0 at org.mule.modules.cors.CorsPhase.runPhase(CorsPhase.java:39) ~mule- org.mule.execution.PhaseExecutionEngine$InternalPhaseExecutionEngine.process(PhaseExecutionEngine.java:114) -3.9.0.jar:3.9.0核心-3.9.0.jar:3.9.0在org.mule.execution.PhaseExecutionEngine.process(PhaseExecutionEngine.java:41) ~mule-core-3.9.0.jar:3.9.0在org.mule.execution.MuleMessageProcessingManager.processMessage(MuleMessageProcessingManager.java:32) ~mule 3.9.0.jar:3.9.0在org.mule.module.http.internal.listener.DefaultHttpListener$1.handleRequest(DefaultHttpListener.java:135) ~mule-模块-http-3。9.0.jar:3.9.0在org.mule.module.http.internal.listener.grizzly.GrizzlyRequestDispatcherFilter.handleRead(GrizzlyRequestDispatcherFilter.java:100) ~mule-模块-http-3.9.0.jar:3.9.0 at org.glassfish.grizzly.filterchain.ExecutorResolver$9.execute(ExecutorResolver.java:119) ~grizzly-framework-2.3.33.jar:2.3.33在org.glassfish.grizzly.filterchain.DefaultFilterChain.executeFilter(DefaultFilterChain.java:284) ~grizzly-框架-2.3.33.jar:2.3.33在org.glassfish.grizzly.filterchain.DefaultFilterChain.executeChainPart(DefaultFilterChain.java:201) ~灰色-框架-2.3.33.jar:2.3.33在org.glassfish.grizzly.filterchain.DefaultFilterChain.execute(DefaultFilterChain.java:133) ~灰色-框架-2.3.33.jar:2.3.33在org.glassfish.grizzly.filterchain.DefaultFilterChain.process(DefaultFilterChain.java:112) ~灰色-框架-框架-2.3.33.jar:2.3.33在org.glassfish.grizzly.filterchain.DefaultFilterChain.process(DefaultFilterChain.java:112)~灰色-框架-框架-2.3.33在org.glassfish.grizzly.filterchain.DefaultFilterChain.process(DefaultFilterChain.java:112)~灰色-框架-框架-2.3.33.jar:2.3.33在org.glassfish.grizzly.filterchain.DefaultFilterChain.process(DefaultFilterChain.java:112)~灰色-框架-框架-2.3.33在org.glassfish.grizzly.filterchain.DefaultFilterChain.process(DefaultFilterChain.java:112)~灰色-框架-框架-2.3.33.jar:2.3.33在org.glassfish.grizzly.filterchain.DefaultFilterChain.process(DefaultFilterChain.java:112)~灰色-框架-框架-2.3.33在org.glassfish.grizzly.filterchain.DefaultFilterChain.process(DefaultFilterChain.java:112)~灰色-框架-2.3.33.jar:2.3.33在org.glassfish.grizzly.filterchain.DefaultFilterChain.process(DefaultFilterChain.java:112)~灰色-框架-框架-2.3.33在org.glassfish.grizzly.filterchain.DefaultFilterChain.execute(DefaultFilterChain.java:133)~灰色-框架-2.3.33.jar:2.3.33在org.glassfish.grizzly.filterchain.DefaultFilterChain.process(DefaultFilterChain.java:112)~灰色-框架-框架-2.3.33在org.glassfish.grizzly.filterchain.DefaultFilterChain.process(DefaultFilterChain.java:112)~灰色-框架-2.3.33.jar:2.3.33在org.glassfish.grizzly.filterchain.DefaultFilterChain.process(DefaultFilterChain.java:112)~2.3.33.jar:2.3.33在org.glassfish.grizzly.ProcessorExecutor.execute(ProcessorExecutor.java:77) ~grizzly-framework-2.3.33.jar:2.3.33在org.glassfish.grizzly.nio.transport.TCPNIOTransport.fireIOEvent(TCPNIOTransport.java:539) ~grizzly-framework 2.3.33.jar:2.3.33在org.glassfish.grizzly.strategies.AbstractIOStrategy.fireIOEvent(AbstractIOStrategy.java:112) ~grizzly-framework 2.3org.mule.module.http.internal.listener.grizzly.ExecutorPerServerAddressIOStrategy.run0(ExecutorPerServerAddressIOStrategy.java:119) ~mule的.33.jar:2.3.33 -模块-HTTP-3.9.0.jar:3.9.0 at org.mule.module.http.internal.listener.grizzly.ExecutorPerServerAddressIOStrategy.access$100(ExecutorPerServerAddressIOStrategy.java:31) ~mule-模块-HTTP3.9.0.jar:3.9.0 at org.mule.module.http.internal.listener.grizzly.ExecutorPerServerAddressIOStrategy$WorkerThreadRunnable.run(ExecutorPerServerAddressIOStrategy.java:142) ~mule-模块-http-3.9.0.jar:3.9.0 at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) ?:1.8.0_162 at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) ?:1.8.0_162 at java.lang.Thread.run(Thread.java:748) ?:1.8.0_162
我也没有在这个项目中找到任何提到CORS的地方。如果你能提供任何帮助,我们将不胜感激。
发布于 2019-01-04 20:28:24
不清楚到底是什么问题,但这与我在WSDL和模式定位URL中更改的名称空间有关。我将WSDL还原回已知的工作版本,并能够部署应用程序。
发布于 2018-12-19 21:36:34
由于缺乏wsdl和域信任而无法复制。
您的域名可能是这里的罪魁祸首:org.mule.module.http.internal.listener.grizzly.GrizzlyRequestDispatcherFilter.handleRead
如果有可能,尝试将应用程序从使用域中提取出来。如果您能够复制,请用简化的应用程序更新问题。
https://stackoverflow.com/questions/53859193
复制相似问题