OSB: Proxy to proxy publish async

Hi
PS_1 publishes data to PS_2 (PS_2 wsdl has no outbound so it is asynch)
I googled and I found following at http://victor-jan.blogspot.in/2012/06/osb-publish-routing-and-service-callout.html:
Publish: Used for Request only scenarios where you don't expect a response back. The nature of Publish action (sync or async) will depend upon the target service you are invoking.
Invoking an external service through a business service, then Publish action with Quality of Service(QoS) as "Best Effort" (default) will work like fire and forget and thread won't get blocked (async call).
Invoking a local proxy service (proxy with transport protocol as "local") from another proxy using publish action then it would be a blocking call (synchronus call) and thread will get blocked untill the processing of local proxy finishes.
The same information on multiple threads on forum.
I changed proxy service PS_2 protocol to http and tested by publishing from PS_1.
Then Created a business service over PS_2 and published from PS_1 to BS_2.
All in vain. So is it that Proxy service to Proxy service Publish is IMPOSSIBLE in OSB?
Can anyone confirm?
Thanks and Regards
Swapnil Kharwadkar

Swapnil,
Publish call will be blocking if QoS is set as Exactly-Once.
If QoS is Best-Effort and target endpoint is a one-way proxy service then it is a blocking call (source proxy waits for target proxy message flow completion) and if QoS is Best-Effort and target endpoint is a request-response proxy service then control returns back to source proxy as soon as Request pipeline of target proxy message flow completes.
Regards,
Anuj

Similar Messages

  • Extracting MIME attachment from email using OSB proxy service - email transport

    Hi,
    I'm reading email messages(multipart/mixed) with attachments(pdf, zip, xml and csv) from MS Exchange Server 2010 using OSB proxy service email transport.I need to save the attachments to a local folder and process one of the attachments, an XML file. Below is the proxy service config.
    Proxy Service Configuration (Test1/Proxy Services/GetEmail)
    Actions: 
    General Configuration
    Service Type   Messaging Service
    Message Type Configuration
    Request Message Type 
    Text     
    Response Message Type 
    None     
    Transport Configuration
    Protocol   email
    Endpoint URI   mailfrom:mailserver.net:143
    Get All Headers   No
    Headers   
    EMAIL Transport Configuration
    Email Protocol   imap
    Service Account   Test1/Proxy Services/email_acc
    Managed Server   WLS_OSB1
    Polling Interval   30
    Read Limit   2
    Pass By Reference   false
    Pass Attachments By Reference   false
    Post Read Action   move
    IMAP Move Folder   processed
    Attachments   archive
    Download Directory   \\soasup-stor01\Vacancy\test\download
    Archive Directory   \\soasup-stor01\Vacancy\test\archive
    Error Directory   \\soasup-stor01\Vacancy\test\error
    Request Encoding   iso-8859-1
    Message Handling Configuration
    Transaction Required   Disabled
    Same Transaction For Response   Disabled
    Content Streaming   Disabled
    The polling is working fine. I've encoded the attachment variable to Base64 using a java callout.$attachments/ctx:attachment/ctx:body/ctx:binary-content has been passed as the byte[] input to the java method and the response is captured in $encodedAttachment. I've created a SaveFile BS(file type) with Request Message Type = Binary and Response Message Type = None. I've tried replacing the node ./ctx:binary-content in body variable with encodedAttachment in the request action of the Publish action to call the BS. One file is getting created with contents of the entire email, MIME headers and boundary parts along with the base64 encoded attachments.
    <Contents from the created file>
    MIME-Version: 1.0
    Content-Type: multipart/related; boundary=MIME_Boundary;
      type="binary/octet-stream"
    --MIME_Boundary
    Content-Type: binary/octet-stream
    Content-Transfer-Encoding: 8bit
    Thanks &amp; Regards,
    Samyajit Talukdar
    : [email protected]
    -----Original Message-----
    From: Samyajit Talukdar
    Sent: 10 April 2015 14:11
    To: MS MLRP Returns
    Subject: FW: 22222
    Thanks &amp; Regards,
    Samyajit Talukdar
    : [email protected]
    --MIME_Boundary
    Content-Type: application/vnd.ms-excel; name="soainfra_v$session.xls"
    Content-Transfer-Encoding: base64
    Content-Description: soainfra_v$session.xls
    Content-Disposition: attachment; filename="soainfra_v$session.xls";
      size=25618; creation-date="Thu, 27 Nov 2014 09:56:35 GMT";
      modification-date="Fri, 10 Apr 2015 09:28:23 GMT"
    0M8R4KGxGuEAAAAAAAAAAAAAAAAAAAAAPgADAP7/CQAGAAAAAAAAAAAAAAABAAAAAQAAAAAAAAAA
    EAAAJgAAAAEAAAD+////AAAAAAAAAAD/////////////////////////////////////////////
    AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
    AAAAAAAAAAAAAAAAAAA=
    --MIME_Boundary--
    If I put a delete action in the request to Publish action for SaveFile BS to delete the $attachments, the created file contains only the email body part and the attachment boundary part is missing.
    I've uploaded the OSB log with full trace enabled.
    How can I pass the  encodedAttachment to the BS for saving the files?
    Would iterating through the $aatachment/ctx:attachment give me the individual attachments for saving and processing, as there are separate binary-content refs in them?
    Any help to achieve my requirement is highly appreciated.
    Thanks in advance.

    Hi Manoj,
    Thanks for the quick reply to my query.
    The thing is, the link you have provided talks more from changing the business Service configurations i.e. the type of the service etc, but the concern is, that the Business Service is already Implemented and hence the change would not be an appropriate option for me.
    Please let me know, if any more information is required.
    Thanks & Regards,
    Anu

  • URGENT: SOAP 1.1 and 1.2 Support in OSB Proxy

    Gurus,
    My OSB proxy services should support SOAP 1.1 and 1.2 versions. However, WSDL based Proxy service has only one endpoint. (This is the limitation as per an Oracle document.) This endpoint is one which you select while creating a proxy service from WSDL.
    Now, as a result, the service is not able to serve both the 1.1 and 1.2 requests.
    As a workaround, I've created two proxy services from the same WSDL (which has both the endpoints/bindings).
    And, i publish two endpoints to the user.
    Is there any way to trick the proxy WSDL (effective WSDL) to have two ports (endpoints) in it ?
    If not, what are the best practices to tackle this situation?
    Thanks in advance for your help on this.
    With regards-
    Ashish
    Edited by: user570355 on 2012. 9. 24 오후 3:47

    Hi Ashish,
    I don't think there's a way to trick the proxy but, as you know, soap 1.1 and 1.2 have slightly different envelope formats (e.g. fault handling) so you'll probably need some kind of specific message processing or transformation, sometime in the future, for handling both soap 1.1 and soap 1.2 requests. This makes your approach correct, in my opinion.
    Do you have a local proxy for handling service logic?
    I think you should follow something similar to this: http://docs.oracle.com/cd/E23943_01/dev.1111/e15866/local.htm#i1075772.
    Your minimum configuration - 3 proxies:
    SOAP 1.1 Proxy, SOAP 1.2 proxy and a Local Proxy
    Using this approach:
    *1 -* The Local Proxy should handle Business Service calls, additional logic, etc. You'll probably have to configure this as "Any XML" proxy and use some kind of internal message format (your own schema) because, if you configure it as "Any SOAP", you'll be forced to choose between SOAP 1.1 and SOAP 1.2.
    - routes responses from Business Services to the correct SOAP 1.x Proxy
    *2 -* For each SOAP 1.x Proxy
    - receives soap 1.x messages and transforms them to some kind of internal schema -> routes them to the Local Proxy for processing
    - transforms any kind of responses coming from the Local Proxy back to soap 1.x format and routes responses to the client
    I hope this can be of any help to you,
    Regards,
    Filipe

  • OSB: how to figure out the execution time of OSB proxy

    Trying to figure out how to determine the execution time taken for any given OSB proxy. Seems like the OSB built-in alerting facilities can display the average response time of all calls to a proxy but not individually. Is there a way to dig this out from the monitoring data being collected?

    Service monitoring which comes OOTB is supposed to be aggregated because in usual scenarios you dont need to see the processing time of a specific request. From a performance monitoring perspective the useful data usually is average processing time and minimum or maximum processing time for any request within the aggregation interval which is provided by OSB OOTB.
    Now, in some cases the business might want to track each request individually. So, for example they can track how long did it take to process a specific order. OSB does not provide this feature OOTB. There are multiple ways to get this implemented. Two of the most common ways are:
    1. Add a start and end time capturing in Proxy Services. You can use logging/reporting/publish to a DB etc to achieve this. But this is indeed intrusive and you will need to do this for every Proxy which needs to be monitored at every instance level. This is also a slight overhead in processing in itself.
    2. Use monitoring products which can monitor the WS invocations externally. This will mean more investment but definitely a much better solution. You can consider using different products from Oracle and other vendors based on your requirements, features of products and costs. A few examples are OWSM, Oracle EM, CA Wily etc.

  • Error while calling secured OSB proxy from BPEL

    Hi,
    I have a OSB Proxy service to which I have applied OWSM Policy:
    oracle/wss_username_token_service_policy
    In the Setting:
    Process WS-Security Header is set to Yes
    While calling this Proxy from BPEL I tried to append binding properties, I tried the following options:
    option1:
    wsseHeaders=credentials
    wssePassword=welcome1
    wsseUsername=weblogic
    option2:
    oracle.webservices.auth.password=welcome1
    oracle.webservices.auth.username=weblogic
    But neither of them work and I get the following error:
    <con:fault xmlns:con="http://www.bea.com/wli/sb/context">
    <con:errorCode>BEA-386200</con:errorCode>
    <con:reason>General web service security error</con:reason>
    <con:location>
    <con:path>request-pipeline</con:path>
    </con:location>
    </con:fault>
    <Sep 21, 2010 9:49:30 AM PDT> <Error> <OSB Security> <BEA-387022> <An error ocur
    red during web service security inbound request processing [error-code: Security
    HeaderUnmarshallingError, message-id: 3659922647318344420--645cdd1d.12b2fe0c158.
    -7e45, proxy: OSBTest/Proxy Services/PrivatePersonnelDB_PS, operation: null]
    --- Error message:
    oracle.wsm.security.SecurityException: WSM-00069 : The security header is missin
    g.
    at oracle.wsm.security.policy.scenario.processor.UsernameTokenProcessor.
    verify(UsernameTokenProcessor.java:218)
    at oracle.wsm.security.policy.scenario.executor.WssUsernameTokenScenario
    Executor.receiveRequest(WssUsernameTokenScenarioExecutor.java:123)
    at oracle.wsm.security.policy.scenario.executor.SecurityScenarioExecutor
    .execute(SecurityScenarioExecutor.java:530)
    at oracle.wsm.policyengine.impl.runtime.AssertionExecutor.execute(Assert
    ionExecutor.java:41)
    at oracle.wsm.policyengine.impl.runtime.WSPolicyRuntimeExecutor.executeS
    impleAssertion(WSPolicyRuntimeExecutor.java:608)
    Truncated. see log file for complete stacktrace
    I have even tried to enable HTTP basic Authentication for the service, but did not work.
    Any help is highly appreciated.
    Thanks.

    Hi,
    I have applied oracle/wss_username_token_service_policy for my proxy service and trying to test that from OSB Test Console. I am getting below error,
    "[OSB Security - OWSM:387253]Failed to initialize Owsm Credential Manager. Please validate the Keystore Configuration"
    When i have launched Test Console for this proxy, i have observed in Security part, oracle/wss_username_token_client_policy is appearing. I am not sure why oracle/wss_username_token_client_policy is appearing there when i applied oracle/wss_username_token_service_policy to my proxy service.
    Also do i have to need to configure any Keystore for oracle/wss_username_token_service_policy, If so please tell me the process.
    If no key store is required where will the credentials be stored.
    Thanks
    Rajesh

  • Model/IPolicySet$POLICYSET_STATUS eroor while invoking OSB proxy from BPEL

    Hi,
    I am calling an OSB proxy from BPEL .While testing the BPEL , i am getting the following error
    oracle/wsm/policy/model/IPolicySet.getStatus()Loracle/wsm/policy/model/IPolicySet$POLICYSET_STATUS;
    But i have no policies attached in the OSB.
    Kindly let me know if any resolution to this issue.
    Edited by: Lalit on Mar 18, 2012 11:15 PM

    I am getting the same error..
    Someone have any idea how to resolve it??
    which proxy i need to delete in console and redeploy???
    I redeployed my project many times but still same error..

  • Could not create/access the TopLink Session.While invoking OSB proxy.

    Hi,
    While testing an OSB proxy ,which uses a multi datasource to connect to a remote database, from the sbconsole.I am getting exceptions and it is not able to create/access the TopLink Session.
    I have checked the multi datasource jndi name ,which is correct.
    The stack trace which I am getting while invoking the service is posted below:
    oracle.tip.adapter.sa.api.JCABindingException: oracle.tip.adapter.sa.impl.fw.ext.org.collaxa.thirdparty.apache.wsif.WSIFException: servicebus:/WSDL/CRN_CommonServices/SaveTransactionBSV2 [ SaveTransactionBSV2_ptt::SaveTransactionBSV2(InputParameters,OutputParameters) ] - WSIF JCA Execute of operation 'SaveTransactionBSV2' failed due to: Could not create/access the TopLink Session.
    This session is used to connect to the datastore.
    ; nested exception is:
    JCA-11622
    Could not create/access the TopLink Session.
    This session is used to connect to the datastore.
    See root exception for the specific exception. You may need to configure the connection settings in the deployment descriptor (i.e. $J2EE_HOME/application-deployments/default/DbAdapter/oc4j-ra.xml) and restart the server. Caused by javax.resource.spi.InvalidPropertyException: Missing Property Exception.
    Missing Property: [DBManagedConnectionFactory.userName].
    Make sure the property is set in the interaction (activation) spec by editing its definition in the wsdl.
    at oracle.tip.adapter.sa.impl.JCABindingReferenceImpl.request(JCABindingReferenceImpl.java:225)
    at com.bea.wli.sb.transports.jca.binding.JCATransportOutboundBindingServiceImpl.invoke(JCATransportOutboundBindingServiceImpl.java:136)
    at com.bea.wli.sb.transports.jca.JCAOutboundMessageContext.sendRequestResponse(JCAOutboundMessageContext.java:152)
    at com.bea.wli.sb.transports.jca.JCAOutboundMessageContext.send(JCAOutboundMessageContext.java:113)
    at com.bea.wli.sb.transports.jca.JCATransportProvider.sendMessageAsync(JCATransportProvider.java:464)
    at sun.reflect.GeneratedMethodAccessor249.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at com.bea.wli.sb.transports.Util$1.invoke(Util.java:82)
    at $Proxy76.sendMessageAsync(Unknown Source)
    at com.bea.wli.sb.transports.LoadBalanceFailoverListener.sendMessageAsync(LoadBalanceFailoverListener.java:148)
    at com.bea.wli.sb.transports.LoadBalanceFailoverListener.sendMessageToServiceAsync(LoadBalanceFailoverListener.java:543)
    at com.bea.wli.sb.transports.LoadBalanceFailoverListener.sendMessageToService(LoadBalanceFailoverListener.java:478)
    at com.bea.wli.sb.transports.TransportManagerImpl.sendMessageToService(TransportManagerImpl.java:544)
    at com.bea.wli.sb.transports.TransportManagerImpl.sendMessageAsync(TransportManagerImpl.java:422)
    at com.bea.wli.sb.pipeline.PipelineContextImpl.doDispatch(PipelineContextImpl.java:583)
    at com.bea.wli.sb.pipeline.PipelineContextImpl.dispatchSync(PipelineContextImpl.java:466)
    at stages.transform.runtime.WsCalloutRuntimeStep$WsCalloutDispatcher.dispatch(WsCalloutRuntimeStep.java:1401)
    at stages.transform.runtime.WsCalloutRuntimeStep.processMessage(WsCalloutRuntimeStep.java:236)
    at com.bea.wli.sb.stages.StageMetadataImpl$WrapperRuntimeStep.processMessage(StageMetadataImpl.java:346)
    at com.bea.wli.sb.stages.impl.SequenceRuntimeStep.processMessage(SequenceRuntimeStep.java:33)
    at com.bea.wli.sb.pipeline.PipelineStage.processMessage(PipelineStage.java:84)
    at com.bea.wli.sb.pipeline.PipelineContextImpl.execute(PipelineContextImpl.java:866)
    at com.bea.wli.sb.pipeline.Pipeline.processMessage(Pipeline.java:141)
    at com.bea.wli.sb.pipeline.PipelineContextImpl.execute(PipelineContextImpl.java:866)
    at com.bea.wli.sb.pipeline.PipelineNode.doRequest(PipelineNode.java:55)
    at com.bea.wli.sb.pipeline.Node.processMessage(Node.java:67)
    at com.bea.wli.sb.pipeline.PipelineContextImpl.execute(PipelineContextImpl.java:866)
    at com.bea.wli.sb.pipeline.Router.processMessage(Router.java:191)
    at com.bea.wli.sb.pipeline.MessageProcessor.processRequest(MessageProcessor.java:75)
    at com.bea.wli.sb.pipeline.RouterManager$1.run(RouterManager.java:508)
    at com.bea.wli.sb.pipeline.RouterManager$1.run(RouterManager.java:506)
    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
    at weblogic.security.service.SecurityManager.runAs(Unknown Source)
    at com.bea.wli.sb.security.WLSSecurityContextService.runAs(WLSSecurityContextService.java:55)
    at com.bea.wli.sb.pipeline.RouterManager.processMessage(RouterManager.java:505)
    at com.bea.wli.sb.test.service.ServiceMessageSender.send0(ServiceMessageSender.java:263)
    at com.bea.wli.sb.test.service.ServiceMessageSender.access$000(ServiceMessageSender.java:68)
    at com.bea.wli.sb.test.service.ServiceMessageSender$1.run(ServiceMessageSender.java:125)
    at com.bea.wli.sb.test.service.ServiceMessageSender$1.run(ServiceMessageSender.java:123)
    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
    at weblogic.security.service.SecurityManager.runAs(Unknown Source)
    at com.bea.wli.sb.security.WLSSecurityContextService.runAs(WLSSecurityContextService.java:55)
    at com.bea.wli.sb.test.service.ServiceMessageSender.send(ServiceMessageSender.java:128)
    at com.bea.wli.sb.test.service.ServiceProcessor.invoke(ServiceProcessor.java:441)
    at com.bea.wli.sb.test.TestServiceImpl.invoke(TestServiceImpl.java:169)
    at com.bea.wli.sb.test.client.ejb.TestServiceEJBBean.invoke(TestServiceEJBBean.java:136)
    at com.bea.wli.sb.test.client.ejb.TestService_sqr59p_EOImpl.invoke(TestService_sqr59p_EOImpl.java:572)
    at com.bea.wli.sb.test.client.ejb.TestService_sqr59p_EOImpl_WLSkel.invoke(Unknown Source)
    at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:589)
    at weblogic.rmi.cluster.ClusterableServerRef.invoke(ClusterableServerRef.java:230)
    at weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:477)
    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
    at weblogic.security.service.SecurityManager.runAs(Unknown Source)
    at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:473)
    at weblogic.rmi.internal.wls.WLSExecuteRequest.run(WLSExecuteRequest.java:118)
    at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
    at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
    Caused by: oracle.tip.adapter.sa.impl.fw.ext.org.collaxa.thirdparty.apache.wsif.WSIFException: servicebus:/WSDL/CRN_CommonServices/SaveTransactionBSV2 [ SaveTransactionBSV2_ptt::SaveTransactionBSV2(InputParameters,OutputParameters) ] - WSIF JCA Execute of operation 'SaveTransactionBSV2' failed due to: Could not create/access the TopLink Session.
    This session is used to connect to the datastore.
    ; nested exception is:
    JCA-11622
    Could not create/access the TopLink Session.
    This session is used to connect to the datastore.
    See root exception for the specific exception. You may need to configure the connection settings in the deployment descriptor (i.e. $J2EE_HOME/application-deployments/default/DbAdapter/oc4j-ra.xml) and restart the server. Caused by javax.resource.spi.InvalidPropertyException: Missing Property Exception.
    Missing Property: [DBManagedConnectionFactory.userName].
    Make sure the property is set in the interaction (activation) spec by editing its definition in the wsdl.
    at oracle.tip.adapter.sa.impl.fw.wsif.jca.WSIFOperation_JCA.executeRequestResponseOperation(WSIFOperation_JCA.java:619)
    at oracle.tip.adapter.sa.impl.JCABindingReferenceImpl.invokeWsifProvider(JCABindingReferenceImpl.java:331)
    at oracle.tip.adapter.sa.impl.JCABindingReferenceImpl.request(JCABindingReferenceImpl.java:220)
    ... 57 more
    Caused by: JCA-11622
    Could not create/access the TopLink Session.
    This session is used to connect to the datastore.
    See root exception for the specific exception. You may need to configure the connection settings in the deployment descriptor (i.e. $J2EE_HOME/application-deployments/default/DbAdapter/oc4j-ra.xml) and restart the server. Caused by javax.resource.spi.InvalidPropertyException: Missing Property Exception.
    Missing Property: [DBManagedConnectionFactory.userName].
    Make sure the property is set in the interaction (activation) spec by editing its definition in the wsdl.
    at oracle.tip.adapter.db.exceptions.DBResourceException.createEISException(DBResourceException.java:473)
    at oracle.tip.adapter.db.exceptions.DBResourceException.couldNotCreateTopLinkSessionException(DBResourceException.java:216)
    at oracle.tip.adapter.db.DBManagedConnectionFactory.acquireSession(DBManagedConnectionFactory.java:638)
    at oracle.tip.adapter.db.transaction.DBTransaction.getSession(DBTransaction.java:457)
    at oracle.tip.adapter.db.DBConnection.getSession(DBConnection.java:222)
    at oracle.tip.adapter.db.DBInteraction.executeStoredProcedure(DBInteraction.java:1001)
    at oracle.tip.adapter.db.DBInteraction.execute(DBInteraction.java:232)
    at oracle.tip.adapter.sa.impl.fw.wsif.jca.WSIFOperation_JCA.executeRequestResponseOperation(WSIFOperation_JCA.java:463)
    ... 59 more
    Caused by: javax.resource.spi.InvalidPropertyException: Missing Property Exception.
    Missing Property: [DBManagedConnectionFactory.userName].
    Make sure the property is set in the interaction (activation) spec by editing its definition in the wsdl.
    at oracle.tip.adapter.db.exceptions.DBResourceException.missingPropertyException(DBResourceException.java:348)
    at oracle.tip.adapter.db.DBManagedConnectionFactory.createServerSession(DBManagedConnectionFactory.java:932)
    at oracle.tip.adapter.db.DBManagedConnectionFactory.acquireSession(DBManagedConnectionFactory.java:413)
    ... 64 more
    Looking forward for your help.
    Thanks a lot in advance.
    Sumit

    Have you created XA data source? If yes then make sure that in connection factory you are assigning the JNDI name of data-source in XAdataSource property (NOT in datasource property). Also make sure that your datasource is up and running and you are updating the dbadapter after creating connection factory.
    Regards,
    Anuj

  • 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

  • Dynamic timeout for OSB proxy or business services

    The scenario we got here is that we will have multiple synchronous webservices implemented as OSB proxy services. These proxies will then invoke a common "routing" proxy that will determine which other OSB proxy or business services (JMS Request/Response) to call and does the dynamic routing.
    I understand that you can set a timeout at the business service level how long to wait for a response (at least when using the JMS transport). The problem is we got the requirement that the timeout value would be dependent on the role of the caller invoking the frontend webservice (this is done via some kind of lookup to determine the appropriate timeout setting for the invocation).
    Is this possible? I can't seem to find anything exposed in the transport header that allows me to set a timeout value during runtime. This means that the frontend proxy will be waiting for a response depending on the business service timeout setting. Can we implement a timeout in this frontend proxy somehow?
    Stumped right now over this. Thanks in advance for helping out.

    >
    Are there other reasons why you say it's not the most ideal way of development ?
    >
    Versioning binary files is always a pain. You can't compare them, you can't merge them ... Another point, if you put your jar archive with OSB artifacts under version control, you will most probably face issue related to end of line styles (mac, unix, windows).
    However, the most important point is usability. I want to version .proxy and .biz services to see right in IDE that I changed something and I should check that in for the others. I don't want to risk that I forget something. And I also want to see what other users committed, what sources they work on ... You loose all of that by versioning jar file. I would never go this way.

  • XSLT transformation in OSB Proxy Service

    Hello, I am trying to modify the answer from a WebService using an XSLT transformation in an OSB Proxy Service, but I am unable to do so. Here it is the content of the answer's body it receives:
    <ns0:getRecountUnitMovementsResponse xmlns:ns0="http://www.grifols.com/gds/interfaces/types/">
    <ns1:result xsi:type="ns4:VO_PR_UnitsMovementsSDO" xmlns:ns1="http://www.grifols.com/gds/interfaces/types/" xmlns:ns4="/com/grifols/gds/webapp/inventoryCount/units/queries/common/" xmlns:ns0="http://xmlns.oracle.com/adf/svc/types/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:typ="http://www.grifols.com/gds/interfaces/types/">
    <ns4:GrpId>4</ns4:GrpId>
    <ns4:MovementType>960</ns4:MovementType>
    <ns4:DcCode>165</ns4:DcCode>
    <ns4:RecDcCode>165</ns4:RecDcCode>
    <ns4:UnitItemNumber>11-0001</ns4:UnitItemNumber>
    <ns4:RecUnitItemNumber xsi:nil="true"/>
    <ns4:Bol xsi:nil="true"/>
    <ns4:CustomerId xsi:nil="true"/>
    <ns4:DocumentDate>2011-01-01T09:00:00.0+01:00</ns4:DocumentDate>
    <ns4:PostingDate>2011-01-01T09:00:00.0+01:00</ns4:PostingDate>
    <ns4:MovStatusCode>SE</ns4:MovStatusCode>
    <ns4:Quantity>10</ns4:Quantity>
    </ns1:result>
    <ns1:result xsi:type="ns4:VO_PR_UnitsMovementsSDO" xmlns:ns1="http://www.grifols.com/gds/interfaces/types/" xmlns:ns4="/com/grifols/gds/webapp/inventoryCount/units/queries/common/" xmlns:ns0="http://xmlns.oracle.com/adf/svc/types/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:typ="http://www.grifols.com/gds/interfaces/types/">
    <ns4:GrpId>1</ns4:GrpId>
    <ns4:MovementType>913</ns4:MovementType>
    <ns4:DcCode>165</ns4:DcCode>
    <ns4:RecDcCode>165</ns4:RecDcCode>
    <ns4:UnitItemNumber>11-0001</ns4:UnitItemNumber>
    <ns4:RecUnitItemNumber xsi:nil="true"/>
    <ns4:Bol xsi:nil="true"/>
    <ns4:CustomerId xsi:nil="true"/>
    <ns4:DocumentDate>2011-01-01T09:00:00.0+01:00</ns4:DocumentDate>
    <ns4:PostingDate>2011-01-01T09:00:00.0+01:00</ns4:PostingDate>
    <ns4:MovStatusCode>SE</ns4:MovStatusCode>
    <ns4:Quantity>15</ns4:Quantity>
    </ns1:result>
    <ns1:result xsi:type="ns4:VO_PR_UnitsMovementsSDO" xmlns:ns1="http://www.grifols.com/gds/interfaces/types/" xmlns:ns4="/com/grifols/gds/webapp/inventoryCount/units/queries/common/" xmlns:ns0="http://xmlns.oracle.com/adf/svc/types/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:typ="http://www.grifols.com/gds/interfaces/types/">
    <ns4:GrpId>2</ns4:GrpId>
    <ns4:MovementType>913</ns4:MovementType>
    <ns4:DcCode>165</ns4:DcCode>
    <ns4:RecDcCode>165</ns4:RecDcCode>
    <ns4:UnitItemNumber>21-00001</ns4:UnitItemNumber>
    <ns4:RecUnitItemNumber xsi:nil="true"/>
    <ns4:Bol xsi:nil="true"/>
    <ns4:CustomerId xsi:nil="true"/>
    <ns4:DocumentDate>2011-01-01T09:00:00.0+01:00</ns4:DocumentDate>
    <ns4:PostingDate>2011-01-01T09:00:00.0+01:00</ns4:PostingDate>
    <ns4:MovStatusCode>SE</ns4:MovStatusCode>
    <ns4:Quantity>25</ns4:Quantity>
    </ns1:result>
    <ns1:result xsi:type="ns4:VO_PR_UnitsMovementsSDO" xmlns:ns1="http://www.grifols.com/gds/interfaces/types/" xmlns:ns4="/com/grifols/gds/webapp/inventoryCount/units/queries/common/" xmlns:ns0="http://xmlns.oracle.com/adf/svc/types/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:typ="http://www.grifols.com/gds/interfaces/types/">
    <ns4:GrpId>3</ns4:GrpId>
    <ns4:MovementType>959</ns4:MovementType>
    <ns4:DcCode>165</ns4:DcCode>
    <ns4:RecDcCode>165</ns4:RecDcCode>
    <ns4:UnitItemNumber>11-0001</ns4:UnitItemNumber>
    <ns4:RecUnitItemNumber xsi:nil="true"/>
    <ns4:Bol xsi:nil="true"/>
    <ns4:CustomerId xsi:nil="true"/>
    <ns4:DocumentDate>2011-01-01T09:00:00.0+01:00</ns4:DocumentDate>
    <ns4:PostingDate>2011-01-01T09:00:00.0+01:00</ns4:PostingDate>
    <ns4:MovStatusCode>SE</ns4:MovStatusCode>
    <ns4:Quantity>50</ns4:Quantity>
    </ns1:result>
    </ns0:getRecountUnitMovementsResponse>
    And what I am trying to do is replace all the "/com/grifols/gds/webapp/inventoryCount/units/queries/common/" for "http://www.something.else". I have succeeded replacing it if the attribute name is "xmlns" instead of "xmlns:ns4". However, that ":ns4" changes everything and I can't get it to work. Does anyone know how to do so?
    Thank you in advance. Don't hesitate to ask me for more information you may need.
    Jordi

    By the way, this is the XSLT transformation that works fine if we remove that ":ns4" from the attribute name:
    <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns:source="/com/grifols/gds/webapp/inventoryCount/units/queries/common/"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    version="2.0">
    <xsl:output method="xml" encoding="iso-8859-1" indent="yes"/>
    <xsl:template match="source:*">
    <xsl:element name="{local-name()}" namespace="http://www.something.else">
    <xsl:apply-templates select="@*|node()"/>
    </xsl:element>
    </xsl:template>
    <xsl:template match="@*|node()">
    <xsl:copy>
    <xsl:apply-templates select="@*|node()"/>
    </xsl:copy>
    </xsl:template>
    </xsl:stylesheet>

  • Need Help:Handling CLOB in OSB Proxy Service

    Hello All-
    We have created an AQ in Oracle DB which will have the following message Structure:
    CREATE OR REPLACE TYPE enqueue_payload AS OBJECT
    ( field1 VARCHAR2(100),
    field2 VARCHAR2(100),
    field3 DATE,
    field4 VARCHAR2(100),
    field5 NUMBER,
    payload CLOB,
    In the Payload field we are enqueing an XML message.
    We have to use a OSB proxy service to dequeue the message from the AQ, transform it to another format and send to a SOA Composite.
    We created a AQ Adapter in Jdeveloper 11g and imported the WSDL, XSD and .jca jca binding file into the OSB project. And configured the OSB proxy service using the WSDL imported.
    However in OSB proxy service message flow when I try to create an XQUERY transformation, I see that the Payload field does not expose the structure of the XML message that is being enqueued. I even changed the message structure definition to have the payload field as XMLType. But it didn't help.
    On analyzing the XSD created by AQ Adapter, I see that the payload is being defined as "string" in the XSD.
    Inputs Needed
    =========
    1. How can we parse the payload field defined as CLOB/XMLType in OSB so that I can see the structure of the XML message it holds ?
    2. Is there any in-built function in OSB to convert it to XML ?
    3. Any other inputs in order to transform the XML message coming in the payload field as CLOB/XMLType
    Please provide your inputs and I hope that I have clearly explained my use case.
    Thanks in advance for your time and help!!
    Regards,
    Dibya

    Hi Atheek-
    Please find the logs below:
    Payload:: Indicates the actual payload with all the headers fields coming from AQ
    Payload After Applying the Function:: Indicates the data that is logged after applying the fn-bea:inlinedXML function.
    The function fn-bea:inlinedXML is extracting the data from the XML tags :(
    ####<Dec 20, 2010 12:14:26 PM GMT+05:30> <Info> <ALSB Logging> <vhydaiavm-03> <osb_server1> <[ACTIVE] ExecuteThread: '3' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <BEA1-000A464703C2C06A4338> <6751713a0ce9f61d:-6e70b631:12d02855fef:-7ff4-0000000000000002> <1292827466595> <BEA-000000> < [PipelinePairNode1, PipelinePairNode1_request, stage1, REQUEST] Payload:: <apps:ORA_FUSION_LOAD_XMLTYPE xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:apps="http://xmlns.oracle.com/xdb/APPS">
    *<RICE_ID>PRJ_INT_30</RICE_ID>*
    *<SOURCE_SYSTEM>ORACLE</SOURCE_SYSTEM>*
    *<DATETIME>2010-12-20T10:49:17.000Z</DATETIME>*
    *<TRANSACTION_ID>PRJ_INT_30-1</TRANSACTION_ID>*
    *<RECORD_COUNT>1</RECORD_COUNT>*
    *<PAYLOAD><![CDATA[<ALTPPSEGHIERARCHY><sgmt_name>Company</sgmt_name><include_parent_child>C</include_parent_child><parent_flex_value>P</parent_flex_value><child_flex_value_low>03</child_flex_value_low><child_flex_value_high>03</child_flex_value_high><start_date_active></start_date_active><end_date_active></end_date_active></ALTPPSEGHIERARCHY>]]></PAYLOAD>*
    *<ATTRIBUTE1 NULL="TRUE"/>*
    *<ATTRIBUTE2 NULL="TRUE"/>*
    *<ATTRIBUTE3 NULL="TRUE"/>*
    *<ATTRIBUTE4 NULL="TRUE"/>*
    *<ATTRIBUTE5 NULL="TRUE"/>*
    *</apps:ORA_FUSION_LOAD_XMLTYPE>>*
    ####<Dec 20, 2010 12:14:26 PM GMT+05:30> <Info> <ALSB Logging> <vhydaiavm-03> <osb_server1> <[ACTIVE] ExecuteThread: '3' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <BEA1-000A464703C2C06A4338> <6751713a0ce9f61d:-6e70b631:12d02855fef:-7ff4-0000000000000002> <1292827466595> <BEA-000000> < [PipelinePairNode1, PipelinePairNode1_request, stage1, REQUEST] Payload After Applying the Function:: PRJ_INT_30ORACLE2010-12-20T10:49:17.000ZPRJ_INT_30-11>
    ####<Dec 20, 2010 12:14:26 PM GMT+05:30> <Info> <JDBC> <vhydaiavm-03> <osb_server1> <[ACTIVE] ExecuteThread: '3' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <6751713a0ce9f61d:-6e70b631:12d02855fef:-7ff4-0000000000000002> <1292827466688> <BEA-001128> <Connection for pool "EBS_DHAARA_DataSource" closed.>

  • Java client for OSB proxy with JMS Transport

    Hi,
    I am trying to call OSB proxy with JMS Transport. I am generating the client through ant task clientgen and following this article
    http://www.oracle.com/technetwork/articles/murphy-soa-jms-092653.html
    The osb proxy is req-response and is simply routing to BS which return a string value.
    When I run my client, it get stuck and does not return at all. Has any one trying java client in such scenario?
    What I may be missing?
    Below is snipped of client code:
    String url = "http://localhost:7021/sbresource?PROXY/MySample/MyJMSProxyService";
    CreditLoanApprovalServiceSoapBindingQSService service = new CreditLoanApprovalServiceSoapBindingQSService_Impl(url);
    MyPortType port = service.getCreditLoanApprovalServiceSoapBindingQSPort();
    LoanStruct in = new LoanStruct(); //populated the data structure
    String loanResult = port.processLoanApp(in); // Stuck here without any error
    System.out.println("LoanResult--> " + loanResult);
    Thx
    /Ashwani

    http://localhost:7021/sbresource?PROXY/MySample/MyJMSProxyService is the WSDL URL of the proxy.
    Transport is is picked by the client from wsdl.
    As far as the documentation of client generation is there, there is no change.
    But meanwhile I have started working on sending the message directly to queue. JMSProxy is getting called. May be I will first run the proxy this way and then try troubleshooting the java client.
    Regards
    Ashwani

  • How can we call a OSB proxy service from a BPEL process?

    Hi,
    I want to call a OSB proxy service from a BPEL process. Can you please explain me the procedure?

    Get the wsdl of the OSB proxy service and create webservice parnerlink in BPEL based on this wsdl to invoke the service
    To form the wsdl url, copy the Endpoint URI  configured to the proxy service(just click on the proxy service in the console) from the sbconsole  - /ATHGPUM_GlidePathService/ProxyService/ATHGPUM_GlidePathProxyService
    Pre append <<protocol://OSB Hostname:OSB Port>>  - http://localhost:8000/   and post append with ?WSDL
    The final WSDL url look like  - http://localhost:8000/ATHGPUM_GlidePathService/ProxyService/ATHGPUM_GlidePathProxyService?WSDL
    Regards
    Albin I

  • OSB Proxy service HTTP kerberos authentication

    Is it possible to use kerberos authentification in OSB Proxy service?
    I need it in following scenarios.
    First scenario. We have Sharepoint Portal with Windows SSO. Our Sharepoint developers can invoke webservice on OSB (proxy service) with transfering of kerberos ticket (they talk about process named impersonation). In OSB proxy service I want to know credentials which are passed in kerberos ticket. How to do it? My Weblogic and OSB Consoles already have kerberos auth.
    Second scenario. How can I pass kerberos ticket from proxy service to business service without knowing info in this ticket. Like passthrought for basic auth.
    PS I had read info here: http://download.oracle.com/docs/cd/E13159_01/osb/docs10gr3/security/security_faq.html and paragraph about OSB SSO looks bad for this task...

    For weblogic console i had done several actions for enabling of kerberos auth... some of them are:
    - NegotiateIdentityAsserter was added to realm's providers,
    - web.xml of consle was configured in section ...<login-config><auth-method>CLIENT-CERT, FORM</auth-method>...
    etc...
    What actions i need to do for proxy service?
    PS Manoj sorry... wait... i missed your link before have not read info yet :) may be it will help...
    Edited by: Andrey L. on 17.03.2010 2:25

  • Server name, port from OSB proxy and BPEL processes

    How do I read the server name, port and any other server related information from OSB proxy and BPEL processes?

    http://www.experts-exchange.com/Software/Server_Software/Application_Servers/Java/BEA_WebLogic/Q_24480613.html
    ObjectName service = new ObjectName("com.bea:Name=RuntimeService,Type=weblogic.management.mbeanservers.runtime.RuntimeServiceMBean");
    InitialContext ctx = new InitialContext();
    MBeanServer server = (MBeanServer)ctx.lookup("java:comp/env/jmx/runtime");
    ObjectName rt = (ObjectName)server.getAttribute(service,"ServerRuntime");
    System.out.println("Server Name : "+server.getAttribute(rt,"Name"));
    System.out.println("Server Address : "+server.getAttribute(rt,"ListenAddress"));
    System.out.println("Server Port : "+server.getAttribute(rt,"ListenPort"));
    ctx.close();
    By the way, it tool 10 seconds on google ...

Maybe you are looking for

  • Updating of QM info structures on the basis of inspection lot creation date

    Dear Gurus, Our business requirement is as follow: Suppose MM has received 10 consignment of a material (Goods receipt) against a material in month of Feb-2008 from a particular vendor. Inspection lot statistics in MCXA is updated on the basis of ins

  • Errors installing SCOM 2012 Reporting Services

    I've run into an issue installing SCOM2012 Reporting Services, that I can't seem to figure out. I installed SQL Server 2008 R2 SP2 SSRS local to the SCOM server using an instance name of SCOM. I created the databases for this on another server (SQL s

  • ServerSocket: Listening on same port with different addresses

    It seems this problem has been gone over before, but with no solution. If I try to set up a pair of server sockets, one on 127.0.0.11:5000 and the other on 127.0.0.22:5000, the second one seems to overwrite the first one. I've been able to accomplish

  • Faulting Application JFMerge.exe

    Hi all, Our servers have just started generating an application error the info looks like this 'Reporting queued error: Faulting application JFMerge.exe, version 5.5.0.41.42, faulting module JFMerge.exe, version 5.5.5.0.41.42, fault address ...' Anyo

  • Standard SAP Report - Payments blocked and released

    Hi Experts, We are having a requirement where the payment will be blocked for the invoices generated through Invoicing Plan. But we need a report " To know the status of payments blocked and released according to the invoicing plan". Do we have any s