OSB10gR3:High-availbility of file protocol based proxy service

Hi All,
I just want to know the options available for creating two proxy services polling on the same location using File transport/ making a file based proxy service independent of managed servers.
Actually in OSB doc's File Transport Configuration page, it is mentioned that
Managed Server This field is available only in a clustered domain. Select the Managed Server to act as the polling server. All of the Managed Servers can process the message, but only one can poll for the message. ( [Click here|http://download.oracle.com/docs/cd/E13159_01/osb/docs10gr3/consolehelp/proxyservices.html#wp1272642] to check)
So what if the server on which proxy is deployed for polling, goes down? How can we handle such situation?
Your opinion?
Thanks & Regards,
Anuj

File like FTP and Email transports are singleton services. That is, the processing can take place in any node of the cluster, but the polling only takes place in one. The reason for this is simple, duplicate invocations. If you have 4 nodes in your cluster and they are all polling, when a new file is created, your proxy could be invoked 4 times for the same file.
You could make two proxy services and have them poll the same directory but on different nodes. If the nodes share the same file system, your business service would have to be able to deal with duplicate messages. If it's not the same file system, the application that creates the files would need to keep track of the status of the servers in the cluster to decide where to put the files.
I think the best option would be to look into weblogic's cluster features: leasing and server migration. You could configure weblogic to automatically migrate the failed server to another machine (there's also service migration, but I don't think weblogic is aware of osb level services). Of course you would need to use a file system that's available to both the "primary" and the "backup" servers. Have a look here:
http://download.oracle.com/docs/cd/E12840_01/wls/docs103/cluster/migration.html
You could also create a WLST script to modify your proxy service (change the managed server) in case of failure. There should be a way, maybe through JMX or using the WLDF, to get a notification when the server goes down so you can execute your script. Again, you need a shared file system.
Hope that helps. And if you come up with a good solution let us know!

Similar Messages

  • OBPM BPM Studio support for SOAP 1.2 based Proxy services (OSB)

    Hi,
    I tried to import proxy services from OSB (as external resource). The proxy service is based on the SOAP 1.2 WSDL standard. When BPM studio introspective SOAP1.2 based proxy services, it is givng the following warninigs. Bacause of this i am unable to create a service object. Please help.
    Regards,
    Pandu
    Introspecting...
    downloading /sbresource?PROXY/RoutingAndMessagingService/proxy/OnRampService
    parsing /sbresource?PROXY/RoutingAndMessagingService/proxy/OnRampService
    [Warning] unknown tag 'header' from 'http://schemas.xmlsoap.org/wsdl/soap12/'.
    [Warning] unknown tag 'header' from 'http://schemas.xmlsoap.org/wsdl/soap12/'.
    checking /sbresource?PROXY/RoutingAndMessagingService/proxy/OnRampService
    parsing http://localhost:7002/sbresource?PROXY%2FRoutingAndMessagingService%2Fproxy%2FOnRampService%3ASCHEMA%2FSchemas%2Finternal%2Fwsdlmessages%2Futilityservices%2Froutingandmessagingservice%2FRoute
    analyzing http://localhost:7002/sbresource?PROXY%2FRoutingAndMessagingService%2Fproxy%2FOnRampService%3ASCHEMA%2FSchemas%2Finternal%2Fwsdlmessages%2Futilityservices%2Froutingandmessagingservice%2FRoute
    parsing http://localhost:7002/sbresource?PROXY%2FRoutingAndMessagingService%2Fproxy%2FOnRampService%3ASCHEMA%2FSchemas%2Finternal%2Fwsdlheaders%2FHeaderSchema
    analyzing http://localhost:7002/sbresource?PROXY%2FRoutingAndMessagingService%2Fproxy%2FOnRampService%3ASCHEMA%2FSchemas%2Finternal%2Fwsdlheaders%2FHeaderSchema
    parsing http://localhost:7002/sbresource?PROXY%2FRoutingAndMessagingService%2Fproxy%2FOnRampService%3ASCHEMA%2FSchemas%2Finternal%2Fwsdltypes%2Fcommon%2FHeaderTypes
    analyzing http://localhost:7002/sbresource?PROXY%2FRoutingAndMessagingService%2Fproxy%2FOnRampService%3ASCHEMA%2FSchemas%2Finternal%2Fwsdltypes%2Fcommon%2FHeaderTypes
    parsing http://localhost:7002/sbresource?PROXY%2FRoutingAndMessagingService%2Fproxy%2FOnRampService%3ASCHEMA%2FSchemas%2Finternal%2Fwsdltypes%2Fcommon%2FSimpleTypes
    analyzing http://localhost:7002/sbresource?PROXY%2FRoutingAndMessagingService%2Fproxy%2FOnRampService%3ASCHEMA%2FSchemas%2Finternal%2Fwsdltypes%2Fcommon%2FSimpleTypes
    http://www.michaelpage.com/wsdltypes/common/SimpleTypesv1.0 compiled
    http://www.michaelpage.com/wsdltypes/common/HeaderTypesv1.0 compiled
    http://www.michaelpage.com/wsdlheaders/Headerv1.0 compiled
    http://www.michaelpage.com/wsdlmessages/utilityservices/Routev1.0 compiled
    [Warning] The binding 'OnRampServiceSOAP' with type 's2:OnRampServicePort'is unsupported. Components will not be generaded for this binding..
    'http://www.michaelpage.com/wsdl/utilityservices/routingandmessagingservice/OnRampServicev1.0/' was parsed.
    Analyzing dependecies for module 'WS.OnRampService'...
    Analyzing dependecies for module 'WS.OnRampService'...
    Analyzing Components
    Storing Instrospected Types
    Introspection completed. Errors: 0, Warnings: 3.

    Pandu,
    OBPM 10g doesn't support SOAP 1.2 binding.
    Edited by: 4dyomi on Nov 20, 2009 11:41 AM
    Edited by: 4dyomi on Nov 20, 2009 11:42 AM

  • In OSB file protocol, trying to get the archived file name in proxy service

    Hi,
      I have a requirement that i need to process the archived file of file protocol,  with java callout in proxy service.
    I am able to get the file name which is reading with 'tokenize($inbound/ctx:transport/ctx:request/tp:headers/file:fileName,"\\")[last()]' , but this file is getting archived to archive folder. I want to pass the archive file name as input to the Java callout.
    Please let me know if  this can achieve in OSB proxy or any other options.
    Note : I am reading a xlsx file in the file protocol

    If you're using pass by reference option in the file transport, I guess the archive filename can be obtained from $body/ctx:binary-content/@ref. Try it out.

  • Unable to process huge files in SFTP BASED PROXY SERVICE

    Hi,
    I credted osb project which will have sftp based proxy and sftp based business service.After completing the development i tested the fie transfer through WINSCP ,but my sftp based proxy was picking the files but i am unable to see the files in the output directory for huge files,for small file it is coming after aquite long time .please assist me .

    If you enable content streaming then you cant access the file/message content within the Proxy service and can not perform actions like Replace or perform transformations on the content. Use streaming for pass through scenarios only. If you want to read a large file and also perform transformations on content I would recommend using JCA Adapter for FTP and try reading records from file in batches, a few records at a time. Just so we know the requirement better, what is the file size and what is the format of the content?

  • Using relative-URI  in creating the REST based proxy service

    Hi,
    I am facing an issue when i am trying to create REST based proxy. i am looking at the urls given in the forum post Using Business Service that supports XML over HTTP in OSB
    I have created a conditional branch with xpath expression like *./ctx:transport/ctx:request/http:relative-URI/text()*
    and i am copying this value to $inbound as showin in the blog http://blogs.oracle.com/jeffdavies/2009/06/restful_services_with_oracle_s_1.html. But when i typed the uri in browser its saying xml parser error unable to find <.
    Not sure of the reason. If i modify my proxy to use http-method as shown in the blog its working fine and that too only when i copied ./ctx:transport/ctx:request/http:http-metho/text() to $inbound. But when i copied the same to another variable like branchcond, i am getting same parsing error. And Is it that the variable has to be always $inbound?  So what should be the variable name for using relativeURI
    And my uri is going to be like the following, thats why i am planning to create the conditonal branch on relative-uri.
    http:/localhost:8001/proxy/RESTbasedPS/getGreeting?name=23
    http:/localhost:8001/proxy/RESTbasedPS/getFullName?firstName=Some&lastName=Thing
    Any leads in above error will help me.
    Thanks
    Siva

    When i created the Conditonal branch, its asking for two mandatory properties. One is 'selected path' and the other is 'variable'. My scenario i am trying to base my conditional branch based on relative uri, so i have given './ctx:transport/ctx:request/http:relative-URI/text()' for 'selected path' variable and giving the value 'inbound' for 'variable' property of conditional branch.
    i was trying to do this in similar fashion as given in the blog http://blogs.oracle.com/jeffdavies/2009/06/restful_services_with_oracle_s_1.html, only thing is that i am using http:relative-URI rather http:http-method as shown in the blog.
    I am geting the following error in exact:
    XML Parsing Error: no element found
    Location: http://localhost:7001/proxy/RESTBasedPS/getGreeting?name=siva
    Line Number 1, Column 1:
    Please let me know if i am missing something or doing wrong with inbound variable.
    Thanks
    Siva

  • When we should use JMS based proxy services and when JMS Adapter in OSB

    Hi,
    Can somebody explain me when we could go for JMS Adapter and when we should go for JMS based service in OSB?
    The one scenerio i can think of is when my provider/consumer is using jms provider other than WLS jms provider we should use jms adapter.
    Edited by: user12883209 on Jan 5, 2012 5:29 AM

    I don't think there are clear guidelines available, however here is my view.
    1) OSB 11gR1 is not certified with Oracle JMS Adapter. It is certified with Oracle FTP, Database, AQ and application adapters.
    http://docs.oracle.com/cd/E21764_01/doc.1111/e15867/interop.htm#OSBAG1403
    2) In addition of the Weblogic JMS, OSB can also integrate with following provider without using adapter.
    - WebSphere MQ
    - Tibco EMS
    3) if you need to integrate JMS with BPEL Process or Oracle SOA suite composite, it has built in support for generic Oracle JMS adapter. Oracle generic JMS adapter can integrate with AQ JMS (JMS providers OJMS 8.1.7, 9.0.1.4, and 9.2), TIBCO JMS, IBM Websphere MQSeries (IBM MQSeries JMS 6.0), Weblogic JMS, Apache, and Active MQ
    http://docs.oracle.com/cd/E14571_01/integration.1111/e10231/adptr_jms.htm
    4) If you need to integrate OSB with Weblogic JMS, WebSphere MQ, Tbco EMS it does not need JMS adapter.
    Hope this helps !!!
    Jayesh Patel
    http://jayesh-patel.blogspot.com/
    http://www.yagnasys.com/

  • Oracle service bus file protocol issue with distributed queue

    Hi,
    I have created a file protocol based proxy service and it is deployed to a clustered environment. The clustered environment has -
    Machine 1 - Admin server(AS) and Managed server 1 (MS1)
    Machine 2 - Managed server 2(MS2)
    There are 2 JMS servers jms1 and jms2 which are targeted to MS1 and MS2 respectively.There are 2 JMS queues(queue1 and queue 2) created, one each targeted to jms1 and jms2. The system module under which the queues are created is targeted to the cluster. There is uniform distributed queue(bind to wlsb.internal.transport.task.queue.file) created under the same system module of which queue1 and queue 2 are members.
    Currently when the proxy service poller server is given as MS1 then if the file is picked up and send to queue 1 then it gets processed successfully but if the file is send to the queue 2 then it remains in the stage directory of the proxy service. Similarly if the proxy service poller server is given as MS2 then its get processed through queue 2 but if it is picked up in queue1 then it remains in the staging directory.
    Am i missing any configuration here related to the queues set up ? Why file does not get processed if it is send to the queue(which is other than the poller managed server) ?
    Please help
    Thanks

    I have installed OEPE 11.1.1.6.1 now in the same middleware home as weblogic server but when i try to install OSB 11.1.1.4 in the same middleware home, it asks for OEPE home location. Even though i provide the OEPE home location , it displays as "invalid oepe home location".
    I have been struggling to get this sorted out so that i can carry out IDE development in OSB 11.1.1.4
    Below are the paths where sfotware are installed -
    JDK - C:\Oracle\Middleware\Java\jdk1.6.0_21
    Weblogic server - C:\Oracle\Middleware\wlserver_10.3
    OEPE - C:\Oracle\Middleware\oepe-galileo-all-in-one-11.1.1.6.0.201007221355-win32-x86_64
    Thanks

  • How to use a file transport proxy service as trigger for a webservice

    Hi,
    I've implemented a alsb file transport proxy service. This proxy is watching a common directory and detects new files. After detection, the proxy move them in an archive folder.
    After that I want call an external webservice with the filename as input parameter.
    How can I comfigure that with the alsb console.
    best regards
    Oliver
    with the to extract the filename after it was renamed by the proxy service.

    How do you invoke/ instantiate the file based proxy service. Does it just run on activation in sb console? Does it continue to detect files or does it stop after detecting one file?
    Also what is the format of the URL that points to the file folder.
    For Ex: I have a folder named "TestFiles" on the C:\drive of the server.
    Edited by premkumr at 10/31/2007 3:26 PM

  • File Based logging: Control file name based on calling service

    In the file logging, I need to change the "Prefix" and "Suffix" that I can type in, from page "FILE Transport Configuration" while creating
    business service with transfort: File. I need to be able to supply these values for the file name from proxy service activity.
    I am creating as logging proxy service which will be called from all the other proxy services. I am planning to use logging to File System based on
    BS for achieving this. I need to be able to create a new file with name that corresponds to the calling service. How can I achieve this?
    Also this service should be able to turn logging on or off based on the calling service. I should be able to turn off the logging completely or
    turn off the logging only for few services.
    What is the best way to achieve this?

    HI
    That means your file name would be decided at run time . so u can use adapter specific mesage attributes in ur communication channel
    please refer tto the same here
    /people/william.li/blog/2006/04/18/dynamic-configuration-of-some-communication-channel-parameters-using-message-mapping
    Dynamic File Name Part 1
    /people/jayakrishnan.nair/blog/2005/06/20/dynamic-file-name-using-xi-30-sp12-part--i
    Dynamic File Name Part 2
    /people/jayakrishnan.nair/blog/2005/06/28/dynamic-file-namexslt-mapping-with-java-enhancement-using-xi-30-sp12-part-ii

  • WSDL Based Proxy

    Hi,
    I’m trying to find out the best way offered by OSB to create proxy service.
    I know that you can build your proxy service based on a business service, but let’s assume I need to create a WSDL based proxy service that is not based on any business service and delegates the request to the proper business service based on a certain conditions and schema transformation.
    My question, what is the best way to create such a WSDL (for the proxy) "for sure without haviing to write the WSDL from scratch my self". or what is the best approach developing the previous scenario.
    Thanks

    true , the creation of the WSLD is where you should start.
    Indeed creating a WSDL 1.1 by hand is a pain in the neck. It's very verbose and redundant. WSDL 2.0 is better but not supported yet by OSB 11g. You could automate the generation of WSDL with a script (I have used Groovy, which has got great support for XML parsing and generation), or using some tools like XMLSpy....
    The Eclipse WSDL editor is not too bad anyway AFAIR....

  • Post read option-archive  not working in SFTP proxy service in osb

    Hi,
    i created SFTP protocol based proxy in osb also make the following option in sftp transport page of proxy,
    Post read option :Archive
    Archive directory: sftp://vms.oracle.com:22/D2O/osbarchive
    Tested throuh WINSCP,files are picking up from input directory and it was succesfully going to output directory that i configured in business service,
    bUT ARCHIVE IS NOT HAPPENING,I checked the archive directory after testing but nothing aws therei tried options like checking remotestreaming in sftp transport,that one also not working for me
    ,Pls help me to solve this issue.
    Regards
    ABHI

    I never thought archiving to be on the remote side... I think archiving is designed to be local...
    Have a look at this...
    https://forums.oracle.com/forums/ann.jspa?annID=893

  • Looping of OSB Proxy Service

    Hi All,
    We have OSB file based proxy services to read data, transform each obbject and individually upload the transformed message to a JMS Queue. The execution is smooth for any file/content that takes less than 10 min of processing time.If theexecution time goes beyond 10 mins, a second thread of thesame proxy starts and completion of both threads (original and new) results in twice the number of records than expected. The xqueries and OSB code is tuned for performance. The concern is the "10 min" duration after which it starts a new thread.
    Can anybody help me find where this 10 min setting is done on Weblogic? The MaxStruckThread time is set to 1800 (30 mins).
    -SK

    Can anybody help me find where this 10 min setting is done on Weblogic?I think it may be JTA timeout setting which is causing the transaction rollback. You may consider increasing value of JTA timeout -
    http://download.oracle.com/docs/cd/E17904_01/apirefs.1111/e13952/taskhelp/jta/ConfigureDomainJTA.html
    Regards,
    Anuj

  • Calling an MFL business service from a WSDL proxy service

    Hi,
    I'm using Service Bus v2.6, and trying to call an MFL business service from a wsdl based proxy service.
    I have done the following so far:
    - Define an MFL-based business service that writes MFL messages to a JMS queue and reads reply messages off another queue, and it works when I debug this business service by itself.
    - Define a wsdl proxy service that routes requests to the MFL business service.
    Since the tutorials don't have MFL examples, I'm struggling to get this working. I've tried different ways, but no luck.
    Here's my definition of the route node in the Proxy Service at the moment.
    1. Call a custom XQuery (.xq file) to convert incoming message to an XML representation of the MFL message, and assign the result to a variable "param1"
    2. Use "Service Callout" to call the MFL business service, and set Request Document Variable to "param1" and Response Document Variable to "param2".
    When I debug the flow, param2 (reply) comes up as empty, and I don't know how to make it work.
    I've turned on the JMS trace etc and the JMS bit is working (i.e messages being written, and read by the business service).
    There seems to be something wrong with the way I call it from the proxy service.
    Any help would be much appreciated..
    Thanks

    Hello,
    Can you indicate the classpath that you use to run your client, version of weblogic and the version of jaxrpc api that you are using.
    As a quick experiment adding the jaxrpc jar files to your classpath one at a time.
    This [url http://www.javaworld.com/javaforums/showflat.php?Cat=&Board=Enterprisejava&Number=3801&page=12&view=collapsed&sb=9&o=&fpart=1]chap seemed to have a similar problem to you and solved it by adding the jaxprc-spi jar file to his class path. It may be that the jaxrpc-impl is causing you greif.
    Also see this thread:
    http://forums.bea.com/bea/message.jspa?messageID=200612003&tstart=0
    Hussein Badakhchani
    www.orbism.com

  • Creating the proxy service

    When I create the proxy service and choose to be created from the WSDL, I have two options for selecting the port and binding, could you explain the difference in choosing between the port or binding?
    Thanks!

    Hi,
    Here is the difference.
    If the service is based on a binding:
    If the service is generated from binding Y in the WSDL resource, the effective WSDL defines a new service and port (<bindingname>QSService and <bindingname>QSPort). None of the ports defined in the WSDL resource are included in the effective WSDL.
    There may be multiple ports in that WSDL associated with that binding. Each port can use a different URL. Therefore, the effective WSDL uses the binding but generates an artificial port from the configuration on the service for that binding. All other ports will be removed.
    If the service is based on a port:
    If the service is generated from port X in the WSDL resource, then port X is also defined in the effective WSDL. Any other ports defined in the WSDL resource are not included. Furthermore, if you base the proxy service on a WSDL port, the effective WSDL uses that port name. The binding is determined from the port, and in turn, the port type is determined from the binding.
    The effective WSDL preserves any WS-Policies associated with the port defined in the resource WSDL.
    The transport address specified in the port definition in the resource WSDL is never used as the address for a proxy service in the effective WSDL:For HTTP services, you must specify a transport address when configuring the transport in the Administration Console or the plug-in. That address is used in the port definition in the effective WSDL.The URL specified as the transport address for a proxy service is always relative to a path in an Oracle Service Bus domain, because Oracle Service Bus always hosts proxy services.
    For SOAP-protocol-based WSDL services, the transport URI in the SOAP binding depends on the transport implementation. For standard transports (like HTTP and JMS), this value is as per the SOAP specification or another universally accepted value. For transports for which SOAP does not define a standard value, Oracle Service Bus sets one consisting of a predefined namespace with the transport ID appended at the end: http://www.oracle.com/transport/2007/05/.
    There is one service element in the effective WSDL, and the port address contains a URL whose syntax and semantic is defined by the transport selected in the binding.
    thanks,
    Richa

  • Cannot create Proxy service with JCA transport

    Hello everyone.
    I have some issues while trying to create ftp service with jca transport. I follow the instruction in this tutorial:
    http://blogs.oracle.com/MarkSmith/entry/osb_and_ftp_adapter_in_11g
    I stuck in Step 4, cannot create proxy service to use JCA file that I created by JDeveloper 11g (11.1.1.5). When I specify jca file for proxy service, a error message returned:
    <ALSB Console> <BEA-494002> <Internal error occured in OSBConsole : Transport exception occurred with the following message:
    Invalid JCA file for JCA proxy service. If you are creating a Proxy from a Business Service, please select a different transport type (for example, http). If not, JCA file must contain JCA activation spec properties.And these are my jca file content that created by JDeveloper:
    <adapter-config name="myJCA_FTP_service" adapter="FTP Adapter" wsdlLocation="myJCA_FTP_service.wsdl" xmlns="http://platform.integration.oracle/blocks/adapter/fw/metadata">
      <connection-factory location="eis/ftp/MyFtpAdapter"/>
      <endpoint-interaction portType="Put_ptt" operation="Put">
        <interaction-spec className="oracle.tip.adapter.ftp.outbound.FTPInteractionSpec">
          <property name="PhysicalDirectory" value="/home/FTP-shared/upload"/>
          <property name="FileType" value="ascii"/>
          <property name="Append" value="false"/>
          <property name="FileNamingConvention" value="osb_%SEQ%"/>
          <property name="NumberMessages" value="1"/>
        </interaction-spec>
      </endpoint-interaction>
    </adapter-config>Is there anyone who had tried to use JCA transport with Ftp adapter already? Please give me a suggestion.
    Any response is appreciated
    Regards, Cuong Pham

    To get to the basics.
    You use GET to read files from an FTP location - This can be done by an OSB proxy service only.
    You use PUT to write files to an FTP location - This can be done by an OSB business service only.
    So forget that you need a proxy service for PUT.

Maybe you are looking for

  • Help~~:'MD_SALES_ORDER_STATUS_REPORT' filter rule for MD04?

    As you know we can use function 'MD_SALES_ORDER_STATUS_REPORT' to relate the (PR PR PlanOrder Prorder) with Sales Order. But when the screen go to MD04,the number of (PR PR PlanOrder Prorder) showed is less than the function 'MD_SALES_ORDER_STATUS_RE

  • Download data into a pipe delimited file

    I want to download data from an internal table into a pipe delimited file. I plan to use FM: SAP_CONVERT_TO_TEX_FORMAT but the system I am working on is BW 3.1. This FM does not exists in BW 3.1 How can I download data from an internal table into a p

  • Intercompany clearing

    Hi Masters, For the inter company clearing for customer and vendor i used the transaction F.13 Error - No clearing procedures were carried out checked the settings in OBYA  for clearing accounts it has been maintained Checked the setting in oby6 that

  • Having trouble reading /opening raw files from NIKON 1AW1 camera inn lightroom 5.2

    We have the new Nikon 1AW1 camera and it shoots in raw and jpeg format.  I prefer RAW.  We have opened and processed 1000s of raw images from our other Nikon DSLRs.  With this new camera keep getting the unrecognized  format??   any hints??

  • MIRO badi MRM_HEADER_CHECK park/post control

    Hello friends, We have implemented MRM_HEADER_CHECK badi to check unplanned delivery cost, and used MRM_PROT_FILL fm to fill the errors. Everything going fine, but for this error message system should not allow to post document in MIRO, and it should