Result Caching in Business Service

Hi,
We have a web service to the provider system and need to do the web service result in the Business service.
We have enabled the caching and used the Cache token expression as given below.
concat($body/sch:Request/sch:ID/text(),'-',$body/sch:Request/sch:FromDate/text(),'-',$body/sch:Request/sch:ToDate/text())
But the expression seems to be not working. Please let me know if the expression syntax is correct and the ways to check if the result is returned from Cache (Apart from checking if the web services hitting Provider system).
Any inputs on this will be very helpful
Thanks,
Arun M
Edited by: 842347 on May 20, 2013 1:31 PM

if your BS is based on a WSDL, this should take care of chaining the operation to the key to ensure uniqueness of the key in the cache.
The official documentation (that I can't seem to find right now) explains how the Coherence key is formed:
chaining the Service name, the operation and the eventual key you specify with an XPath.

Similar Messages

  • Result Cache in business service

    Lets say I have two operation in the business service operation1 and operation2. I want to cache operation1 but not operation2. Can I do this with Result Caching? I have tried to put this expression fn:string($operation)='operation1' in cache token expression but it's always caching both operations
    Appreciate your reply on this
    Edited by: 868539 on Sep 21, 2011 7:19 PM

    I don't think it is possible as of now though you may raise an enhancement request with support.
    As a workaround, you may create separate business services for caching and non-caching operations and you may have dynamic routing in the proxy service.
    Regards,
    Anuj

  • How to enable cache on Business service having protocol other than JCA

    Hi all,
    In my use case I should use cache on my business service which uses Http as its transport protocol.
    when I try to use the cache on http business service I am unable to use the cache functionality.
    When I try to use the cache on JCA business service I am able to use it. Please help me in finding the
    ways in which I can enable cache functionality on the business service which uses the other protocols.
    Thanks,
    Phanindra.

    Caching in Business Service should work fine on HTTP transport as well. What all configurations have you done in your HTTP business service and how are you testing it?

  • Result cache refresh at business service (OSB) ?

    Hi,
    I have configured my business service at osb side to cache the result. My business service is pointing JCA- dbadapter which is calling a stored procedure.
    Is there any way to update/refresh the cache if there are any changes in the corresponding tables which the store procedure is using. I have googled a lot on this but have found nothing on it.
    Any help would be very much appreciated.

    Is there any way to update/refresh the cache if there are any changes in the corresponding tables which the store procedure is using. I have googled a lot on this but have found nothing onAFAIK, OSB does not provide any functionality to refresh the cache without hitting the backend sevice.
    The result caching in Oracle Service Bus is available for Business Services. When you enable result caching, the Business Service will not reach the backend service and the response will come from the cache entry. This entry can expire and if the entry is expired, the next service call will indeed reach the backend service and update the cache entry.
    Each cached result has its own TTL. When a TTL is reached, Oracle Coherence flushes that individual cached result.
    It would be better if you can raise a support ticket and ask for enhancement.
    Regards,
    Abhinav Gupta

  • Result Caching in OSB

    We are planning to implement OSB result caching feature in our project.We did the following to do a POC.
    1.Created a DBAdapter to select from a table and created a BS out of that.
    2.Enabled Result caching with TTL for 5 mins.
    3.Invoked the BS from a PS.
    4.Tested the PS by invoking from test cosnole.
    5.Response was received as expected.
    6.Changed the value in the table and tested again within 5 mins.
    7.New values were returned instead of the ones in the cache.
    What might be the problem?Should it not return the old value from table?

    Each cached result is uniquely identified by a cache key that is made up of the ServiceRef (the unique identifier for the service which is the fully qualified path name of the service), the operation being invoked, and a cache token String. The cache token helps to uniquely identify a single cache result among other cache results for one business service. You control the value of the cache token. You can set the cache token either by configuring the Cache Token expression in the Result Caching configuration for the business service or by using the cache-token metadata element in the $transportMetaData using the proxy service message flow. If there is no cache-token defined then caching may not work as expected.
    Please refer -
    35.7.5 Improving Performance by Caching Business Service Results at http://download.oracle.com/docs/cd/E17904_01/doc.1111/e15867/configuringandusingservices.htm#CHDDCGEE
    http://blogs.oracle.com/MarkSmith/2011/03/osb_and_coherence_integration_1.html
    Regards,
    Anuj

  • Caching in OSB with Business Service

    Hi All,
    I am done with business service development, but I need to configure caching to fetch the data from cache if TTL (Time to Live) <24 if is more then my request to interact with the database can please help how I can I do it, as I am new to caching concept.
    Thank You,
    Vinay Kumar

    Hi Vinay, Select the Business Service - Message Handling Configuration - in Advanced Settings section, you can configure caching for the business service; select Result caching as Supported, and specify cache token (unique key) and expiration time (TTL). Note- once the TTL exceeds for a particular data, the business service will fetch the result from the target system/database and cache it, and the cycle repeats (no specific configuration to be done for this).  Also, before configuring the above, first enable the caching globally in OSB; go to Operations - Global settings - select Enable Result caching, and activate the changes.

  • SOA Suite Business Rules: Error caching the Decision Services metadata

    hi ofm users
    im currentntly trying
    SOA Suite 11.1.1.1.0
    on Oracle XE
    on Windows XP Pro
    what im trying is a simple use case of business rule component,
    my service is getWorkStatusByDay, that i implement using
    business rules component using decision table.
    my rule model is (conceptually):
    Day{
         String id;
         String code;//mon,tue,wed,...,sat,sun
    WorkStatus{
         String id;
         String code;//holiday, work
    WorkStatus getWorkStatusByDay(Day):
    is rule service that decides WorkStatus code by Day code,
    eg:
    if Day.code=mon,tue,wed,...,fri then we got WorkStatus.code=work
    if Day.code=sat,sun then we got WorkStatus.code=holiday
    i've successfully created the composite project, using
    rule component, mediator, and exposed it as a webservice
    compiled and deployed ok.
    but when i try to run the service using soapUI WS tester,
    i'm getting error in the console, see stacktrace below.
    im able to reproduce the error by deploying the project
    to another computer with a same spec as above.
    So is there any solution to this ? how to fix this issue,
    as this is a very basic sample scenario.
    Any information will be appreciated,
    as im looking forward to evaluating Oracle Business for a client project :)
    [2010-08-11T14:07:14.593+07:00] [soa_server1] [ERROR] [] [oracle.soa.services.rules] [tid: [ACTIVE].ExecuteThread: '4' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: <anonymous>] [ecid: 0000IdVyLm30nnWFLzmJOA1CO^J500000D,0] [WEBSERVICE_PORT.name: getWorkStatusByDayPT_pt] [APP: soa-infra] [composite_name: TestRule] [component_name: mapWorkStatusByDay] [component_instance_id: c984b23f-0370-478b-99e1-83b651e2e35c] [J2EE_MODULE.name: fabric] [WEBSERVICE.name: getWorkStatusByDay] [J2EE_APP.name: soa-infra] [composite_instance_id: 40001] <.> Error caching the Decision Services metadata.[[
    Error caching the decision services metadata for path default/TestRule!1.0*91126208-425e-4d35-bca3-d2585ec941ea/mapWorkStatusByDay.
    Check the underlying exception and correct the error. This is most likely due to a rule modeling isssue. Validate the rule dictionary in rule designer and fix any errors and warnings. If the error persists, contact Oracle Support Services.
    ORABPEL-36109
    Error caching the Decision Services metadata.
    Error caching the decision services metadata for path default/TestRule!1.0*91126208-425e-4d35-bca3-d2585ec941ea/mapWorkStatusByDay.
    Check the underlying exception and correct the error. This is most likely due to a rule modeling isssue. Validate the rule dictionary in rule designer and fix any errors and warnings. If the error persists, contact Oracle Support Services.
         at oracle.bpel.services.rules.impl.DecisionServiceCache.cacheDecisionServiceMetadata(DecisionServiceCache.java:1211)
         at oracle.bpel.services.rules.impl.DecisionServiceCache.prepare(DecisionServiceCache.java:359)
         at oracle.bpel.services.rules.impl.DecisionServiceImpl.preProcess(DecisionServiceImpl.java:1164)
         at oracle.bpel.services.rules.fabric.BusinessRulesServiceEngine.request(BusinessRulesServiceEngine.java:570)
         at oracle.integration.platform.blocks.mesh.SynchronousMessageHandler.doRequest(SynchronousMessageHandler.java:139)
         at oracle.integration.platform.blocks.mesh.MessageRouter.request(MessageRouter.java:179)
         at oracle.integration.platform.blocks.mesh.MeshImpl.request(MeshImpl.java:144)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
    Caused by: oracle.rules.rl.exceptions.ParseException: encountered 'rule' when expecting one of:
    <XML_IDENTIFIER> ...<IDENTIFIER> ...
    at line 10 column 49 in main
         at oracle.rules.rl.exceptions.ExceptionFactory.createParseException(ExceptionFactory.java:577)
         at oracle.rules.rl.analyze.RulesetParser.generateParseException(RulesetParser.java:25)
         at oracle.rules.rl.parse.RLParser.jj_consume_token(RLParser.java:5430)
         at oracle.rules.rl.parse.RLParser.Symbol(RLParser.java:697)
         at oracle.rules.rl.parse.RLParser.Qname(RLParser.java:672)
         at oracle.rules.rl.parse.RLParser.ClassName(RLParser.java:795)
         at oracle.rules.rl.parse.RLParser.Type(RLParser.java:729)
         at oracle.rules.rl.parse.RLParser.Parameter(RLParser.java:886)
         at oracle.rules.rl.parse.RLParser.Parameters(RLParser.java:860)
         at oracle.rules.rl.parse.RLParser.Function(RLParser.java:1005)
    [2010-08-11T14:07:14.718+07:00] [soa_server1] [ERROR] [] [oracle.soa.services.rules] [tid: [ACTIVE].ExecuteThread: '4' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: <anonymous>] [ecid: 0000IdVyLm30nnWFLzmJOA1CO^J500000D,0] [WEBSERVICE_PORT.name: getWorkStatusByDayPT_pt] [APP: soa-infra] [composite_name: TestRule] [component_name: mapWorkStatusByDay] [component_instance_id: c984b23f-0370-478b-99e1-83b651e2e35c] [J2EE_MODULE.name: fabric] [WEBSERVICE.name: getWorkStatusByDay] [J2EE_APP.name: soa-infra] [composite_instance_id: 40001] <.> [[
    oracle.fabric.common.BusinessFaultException
         at oracle.bpel.services.rules.impl.DecisionServiceCache.cacheDecisionServiceMetadata(DecisionServiceCache.java:1211)
         at oracle.bpel.services.rules.impl.DecisionServiceCache.prepare(DecisionServiceCache.java:359)
         at oracle.bpel.services.rules.impl.DecisionServiceImpl.preProcess(DecisionServiceImpl.java:1164)
         at oracle.bpel.services.rules.fabric.BusinessRulesServiceEngine.request(BusinessRulesServiceEngine.java:570)
         at oracle.integration.platform.blocks.mesh.SynchronousMessageHandler.doRequest(SynchronousMessageHandler.java:139)
         at oracle.integration.platform.blocks.mesh.MessageRouter.request(MessageRouter.java:179)
         at oracle.integration.platform.blocks.mesh.MeshImpl.request(MeshImpl.java:144)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:597)
    -----

    hi ofm users
    im currentntly trying
    SOA Suite 11.1.1.1.0
    on Oracle XE
    on Windows XP Pro
    what im trying is a simple use case of business rule component,
    my service is getWorkStatusByDay, that i implement using
    business rules component using decision table.
    my rule model is (conceptually):
    Day{
         String id;
         String code;//mon,tue,wed,...,sat,sun
    WorkStatus{
         String id;
         String code;//holiday, work
    WorkStatus getWorkStatusByDay(Day):
    is rule service that decides WorkStatus code by Day code,
    eg:
    if Day.code=mon,tue,wed,...,fri then we got WorkStatus.code=work
    if Day.code=sat,sun then we got WorkStatus.code=holiday
    i've successfully created the composite project, using
    rule component, mediator, and exposed it as a webservice
    compiled and deployed ok.
    but when i try to run the service using soapUI WS tester,
    i'm getting error in the console, see stacktrace below.
    im able to reproduce the error by deploying the project
    to another computer with a same spec as above.
    So is there any solution to this ? how to fix this issue,
    as this is a very basic sample scenario.
    Any information will be appreciated,
    as im looking forward to evaluating Oracle Business for a client project :)
    [2010-08-11T14:07:14.593+07:00] [soa_server1] [ERROR] [] [oracle.soa.services.rules] [tid: [ACTIVE].ExecuteThread: '4' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: <anonymous>] [ecid: 0000IdVyLm30nnWFLzmJOA1CO^J500000D,0] [WEBSERVICE_PORT.name: getWorkStatusByDayPT_pt] [APP: soa-infra] [composite_name: TestRule] [component_name: mapWorkStatusByDay] [component_instance_id: c984b23f-0370-478b-99e1-83b651e2e35c] [J2EE_MODULE.name: fabric] [WEBSERVICE.name: getWorkStatusByDay] [J2EE_APP.name: soa-infra] [composite_instance_id: 40001] <.> Error caching the Decision Services metadata.[[
    Error caching the decision services metadata for path default/TestRule!1.0*91126208-425e-4d35-bca3-d2585ec941ea/mapWorkStatusByDay.
    Check the underlying exception and correct the error. This is most likely due to a rule modeling isssue. Validate the rule dictionary in rule designer and fix any errors and warnings. If the error persists, contact Oracle Support Services.
    ORABPEL-36109
    Error caching the Decision Services metadata.
    Error caching the decision services metadata for path default/TestRule!1.0*91126208-425e-4d35-bca3-d2585ec941ea/mapWorkStatusByDay.
    Check the underlying exception and correct the error. This is most likely due to a rule modeling isssue. Validate the rule dictionary in rule designer and fix any errors and warnings. If the error persists, contact Oracle Support Services.
         at oracle.bpel.services.rules.impl.DecisionServiceCache.cacheDecisionServiceMetadata(DecisionServiceCache.java:1211)
         at oracle.bpel.services.rules.impl.DecisionServiceCache.prepare(DecisionServiceCache.java:359)
         at oracle.bpel.services.rules.impl.DecisionServiceImpl.preProcess(DecisionServiceImpl.java:1164)
         at oracle.bpel.services.rules.fabric.BusinessRulesServiceEngine.request(BusinessRulesServiceEngine.java:570)
         at oracle.integration.platform.blocks.mesh.SynchronousMessageHandler.doRequest(SynchronousMessageHandler.java:139)
         at oracle.integration.platform.blocks.mesh.MessageRouter.request(MessageRouter.java:179)
         at oracle.integration.platform.blocks.mesh.MeshImpl.request(MeshImpl.java:144)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
    Caused by: oracle.rules.rl.exceptions.ParseException: encountered 'rule' when expecting one of:
    <XML_IDENTIFIER> ...<IDENTIFIER> ...
    at line 10 column 49 in main
         at oracle.rules.rl.exceptions.ExceptionFactory.createParseException(ExceptionFactory.java:577)
         at oracle.rules.rl.analyze.RulesetParser.generateParseException(RulesetParser.java:25)
         at oracle.rules.rl.parse.RLParser.jj_consume_token(RLParser.java:5430)
         at oracle.rules.rl.parse.RLParser.Symbol(RLParser.java:697)
         at oracle.rules.rl.parse.RLParser.Qname(RLParser.java:672)
         at oracle.rules.rl.parse.RLParser.ClassName(RLParser.java:795)
         at oracle.rules.rl.parse.RLParser.Type(RLParser.java:729)
         at oracle.rules.rl.parse.RLParser.Parameter(RLParser.java:886)
         at oracle.rules.rl.parse.RLParser.Parameters(RLParser.java:860)
         at oracle.rules.rl.parse.RLParser.Function(RLParser.java:1005)
    [2010-08-11T14:07:14.718+07:00] [soa_server1] [ERROR] [] [oracle.soa.services.rules] [tid: [ACTIVE].ExecuteThread: '4' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: <anonymous>] [ecid: 0000IdVyLm30nnWFLzmJOA1CO^J500000D,0] [WEBSERVICE_PORT.name: getWorkStatusByDayPT_pt] [APP: soa-infra] [composite_name: TestRule] [component_name: mapWorkStatusByDay] [component_instance_id: c984b23f-0370-478b-99e1-83b651e2e35c] [J2EE_MODULE.name: fabric] [WEBSERVICE.name: getWorkStatusByDay] [J2EE_APP.name: soa-infra] [composite_instance_id: 40001] <.> [[
    oracle.fabric.common.BusinessFaultException
         at oracle.bpel.services.rules.impl.DecisionServiceCache.cacheDecisionServiceMetadata(DecisionServiceCache.java:1211)
         at oracle.bpel.services.rules.impl.DecisionServiceCache.prepare(DecisionServiceCache.java:359)
         at oracle.bpel.services.rules.impl.DecisionServiceImpl.preProcess(DecisionServiceImpl.java:1164)
         at oracle.bpel.services.rules.fabric.BusinessRulesServiceEngine.request(BusinessRulesServiceEngine.java:570)
         at oracle.integration.platform.blocks.mesh.SynchronousMessageHandler.doRequest(SynchronousMessageHandler.java:139)
         at oracle.integration.platform.blocks.mesh.MessageRouter.request(MessageRouter.java:179)
         at oracle.integration.platform.blocks.mesh.MeshImpl.request(MeshImpl.java:144)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:597)
    -----

  • Oracle service bus cache flush/clear - business service

    Hi Everyone,
    We are currently using oracle service bus as an integration platform. We are conducting a disaster recovery exercise for on of the applications (A) integrated to OSB, but the OSB is always connecting to the primary node of the application A though the DNS at application A is pointing to the secondary node.
    We believe this is happening because OSB is caching the IP address of the application A (though it is using DNS) and keeps connecting to the same server even if the primary traffic is diverted to the secondary node.
    Can someone please let us know if there is a way we can clear the cache of the business service (used to connect to the application A) without restarting the servers?
    Thank you.
    Regards,
    Ram

    Yes, by default the JVM will cache the name resolution. You can change this behaviour by adding the TTL in the managed server startup parameters as follows:
    -Dnetworkaddress.cache.ttl=120 -Dnetworkaddress.cache.negative.ttl=10
    The above parameters mean that the JVM will cache the name resolution for 2 minutes in case of success and for 10 seconds in case of a failure.
    For testing purposes, you can reduce the ttl from 120 seconds, but when in production make sure that this value is not too low.
    Regards,
    Fabio Douek

  • Oracle service bus Business service - Cache Flush/clear

    Hi Everyone,
    We are currently using oracle service bus as an integration platform. We are conducting a disaster recovery exercise for on of the applications (A) integrated to OSB, but the OSB is always connecting to the primary node of the application A though the DNS at application A is pointing to the secondary node.
    We believe this is happening because OSB is caching the IP address of the application A (though it is using DNS) and keeps connecting to the same server even if the primary traffic is diverted to the secondary node.
    Can someone please let us know if there is a way we can clear the cache of the business service (used to connect to the application A) without restarting the servers?
    Thank you.
    Regards,
    Ram

    Yes, by default the JVM will cache the name resolution. You can change this behaviour by adding the TTL in the managed server startup parameters as follows:
    -Dnetworkaddress.cache.ttl=120 -Dnetworkaddress.cache.negative.ttl=10
    The above parameters mean that the JVM will cache the name resolution for 2 minutes in case of success and for 10 seconds in case of a failure.
    For testing purposes, you can reduce the ttl from 120 seconds, but when in production make sure that this value is not too low.
    If you follow the above, you don't have to restart anything and you don't have to write any script. The IP address is going to be updated as long as the DNS server is being updated correctly (you can easily test by pinging the host name)
    Regards,
    Fabio Douek

  • OSB: When does invokation from http Business Service result into an error

    Hi,
    I want to know when does invokation from http Business Service in OSB result into an error.
    I have a http based business service which is calling an external service on http url.
    I want to know when this business service is invoke/tested, what are the cases in which the invokation will result into an error.
    What does OSB read to cause the invokation an error.
    I am aware that it reads the http-response-code. If its not 200 or 0, it will result into an error.
    Want to validate this understanding and also want to know what are the other case that will cause this happen. Is it by any way dependent on body content?
    Please help. Please share any good links for the topics related to this.
    TIA.
    Regards,
    Ashish

    Hi,
    Some info here...
    http://svgonugu.wordpress.com/2011/06/15/fault-handling-in-osb/
    Cheers,
    Vlad

  • OSB 11g - testing Business service throws Premature end of file.

    Hi,
    I am testing a business service which invokes a webservice. I have a load balancer.
    When testing business service from test console, I get the error "SoapService.doPost: unparseable XML in client Soap request, exception: org.xml.sax.SAXParseException: Premature end of file."
    I tried the following options:
    1. Changed <http:Connection> to close
    2. Added -DHTTPClient.disableKeepAlives=true in console - Servers-osbserver - Server Start
    Any pointers will be helpful.
    Thanks
    Ganesh
    Error:
    The invocation resulted in an error: Internal Server Error.
         <SOAP-ENV:Envelope      SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema">
         <SOAP-ENV:Body      xmlns:m="urn:www.my-url.com">
         <SOAP-ENV:Fault>
         <faultcode>SOAP-ENV:Client.XMLFormatError</faultcode>
         <faultstring>Client XML Format Error</faultstring>
         <detail>
         <XML_PARSING_EXCEPTION>
         35: SoapService.doPost: unparseable XML in client Soap request, exception: org.xml.sax.SAXParseException: Premature end of file.
         </XML_PARSING_EXCEPTION>
         </detail>
         </SOAP-ENV:Fault>
         </SOAP-ENV:Body>
         </SOAP-ENV:Envelope>
    Response Metadata      
         <con:metadata      xmlns:con="http://www.bea.com/wli/sb/test/config">
         <tran:headers      xsi:type="http:HttpResponseHeaders" xmlns:http="http://www.bea.com/wli/sb/transports/http" xmlns:tran="http://www.bea.com/wli/sb/transports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
         <tran:user-header      name="Expires" value="Mon, 10 Jan 2011 17:49:17 CST"/>
         <tran:user-header      name="Last-Modified" value="Mon, 10 Jan 2011 17:49:17 CST"/>
         <http:Cache-Control>no-cache, no-store</http:Cache-Control>
         <http:Connection>Keep-Alive</http:Connection>
         <http:Content-Length>657</http:Content-Length>
         <http:Content-Type>text/xml</http:Content-Type>
         <http:Date>Mon, 10 Jan 2011 17:49:17 CST</http:Date>
         <http:Server>j2se/1.5x</http:Server>
         </tran:headers>
         <tran:response-code      xmlns:tran="http://www.bea.com/wli/sb/transports">2</tran:response-code>
         <tran:response-message      xmlns:tran="http://www.bea.com/wli/sb/transports">Internal Server Error</tran:response-message>
         <tran:encoding      xmlns:tran="http://www.bea.com/wli/sb/transports">iso-8859-1</tran:encoding>
         <http:http-response-code      xmlns:http="http://www.bea.com/wli/sb/transports/http">500</http:http-response-code>
         </con:metadata>

    35: SoapService.doPost: unparseable XML in client Soap request, exception: org.xml.sax.SAXParseException: Premature end of file.I am not sure but may be that the XML which you are passing as input, has got corrupted. Cross check the input XML and if possible use different input.
    Regards,
    Anuj

  • Error when calling the business services with Encryption - MustUnderstand h

    I was getting this error when i invoke my business service through Oracle Service Bus Console:
    *<faultstring>*
    *MustUnderstand headers:[{http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd}Security] are not understood*
    *</faultstring>*
    *<faultcode>SOAP-ENV:MustUnderstand</faultcode>*
    <soapenv:Envelope      xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
         <soap:Header      xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
         </soap:Header>
         <soapenv:Body>
         <ger:gerarHashSenha      xmlns:ger="http://www.abc.com.br/SomeService">
         <!--Optional:-->
         <arg0>string</arg0>
         </ger:gerarHashSenha>
         </soapenv:Body>
         </soapenv:Envelope>
         <soapenv:Envelope      xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
         <soap:Header      xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
         <wsse:Security      soap:mustUnderstand="1" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
         <ns1:EncryptedKey      Id="FLTGqSbFbsmt2Q2l" xmlns:ns1="http://www.w3.org/2001/04/xmlenc#">
         <ns1:EncryptionMethod      Algorithm="http://www.w3.org/2001/04/xmlenc#rsa-1_5"/>
         <ns2:KeyInfo      xmlns:ns2="http://www.w3.org/2000/09/xmldsig#">
         <wsse:SecurityTokenReference      wsu:Id="str_a6QZHoS8oRqxbtgS" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
         <ns2:X509Data>
         <ns2:X509IssuerSerial>
         <ns2:X509IssuerName>
         CN=SerasaACGlobal,OU=Serasa Autoridade Certificadora Global,O=Serasa,C=BR
         </ns2:X509IssuerName>
         <ns2:X509SerialNumber>5023300869337873804</ns2:X509SerialNumber>
         </ns2:X509IssuerSerial>
         </ns2:X509Data>
         </wsse:SecurityTokenReference>
         </ns2:KeyInfo>
         <ns1:CipherData>
         <ns1:CipherValue>
         l3um2rVftq5ddA24DPNpZpofHEcmCha9ZBraglFKKzTpL+PhKmRmAyaJC2V5xWqBssxQGRDWhN9z+eHP8ENLMDP/mlHRw89WWQ7VkATSAd+k8ny/lesTLO7RUuLAiPlueOYUN8vpD4BJcI/lL/8jL0utMrQ7k+fhELDnBMB0lIY=
         </ns1:CipherValue>
         </ns1:CipherData>
         <ns1:ReferenceList>
         <ns1:DataReference      URI="#Ak1K01RK8B6RKDn3"/>
         </ns1:ReferenceList>
         </ns1:EncryptedKey>
         </wsse:Security>
         </soap:Header>
         <soapenv:Body>
         <ns1:EncryptedData      Id="Ak1K01RK8B6RKDn3" Type="http://www.w3.org/2001/04/xmlenc#Content" MimeType="text/xml" Encoding="UTF-8" xmlns:ns1="http://www.w3.org/2001/04/xmlenc#">
         <ns1:EncryptionMethod      Algorithm="http://www.w3.org/2001/04/xmlenc#tripledes-cbc"/>
         <ns1:CipherData>
         <ns1:CipherValue>
         RMu5vmRk3KczXzx57Wc8sIcdBDySyGOL4P0VrN+rwOjOcqc3ALCGbxu9VlRB4nJJTDb/1wxuh+lJlnBEgwS+7q1JVDuA81HDSqq4oPtqhQ2wYVMyxOY0YVm2Tj8ntUdTYh0OQrPg0TwmSsi3UUnuKDPR9tQqmZvHc+DF+j8yI71nSN4WPp1MVBr8E7Z7B9sPBDlI7Bp9n68=
         </ns1:CipherValue>
         </ns1:CipherData>
         </ns1:EncryptedData>
         </soapenv:Body>
         </soapenv:Envelope>
         Response Document      
    The invocation resulted in an error: Internal Server Error.
         <S:Envelope      xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
         <S:Body>
         <SOAP-ENV:Fault      xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
         <faultstring>
         MustUnderstand headers:[{http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd}Security] are not understood
         </faultstring>
         <faultcode>SOAP-ENV:MustUnderstand</faultcode>
         </SOAP-ENV:Fault>
         </S:Body>
         </S:Envelope>
         Response Metadata      
         <con:metadata      xmlns:con="http://www.bea.com/wli/sb/test/config">
         <tran:headers      xsi:type="http:HttpResponseHeaders" xmlns:http="http://www.bea.com/wli/sb/transports/http" xmlns:tran="http://www.bea.com/wli/sb/transports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
         <tran:user-header      name="Set-Cookie" value="JSESSIONID=YypvL1RGdHs3fRGs3RSwvGrdQpzhTyY6FJ0z6VK1tRtLhR5L9V7S!-778340443; path=/"/>
         <tran:user-header      name="X-Powered-By" value="Servlet/2.5 JSP/2.1"/>
         <http:Cache-Control>no-cache="Set-Cookie"</http:Cache-Control>
         <http:Content-Type>text/xml;charset="utf-8"</http:Content-Type>
         <http:Date>Fri, 28 May 2010 00:41:40 GMT</http:Date>
         <http:Transfer-Encoding>chunked</http:Transfer-Encoding>
         </tran:headers>
         <tran:response-code      xmlns:tran="http://www.bea.com/wli/sb/transports">2</tran:response-code>
         <tran:response-message      xmlns:tran="http://www.bea.com/wli/sb/transports">Internal Server Error</tran:response-message>
         <tran:encoding      xmlns:tran="http://www.bea.com/wli/sb/transports">utf-8</tran:encoding>
         <http:http-response-code      xmlns:http="http://www.bea.com/wli/sb/transports/http">500</http:http-response-code>
         </con:metadata>
    Edited by: victorjabur on May 27, 2010 5:48 PM

    I've the same issue... did someone come across. OTN moderators please answer to this.

  • OSB Business Service is not timing out on Connection/Read timeout

    I have a weird problem with my business service in OSB. I have set the read timeout value as 1 sec and Connection timeout value as 1 sec. The response from backend is taking more than 2 seconds or even 3 seconds but still my business service is not timing out..! My service is still listening to the response from backend even if it comes after 3 seconds. I expect it to timeout after 2 seconds. Any ideas?
    Business Service Configurations:
    Service Type: Any type
    Protocol: http
    Retry count : 0
    Retry Application Errors: No
    Read Timeout: 0
    Connection Timeout: 0
    HTTP Request Method: POST
    Result Caching: No
    Let me know if you need any more information. Thanks in Advance.
    Regards
    Kaleem

    AbhishekJ wrote:
    Maximum possible successful response time of the service will be less than Read TO + Connection TO.
    Alas, this is not true.
    Maximum possible response time is infinity.
    There are two reasons for that.
    1. Read timeout is not counted as time from the successful connection establishing to the current moment. It is measured as time from the last received byte to now. Imagine a backend service that sends a single byte in a data packet every 500ms. Despite you have read timeout set to 1, the receiving of 3K message will take 25 minutes, and yet your Biz service will not timeout.
    2. In HTTPS, handshake is handled by a separate library which has its own quirks. Specifically, if the key exchange is broken at particular point of handshake, the library re-establishes the connection and does it few times; in my experiements, the largest I could delay the eventual fault was about 3 minutes.
    Having said that, in the OP message the configuration is Read=0, Connect=0, so I wonder why the timeout is expected.

  • OSB Business Service Work Manager Doesnt Throttle

    Hi,
    I have a requrirement to throlle the number of concurrent requests going to an end point.
    So i have used OSB business service where in i am calling an end point webservice, and configured a work manager in console and selected it in the dispatch policy
    I deployed the workmanager on managed server. i specified max concurrent threads as 3.
    I tried to test it and see that throttling doesnt really work.. All the requests sent are being sent at once not 3 at a time.
    The expected behavior is first 3 sdhud go and then onc ethey complete next 3 similary next 3. But i dont see that behavior. Please let me know if i am doing any worng
    below is my work manager configuration
    Service Type Any XML Service
    Transport Configuration
    Protocol http
    Load Balancing Algorithm round-robin
    Endpoint URI <Specified the end point URI>
    Retry Count 0
    Retry Iteration Interval 0
    Retry Application Errors Yes
    HTTP Transport Configuration
    Read Timeout 0
    Connection Timeout 0
    HTTP Request Method POST
    Authentication None
    Proxy Server
    Follow HTTP redirects Disabled
    Use Chunked Streaming Mode Enabled
    Dispatch Policy WorkManagerTest
    Message Handling Configuration
    XOP/MTOM Support Disabled
    Page Attachments to Disk No
    Result Caching Not Supported
    Any suggestions on this?
    Edited by: 791951 on Mar 17, 2011 7:51 AM

    If you need to throttle the Business service, then you should configure the throttling parameters in the Business Service -> Operational Settings tab
    Choose your Business Service in the OSB Console -> Operational Settings
    Throttling -Check this box to enable the throttling. Maximum Concurrency to 3, and Throttling Queue to x number of messages you wish to hold in the throttling queue

  • How to use cache on Proxy service in OSB

    Hi all,
    I need to use cache on proxy service. I am new to OSB, I have searched for this on net but unable to find.
    Please come up with some docs or links going through which I can achieve this.
    Thanks,
    Phani.

    i assume you already checked the result caching feature which can be used on the business service?
    http://docs.oracle.com/cd/E14571_01/doc.1111/e15867/configuringandusingservices.htm#OSBAG170

Maybe you are looking for

  • FF 4.0 incompatible with Norton 360. How do I uninstall 4.0 and go back to 3.6?

    I want to back out of FF 4.0 and go to older version 3.6 because I cannot use Norton 360 that I absolutely need and rely on. Can someone send a link about how to uninstall 4.0 and reinstall 3.6?

  • Swf flash files are not displaying neatly within table cells.

    The latest version of Firefox (3.6.12) The website I have design now shows thick lines underneath the flash files. URL Below. The table of pictures should be neat, instead the cells in which the flash files are contained are increasing in height and

  • SQL Server 2014 issues

    Hello: I have bumped upon a design issue with SQL Server 2014. I want to report this to Microsoft, where it can be addressed and corrected in the upcoming Service packs. This is something critical.. (that's what at least....I feel). Please let me kno

  • How to wild card search in ABAP

    Hello, I have user input and i am saving in variable. input = userinput. Now I want to select wild card values based on user input. I cont hardcode the userinput. SELECT field1               field2 FROM TABLE WHERE field4 LIKE '%INPUT%" is taking INP

  • Batch Sequence (Signatures)

    Hello, I'm currently working with batch signatures.  I've found documentation that outlines how to do this with javascript: http://www.adobe.com/devnet/acrobat/pdfs/batch_sequences.pdf. However, my results are not quite right.  My script is creating