Specify filename in OSB File Trasport Business Service

Hi All,
Is it possible to specify the complete filename in OSB File Transport Business Service?
the default behavior allows me to specify the prefix and suffix only, is it possible to override and specify the complete filename?
Thanks,
Tal

Specifying the filename for outbound FTP transport in OSB the thread discusses with FTP BS and same would apply for File BS
Manoj

Similar Messages

  • 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.

  • Need Java API's to create OSB proxy and Business Services

    Hi All,
    I need to create OSB proxy and business services using Java API's. Does any one have reference to the OSB APIs??

    AFAIK it is proprietary.
    What I do in a similar situation is to form XML for the services, package them into JAR the same way as an import JAR is packaged (creating ExportInfo resource, ...) and deploy with standard WSLT script. Works for simplest services only (direct proxies mostly) but I can also form security, alerts, throttling etc etc etc -- all in one shot.
    Out of sheer interest, may I ask you a question? Why do you need to create OSB services from Java?
    Vlad
    http://vladimirdyuzhev.com

  • 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

  • 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

  • OSB call multiple Business Services and combine the responses into one

    Dear All,
    I am new to OSB and I have a use case that I need to solve. I have 3 web services and I imported their WSDLs into OSB and created 3 Business Services that goes with each WSDL. The scenario is like this.
    Business Service 1: takes an input value as [Region] and returns a list of employee names.
    Business Service 2: takes the list of employee names and returns the list of employee names with their job profile
    Business Service 3: takes the list of employee names with their job profile and returns their contact information.
    I need to return the result of Business Service 3 to the consumer. The consumer basically need to call the Proxy service with [Region] as the input value and the result should be the output of above Business service 3.
    As I mentioned, I have WSDL for all the 3 Business Services, but, I do not have the WSDL for the Proxy Service. The Business Service WSDLs are all different and they do not match.
    My question is it possible to achieve the above result without having a concrete WSDL for Proxy Service? Also, how can I go about solving this use case. I have gone through some articles that talk about Split-Join, and am really lost.
    I really appreciate your kind reply on this.
    Thanks in advance.
    Regards,
    Syama

    You have multiple options:
    1. Create a WSDL which has input similar to input of WS1 (only Region as input) and an output similar to output of WS3.
    Create Proxy Service based on this WSDL. Then call all the thee business services one after the other and doing transformations/assigns as needed after each call. Finally map the result of BS3 to the similar output of your new WSDL on which the Proxy service is based.
    2. Create an Any XML type of web service. Create a schema which has two elements, one for input and one for output. Input containing only Region and output containing all the details. All consumers need to send request according to input defined in schema and expect output defined in schema. Its similar to creating the WSDL but can be used in case your consumer do not want to call a Web Service but want to call an XML API over HTTP. Rest will be same as option 1.
    Split join is needed to make calls in parallel, it wont be usable in your use case unless you expect a list og regions in the same request for each of which you need to gather same information by calling three services.

  • OSB 11g - List business services with WLST

    Hi,
    We're using OSB 11.1.1.3 and 11.1.1.6 in several environments.
    We just need to use wlst scripting to keep track of all business services and their endpoint uri's automatically.
    We tried using some old scripts but found out that they don't work on 11g installations:
    We tried the following code:
    connect('weblogic','oracle10','t3://soavm2:7001')
    domainRuntime()
    sessionName = "FindServicesSession" + str(System.currentTimeMillis())
    sessionMBean = findService(SessionManagementMBean.NAME, SessionManagementMBean.TYPE)
    sessionMBean.createSession(sessionName)
    servConfMBean = findService(ServiceConfigurationMBean.NAME + "." + sessionName, ServiceConfigurationMBean.TYPE)
    alsbCore = findService(ALSBConfigurationMBean.NAME, ALSBConfigurationMBean.TYPE)
    allRefs=alsbCore.getRefs(Ref.DOMAIN)
    for ref in allRefs:
    typeId = ref.getTypeId()
    if typeId == "BusinessService":
    serviceDefinition = servConfMBean.getServiceDefinition(ref)
    endpointConfigration = serviceDefinition.getEndpointConfig()
    print endpointConfigration
    We get a "AttributeError: 'NoneType' object has no attribute 'getServiceDefinition'" error. It seems that it is related to metalink note "How To Modify Service Configurations By OSB JMX API [ID 1431254.1]". However the code provided there is for java through jmx, does anybody has a working example of how to do that on wlst?
    Thanks!
    p.d: already posted this question on wlst forum but got no answer...

    You may like to refer metalink note 1380705.1 and OSB java API (section "Using MBeans in a script")-
    http://docs.tpu.ru/docs/oracle/en/fmw/11.1.1.6.0/apirefs.1111/e15033/com/bea/wli/sb/management/configuration/SessionManagementMBean.html
    Regards,
    Anuj

  • OSB:Publish to business service with for each in osb proxy message flow

    Hi,
    I have an external application that will make a call to my web-service and post a message to my queue "A" and i need to model my osb component such that it picks the message from that queue " A"and posts it to another queue "B". All this is done without any BPEL involved.
    for publishing the message i have created a business service that publishes a msg to the queue A and my proxy service is modelled such that it subscribes to this same queue A and publishes the msg to another business service (that posts it to a queue B).
    Everything is working fine but i have an issue in modelling my proxy message flow. If an external application sends a bulk msg i need to post the message one by one to my queue B. I have used for-each and Publish to BS but the msg doesn't get posted one by one. i know i am missing something please help me out.
    SOA Suite Version - 11.1.1.3

    Are you sure that your for-each definition is correct? Does the flow within the for-each get executed multiple times?
    You can check this by logging the variable to which you assign the message in the for-each. Don't forget to put the log level to Error, so you're sure that it's logged.
    Let's say you get a list of persons like the following xml in a variable personList
    <Persons>
    <Person>Glenn</Person>
    <Person>Prasanth</Person>
    </Persons>
    Your for-each definition should be the following.
    For each variable: person
    XPath: +./Person+
    In Variable: personList
    You don't mention the Persons element in the XPath expression since it is the root element of the XML. The root element is represented by . (dot).
    In the for-each, the variable person can be used like any other variable.

  • OSB: Calling MTOM business service from non-MTOM proxy

    Hi,
    it is very easy to call non-MTOM business service from MTOM enabled proxy service, but I don't know how to do it in an opposite way. I have web service proxy (http) with binary data in Base64 in a soap body element and I'd like to call a business service (web service over http again) using MTOM format to send binary data in binary format (and not in Base64 as it is in proxy). Is it possible to somehow decode binary data from Base64 in a proxy service and send them from this proxy to a business service using MTOM?

    I understand the flow you propose, but I don't know how to pass decoded data from Java callout back to message flow. As far as I know I can only return primitives, String and XmlObject, because anything else can't be processed in message flow.Yes you are correct.But you can also return DataSource in java callout. Please http://download.oracle.com/docs/cd/E13159_01/osb/docs10gr3/userguide/pojo.html
    Now the working solution/POC --Tested on my local linux box
    package manoj.javacallout.binary;
    import java.io.BufferedReader;
    import java.io.ByteArrayOutputStream;
    import java.io.InputStream;
    import java.io.InputStreamReader;
    import java.io.OutputStream;
    import javax.activation.DataSource;
    import javax.mail.util.ByteArrayDataSource;
    import com.sun.org.apache.xml.internal.security.utils.Base64;
    * TODO: I have use sun internal API for decoding for simplicity. You should modify this code with any base64 decoding library
    * Ideally should be using using http://commons.apache.org/downloads/download_codec.cgi
    * @author mneelapu
    public class Util {
         public static DataSource decodeBase64(DataSource ds) throws Exception {
         InputStream in=ds.getInputStream();
         BufferedReader bin = new BufferedReader(new InputStreamReader(in));
         byte[] decodedB64=Base64.decode(bin);
         ByteArrayDataSource decodedDS= new ByteArrayDataSource(decodedB64,"binary/octet-stream");
         return(decodedDS);
    Java Callout to decodeBase64
    Parameters
    javax.activation.DataSource=[ $body/* ]
    Result
    javax.activation.DataSource=response
    Now replace the $body with the decoded base64 response from java callout
    Replace [ node contents ] of [  undefined XPath  ]
    in [ body ] with [ $response ]
    Use $BEA_HOME/modules/javax.mail_1.4.jar for compiling.
    Let me know if this solves your problem.
    Thanks
    Manoj
    Edited by: mneelapu on Apr 20, 2009 3:23 PM

  • OSB secure-WS Business Service

    Hello,
    the target is using OSB 11.1.1.0 to call a secure WS and exposing it as clear WS Proxy.
    The requierements are summarized below.
    Can it be done with OSB, (if so, do we just need a custom policy file or additional configuration is needed), or do we need OWSM also?
    Thanks
    Regards
    Standards adopted are:
    1)     WS-Security Core Specification 1.1
    2)     X.509 Token Profile 1.1
    Client security actions
    •     Add <wsu:Timestamp> tag to soap header, with creation and expiration in UTC format xsd:dateTime defined in XML Schema.
    SAMPLE
    <wsu:Timestamp wsu:Id="...” xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
    <wsu:Created>2011-06-05T18:40:11.234Z</wsu:Created>
    <wsu:Expires>2011-06-05T18:45:11.234Z</wsu:Expires>
    </wsu:Timestamp>
    •     Add signature to soap header:
    - Transformation Algorithm     http://www.w3.org/2001/10/xml-exc-c14n#
    - Digest Algorithm     http://www.w3.org/2000/09/xmldsig#sha1
    -     Signature generated encypting (using with client private key) the digest of the following message elements
    <wsu:Timestamp>      xmlns:wsu=”http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd”
    <soap:Body>     xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/”
    •     Encrypt the following message elements
    <ds:Signature>     xmlns:ds="http://www.w3.org/2000/09/xmldsig#/”
    <soap:Body>     xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/”
    USING THE FOLLOWING algorithms
    - Symmetric Encoding Algorithm     http://www.w3.org/2001/04/xmlenc#tripledes-cbc
    - Key Encryption Algorithm     http://www.w3.org/2001/04/xmlenc#rsa-1_5"

    You may do it with OSB and custom policies -
    http://docs.oracle.com/cd/E23943_01/dev.1111/e15866/message_level.htm#g1096101
    OWSM is not mandatory for it.
    Regards,
    Anuj

  • OSB File append

    I have setup a File protocol based Business Service in OSB. This Business Service is called by a Proxy Service after setting the file name in the outbound transport header and assigning the text to be written to the file. When executed, the file is successfully created. When the proxy service is executed again, a new file is created. I would like the data to be appended to the existing file. How do we achieve this?
    I know there is a property - 'Append' which should be set to true in case of file adapters. I tried setting the outbound transport header to 'Append', 'append', 'jca.file.append', 'jca.file.Append'. None of these seem to help.

    Thanks for the link. That really helped!
    However, though the file is created by the file adapter, the contents are missing. While configuring the File Adapter in JDev, I defined the following XSD as the message for the write operation.
    <xsd:element name="log">
    <xsd:complexType>
    <xsd:sequence>
    <xsd:element name="logMessage" type="xsd:string" />
    </xsd:sequence>
    </xsd:complexType>
    </xsd:element>
    And I am sending the following in the SOAP Request...
    <log:log xmlns:log="http://myNS/LogFileWriter">
    <log:logMessage>My Log message...</log:logMessage>
    </log:log>
    I expect the value 'My Log message...' to be written to the file. However, it is always empty.

  • OSB--DBAdapter---JMSAdapter--Business Requirement

    Hi all,
    This is my Business Requirement
    I need to pull the data from data base using DB adapter using OSB call the Business Service and insert the data.(Business Service will take care about insertion * here business service is bother about insertion it wont give any response back)
    soure---DB adapter (pull the data)
    OSB---message flow
    Target---Business Service (it will call DB adapter (To Insert data)
    I can able to poll the data from DB adapter and using OSB message flow(Request pipe ) I can successfully inserting the data in to another DB(calling Business Service).
    The Response pipeline I need to call JMS service(using publish) to note down successful transaction.How to publish the successful transaction into JmS Message Queue(using publish).
    Can any one help me on this scenario?
    Thanks in advance
    Krishna.

    950755 wrote:
    your ans is helpful to meThen please mark the answer as helpful...
    Which input data do I need to pass to publish business service(jms)?I don't know if I understand your question right... Is there a process consuming the jms queue? You should publish on the jms queue the data the consumer process needs... If +"End system business service doesnt give any response back"+ may you should publish something you got from input data...
    Cheers,
    Vlad

  • Proxy Business service http request to webapp

    I have a webapp deployed to my appserver and have coupled that up to a Business service in my OSB
    In the Business service Test panel I can verify that my http request to my webapp operates correctly
    I need to configure several Proxy services which will translate into HTTP requests being issued by my Business service
    Can someone point me to an example of how this might be setup
    Thanks

    Hi
    No matter what I try I can't seem to get my outbound variable modified so that the right info is sent to my busiiness service
    my Proxy service is an inbound HTTP request, so I read/process the
    $inbound/ctx:transport/ctx:request/http:query-string
    to suit my business service
    my Business service is another HTTP interface
    I can't seem to modify the $outbound variable so that it includes a ctx:transport/ctx:request/http:query-string
    any help greatly appreciated

  • ALSB Business Service Call through corporate proxy

    I would like to define an ALSB Business Service to make a http web service call to a business partner over the public internet. No problem normally we would just specify the appropriate URI in the Business Service.
    This time, however, we need to go through a corporate proxy in the DMZ. How do I direct the Business Service to use the proxy? Can I use -Dhttp.proxyHost in the weblogic setDomainEnv.sh?

    In the advances settings of your businiess service, you can define a proxy-server.
    Or you can set the proxy server at JVM level
    PROXY_HOST
    PROXY_PORT
    NON_PROXY_HOST
    Marc
    http://orasoa.blogspot.com

  • OSB error while generating business service for FTP adapter Sync Get File

    Hi All
    I am trying to generate a business service from SOA Suite JCA FTP adapter Sync Get File, but i am getting this exception for no reasons (Rest operations list file, get file and put file are working)
    Invalid JCA transport endpoint configuration, exception: java.lang.NullPointerException     Unknown ALSB Conflict.
    Is this a bug in eclipse, can any body help me. Thanks
    Sorry Forgot to mention eclipse version...
    Eclipse Platform
    Version: 3.6.2
    Build id: M20110210-1200

    Ok,
    bcoz of this issue, i had to code the entire interface in OSB console. It runs fine in OSB console (i was able to test it successfully).
    Is this a bug in eclipse or only i am facing this issue? Has anybody tried to create a business service from JCA FTP Get Synchronous jca file?
    <adapter-config name="FTPReadMOMFileOnRMSDB" adapter="FTP Adapter"
         wsdlLocation="../wsdl/FTPReadMOMFileOnRMSDB.wsdl"
         xmlns="http://platform.integration.oracle/blocks/adapter/fw/metadata">
         <connection-factory location="eis/ftp/RMSDBFtpAdapter" />
         <endpoint-interaction portType="SynchRead_ptt"
              operation="SynchRead">
              <interaction-spec
                   className="oracle.tip.adapter.ftp.outbound.FTPReadInteractionSpec">
                   <property name="DeleteFile" value="true" />
                   <property name="PhysicalDirectory" value="/MOMFiles/output" />
                   <property name="FileName" value="*" />
                   <property name="FileType" value="binary" />
              </interaction-spec>
         </endpoint-interaction>
    </adapter-config>
    One more doubt? The PhysicalArchiveDirectory path can be on the FTP server something like: /MOMFiles/archive. Or do i have to use the Put operation to move it to /MOMFiles/archive directory. Currently OSB console and eclipse do not accept FTP path for this parameter and want me to specify a local directory on server. Thanks

Maybe you are looking for