Exte4rnal application sending binary documents to workflow

How can and external application send binary word documents to workflow?
I have tested the AQ XML Servlet and found it usefull to use for applications external to oracle to send notifications which may include text documents, to workflow. I am not sure what to do If the document were binary.
Thanks,
Yves.

I Base 64 Encoding a standard that would be available to other applications external to Oracle? That is if my external application is written is C++, If I encode a document, will Oracle be able to decode it?

Similar Messages

  • Can any one help me sending Oracle application server Cloning  document 9.0.4 version

    Can any one help me sending Oracle application server  Cloning document 9.0.4 version (Mail id removed by moderator)
    Many Thanks in advance
    Deepak

    Hi Deepak,
    In first place application server 9.0.2 is desupported since 30th June 2007.So oracle would always recommend its customer to be on the latest versions.
    Please follow the below URL for cloning Appplciation Server 9.0,.4
    Cloning Application Server Middle-Tier Instances
    Regards,
    Prakash.

  • B2B - Error While sending the document to GXS from Oracle B2B server.

    When I am trying to send the document to GXS, getting the following error. This message is show in the window that pops up when you click on Reports->WireMessage->Details of the Message.
    I am trying to find what is causing the issue.
    State ERROR
    Error Code B2B-50079
    Error Description Transport error: [IPT_HttpSendHttpResponseError] HTTP response error :sun.security.validator.ValidatorException: No trusted certificate found.
    Error Text Transport error: [IPT_HttpSendHttpResponseError] HTTP response error :sun.security.validator.ValidatorException: No trusted certificate found.
    Here is the complete details from the Window.
    Id 812E875712EA19A8EEC000005EF51ED3
    Message Id 4e45f5dff566a29f:-ce624b0:12ea1982d56:-7ff3
    Business Message 812E875712EA19A8E88000005EF51ED0
    Packed Message Packed Message
    Payload Payload
    Protocol Message Id 4e45f5dff566a29f:-ce624b0:12ea1982d56:-7ff3
    Refer To Protocol Message Id
    Protocol Collaboration Id
    Protocol Transport Binding TO=Trader_Joes content-type=application/HTTPstream,actionrequest Content-Transfer-Encoding=binary FROM=AcmeSystems MESSAGE-ID=4e45f5dff566a29f:-ce624b0:12ea1982d56:-7ff3 DATE=Thu, 10 Mar 2011 21:09:43 GMT Connection=close Content-Type=text/plain; charset=us-ascii
    Message Digest Message Digest
    Digest Algorithm
    Transport Protocol HTTP
    Transport Protocol Version 1.1
    Url https://web.tradinggrid.gxs.com/invoke/gxs.https/receive
    security
    Transport Headers TO=Trader_Joes content-type=application/HTTPstream,actionrequest Content-Transfer-Encoding=binary FROM=AcmeSystems MESSAGE-ID=4e45f5dff566a29f:-ce624b0:12ea1982d56:-7ff3 DATE=Thu, 10 Mar 2011 21:09:43 GMT Connection=close Content-Type=text/plain; charset=us-ascii
    certificates certificates
    State ERROR
    Error Code B2B-50079
    Error Description Transport error: [IPT_HttpSendHttpResponseError] HTTP response error :sun.security.validator.ValidatorException: No trusted certificate found.
    Error Text Transport error: [IPT_HttpSendHttpResponseError] HTTP response error :sun.security.validator.ValidatorException: No trusted certificate found.
    exchangeRetryInterval
    exchangeRemainingRetry
    Message Size 0
    Here is the Setup We did sofar.
    1) Created the Document Definition.
         PositionalFlatFile-VDA-1998-4913v4-4913v4_Definition
    2) Created Trading Partner Profile
         Trader_Joes
    3) Added Document Definition to the TP as receiver.
    4) Configured a channel with Protocol "Generic HTTP-1.0". Is it showing only one entry, HTTP.
         Transport Protocol: Selected "HTTP" from the dropdown list.
         url: https://web.tradinggrid.gxs.com/invoke/gxs.https/receive
         username: xxxx
         password: xxxx
         Additional transport headers: content-type=application/HTTPstream,actionrequest=upload,receiverid=xxxxxxx,datatype=EDI,aprf=TEST,snrf=12345678
    NOTE: I don't see tabs for "Exchange Protocol Parameters" and "Security". It only shows "Transport Protocol Parameters" and "Channel Attributes" tabs.
    =====
    5) Created Agreement with the document defition that was created.
    6) Deployed the Agreement and it is showing "Active" state.
    7) Created a Keystore on the server using the following command.
    keytool -genkeypair -alias serverCert -keyalg RSA -keysize 1024 -validity 365 -dname "CN=soa.Acmesystems.com,OU=Support,O=Acmesystems,L=suntown,ST=MD,C=US" -keypass xxxxxxxxxx -keystore AcmeIdentity.jks -storepass xxxxxxxxxx
    keytool -list -keystore AcmeIdentity.jks -storepass xxxxxxxxxx
    8) Imported the certificate that we got from the GXS to the Key store using the following command.
    keytool -importcert -v -noprompt -trustcacerts -alias ws-tradinggrid -file ws-tradinggrid.cer -keystore AcmeIdentity.jks -storepass xxxxxxxxxx
    keytool -list -keystore AcmeIdentity.jks -storepass xxxxxxxxxx
    9) After that When I run my composite bpel program to send B2B message, I am getting the above error.
    Where is the issue?
    Any help is appreciated.
    Thank you
    Krishna

    We loaded the certificate chain into key store and that part is working now.
    We are getting now the following error. Any Idea?
    [2011-03-14T09:12:47.787-07:00] [soa_server1] [NOTIFICATION] [] [oracle.soa.mediator.serviceEngine] [tid: weblogic.work.j2ee.J2EEWorkManager$WorkWithListener@5fddbbc0] [userId: <anonymous>] [ecid: 0000Iup92C3CcpiF_7I7S61DUNHj000lw2,0] [APP: soa-infra] [composite_name: TestBusinessEventShipconfirmed] [component_name: TestBusinessEventMediator] [component_instance_id: E71EFFB04E5511E0BF70B592E6C64FAC] [dcid: 4e45f5dff566a29f:7f62e8ac:12ea26f8103:-7ffd-0000000000000012] [composite_instance_id: 50004] MediatorServiceEngine received a request for operation = Read
    [2011-03-14T09:12:47.996-07:00] [soa_server1] [NOTIFICATION] [] [oracle.soa.mediator.serviceEngine] [tid: weblogic.work.j2ee.J2EEWorkManager$WorkWithListener@5fddbbc0] [userId: <anonymous>] [ecid: 0000Iup92C3CcpiF_7I7S61DUNHj000lw2,0] [APP: soa-infra] [composite_name: TestBusinessEventShipconfirmed] [component_name: TestBusinessEventMediator] [component_instance_id: E71EFFB04E5511E0BF70B592E6C64FAC] [dcid: 4e45f5dff566a29f:7f62e8ac:12ea26f8103:-7ffd-0000000000000012] [composite_instance_id: 50004] MediatorServiceEngine returning after processing the request for operation = Read
    [2011-03-14T09:12:49.384-07:00] [soa_server1] [WARNING] [] [oracle.soa.b2b.engine] [tid: weblogic.work.j2ee.J2EEWorkManager$WorkWithListener@c0ad9a3] [userId: <anonymous>] [ecid: 0000Iup92ObCcpiF_7I7S61DUNHj000lw3,0] [APP: soa-infra] [dcid: 4e45f5dff566a29f:7f62e8ac:12ea26f8103:-7ffd-0000000000000021] [[
    Message Transmission Transport Exception
    Transport Error Code is OTA-HTTP-SEND-403
    StackTrace oracle.tip.b2b.transport.TransportException: [IPT_HttpSendError] HTTP encounters send error :403
    com.wm.app.tn.err.EXMLException: <EXMLException>
    <ErrorCode>0003.4089</ErrorCode>
    <Info>Could not get internal ID for partner (id=null, typeCode=null, typeDesc=ICS Mailbox ID).</Info>
    <OriginalException>
    <JavaClass>com.wm.app.b2b.server.ServiceException</JavaClass>
    <Message>"extID" is required.</Message>
    <StackTrace>com.wm.app.b2b.server.ServiceException: "extID" is required.
         at wm.tn.profileimpl.getInternalID(profileimpl.java:2577)
         at sun.reflect.GeneratedMethodAccessor52.invoke(Unknown Source)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:585)
         at com.wm.app.b2b.server.JavaService.baseInvoke(JavaService.java:403)
         at com.wm.app.b2b.server.invoke.InvokeManager.process(InvokeManager.java:631)
         at com.wm.app.b2b.server.util.tspace.ReservationProcessor.process(ReservationProcessor.java:40)
         at com.wm.app.b2b.server.invoke.StatisticsProcessor.process(StatisticsProcessor.java:44)
         at com.wm.app.b2b.server.invoke.ServiceCompletionImpl.process(ServiceCompletionImpl.java:241)
         at com.wm.app.b2b.server.invoke.ValidateProcessor.process(ValidateProcessor.java:51)
         at com.wm.app.b2b.server.ACLManager.process(ACLManager.java:228)
         at com.wm.app.b2b.server.invoke.DispatchProcessor.process(DispatchProcessor.java:30)
         at com.wm.app.b2b.server.AuditLogManager.process(AuditLogManager.java:628)
         at com.wm.app.b2b.server.invoke.InvokeManager.invoke(InvokeManager.java:536)
         at com.wm.app.b2b.server.invoke.InvokeManager.invoke(InvokeManager.java:381)
         at com.wm.app.b2b.server.ServiceManager.invoke(ServiceManager.java:237)
         at com.wm.app.b2b.server.BaseService.invoke(BaseService.java:189)
         at com.wm.lang.flow.FlowInvoke.invoke(FlowInvoke.java:324)
         at com.wm.lang.flow.FlowState.invokeNode(FlowState.java:581)
         at com.wm.lang.flow.FlowState.step(FlowState.java:441)
         at com.wm.lang.flow.FlowState.invoke(FlowState.java:406)
         at com.wm.app.b2b.server.FlowSvcImpl.baseInvoke(FlowSvcImpl.java:1040)
         at com.wm.app.b2b.server.invoke.InvokeManager.process(InvokeManager.java:631)
         at com.wm.app.b2b.server.util.tspace.ReservationProcessor.process(ReservationProcessor.java:40)
         at com.wm.app.b2b.server.invoke.StatisticsProcessor.process(StatisticsProcessor.java:44)
         at com.wm.app.b2b.server.invoke.ServiceCompletionImpl.process(ServiceCompletionImpl.java:241)
         at com.wm.app.b2b.server.invoke.ValidateProcessor.process(ValidateProcessor.java:51)
         at com.wm.app.b2b.server.ACLManager.process(ACLManager.java:228)
         at com.wm.app.b2b.server.invoke.DispatchProcessor.process(DispatchProcessor.java:30)
         at com.wm.app.b2b.server.AuditLogManager.process(AuditLogManager.java:628)
         at com.wm.app.b2b.server.invoke.InvokeManager.invoke(InvokeManager.java:536)
         at com.wm.app.b2b.server.invoke.InvokeManager.invoke(InvokeManager.java:381)
         at com.wm.app.b2b.server.ServiceManager.invoke(ServiceManager.java:237)
         at com.wm.app.b2b.server.BaseService.invoke(BaseService.java:189)
         at com.wm.lang.flow.FlowInvoke.invoke(FlowInvoke.java:324)
         at com.wm.lang.flow.FlowState.invokeNode(FlowState.java:581)
         at com.wm.lang.flow.FlowState.step(FlowState.java:441)
         at com.wm.lang.flow.FlowState.invoke(FlowState.java:406)
         at com.wm.app.b2b.server.FlowSvcImpl.baseInvoke(FlowSvcImpl.java:1040)
         at com.wm.app.b2b.server.invoke.InvokeManager.process(InvokeManager.java:631)
         at com.wm.app.b2b.server.util.tspace.ReservationProcessor.process(ReservationProcessor.java:40)
         at com.wm.app.b2b.server.invoke.StatisticsProcessor.process(StatisticsProcessor.java:44)
         at com.wm.app.b2b.server.invoke.ServiceCompletionImpl.process(ServiceCompletionImpl.java:241)
         at com.wm.app.b2b.server.invoke.ValidateProcessor.process(ValidateProcessor.java:51)
         at com.wm.app.b2b.server.ACLManager.process(ACLManager.java:228)
         at com.wm.app.b2b.server.invoke.DispatchProcessor.process(DispatchProcessor.java:30)
         at com.wm.app.b2b.server.AuditLogManager.process(AuditLogManager.java:628)
         at com.wm.app.b2b.server.invoke.InvokeManager.invoke(InvokeManager.java:536)
         at com.wm.app.b2b.server.invoke.InvokeManager.invoke(InvokeManager.java:381)
         at com.wm.app.b2b.server.ServiceManager.invoke(ServiceManager.java:237)
         at com.wm.app.b2b.server.ServiceManager.invoke(ServiceManager.java:119)
         at com.wm.app.b2b.server.HTTPInvokeHandler._process(HTTPInvokeHandler.java:141)
         at com.wm.app.b2b.server.InvokeHandler.process(InvokeHandler.java:110)
         at com.wm.app.b2b.server.HTTPDispatch.handleRequest(HTTPDispatch.java:185)
         at com.wm.app.b2b.server.Dispatch.run(Dispatch.java:333)
         at com.wm.util.pool.PooledThread.run(PooledThread.java:118)
         at java.lang.Thread.run(Thread.java:595)
    </StackTrace>
    </OriginalException>
    <Action></Action>
    <Level></Level>
    </EXMLException>.
         at oracle.tip.b2b.transport.TransportException.create(TransportException.java:94)
         at oracle.tip.b2b.transport.basic.HTTPSender.createTransportResponse(HTTPSender.java:683)
         at oracle.tip.b2b.transport.basic.HTTPSender.send(HTTPSender.java:498)
         at oracle.tip.b2b.transport.b2b.B2BTransport.send(B2BTransport.java:317)
         at oracle.tip.b2b.transport.TransportInterface.send(TransportInterface.java:1492)
         at oracle.tip.b2b.msgproc.Request.outgoingRequestPostColab(Request.java:1551)
         at oracle.tip.b2b.msgproc.Request.outgoingRequest(Request.java:837)
         at oracle.tip.b2b.engine.Engine.processOutgoingMessageImpl(Engine.java:1411)
         at oracle.tip.b2b.engine.Engine.processOutgoingMessage(Engine.java:781)
         at oracle.tip.b2b.engine.Engine.handleMessageEvent(Engine.java:3319)
         at oracle.tip.b2b.engine.Engine.processEvents(Engine.java:2948)
         at oracle.tip.b2b.engine.ThreadWorkExecutor.processEvent(ThreadWorkExecutor.java:575)
         at oracle.tip.b2b.engine.ThreadWorkExecutor.run(ThreadWorkExecutor.java:214)
         at oracle.integration.platform.blocks.executor.WorkManagerExecutor$1.run(WorkManagerExecutor.java:105)
         at weblogic.work.j2ee.J2EEWorkManager$WorkWithListener.run(J2EEWorkManager.java:183)
         at weblogic.work.DaemonWorkThread.run(DaemonWorkThread.java:30)
    [2011-03-14T09:12:49.390-07:00] [soa_server1] [NOTIFICATION] [] [oracle.soa.b2b.engine] [tid: weblogic.work.j2ee.J2EEWorkManager$WorkWithListener@c0ad9a3] [userId: <anonymous>] [ecid: 0000Iup92ObCcpiF_7I7S61DUNHj000lw3,0] [APP: soa-infra] [dcid: 4e45f5dff566a29f:7f62e8ac:12ea26f8103:-7ffd-0000000000000021] Request: outgoingRequestPostColab: Request Message Transmission failed
    [2011-03-14T09:12:49.431-07:00] [soa_server1] [NOTIFICATION] [] [oracle.soa.b2b.engine] [tid: weblogic.work.j2ee.J2EEWorkManager$WorkWithListener@c0ad9a3] [userId: <anonymous>] [ecid: 0000Iup92ObCcpiF_7I7S61DUNHj000lw3,0] [APP: soa-infra] [dcid: 4e45f5dff566a29f:7f62e8ac:12ea26f8103:-7ffd-0000000000000021] Engine: processOutgoingMessageImpl: Message id = 4e45f5dff566a29f:7f62e8ac:12ea26f8103:-7ff0 ToParty = Trader_Joes Doctype = 4913v4 version = VDA-1998

  • Seeking recommendations for handling large binary documents with security(preferable) for inbound and outbound scenarios from OSB- SOA and SOA- OSB

    Hi,
    I am currently working on a project with the following requirements
    1. Client transfers binary document (between 1-20MB in size) from OSB proxy to SOA composite to Content Management system
    2. Client retrieves binary document (between 1-20MB in size) from Content Management system to SOA composite to OSB proxy
    In otherwords, a inbound and outbound integration.
    What I have tried so far and my results:
    Scenario A
    1. Enabled MTOM on SOA composite by attaching wsmtom policy
    2. Created an OSB business service and consumed the SOA composite application
    3. Enabled MTOM on OSB proxy and business service and configured it to pass by reference
    Scenario B
    1. Enabled MTOM and security on SOA composite by attaching wsmtom policy and SAML policy
    2. Created an OSB business service and consumed the SOA composite application
    3. Enabled MTOM on OSB proxy and business service and configured it to pass by reference
    I have a demo integration setup that writes a binary document to a file using the above steps. My SOA composite has a file adapter that writes the binary data to an external file and it is exposed as a web service with a simple WSDL definition that has an inline XSD schema with an single element of base64binary type. I have added a mediator that maps this base64binary element node to the file adapter's input node.
    Result for Scenario A with file size less than 1 MB:
    Flawless execution with sub-second response times
    Result for Scenario A with file size of 8MB
    First attempt: SOA composite faults with database transaction related error, solved by increasing JTA timeout
    Second attempt: Flawless execution, but file transfer took over 100 seconds to complete. This is very poor performance and my suspicions are that this cannot be the expected behaviour, but I dont know the internal workings of the SOA composite and why its taking this long.
    Result for Scenario B:
    The OSB business service does not accept/recognize the SAML policy in the WSDL and suggests to configure OWSM policies manually, but OWSM policy in OSB does not have the wsmtom policy. Regardless of this, any permutation of MTOM + WSS security in this integration scenario either did not work outright or MTOM optimization was not happening ie binary data was materalizing in the message body.
    I have only about 3 weeks left to implement a viable solution and the closest ive come to a solution is Scenario A but that +100 second response time for an 8MB file is really worrying.
    I would appreciate any level of guidance, recommendations or suggestions as to how I go about tackling this problem.
    Thanks
    regards,
    Johnny

    I think this is due to the underlying mechanism of weblogic classloading..
    You can contact oracle support @ https://support.oracle.com to report issues. Roughly this is the process .
    1- get the Oracle Customer Support Identifier (CSI) for the client you are working for.
    2- Create a user profile quoting the CSI. This will send an approval request to oracle support admins at your client.
    3- Get the oracle support admins at your client site to approve your request for support access.
    4-Once they approve , you can access the support site and raise service requests.

  • Documents in Workflows

    Hi,
    1. What are various ways we can post/send a document(it can be any, doc, xlz, pdf, xml...) to a workflow process from a client/application ?
    2. Is there any authentication or we can impose restriction on who can post to the WF ?
    3. If it is possible to send a document, can it be viewed within/from the WF Monitor ? And without storing it in any custom table ?
    4. Is there any time limit for which that document resides in the WF database ?
    The idea is to have an application (stand-alone, non-Oracle) posting documents to WF. Once the WF has the document, WF should be able to post it back to some URL.
    To have this implemented, what is available out of the box and what needs customization.
    Thanks!!
    Shalu

    Hi Shalu
    (1) It depends on whether you have a Document Management System. For example, you could post a document to Oracle Files, and that posting could trigger a workflow which links back to the source document using a URL.
    (2) As per (1), the DM system could impose restrictions on who can upload document or access documents stored in folders.
    (3) The URL could be acccessed from the workflow monitor, or you could access Notifications from the workflow monitor which link to the document.
    (4) A workflow can have a persistence type and retention time. But the document itself is stored in the DM system, which could have a different lifecycle than the workflow.
    Cheers
    Mark

  • Send binary file using xml

    Hi all,
    I've got an application wich currently sends xml messages through sockets between server and client. Now, I'd like to be able of sending binary files (jpegs and other images...) as some content of these files. Is it possible with CDATA? Do you know any URL with an example or something?
    thanks a lot!

    This is a little example that shows the solution I adopted.
    Two classes, a server and a client, execute the server in a given port and the client with "localhost" as ip and the same port as the server.
    Ex: java Server 5555
    java Client localhost 5555
    the code:
    import java.net.*;
    import java.io.*;
    public class Server {
        public static void main(String[] args) {
            ServerSocket serverSocket = null;
            if(args.length!=1){
                System.out.println("ERROR: java Server <port>");
            } else {
                   // Create listening socket
                   try {
                        serverSocket = new ServerSocket((new Integer(args[0])).intValue());
                   } catch (IOException e) {
                        System.out.println("ERROR: not possible to listen on the specified port");
                        System.exit(1);
                   // Create wait for connection
                   Socket clientSocket = null;
                   try {
                        clientSocket = serverSocket.accept();
                   } catch (IOException e) {
                        System.err.println("ERROR: Accept failed.");
                        System.exit(1);
                   try{
                          // Get the output channel
                        PrintWriter out = new PrintWriter(clientSocket.getOutputStream(), true);
                        // Send a xml message
                        out.print("<?xml version=\"1.0\" encoding=\"UTF-8\"?><FOO><VAR message=\"ugly harcoded XMLmessage\"/></FOO>\0");
                        out.flush();
                        out.close();
                        clientSocket.close();
                        serverSocket.close();
                   } catch(IOException IOE){
                        System.out.println("ERROR: on send");
    import java.io.*;
    import org.w3c.dom.Document;
    import java.net.*;
    import javax.xml.parsers.SAXParserFactory;
    import javax.xml.parsers.DocumentBuilder;
    import javax.xml.parsers.DocumentBuilderFactory;
    import javax.xml.parsers.ParserConfigurationException;
    import org.xml.sax.SAXException;
    import org.xml.sax.InputSource;
    public class Client {
         public static void handleIncomingMessage(Document doc){
            System.out.println("DO WHAT YOU WANT WITH THE XML!");
        public static void main(String[] args){
            BufferedReader in = null;
            Socket socket = null;
            if(args.length!=2){
                System.out.println("ERROR: java Client <ip> <port>");
            } else {
                String ip = args[0];
                int port = (new Integer(args[1])).intValue();
                   // Open a socket to the server
                try {
                        socket = new Socket(ip,port);
                   } catch (UnknownHostException e) {
                        System.out.println("ERROR: Unknow host!");
                        System.exit(1);
                   } catch (IOException e) {
                        System.out.println("ERROR: I/O error");
                        System.exit(1);
              try {
                // Get the input channel
                   in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
            } catch (IOException e) {
                System.err.println("ERROR: I/O error");
                System.exit(1);
              // Create a DocumentBuilder to convert the socket's incoming String
            // to a XML parsed Document
              Document XMLmessage =null;
            DocumentBuilder builder = null;
            DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
              try{
                   builder = factory.newDocumentBuilder();
            } catch (ParserConfigurationException PCE) {
                System.out.println(PCE.toString());
              try{
                String messageRead = "";
                char caracter;
                StringBuffer sb = null;
                   // Read from the socket until \0
                   sb = new StringBuffer();
                   caracter =(char)in.read();
                   while(caracter != '\0'){
                        sb.append(caracter);
                        caracter = (char)in.read();
                   messageRead = sb.toString();
                   System.out.println("Recieved: "+messageRead);
                // Parse the read message
                   try{
                        XMLmessage = builder.parse(new InputSource((Reader)new StringReader(messageRead)));
                        // Work with it
                        handleIncomingMessage(XMLmessage);
                   } catch(IOException IOE){
                        System.out.println(IOE.toString());
                   } catch(SAXException SE) {
                        System.out.println(SE.toString());
              } catch(IOException IOE){
                   System.out.println("ERROR: I/O error");
    }hope it helps!
    any comment about the code will be welcome

  • Send pdf file to workflow through web dynpro.

    Hi All,
    I have a web dynpro component, with this component i am raising a request, which will go to multiple level of approvals(for this triggering workflow from web dynpro).
    Now i want to send a pdf file as an attachment to approvers work items.
    For this i have used File Upload UI element, and i have binded data property of this upload UI element with an attribute of type Xstring.
    Now can you please help me to send this file to workflow.
    I am able to send a pdf file as an attachment through executable report (SE38), but same functionality is not working from web dynpro.
    Code used in executable report is as below:
    DATA: t_data_tab TYPE TABLE OF x255,
    bin_size TYPE i,
    buffer_x TYPE xstring,
    buffer_zip TYPE xstring,
    filename TYPE string VALUE 'C:\Documents and Settings\My Documents\Downloads\IT.pdf'.
    CALL FUNCTION 'GUI_UPLOAD'
    EXPORTING
    filename                      = filename
    filetype                      = 'BIN'
    IMPORTING
    filelength                    = bin_size
      HEADER                        =
    TABLES
    data_tab                      = t_data_tab.
    **get xstring
    CALL FUNCTION 'SCMS_BINARY_TO_XSTRING'
      EXPORTING
        input_length = bin_size
      IMPORTING
        buffer       = buffer_x
      TABLES
        binary_tab   = t_data_tab.
    IF sy-subrc <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    ZSWR_ATT_HEADER-FILE_TYPE = 'B'.
    ZSWR_ATT_HEADER-FILE_NAME = 'FORM-407'.
    ZSWR_ATT_HEADER-FILE_EXTENSION = 'PDF'.
    ZSWR_ATT_HEADER-LANGUAGE = 'EN'.
    WORKITEMID = '000000401208'.
    CALL FUNCTION 'SAP_WAPI_ATTACHMENT_ADD'
      EXPORTING
        WORKITEM_ID          = WORKITEMID
        ATT_HEADER           = ZSWR_ATT_HEADER
      ATT_TXT              =
        ATT_BIN              = buffer_x
       DOCUMENT_OWNER       = SY-UNAME
       LANGUAGE             = SY-LANGU
       DO_COMMIT            = 'X'
    IMPORTING
      RETURN_CODE          =
       ATT_ID               = ZSWR_ATT_ID
    TABLES
      MESSAGE_LINES        = SWR_MESSAG
    *MESSAGE_STRUCT       =
    if sy-subrc = 0.
    else.
    endif.
    But function "GUI_UPLOAD" is not working in web dynpro.
    Regards,
    Amar

    HI,
    Try out this code :
    FileInputStream is = new FileInputStream(file);
          long length = file.length();
          byte[] bytes = new byte[(int)length];
          long bytesRead = is.read(bytes);
          if (bytesRead < length)
           throw new IOException("Could not completely read file "+file.getName());
          is.close();
    element.setDocumentContent(bytes);
    Create a context attribute of binary type and assign the read data to it and bind the dataSource property of your File Upload and Download properties to this context Attribute.
    Regards
    Sid

  • Error while using Send With Document service

    Hi,
    I am using the send with document email service, and trying to pass an attachment (a text document). When i invoke the process using java component i get the following error:
    com.adobe.workflow.engine.PEUtil logFailedFaultRouting An exception was thrown with name com.adobe.idp.dsc.email.SendMailFailedException message:Failed to send email to mail server: null:25. Cause: null while invoking service EmailService and operation sendWithDocument and no fault routes were found to be configured.
    Can someone give me an idea of how to resolve this issue?
    Thanks..

    From the exception fragment it is complaining that your email properties are not set correctly. In this case the email server name is resolving to null. Make sure they are all set up correctly. The no fault routes just means you have no route in your workflow to handle any errors/exceptions.

  • How to send binary data in the message body

    How can we send binary data in the message body that is base64 encoded? below are the requirements
    Mime Header.
    Mime-version: 1.0
    Content-Type: application/octet_stream; name=test
    Content-Transfer-Encoding: Base64
    Submission must be named "test.sub" (lowercase)
    Submission must be base64 mime-encoded
    Submission must be sent in the body of the message (not as an attachment)
    Only one submission per mail message
    No other comments should be put in the body of the mail message (other than the submission)
    I highly appreciate your help. If you can provide few examples, that will be very helpfull.
    Thanks,
    Madan

    Use Message.setContent to set the content, or use Message.setDataHandler with
    a DataHandler constructed with a ByteArrayDataSource. If the content is not
    "naturally" encoded in base64, you can enforce it by setting the Content-Transfer-Encoding
    header to "base64". Any reasonable mail reader won't care what encoding you use, as
    long as the decoded data is correct.

  • Sending Binary Data using HTP package

    Has anyone been successful in using the HTP package and its PUTRAW procedure to send binary data to a browser?
    Example code shows basic idea:
    create or replace
    procedure test_raw as
    output VARCHAR2(20);
    begin
    OWA_UTIL.MIME_HEADER('application/x-gzip', TRUE);
    output := 'Hello World!';
    HTP.PUTRAW(UTL_RAW.CAST_TO_RAW(output));
    HTP.FLUSH;
    end test_raw;
    I receive an empty file when called from the browser.
    What gives?

    I found my answer. I should be using wpg_docload.download_file(BLOB) to "download" a the contents of a BLOB.

  • When typing a word document my laptop keeps sending the document

    Can anyone help - When typing a word document my laptop keeps sending the document when I start typing. Not sure why. Any help appreciated

    Hello
    I don?t know what you mean with laptop keeps sending the document but if you have this issue with office word or some other office application, try to check some forum where you can find discussion about similar theme.
    I can not give you any precise answer but it is maybe because of office specific settings or you press accidentally some key on the keyboard and on this way interrupt symbols entering.

  • Error in FI Document Parking Workflow

    Hi Workflow Experts,
                                   I have a FI document parking Workflow scenario which is 2 level release that is if the amount is upto 100000 first person will release if it's more than that the CEO that is the second user has to release.
    For this i have activated the main workflow WS10000051 and for two level release i have activated the sub workflows WS10000052 for first level release and WS10000053 for secondlevel release.
    I have also done the Release strategy configuration in SPRO such as
    1) Workflow Variance
    2) company Code
    3) Approval Group
    4) Approval path
    5) Release group
    6) Release approvers
    in the following SPRO steps
    1) Create Workflow Variant for Parking Document
    2) Define Entry Screens for Parking Document
    3) Assign Compaany Code to a Workflow variant for Parking Documents
    4) Define Release Approval Groups for Parking Documents
    5) Define Release Approval Path for Parking Doc
    6) Assign Release Approval Path for Parking Documents
    7) Assign Release Approval Procedure for Parking Doc
    8) Define Users with Release Authorization for Parking Document. ( I have assigned the Position of CEO created in HR to this)
    Now when the document is parked it throws the error
    Error in workflow Customizing for document parking (tranasction OBWE) and it stops in the step Determining Sub Workflow.
    Has anyone come across this issue.Please guide me in resolving in this issue, i am not able to identify whether this error is happening in workflow or due to some missed entries in SPRO settings of FI.
    Regards,
    Hari

    Hi,
    Are there any special settings for SUBWORKFLOWS
    There is no Special Setting for Sub Workflow.
    Only error which i get in my inbox is
    Please repair the suspended workflow
    1) Once you get the Error, open a new session goto T.code SU53 and see any authorization issue
        If Yes, send the screen shot to Basis Team to get the authorization.
    2) If Authorization is fine, Check the binding for that Workitem Regenerate and Test it . Also Check the Workflow log and see  which step error is showing, then see the Step history comments.   .
    Regards,
    Surjith

  • PDF send to R/3 Workflow

    Hi all.. need some guide and tips here.
    1. I have created a PDF from Netweaver Developer Studio.
    2. User download the PDF and save in local.
    3. User fill in the form, and click Send button in the form.
    4. PDF send to R/3 workflow inbox wait for approval.
    What should i do in step 3?
    I need to convert binary and store in R/3 ztable? How to do it?
    I only able to call FM thru webservice, but have no idea what is next step.

    Hi Chintan,
    Thanks alot for the links.
    Step 4 - In order to retrieve the pdf anytime, we need the pdf store in binary.
    This why we have stuck in the middle in step 3, how to convert pdf into binary and send to R/3.
    Is there any better solutions out there?

  • Document park workflow

    Hi
    Iu2019m working on FI document park workflow. We are having a custom workflow which gets triggered when ever a document is parked. The workflow is working fine and is correctly finding the agents. However there is a new change request that client does not want workflow to determine agent, instead client want to select approvers from a list and workfitem should go to that person. How can I achieve this(provideing list of approvers to user). is there a user exit or something available?
    Thanks
    Nash

    Hi john,
    You can use a method  as suggested below or else  use a form  to view  a list of approvers . since the values of form are stored in the container you can use the agent in the next step to  send your work item.

  • Unable to send Word document as attachment to an email

    I have recently installed Microsoft Office Standard on my new laptap which runs Windows 7 Professional.  When i am in Word and trying to send the document as an email attachment, I received an error dialogue box with the message "Word couldn't send
    email because of MAPI failure: "Unspecified error"."  I clicked on the help button and have tried all the steps but no avail.
    The work around is to open Outlook and create an email with an attachment.  This works BUT I would like to be able to use Word as it was designed.  Anyone have a similar issue and suggested correction?
    Thanks!

    Here is a simple solution sure to work.
    1. Start
    2. Search for Winword
    3. Right Click Winword and choose properties ( I instead would choose open file location just to know where the rest of windows programs can be found. Once there, right click Winword again and choose properties.
    4. Click compatabilty tab
    5. Check run as administrator at the bottom
    6. Apply
    7. Do the same for all Office programs If so desired (on the same file location where you found winword just look for Excel, Powerpoint, etc. and make sure the file you choose is an application type file)
    Jic, it is not obligatory to apply the above solution for to all Office programs. You can do it just to the ones you want to send email from. If you only need Word to have this functionality just do it for Winword and thats it.

Maybe you are looking for