在WSO2 ESB中,如果在调度程序任务中发起请求,为什么SOAPAction丢失?

M. *_*Tai 0 wso2 wso2esb

该项目的要求是每天进行一次Web服务调用并保存其响应。该Web服务需要YYYYMMDD格式的固定值和日期值。为此,我创建一个SEQUENCE执行以下操作:

  1. 使用Web服务的必需参数创建有效负载
  2. 使用有效负载调用Web服务端点
  3. 保存回复

然后,我创建一个使用SEQUENCE的代理服务。当我使用SoapUI运行代理时,一切正常。然后,我创建一个计划任务以调用序列。当调度程序任务运行时,该序列无法进行成功​​的Web服务调用。当我检查日志条目时,发现对于调度程序任务,SOAPAction和WSA-Action(来自定义的端点)的值都为空;对于代理服务,它们具有正确的值(https:// hostname / Get_Daily_Usage)。我暂停这是否是问题的根本原因。如果是根本原因,如何解决?如果您对此有何见解,请帮助阐明。以下是每种情况下的日志条目。先感谢您。

计划任务执行产生的日志条目

TID: [-1] [] [2016-11-15 11:34:00,038] DEBUG {org.apache.synapse.mediators.builtin.CallMediator} -  Start : Call mediator - Non Blocking Call {org.apache.synapse.mediators.builtin.CallMediator}
TID: [-1] [] [2016-11-15 11:34:00,039] DEBUG {org.apache.synapse.endpoints.IndirectEndpoint} -  Loading real endpoint with key : MyWSEndpoint {org.apache.synapse.endpoints.IndirectEndpoint}
TID: [-1] [] [2016-11-15 11:34:00,039] DEBUG {org.apache.synapse.endpoints.EndpointContext} -  Checking if endpoint : MyWSEndpoint currently at state ACTIVE can be used now? {org.apache.synapse.endpoints.EndpointContext}
TID: [-1] [] [2016-11-15 11:34:00,039] DEBUG {org.apache.synapse.endpoints.AddressEndpoint} -  Sending message through endpoint : MyWSEndpoint resolving to address = https://hostname/WebService_V3/WebService_S.asmx {org.apache.synapse.endpoints.AddressEndpoint}
TID: [-1] [] [2016-11-15 11:34:00,039] DEBUG {org.apache.synapse.endpoints.AddressEndpoint} -  SOAPAction: null {org.apache.synapse.endpoints.AddressEndpoint}
TID: [-1] [] [2016-11-15 11:34:00,039] DEBUG {org.apache.synapse.endpoints.AddressEndpoint} -  WSA-Action: null {org.apache.synapse.endpoints.AddressEndpoint}
TID: [-1] [] [2016-11-15 11:34:00,039] DEBUG {org.apache.synapse.core.axis2.Axis2FlexibleMEPClient} -  Sending [add = false] [sec = false] [mtom = false] [swa = false] [format = null] [force soap11=false] [force soap12=false] [pox=false] [get=false] [encoding=null] [to=https://hostname/WebService_V3/WebService_S.asmx] {org.apache.synapse.core.axis2.Axis2FlexibleMEPClient}
TID: [-1] [] [2016-11-15 11:34:00,039] DEBUG {org.apache.synapse.core.axis2.Axis2FlexibleMEPClient} -  Message [Original Request Message ID : urn:uuid:28b97f1e-ea82-4786-8921-cba8e2786b8d] [New Cloned Request Message ID : urn:uuid:a6439020-a89b-4683-8326-6b5846a63a86] {org.apache.synapse.core.axis2.Axis2FlexibleMEPClient}
TID: [-1] [] [2016-11-15 11:34:00,039] DEBUG {org.apache.synapse.core.axis2.SynapseCallbackReceiver} -  Callback added. Total callbacks waiting for : 1 {org.apache.synapse.core.axis2.SynapseCallbackReceiver}
TID: [-1] [] [2016-11-15 11:34:00,103] DEBUG {org.apache.axis2.transport.http.ApplicationXMLFormatter} -  contentType set from messageContext =application/xml {org.apache.axis2.transport.http.ApplicationXMLFormatter}
TID: [-1] [] [2016-11-15 11:34:00,104] DEBUG {org.apache.axis2.transport.http.ApplicationXMLFormatter} -  (NOTE) contentType from format is=application/soap+xml {org.apache.axis2.transport.http.ApplicationXMLFormatter}
TID: [-1] [] [2016-11-15 11:34:00,104] DEBUG {org.apache.axis2.transport.http.ApplicationXMLFormatter} -  contentType returned =application/xml; charset=UTF-8 {org.apache.axis2.transport.http.ApplicationXMLFormatter}
TID: [-1] [] [2016-11-15 11:34:00,104] DEBUG {org.apache.axis2.transport.http.ApplicationXMLFormatter} -  start writeTo() {org.apache.axis2.transport.http.ApplicationXMLFormatter}
TID: [-1] [] [2016-11-15 11:34:00,104] DEBUG {org.apache.axis2.transport.http.ApplicationXMLFormatter} -  end writeTo() {org.apache.axis2.transport.http.ApplicationXMLFormatter}
TID: [-1] [] [2016-11-15 11:34:00,105] DEBUG {org.apache.synapse.mediators.builtin.CallMediator} -  End : Call mediator - Non Blocking Call {org.apache.synapse.mediators.builtin.CallMediator}
TID: [-1] [] [2016-11-15 11:34:00,105] DEBUG {org.apache.synapse.mediators.filters.FilterMediator} -  End : Filter mediator  {org.apache.synapse.mediators.filters.FilterMediator}
TID: [-1] [] [2016-11-15 11:34:00,105] DEBUG {org.apache.synapse.mediators.base.SequenceMediator} -  End : Sequence <MyWSCallSeq> {org.apache.synapse.mediators.base.SequenceMediator}
TID: [-1] [] [2016-11-15 11:34:00,200] DEBUG {org.apache.synapse.core.axis2.SynapseCallbackReceiver} -  Callback removed for request message id : urn:uuid:a6439020-a89b-4683-8326-6b5846a63a86. Pending callbacks count : 0 {org.apache.synapse.core.axis2.SynapseCallbackReceiver}
TID: [-1234] [] [2016-11-15 11:34:00,201] DEBUG {org.apache.synapse.core.axis2.SynapseCallbackReceiver} -  Synapse received an asynchronous response message {org.apache.synapse.core.axis2.SynapseCallbackReceiver}
TID: [-1234] [] [2016-11-15 11:34:00,201] DEBUG {org.apache.synapse.core.axis2.SynapseCallbackReceiver} -  Received To: null {org.apache.synapse.core.axis2.SynapseCallbackReceiver}
TID: [-1234] [] [2016-11-15 11:34:00,201] DEBUG {org.apache.synapse.core.axis2.SynapseCallbackReceiver} -  SOAPAction:  {org.apache.synapse.core.axis2.SynapseCallbackReceiver}
TID: [-1234] [] [2016-11-15 11:34:00,201] DEBUG {org.apache.synapse.core.axis2.SynapseCallbackReceiver} -  WSA-Action:  {org.apache.synapse.core.axis2.SynapseCallbackReceiver}
TID: [-1234] [] [2016-11-15 11:34:00,201] DEBUG {org.apache.synapse.core.axis2.SynapseCallbackReceiver} -  Body : 
<?xml version='1.0' encoding='utf-8'?><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><soapenv:Body/></soapenv:Envelope> {org.apache.synapse.core.axis2.SynapseCallbackReceiver}
TID: [-1234] [] [2016-11-15 11:34:00,201] DEBUG {org.apache.synapse.core.axis2.SOAPUtils} -  convert SOAP11 to SOAP12 {org.apache.synapse.core.axis2.SOAPUtils}
TID: [-1234] [] [2016-11-15 11:34:00,202] DEBUG {org.apache.synapse.core.axis2.Axis2SynapseEnvironment} -  Injecting MessageContext {org.apache.synapse.core.axis2.Axis2SynapseEnvironment}
TID: [-1234] [] [2016-11-15 11:34:00,202] DEBUG {org.apache.synapse.core.axis2.Axis2SynapseEnvironment} -  Response received for the Continuation Call service invocation {org.apache.synapse.core.axis2.Axis2SynapseEnvironment}
TID: [-1234] [] [2016-11-15 11:34:00,202] DEBUG {org.apache.synapse.core.axis2.Axis2SynapseEnvironment} -  Mediating response using the ContinuationStateStack {org.apache.synapse.core.axis2.Axis2SynapseEnvironment}
TID: [-1234] [] [2016-11-15 11:34:00,203] DEBUG {org.apache.synapse.mediators.base.SequenceMediator} -  Mediating using the SeqContinuationState type : NAMED name : MyWSCallSeq {org.apache.synapse.mediators.base.SequenceMediator}
TID: [-1234] [] [2016-11-15 11:34:00,203] DEBUG {org.apache.synapse.mediators.base.SequenceMediator} -  Setting the onError handler : UsageDownloadFailSeq for the sequence : MyWSCallSeq {org.apache.synapse.mediators.base.SequenceMediator}
TID: [-1234] [] [2016-11-15 11:34:00,203] DEBUG {org.apache.synapse.mediators.filters.FilterMediator} -  Filter mediator : Mediating from ContinuationState {org.apache.synapse.mediators.filters.FilterMediator}
TID: [-1234] [] [2016-11-15 11:34:00,204] DEBUG {org.apache.synapse.mediators.filters.FilterMediator} -  Sequence <FilterMediator> :: mediate() {org.apache.synapse.mediators.filters.FilterMediator}
TID: [-1234] [] [2016-11-15 11:34:00,204] DEBUG {org.apache.synapse.mediators.filters.FilterMediator} -  Mediation started from mediator position : 2 {org.apache.synapse.mediators.filters.FilterMediator}
Run Code Online (Sandbox Code Playgroud)

日志条目是由于执行代理服务调用而产生的。

TID: [-1234] [] [2016-11-15 10:57:54,993] DEBUG {org.apache.synapse.mediators.builtin.CallMediator} -  Start : Call mediator - Non Blocking Call {org.apache.synapse.mediators.builtin.CallMediator}
TID: [-1234] [] [2016-11-15 10:57:54,994] DEBUG {org.apache.synapse.config.SynapseConfiguration} -  There is no local registry entry for key : MyWSEndpoint {org.apache.synapse.config.SynapseConfiguration}
TID: [-1234] [] [2016-11-15 10:57:54,994] DEBUG {org.apache.synapse.endpoints.IndirectEndpoint} -  Loading real endpoint with key : MyWSEndpoint {org.apache.synapse.endpoints.IndirectEndpoint}
TID: [-1234] [] [2016-11-15 10:57:54,994] DEBUG {org.apache.synapse.endpoints.EndpointContext} -  Checking if endpoint : MyWSEndpoint currently at state ACTIVE can be used now? {org.apache.synapse.endpoints.EndpointContext}
TID: [-1234] [] [2016-11-15 10:57:54,994] DEBUG {org.apache.synapse.endpoints.AddressEndpoint} -  Sending message through endpoint : MyWSEndpoint resolving to address = https://hostname/WebService_V3/WebService_S.asmx {org.apache.synapse.endpoints.AddressEndpoint}
TID: [-1234] [] [2016-11-15 10:57:54,994] DEBUG {org.apache.synapse.endpoints.AddressEndpoint} -  SOAPAction: https://hostname/Get_Daily_Usage {org.apache.synapse.endpoints.AddressEndpoint}
TID: [-1234] [] [2016-11-15 10:57:54,994] DEBUG {org.apache.synapse.endpoints.AddressEndpoint} -  WSA-Action: https://hostname/Get_Daily_Usage {org.apache.synapse.endpoints.AddressEndpoint}
TID: [-1234] [] [2016-11-15 10:57:54,994] DEBUG {org.apache.synapse.core.axis2.Axis2FlexibleMEPClient} -  Sending [add = false] [sec = false] [mtom = false] [swa = false] [format = null] [force soap11=false] [force soap12=false] [pox=false] [get=false] [encoding=null] [to=https://hostname/WebService_V3/WebService_S.asmx] {org.apache.synapse.core.axis2.Axis2FlexibleMEPClient}
TID: [-1234] [] [2016-11-15 10:57:54,994] DEBUG {org.apache.synapse.core.axis2.Axis2FlexibleMEPClient} -  Message [Original Request Message ID : urn:uuid:e5056045-596c-48ce-bf1f-0183562db4de] [New Cloned Request Message ID : urn:uuid:cb5852f6-994f-4da0-acbd-1ff064449253] {org.apache.synapse.core.axis2.Axis2FlexibleMEPClient}
TID: [-1234] [] [2016-11-15 10:57:54,994] DEBUG {org.apache.synapse.core.axis2.SynapseCallbackReceiver} -  Callback added. Total callbacks waiting for : 1 {org.apache.synapse.core.axis2.SynapseCallbackReceiver}
TID: [-1] [] [2016-11-15 10:57:55,055] DEBUG {org.apache.axis2.transport.http.SOAPMessageFormatter} -  contentType from the OMOutputFormat =application/soap+xml {org.apache.axis2.transport.http.SOAPMessageFormatter}
TID: [-1] [] [2016-11-15 10:57:55,056] DEBUG {org.apache.axis2.transport.http.SOAPMessageFormatter} -  contentType returned =application/soap+xml; charset=UTF-8; action="https://hostname/Get_Daily_Usage" {org.apache.axis2.transport.http.SOAPMessageFormatter}
TID: [-1234] [] [2016-11-15 10:57:55,058] DEBUG {org.apache.axis2.transport.http.SOAPMessageFormatter} -  start writeTo() {org.apache.axis2.transport.http.SOAPMessageFormatter}
TID: [-1234] [] [2016-11-15 10:57:55,058] DEBUG {org.apache.axis2.transport.http.SOAPMessageFormatter} -    preserve=false {org.apache.axis2.transport.http.SOAPMessageFormatter}
TID: [-1234] [] [2016-11-15 10:57:55,058] DEBUG {org.apache.axis2.transport.http.SOAPMessageFormatter} -    isOptimized=false {org.apache.axis2.transport.http.SOAPMessageFormatter}
TID: [-1234] [] [2016-11-15 10:57:55,058] DEBUG {org.apache.axis2.transport.http.SOAPMessageFormatter} -    isDoingSWA=false {org.apache.axis2.transport.http.SOAPMessageFormatter}
TID: [-1234] [] [2016-11-15 10:57:55,059] DEBUG {org.apache.axis2.transport.http.SOAPMessageFormatter} -  end writeTo() {org.apache.axis2.transport.http.SOAPMessageFormatter}
TID: [-1234] [] [2016-11-15 10:57:55,060] DEBUG {org.apache.synapse.mediators.builtin.CallMediator} -  End : Call mediator - Non Blocking Call {org.apache.synapse.mediators.builtin.CallMediator}
TID: [-1234] [] [2016-11-15 10:57:55,060] DEBUG {org.apache.synapse.mediators.filters.FilterMediator} -  End : Filter mediator  {org.apache.synapse.mediators.filters.FilterMediator}
TID: [-1234] [] [2016-11-15 10:57:55,060] DEBUG {org.apache.synapse.mediators.base.SequenceMediator} -  End : Sequence <MyWSCallSeq> {org.apache.synapse.mediators.base.SequenceMediator}
TID: [-1234] [] [2016-11-15 10:57:55,060] DEBUG {org.apache.synapse.mediators.base.SequenceMediator} -  End : Sequence key=<Value {name ='null', keyValue ='MyWSCallSeq'}> {org.apache.synapse.mediators.base.SequenceMediator}
TID: [-1234] [] [2016-11-15 10:57:55,060] DEBUG {org.apache.synapse.mediators.base.SequenceMediator} -  End : Sequence <anonymous> {org.apache.synapse.mediators.base.SequenceMediator}
TID: [-1] [] [2016-11-15 10:57:55,397] DEBUG {org.apache.synapse.core.axis2.SynapseCallbackReceiver} -  Callback removed for request message id : urn:uuid:cb5852f6-994f-4da0-acbd-1ff064449253. Pending callbacks count : 0 {org.apache.synapse.core.axis2.SynapseCallbackReceiver}
TID: [-1234] [] [2016-11-15 10:57:55,399] DEBUG {org.apache.synapse.core.axis2.SynapseCallbackReceiver} -  Synapse received an asynchronous response message {org.apache.synapse.core.axis2.SynapseCallbackReceiver}
TID: [-1234] [] [2016-11-15 10:57:55,400] DEBUG {org.apache.synapse.core.axis2.SynapseCallbackReceiver} -  Received To: null {org.apache.synapse.core.axis2.SynapseCallbackReceiver}
TID: [-1234] [] [2016-11-15 10:57:55,400] DEBUG {org.apache.synapse.core.axis2.SynapseCallbackReceiver} -  SOAPAction:  {org.apache.synapse.core.axis2.SynapseCallbackReceiver}
TID: [-1234] [] [2016-11-15 10:57:55,400] DEBUG {org.apache.synapse.core.axis2.SynapseCallbackReceiver} -  WSA-Action:  {org.apache.synapse.core.axis2.SynapseCallbackReceiver}
TID: [-1234] [] [2016-11-15 10:57:55,400] DEBUG {org.apache.synapse.core.axis2.SynapseCallbackReceiver} -  Body : 
<?xml version='1.0' encoding='utf-8'?><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><soapenv:Body/></soapenv:Envelope> {org.apache.synapse.core.axis2.SynapseCallbackReceiver}
TID: [-1234] [] [2016-11-15 10:57:55,400] DEBUG {org.apache.synapse.core.axis2.SOAPUtils} -  convert SOAP11 to SOAP12 {org.apache.synapse.core.axis2.SOAPUtils}
TID: [-1234] [] [2016-11-15 10:57:55,400] DEBUG {org.apache.synapse.core.axis2.Axis2SynapseEnvironment} -  Injecting MessageContext {org.apache.synapse.core.axis2.Axis2SynapseEnvironment}
TID: [-1234] [] [2016-11-15 10:57:55,400] DEBUG {org.apache.synapse.core.axis2.Axis2SynapseEnvironment} -  Response received for the Continuation Call service invocation {org.apache.synapse.core.axis2.Axis2SynapseEnvironment}
TID: [-1234] [] [2016-11-15 10:57:55,400] DEBUG {org.apache.synapse.core.axis2.Axis2SynapseEnvironment} -  Mediating response using the ContinuationStateStack {org.apache.synapse.core.axis2.Axis2SynapseEnvironment}
TID: [-1234] [] [2016-11-15 10:57:55,401] DEBUG {org.apache.synapse.core.axis2.ProxyService} -  Setting specified anonymous fault-sequence for proxy {org.apache.synapse.core.axis2.ProxyService}
TID: [-1234] [] [2016-11-15 10:57:55,401] DEBUG {org.apache.synapse.mediators.base.SequenceMediator} -  Mediating using the SeqContinuationState type : NAMED name : MyWSCallSeq {org.apache.synapse.mediators.base.SequenceMediator}
TID: [-1234] [] [2016-11-15 10:57:55,401] DEBUG {org.apache.synapse.mediators.base.SequenceMediator} -  Setting the onError handler : UsageDownloadFailSeq for the sequence : MyWSCallSeq {org.apache.synapse.mediators.base.SequenceMediator}
TID: [-1234] [] [2016-11-15 10:57:55,401] DEBUG {org.apache.synapse.mediators.filters.FilterMediator} -  Filter mediator : Mediating from ContinuationState {org.apache.synapse.mediators.filters.FilterMediator}
TID: [-1234] [] [2016-11-15 10:57:55,401] DEBUG {org.apache.synapse.mediators.filters.FilterMediator} -  Sequence <FilterMediator> :: mediate() {org.apache.synapse.mediators.filters.FilterMediator}
TID: [-1234] [] [2016-11-15 10:57:55,401] DEBUG {org.apache.synapse.mediators.filters.FilterMediator} -  Mediation started from mediator position : 2 {org.apache.synapse.mediators.filters.FilterMediator}
Run Code Online (Sandbox Code Playgroud)

Rav*_*ala 5

好吧,这是一个好问题。但是,当您向代理服务发送请求时,您正在发送所有必要的标头,例如SOAPAction等。但是任务是某些东西会自行触发并执行,并且在后台使用Quartz调度。因此,涉及任务时,您需要在突触配置中设置所有必要的标头。为此,请在使用send或call mediator调用终结点之前,将以下属性添加到任务的突触配置中。

<property name="SOAPAction" scope="transport" value="urn:getQuote"/>
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助。编码愉快!