Reply action in OSB

Hi,
I need to create a message flow in the following way in OSB 11g.
Service Callout -> Send Reply back to consumer -> Another Service Call in Async Way.
Does the reply activity after the first service callout works?
Thanks
Siva

Are looking for some thing like below? What type of transport are you considering for proxy?
1) client request-->OSB Proxy---> Invoke Service Callout--> send response to client---> invoke service callout---> send response one more time to client

Similar Messages

  • OSB: Context variable changes for 'Reply' action

    HI,
    What are the differences between changes done by OSB to any of the context variables(body, inbound, outbound etc) when Reply with Success is used and Reply with failure is used.
    I have a Proxy service A consuming another proxy service B by RouteTo.
    When B has Reply with Success, A gets the response and fault does not get the generated within A.
    But when B has Reply with Error, fault gets generated within A.
    In both the cases,response xml that B is sending is same. So, what is that which makes fault generation within A. How would A know that fault is to be generated.
    Please help in understanding.
    TIA.
    Edited by: Ashish Rane on Dec 21, 2012 6:01 AM

    A Reply action will always return the content of $body variable as it is. The different between Reply with Success and Reply with failure lies in the content of transport headers being returned. In case of HTTP Service, if you do a reply with success, the calling service/application will received HTTP status code 200 or 0, which is a success status code for HTTP. In case of Reply with Failure, calling service/application will receive HTTP status code 500, which will enable the error handling in calling service/application to trigger. The best practice for SOAP based services is to always replace content of $body with a SOAP Fault when doing a Reply With Failure so that the calling application received details of fault (otherwise it just gets transport status code for failure but content of reply will still be original content of $body which might not indicate what the error was)

  • For each action in OSB

    Hi,
    I am new to Oracle Service Bus 11g. Could you please explain how the for each action in osb can be used.
    I have xml which is received from another service. I want to loop for each item and send this userId to particular callout.
    <execute service="myHistory">
    <input>
    <param name="userList" type="list">
    <item>
    <param name="userId">143<param>
    </item>
    <item>
    <param name="userId">14<param>
    </item>
    <item>
    <param name="userId">14<param>
    </item>
    <item>
    <param name="userId">143<param>
    </item>
    </param>
    <param name="dateFrom">01/01/2001</param>
    <param name="dateTo">01/01/2009</param>
    </input>
    </execute>
    Thank you
    Edited by: OlegS on Apr 20, 2011 4:38 AM
    Edited by: OlegS on Apr 20, 2011 4:39 AM
    Edited by: OlegS on Apr 20, 2011 5:30 AM

    Is it a part of for each activity? Where should I put it in ?
    I see only these fields in each activity:
    -for each variable
    -xpath
    -index variable
    -count variable.
    I can't find any example how to use this kind of activity. Could you please explain how to fill these fields for my case.
    Thank you.
    Edited by: OlegS on Apr 20, 2011 6:27 AM

  • Service Callout Action in OSB

    Hi ,
    Good morning to all
    I have issue on osb service callout.
    1. i developed a synchronous service using bpel after that i invoke that service in osb as business service. my aim by using service callout action to call that service and get response.
    but the problem is how pass the osb input request to bpel input request and also how to transform the bpel response data to osb response data...
    Thanks and regards
    venky

    Venky,
    the problem is how pass the osb input request to bpel input request and also how to transform the bpel response data to osb response data...You can transform the OSB request structure to bpel service request structure using Xquery/Xslt transformations either by using replace action or assign action ( replacing the $body as per Bpel request format ) before sending the request to Bpel in service call out.
    And in similar manner after getting the response from Bpel service use Xquery/Xslt transformation & using replace action to transform bpel response back to OSB response format.
    Regards,
    Abhinav Gupta
    Edited by: Abhinav on Dec 5, 2012 11:49 AM

  • Invoking secure proxy from service callout or route actions in OSB

    Secure proxy is the one which uses WS-Security Username token for authentication before request is processed. Is there any way we can call secure proxy from non-secure proxy. While calling secure-proxy (during service callout or route), I assume header and body will be passed to the secure proxy before secure proxy verifies the user from wsse:security element. While calling secure proxy, I am receiving an error that "General outbound security error. BEA-386400". Is any example that you can show of calling secure-proxy from service callout or route actions
    I am preparing the following header in non-secure proxy message flow diagram before invoking secure proxy.
    <soap-env:Header>
    <wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
    <wsu:Timestamp>
    <wsu:Created>2012-03-31T18:34:53.081-05:00</wsu:Created>
    <wsu:Expires>2012-04-25T23:34:53.081-05:00</wsu:Expires>
    </wsu:Timestamp>
    <wsse:UsernameToken xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
    <wsse:Username>Testuser</wsse:Username>
    <wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">testpassword</wsse:Password>
    <wsse:Nonce>7hoJIy00p+hwk/QiWpxT+Ndpr+4=</wsse:Nonce>
    <wsu:Created xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"/></wsse:UsernameToken>
    </wsse:Security>
    </soap-env:Header>

    Go back to
    compare Routing action versus Service Callout action versus Publish action?

  • How to carry out Dynamic Replace action in OSb

    Hi all
    I want to do a dynamic replace in OSB.
    like
    Lets my input be :-
    <cli:AccountInquiryRequest xmlns:cli="http://client.accountInquiry.dto.cards.nab.cz.fc.ofss.com">
    <cli:requestUID>string</cli:requestUID>
    <cli:cardType>string</cli:cardType>
    <cli:AcctId>5</cli:AcctId>
    <cli:scr>AcctId</cli:scr>
    <cli:dest>requestUID</cli:dest>
    </cli:AccountInquiryRequest>
    So what i want to do is check for element name in <scr>(in this case AcctId) and then replace the contains of the <AcctId> with the contains of the element name given in <dest>(in this case its requestUID)
    so in this case i want to replace the contain of requestUID with AcctId .
    Please help !!!
    Thanks

    I think you need to determine the xpath used for replace at runtime.. You can try looking at xslt xalan:evaluate function for this.
    The function syntax is as :
    <xsl:value-of select="xalan:evaluate($XPath)"/>
    You need to construct $XPath to point to right xpath . e.g concat("$body/*:",$body/*:dest)
    This will make $XPath to = $body/*:requestUID
    You can then pass this xpath string to xalan:evaluate.

  • HTTP BC randomly hangs on reply action

    I have a very simple test case where a BPEL process, providing a simple 'echo' service, is accessible trough a SOAP/http BC. However, the soap binding component regulary hangs on sending the reply back to the caller. This might occur after 9 messages have been processed, but it might as well happen after 573 messages have been processed. The only solution is to reboot Glassfish, after wich the BC will work again, for a little while at least.
    When enabling finest logging on the HTTP BC, i get:
    [#|2008-02-29T11:12:09.826+0100|WARNING|sun-appserver9.1|com.sun.jbi.engine.bpel.core.bpel.trace.BPELTraceManager|_ThreadID=26;_ThreadName=BPELSEInOutThread0;_RequestID=e15b497b-cb50-45f6-a2be-960bcebcef48;|REPLY-STARTSimpleEchoMessage|#]
    [#|2008-02-29T11:12:09.827+0100|FINE|sun-appserver9.1|sun-http-binding.com.sun.jbi.httpsoapbc.OutboundReceiver|_ThreadID=43;_ThreadName=Thread-27112;ClassName=com.sun.jbi.httpsoapbc.OutboundReceiver;MethodName=run;_RequestID=a9b0bd54-613f-41e3-96ac-8f93dcf7c8ab;|Got a message with SOAP binding; id: 214360751627735-52994-134235727298070151|#]
    [#|2008-02-29T11:12:09.827+0100|FINE|sun-appserver9.1|sun-http-binding.com.sun.jbi.httpsoapbc.OutboundAction|_ThreadID=56;_ThreadName=HTTPBC-OutboundReceiver-3;ClassName=com.sun.jbi.httpsoapbc.OutboundAction;MethodName=run;_RequestID=b7a01a29-8764-457a-9d73-2d8ea201701d;|Processing started for message exchange 214360751627735-52994-134235727298070151|#]
    [#|2008-02-29T11:12:09.828+0100|FINE|sun-appserver9.1|sun-http-binding.com.sun.jbi.httpsoapbc.OutboundMessageProcessor|_ThreadID=56;_ThreadName=HTTPBC-OutboundReceiver-3;ClassName=com.sun.jbi.httpsoapbc.OutboundMessageProcessor;MethodName=processMessage;_RequestID=b7a01a29-8764-457a-9d73-2d8ea201701d;|Response for exchange 214360751627735-52994-134235727298070151 received (10 ms}|#]
    [#|2008-02-29T11:12:09.828+0100|FINE|sun-appserver9.1|sun-http-binding.com.sun.jbi.httpsoapbc.OutboundMessageProcessor|_ThreadID=56;_ThreadName=HTTPBC-OutboundReceiver-3;ClassName=com.sun.jbi.httpsoapbc.OutboundMessageProcessor;MethodName=processMessage;_RequestID=b7a01a29-8764-457a-9d73-2d8ea201701d;|Processing message exchange 214360751627735-52994-134235727298070151 as inbound; pattern is http://www.w3.org/2004/08/wsdl/in-out|#]
    [#|2008-02-29T11:12:09.829+0100|FINER|sun-appserver9.1|sun-http-binding.com.sun.jbi.httpsoapbc.OutboundMessageProcessor|_ThreadID=56;_ThreadName=HTTPBC-OutboundReceiver-3;ClassName=com.sun.jbi.httpsoapbc.OutboundMessageProcessor;MethodName=getInboundEndpoint;_RequestID=b7a01a29-8764-457a-9d73-2d8ea201701d;|Getting inbound info for {SimpleEchoCompositeAppWoJMS}casaService1 casaPort1|#]
    [#|2008-02-29T11:12:09.829+0100|FINE|sun-appserver9.1|sun-http-binding.com.sun.jbi.httpsoapbc.jaxwssupport.AsyncJBIProvider|_ThreadID=56;_ThreadName=HTTPBC-OutboundReceiver-3;ClassName=com.sun.jbi.httpsoapbc.util.DebugLog;MethodName=debugLog;_RequestID=b7a01a29-8764-457a-9d73-2d8ea201701d;|Denormalizing received msg:
    <?xml version="1.0" encoding="UTF-8"?><jbi:message xmlns:msgns="http://newmedia.geisha.ibbt.be" type="msgns:echoResponseMessage" version="1.0" xmlns:jbi="http://java.sun.com/xml/ns/jbi/wsdl-11-wrapper"><jbi:part><ns1:echoResponse xmlns:ns1="http://newmedia.geisha.ibbt.be/xsd"><ns1:return>SimpleEchoMessage</ns1:return></ns1:echoResponse></jbi:part></jbi:message>|#]
    But after this line, the BC just seems to stop doing anything.
    I'm using the latest build available on the download page: Build 20080214.
    Is there any way to solve this problem?

    Was an issue ever logged for this? We are experiencing the same problem. I would like to know if/how the issue was resolved.
    It appears to be an issue with error handling in the HTTP BC. When we turned on profiling, we noticed the HTTPBC-JAXWS-Engine and HTTPBC-OutboundReceiver threads were locking. However, I can't tell 1) if the BPEL SE is producing bad data that is causing the HTTP BC to go down, 2) why an issue in one thread for lock the other threads, and 3) why the issue is intermittent and not more consistent.

  • OSB Validate action problem with xs:short datatype

    Hi,
    In the XSD, intPayment is defined as xs:short.
    We have the validate action in OSB proxy.
    If we pass below, everything is fine : (correct)
    <intPayment>96</intPayment>
    If we pass below, OSB is throwing a validate error indicating fractional digits after decimal point. (correct)
    <intPayment>96.01</intPayment>
    But if we pass below, OSB validate action is not catching :
    <intPayment>96.00</intPayment>
    I am assuming that OSB validate action should throw an error that 96.00 is not a valid value. (xs:short restricts any fractional digits after decimal point).
    Can you pl help me?
    Thanks,
    S
    Edited by: user13058197 on Jan 13, 2011 10:29 AM
    Edited by: user13058197 on Jan 13, 2011 12:16 PM

    I am assuming that OSB validate action should throw an error that 96.00 is not a valid value. (xs:short restricts any fractional digits after decimal point). Your assumption is incorrect and OSB is working as designed (actually as per XML standard). Actually short datatype is derived from int, int is derived from long, long is derived from integer and integer is derived from decimal.
    Definition of Integer (http://www.w3.org/TR/xmlschema-2/#integer) says -
    [Definition:] integer is ·derived· from decimal by fixing the value of ·fractionDigits· to be 0and disallowing the trailing decimal point. This results in the standard mathematical concept of the integer numbers. The ·value space· of integer is the infinite set {...,-2,-1,0,1,2,...}. The ·base type· of integer is decimal. And hence xs:short accepts 96.00 but does not accept 96.01
    Regards,
    Anuj

  • Reply with Success or Failure in ALSB/OSB

    Hi,
    What is the difference between Reply with Success and Reply with Failure.
    In the error handler of a proxy service I have a "Raise Error" action and after that I have Reply Acton.
    Response is the same whether I do reply with success or reply with Failure.
    Please help me, when should I use Reply with Success and Reply with Failure and what is the difference between the two.

    Reply with Success:
    tran:response-code in the response metadata will be set to '0' specifying a successful operation.
    In case of HTTP service the HTTP response code will be set to 200
    Response will contain contents of $body
    Any consumer of the service will see the call as being successfully completed.
    In case of JMS transport the JMS Queue or Topic will get an ACK back and message will be removed from the destination.
    This is usually used when you are able to properly handle an error and take any alternative actions needed to complete the request.
    Reply with Failure:
    tran:response-code in the response metadata will be set to '1' specifying a Failed operation.
    In case of HTTP service the HTTP response code will be set to 500
    Response will contain contents of $body NOT $fault. If you need to send back content of $fault you will have to replace contents of $body with those of $faults before using reply with failure.
    Any consumer of the service will see the call as being failed and depending on the error handling in the consumer code error processing will be activated.
    In case of JMS transport the JMS Queue or Topic will receive a NACK back but the message will NOT roll back and will be removed from the destination just like in case of Reply with Success. This happens because using a Reply action is considered as an exception being handled properly and a commit will be sent back to the JMS destination. To roll back the message ensure that you use Raise Error instead of a Reply action.
    Hope this helps. Please let us know if you have any more doubts.

  • OSB File Proxy Error Handling

    Hi,
    I've encountered a strange behaviour in my proxy service.
    Legend:
    FPS -> File-based Proxy Service, reads files from a local directory
    EH -> ErrorHandler of the FPS
    JBS -> JMS-based Business Service, writes to a JMS Queue
    Scenario: FPS reads files and calls JBS to put messages in a queue
    Problem:
    When testing my FPS, when there is an error (for example in the Service Callout to the JBS) I noticed that the system instanciates a new Proxy Service to "retry" the same file. I also noticed that if I place a Reply Action in the of my EH, this retry mechanism doesn't happen.
    What I gather from this is that the file adaptor is somehow transactional, retrying the process (only once) in the event of an error.
    Question:
    Is this the normal behaviour for a file adaptor? If so, how can I configure the number of retries?
    Thanks,
    Adel

    As mentioned before, in the tests I executed I noticed that when there's an error, the system automatically retries the file by creating a new instance of the same Proxy Service.I'm little confused what type of errors you are talking. Under the hood MDB is used (that is the reason you see JMS queues wlsb.internal.transport.task.queue.ftp,wlsb.internal.transport.task.queue.file). Based on you error you can easily figure out what might be the cause. I suspect that to be effect of redelivery-limit=1.
    eg in xbusResources-jms.xml in your domain config
    <queue name="wlsb.internal.transport.task.queue.file">
    <sub-deployment-name>wlsbJMSServer</sub-deployment-name>
    <delivery-failure-params>
    <redelivery-limit>1</redelivery-limit>
    </delivery-failure-params>
    <jndi-name>wlsb.internal.transport.task.queue.file</jndi-name>
    </queue>
    So, what's I'm trying to figure out is if this behaviour is normal? Is this the way OSB implements retry at the Proxy Service level when it's configured with a file-adaptor?Same behavior will also be in FTP/SFTP as with File
    Thanks
    Manoj

  • Can OSB proxy and business service act as a stub ?

    Hi all,
    would like to enquire whether I can achieve the following. I have a web service consumer. Can the consumer call a OSB proxy service and within the proxy service, I use XQuery and extract the body and perform some transformation. And the proxy service return variables to the consumer? Without calling any business proxy in the process
    Can the proxy service act as a stub? Would I need a dummy business service for it?
    Or my objective cannot be achieved in OSB?
    Appreciate any thoughts.

    Hi,
    Assuming the incoming body contains "name: Peter, age: 13". Can the return information contain "name:Peter, age:13, Status: N"Yes, it's possible too, in your Response XQuery Transformation u can add n number of additional fields, and send back to requester.
    You can do both Translations and Transformations.
    Can I also configure the proxy service not to call any business service?Have you made/generated your proxy service from existing Business Service?
    If yes,: then your message flow would have only Route Node ( routing to Business Service).
    1. To do transformations on request add a Pipeline Pair in message flow and inside it add stage for doing XQuery transformations.
    2. Use Reply Action in stage as last Actions and do reply with Success.( The message flow won't go to Route actions after this ).
    IF No : Then either remove the OSB Action which is being used to call Business Service.
    It is considered good etiquette to reward answerers with points (as "helpful" - 5 pts - or "correct" - 10pts).
    Regards,
    Abhinav Gupta
    Edited by: Abhinav on Mar 8, 2013 3:27 PM

  • Rollback of Messages in OSB

    I have a usecase as below -
    jms.Q1 (nonxa) -- [ proxy service -- publish to a jms.Q2 (xa) -- raise an error ]
    A proxy service receives request from non-xa queue (Q1) ,
    then the proxy service publish that message to another queue (Q2) via XA enabled business service (i use connection factory as XA) ,
    then i raise an error in the message flow.
    What i need is, I want to rollback the message which i published to "Q2" once i raise an error in message flow.
    Can anyone please help me out whether this is possible by using any of the routing option,etc..?
    Regards
    Sesha

    Configure these:
    1. Enable the option Same Transaction For Response in the Proxy Service configuration.
    2. Use QoS as Exactly Once in the publish action which calls the JMS business service.
    3. Use XA connection factory for connection between businsss service and target JMS Queue
    4. Make sure that the error reaches System Error Handler. To ensure this you need to make sure that the flow does not encounter any Reply action after the Raise Error action you have configured in the message flow.
    Once you configure like above:
    1. Message will be deleted from source queue as soon as OSB Proxy picks up the message (since this is not XA enabled)
    2. Message will be published to target JMS queue but not committed till the message flow is completed. So it can rollback in case there is an error after the publish action.
    3. If based on a condition a Raise error action is executed (or any other error happens in the flow) message will be rolled back from target queue in case the error reaches the System Level error handler. So message will not be present in neither source queue nor the target queue.

  • Fault propagation from Composite - OSB - Caller

    Good morning
    I'm trying to implement a OSB as virtualizer from some composite services. For that I have connected the composite via direct binding to the OSB and created a OSB project where I import from URL the composite db WSDL and dependencies and create a Business Service over it. After that I'm creating a proxy service over the created business service automatically.
    Everithing works fine in the happy cenario, but the problem is when a business exception configured in the composite occurs.
    For example, in this composite I have schematron validation that validate if some fields are correct or not. In case of miss function a ValidationError is thrown.
    If I'm calling directly the composite for example from SOAPUi I get the schematron configured fault with:
    <env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">
    <env:Header/>
    <env:Body>
    <env:Fault xmlns:fpre="urn:affinity.xxx.xxx.xxxx.xx">
    <faultcode>fpre:internalFault</faultcode>
    <faultstring/>
    <faultactor/>
    <detail>
    <ns1:ValidationErrors xmlns:sch="http://www.ascc.net/xml/schematron" xmlns:ns1="http://xmlns.oracle.com/pcbpel/validationservice" xmlns:urn="urn:affinity.xxx.xx.xxxx.xx">
    <error>affinity.validation.name.en.mandatory</error>
    <error>affinity.validation.name.fr.mandatory</error>
    <error>affinity.validation.name.nl.mandatory</error>
    <error>affinity.validation.scope.mustBeInternalOrExternal</error>
    </ns1:ValidationErrors>
    </detail>
    </env:Fault>
    </env:Body>
    </env:Envelope>
    But when calling via OSB I get:
    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
    <soapenv:Body>
    <soapenv:Fault>
    <faultcode>soapenv:Server</faultcode>
    <faultstring>BEA-380001: {urn:affinity.xxxxx.xxx.xx}internalFault</faultstring>
    *<detail>*
    *<con:fault xmlns:con="http://www.bea.com/wli/sb/context">*
    *<con:errorCode>BEA-380001</con:errorCode>*
    *<con:reason>{urn:affinity.xxxxx.xxx.xx}internalFault</con:reason>*
    *<con:location>*
    *<con:node>RouteTo_bc-core-affinity-service-bs</con:node>*
    *<con:path>response-pipeline</con:path>*
    *</con:location>*
    *</con:fault>*
    *</detail>*
    </soapenv:Fault>
    </soapenv:Body>
    </soapenv:Envelope>
    Can someone help me how can I get the fault propagated to the details instead of the OSB fault ?
    Thanks

    This is because when OSB encounters a fault, the flow enters the exception pipeline which is composed of stage (or route )error handlers, service error handler and then system error handler. The sequence of flow is :
    stage ( or route error handler) --> service error handler --> system error handler.
    If some handler is not available, the error is automaticlly propogated to the next handler in the chain. So all errors goes to system error handler unless you specify a reply action within one of the intermediate error handler in which case further flow down the exception pipeline is suspended. System error handler is out of your control and if error reaches here, OSB generates its own fault and replaces the existing one. So if you want to have control make sure the fault is not propogated to the system error handler
    Best place to view the exception sequence flow is the trace viewin the test console

  • Exiting from OSB pipeline when application error occurs

    Hi
    My proxy exposes 3 operations to the consumers though WSDL with different inputs and similar output formats. For all these 3 operations there is a common service to be called before actually get into the operational branch that i created for handling these operations. so the message flow would be like below:
    pipelinepair1 -> stage1 in pipeline1 ->service callout -> opeartional branch.
    I am manipulating the response n respone line of pipeline1 for all the operations as its similar strcuture. If an application error arises in service callout the error will be in the body. so if the error raise i should directly exit from message flow in service callout itself wthout proceeding to operational branch. So i tried with reply action, though i am existing from OSB its not going into response pipeline of pipelinepair1. How can i handle this scenario? i don't want to put the same thing in service callout response pipeline again. Please let me know your insights.
    Thanks
    Siva

    This could be done in different ways... why you need to manipulate the response in response pipeline only.
    When your service call out fails do a 'Raise error' action.. and process the reply in stage error handler which will complete with a "reply with failue ( or success) action. if you have not configured an stage error handler, you need to do this in the service error handler.
    As this is an error case it is apt you handle this at the error pipeline( stage or service error handler) rather than the response pipeline.

  • OSB JMS transaction

    I'm trying to setup a proxy service to dequeue a message from JMS and submit to a business service. If the business service fails, I want the jsm message to remain in the queue/"rollback". I setup a queue CF with "XA Connection Factory Enabled", and I have a proxy service dequeueing from a queue through that connection factory. In the proxy service I have the "Is XA Reuired" box checked on the "JMS Transport" tab, and in the message flow, I have a route node with an exception handler that is calling the business service that I have setup to fail on purpose. The exception handler has a Reply "with failure" action.
    OSB-PS -> JMS -> OSB-PS -> OSB-BS -> Failing Service
    I want this to roll back to the JMS queue.
    Did I miss anything in setting up the XA support for this process? When I invoke the proxy service, it errors off, but the message doesn't get rolled back to the original queue.
    Does anyone have an example or docs on how to set this up?
    Thanks for any help.

    Hi All,
    I have checked the Retry with Application Errors, but no change.
    Also have a Routing Option set to "Exaclty Once".
    There is also a Route error handler where I raise an error and Reply with Failure.
    The JMS Connection Factory used is XA enabled and so is the JMS Proxy service.
    The strange thing I observe is when the endpoint server is down, teh transaction gets rolled back and remains in the queue.
    However, when the server is up but the path of the URI given is either incorrect(404 HTTP Response) or there is an internal server error(500 HTTP response),
    the message is picked up from the queue and is lost.
    What I am supposing the reason would be, the proxy is able to make connection to the http uri but there is an error from the business service, while in the first case, the server is not up and hence the connection itself is failing and the transaction is getting rolled back at the request pipeline level itself.
    I compared the logs when server is down and when the path is not found-> the difference I found was
    1. Server is down: Fault occurs in the flow of the Request flow of the Route node
    2. Server is up but path not found or internal error: Fault is thrown in the response action after getting the HTTP response.
    I have even tried Raise Error and Reply with failure at the Service Error Handler level as well, but the message is lost :(
    Could anyone please help me out on this? Is there any workaround for the same?

Maybe you are looking for

  • Find flagged process orders for deletion

    Hi all , How do i find flagged process orders for deletion ? i need report or t-code

  • Setting native code from a class of a class passed in...

    I hope this makes sense, and its probably a stupid question but here it goes. I have a native function that takes in a java class. I can call the getters of this class from the native code to get values to fill out my c structure just fine, but conce

  • Why can't you randomly play a Playli

    Zen Micro is great, but I can only get it to randomly play all music and not just a selected playlist. It makes sense that you can divide your music into different playlists, but what use is it if you can't randomly play the playlist. Maybe I am miss

  • Document Clearing Rule

    Hi, All Experts. I want to what is clearing rule in FI ( OBIA & OBIB )? In mysystem OBIA is blank but in OBIB it is showing in Account Type K and clearing Rule is CH where it is not define in OBIA. So from where it come exactly ? I am facing one prob

  • There seems to be an error in the function module OPEN_FORM obstructing the

    Hi, There seems to be an error in the function module OPEN_FORM obstructing the process. Some vendors are not cabaple of usinf EDI and for some reason also not willing to use TTOOL solutions (example Hewlet Packard). In those cases the supplier still