When to use SOAP Attachments

Does anyone know of documentation that states what the maximum suggested SOAPBody size is before one should begin using a SOAP Attachment?
thanks!

Check this site:
http://www.w3.org/TR/SOAP-attachments.html#MultipartRelated
I am not sure if this is what you are referring to. I guess you may want to click the RFC specification links too.

Similar Messages

  • When to use SOAP adapter

    I am not clear wen should we use the SOAP adapter and wat all about the Webservice.I am new to XI .Can anyone help me.????

    Hi,
    Please go through this..
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/d23cbe11-0d01-0010-5287-873a22024f79
    cheers,
    Prashanth
    P.S Please mark helpful answers

  • Mapping DataHandler for SOAP attachments

    Hi all.
    I'm working on a web service that uses SOAP attachments in WebLogic Workshop 8.1,
    but I'm having a bit of trouble testing. When I try to access the web service
    using the auto-generated client jar provided by workshop, I get the following
    error:
    java.rmi.RemoteException: web service invoke failed; nested exception is:
    javax.xml.soap.SOAPException: failed to serialize xml:weblogic.xml.sche
    ma.binding.SerializationException: mapping lookup failure. class=class javax.act
    ivation.DataHandler class context=TypedClassContext{schemaType=['http://www.w3.o
    rg/2001/XMLSchema']:base64Binary}
    I was under the impression that the DataHandler mapping was handled by BEA. Must
    I manually map the type in order to use SOAP attachments, or am I missing another
    vital step?
    I've attached the WSDL file for this service. Thanks.
    -Brian
    [WS_Import.wsdl]

    Hi Brian,
    I just created a .jws, client jar and standalone JAX-RPC static stub client, using
    the WSDL you attached. Everything seems to work in WLS 8.1 SP2. Is this the version
    you're using? I have attached a zip containing the static JAX-RPC static stub
    client, and the .jws. To test it in the WLW IDE, you'll need to create the following
    directories, in the WebLogic Server domain directory you use for WLW:
    DCTMWebServices/attachments
    The client just sends the certificate.war file, in the DataHandler dhContent argument.
    This file is located in the domain directory, you use for WLW. The .jws saves
    the attachment into the DCTMWebServices/attachments directory.
    Here's the command line I use to run the standalone client:
    c:\bea\home1\jdk141_05\jre\bin\java -classpath classes;lib\WS_Import.jar;C:\bea\home1\weblogic\platform81sp2\server\lib\webserviceclient+ssl.jar
    -Dweblogic.webservice.verbose=true -Dweblogic.webservice.binding.verbose=true
    DTCMWebServices.consumers.standalone.stub.WLWClient 2>stderr.out>stdout.out
    Regards,
    Mike Wooten
    "Brian McLoughlin" <[email protected]> wrote:
    >
    >
    >
    Hi all.
    I'm working on a web service that uses SOAP attachments in WebLogic Workshop
    8.1,
    but I'm having a bit of trouble testing. When I try to access the web
    service
    using the auto-generated client jar provided by workshop, I get the following
    error:
    java.rmi.RemoteException: web service invoke failed; nested exception
    is:
    javax.xml.soap.SOAPException: failed to serialize xml:weblogic.xml.sche
    ma.binding.SerializationException: mapping lookup failure. class=class
    javax.act
    ivation.DataHandler class context=TypedClassContext{schemaType=['http://www.w3.o
    rg/2001/XMLSchema']:base64Binary}
    I was under the impression that the DataHandler mapping was handled by
    BEA. Must
    I manually map the type in order to use SOAP attachments, or am I missing
    another
    vital step?
    I've attached the WSDL file for this service. Thanks.
    -Brian[brian2.zip]

  • SOAP-attachments Problem

    I have to implement a File Transfer Service from one application to the other application. Initially I thought to do it with socket programming. In that case I have to take care of all the details. Then I decided to use SOAP-attachments to transfer the files. I want to send the files as the attachments to a SOAP message, so that I need not do the low level stuff. But, I am not sure which is the best solution. The files which I send are very big like 10MB or 20MB. Is it good to send them as an attachments to SOAPMessage(Using JAXM) or to go for socket programming. Does JAXM support transfer of big files? Or, if you know any other better solution for transfer of files from application to application please suggest me.
    Seenu.

    Hi, did you ever get a response to your question or figure it out on your own? I'm about to decide the same thing and was trying to find information on large attachments to SOAP messages and whether it's a good idea or not. Specifically, I'm wondering if these large files are read completely into memory at any point or if the API is smart enough to cache...

  • How can I solve a "org.jvnet.mimepull.MIMEParsingException: Missing start boundary" when using "Page Attachments to Disk"?

    I have built a streaming MTOM enabled web service for downloading large files. I also built a client that uses that service (with MTOM and streaming feature). Everything works, when the client calls the web service directly.
    Then I have set up the OSB, so that I can call the service through the OSB. I have build a Business Service and a Proxy Service. For the Business Service, I use "XOP/MTOM Enabled", "Include Binary Data By Reference" and "Page Attachments to Disk" to prevent the OSB from loading the whole data into memory.
    If I do not use the "Page Attachments to Disk" option, the download works, but I assume everything is loaded into the OSB memory.
    When I use the "Page Attachments to Disk" option, I receive the following error message
    Exception in thread "main" com.sun.xml.ws.fault.ServerSOAPFaultException: Client received SOAP Fault from server: Couldn't create SOAP message due to exception: org.jvnet.mimepull.MIMEParsingException: Missing start boundary Please see the server log to find more detail regarding exact cause of the failure.
        at com.sun.xml.ws.fault.SOAP11Fault.getProtocolException(SOAP11Fault.java:193)
        at com.sun.xml.ws.fault.SOAPFaultBuilder.createException(SOAPFaultBuilder.java:131)
        at com.sun.xml.ws.client.sei.StubHandler.readResponse(StubHandler.java:253)
        at com.sun.xml.ws.db.DatabindingImpl.deserializeResponse(DatabindingImpl.java:203)
        at com.sun.xml.ws.db.DatabindingImpl.deserializeResponse(DatabindingImpl.java:290)
        at com.sun.xml.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:119)
        at com.sun.xml.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:92)
        at com.sun.xml.ws.client.sei.SEIStub.invoke(SEIStub.java:161)
        at com.sun.proxy.$Proxy38.fileDownload(Unknown Source)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:606)
        at weblogic.wsee.jaxws.spi.ClientInstanceInvocationHandler.invoke(ClientInstanceInvocationHandler.java:87)
        at com.sun.proxy.$Proxy39.fileDownload(Unknown Source)
        at largefiletransfer_osb_client.MtomClientDownload.main(MtomClientDownload.java:59)
    Why do I get this exception and how can I solve the issue?
    Additional Infos:
    OS: Windows 7 64bit
    Tool: JDeveloper BPM Suite 12.1.3.0.0
    WebService: HTTP + SOAP + MTOM + Streaming

    I have built a streaming MTOM enabled web service for downloading large files. I also built a client that uses that service (with MTOM and streaming feature). Everything works, when the client calls the web service directly.
    Then I have set up the OSB, so that I can call the service through the OSB. I have build a Business Service and a Proxy Service. For the Business Service, I use "XOP/MTOM Enabled", "Include Binary Data By Reference" and "Page Attachments to Disk" to prevent the OSB from loading the whole data into memory.
    If I do not use the "Page Attachments to Disk" option, the download works, but I assume everything is loaded into the OSB memory.
    When I use the "Page Attachments to Disk" option, I receive the following error message
    Exception in thread "main" com.sun.xml.ws.fault.ServerSOAPFaultException: Client received SOAP Fault from server: Couldn't create SOAP message due to exception: org.jvnet.mimepull.MIMEParsingException: Missing start boundary Please see the server log to find more detail regarding exact cause of the failure.
        at com.sun.xml.ws.fault.SOAP11Fault.getProtocolException(SOAP11Fault.java:193)
        at com.sun.xml.ws.fault.SOAPFaultBuilder.createException(SOAPFaultBuilder.java:131)
        at com.sun.xml.ws.client.sei.StubHandler.readResponse(StubHandler.java:253)
        at com.sun.xml.ws.db.DatabindingImpl.deserializeResponse(DatabindingImpl.java:203)
        at com.sun.xml.ws.db.DatabindingImpl.deserializeResponse(DatabindingImpl.java:290)
        at com.sun.xml.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:119)
        at com.sun.xml.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:92)
        at com.sun.xml.ws.client.sei.SEIStub.invoke(SEIStub.java:161)
        at com.sun.proxy.$Proxy38.fileDownload(Unknown Source)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:606)
        at weblogic.wsee.jaxws.spi.ClientInstanceInvocationHandler.invoke(ClientInstanceInvocationHandler.java:87)
        at com.sun.proxy.$Proxy39.fileDownload(Unknown Source)
        at largefiletransfer_osb_client.MtomClientDownload.main(MtomClientDownload.java:59)
    Why do I get this exception and how can I solve the issue?
    Additional Infos:
    OS: Windows 7 64bit
    Tool: JDeveloper BPM Suite 12.1.3.0.0
    WebService: HTTP + SOAP + MTOM + Streaming

  • How to capture SOAP fault when using "Do not use SOAP envelope" parameter

    Hi,
    we have a synchronous  RFC -> XI -> Web Service scenario. The Web Service requires some custom SOAP header elements for user authorization which forced us create the entire SOAP message in a message mapping and to set the "Do not use SOAP envelope" parameter in the receiving SOAP adapter.
    In order to capture the SOAP fault message from the Web Service we have created a message interface with a fault message and also created an interface mapping with a fault message mapping.
    Our problem is that the fault message is not populated when we get a SOAP fault message back from the Web Service. Is this due to the fact that we have set the  "Do not use SOAP envelope" parameter?
    Thanks in advance!
    Stefan
    Message was edited by:
            Stefan Nilsson

    Hi Bhavesh,
    I have exaactly same scenario. But the only difference is that the Successful payload is also not coming into PI.
    The request is successfully hittng the webservice.
    Please guide me on how to capture the paylod.
    I am using the WSDL provided by the thirdparty but sill the message is not coming into PI.

  • Error when posting to WebService on XI system using Soap

    Hi,
    We have a scenario where we have a 3rd party system posting to the XI webservice.  The sender Soap adapter is configured for HTTPS without client authentication.
    I am using soapui software to test the connection.  Before changes were made to the configuration for SSL, we were able to post to XI using the http url.  After the changes were made, when posting using the http url no response is received and no message is produced in XI.  Also, when we change the url to https and using the port 50001 to post the SOAP message we get the following error:
    The following error occurred while parsing the HTTP request: com.sap.engine.services.httpserver.exceptions.ParseException: Incorrect request line: [CONNECT eagnmnsu39e:50001 HTTP/1.1]..
    Can anyone provide some insight to the issue?
    We are using a user ID with the correct security profile
    Thanks.

    http://publib.boulder.ibm.com/infocenter/wmbhelp/v6r0m0/index.jsp?topic=/com.ibm.etools.mft.doc/ac04595_.htm
    Hope this link will help you.
    BR,
    Alok

  • When I stream a movie via Apple TV from my iPad Air into my Samsung TV, I'm getting the "soap opera" effect. This only happens when I use Apple TV, not when I view a movie directly through a cable channel. Is there a way to eliminate this effect?

    When I stream a movie via Apple TV from my iPad Air into my Samsung TV, I'm getting the "soap opera" effect. This only happens when I use Apple TV, not when I view a movie directly through a cable channel. Is there a way to eliminate this effect?

    I'm having the same problem.  It's not an issue with my TV, i've turned this feature off.  I've tried playing with the ATV display settings but nothing works.  When I stream netflix from my Samsung bluray player, I don't get the soap opera effect, but when I stream any video from the ATV, the soap opera effect is there.  I'm thinking it's a choice that Apple made, but I really wish it could be turned off.  Not a lot of people are searching for this, because it can be easy to overlook, but it's driving me nuts!

  • Others can not see my attachments when i use Mountain Lion Mail.

    When I use Mail to add attachments, the attachments all goes to the body of the mail.
    how ever, my receivers all can not save my attachments in one time because they never see my attachments in the title,( they use MS outlook in Machontoshi ) but only see the files in the body of my mail. they  all have to pull the attchment files one by one, and then edit the file names one by one again (when pull out the files, all files named "untitled" 
    any idea how to solve it?

    you're in the wrong forum.  This is for final cut pro studio users. 

  • Missing element To when using SOAP 1.2 with WS Addressing 1.0 in Response

    Hi, 
    I'm developing WCF using  SOAP 1.2 with WS Addressing 1.0 between Windows Server 2012 and JAVA client Oracle JAX-WS 2.1.5.
    The Request from the client contains the element <To>, but the Response from the Server somehow will ignore that element, which is required for the client, even I tried to add manually.(refer to http://stackoverflow.com/questions/15808852/how-to-correctly-implement-custom-soap-1-2-headers-and-ws-addressing-in-a-wcf-se)
    Is this normal behavior that the Response will ignore the element <To>?
    And is there another way to add the element?
    Thanks.

    I'm developing server side service using .net framework 4.0.
    Microsoft Service Trace Viewer shows that in ServiceLevelReceiveRequest the element <To> is exist, but then it is gone in the following step, ServiceLevelSendReply, and TransportSend.
    Thanks.

  • File download and Upload using SOAP in Oracle ADF

    Hi Gurus,
    I have a requirement of Uploading and downloading a file on a location. It is for uploading and downloading an Attachments for a user. I have a table in my jspx page for showing the current attachments and an option to upload a new attachment. When I click on attachment name, the file should be downloaded.
    The current implementation does this using SOAP web service. Now, i need to do it with ADF now.
    For Uploading and downloading, i have used FileDownloadActionListner on my page. I am not able to figure out how to use SOAP service in ADF to download or upload a file. what i have done is
    1. Create WebService Data Control with the exposed wsdl.
    2. Created .jspx page and binded the fuctions to the button.
    3. In managed bean class, i have written code to get reference to that web service and invoke it. I am assuming of making the currect call as the response object is not coming as null.
    Now i need to know:
    1. How to verify for the success response from a SOAP web service in the managed bean code.
    2. how to go ahead with the implementation.
    For Upload: I have filename, content and mimetype in the managed bean code function. but how to use those to make a soap call and upload a file at the location.
    For Download: I have DocumentId in the managed bean code function, and how to use it to download a file. How to get the SOAP response in managed bean code and how to handle it.
    Thanks in Advance,
    regards,
    Rajan

    Hi,
    don't have an example, but I suggest to use a JAX-WS proxy client and access it from the POJO DC (instead the WS DC) so you have access to the service responses
    Frank

  • SOAP scenario "Do not use SOAP Envelope" check problems

    Hi Gurus!
    I'm again here.
    I've an scenario with SOAP Receiver, the WS do I need consume, looks like:
    POST /SumTotalws1/services/Authentication.asmx HTTP/1.1
    Host: xxx.xxx.xxx.xxx
    Content-Type: text/xml; charset=utf-8
    Content-Length: length
    SOAPAction: "http://www.sumtotalsystems.com/sumtotal7/sumtotalws/Authentication/Login"
    <?xml version="1.0" encoding="utf-8"?>
    <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
      <soap:Body>
        <Login xmlns="http://www.sumtotalsystems.com/sumtotal7/sumtotalws/Authentication/">
          <credentials>
            <Username>string</Username>
            <Passcode>string</Passcode>
            <AuthenticationType>NotSpecified or Anonymous or NTAuthentication or Passport or LDAP</AuthenticationType>
            <AccountType>NotSpecified or WebService or WebUI</AccountType>
          </credentials>
        </Login>
      </soap:Body>
    </soap:Envelope>
    but the response looks like:
    HTTP/1.1 200 OK
    Content-Type: text/xml; charset=utf-8
    Content-Length: length
    <?xml version="1.0" encoding="utf-8"?>
    <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
      <soap:Header>
        <UserToken xmlns="http://www.sumtotalsystems.com/sumtotal7/sumtotalws/">
          <Value>string</Value>
        </UserToken>
      </soap:Header>
      <soap:Body>
        <LoginResponse xmlns="http://www.sumtotalsystems.com/sumtotal7/sumtotalws/Authentication/" />
      </soap:Body>
    </soap:Envelope>
    when I create my communication channel with "Do not Use SOAP Envelope" uncheck it, all run ok, but I only get in response message "<LoginResponse>" and I need <UserToken>
    When I check it "Do not use SOAP Envelope" and I use XSLT mapping to add SOAP Env to request message,  I get response message empty.
    I tried the web Service with the message that I obtained from de XSLT mapping in the program SOAPUI. I get ok response with the <UserToken> value.
    some idea to solve this problem??
    Thanks in advance.
    Edited by: KrlosRios on Sep 30, 2011 8:07 PM

    Hi, thanks for your answer.
    Can I use AXIS to execute any WS?
    The WS that I tried execute looks like this:
    POST /xxxx/services/Authentication.asmx HTTP/1.1
    Host: xxx.240.106.39
    Content-Type: text/xml; charset=utf-8
    Content-Length: length
    SOAPAction: "http://xxx/Authentication/Login"
    <?xml version="1.0" encoding="utf-8"?>
    <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
      <soap:Body>
        <Login xmlns="http://xxxxAuthentication/">
          <credentials>
            <Username>string</Username>
            <Passcode>string</Passcode>
            <AuthenticationType>NotSpecified or Anonymous or NTAuthentication or Passport or LDAP</AuthenticationType>
            <AccountType>NotSpecified or WebService or WebUI</AccountType>
          </credentials>
        </Login>
      </soap:Body>
    </soap:Envelope>
    and for the response:
    HTTP/1.1 200 OK
    Content-Type: text/xml; charset=utf-8
    Content-Length: length
    <?xml version="1.0" encoding="utf-8"?>
    <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
      <soap:Header>
        <UserToken xmlns="http://www.sumtotalsystems.com/sumtotal7/sumtotalws/">
          <Value>string</Value>
        </UserToken>
      </soap:Header>
      <soap:Body>
        <LoginResponse xmlns="http://www.sumtotalsystems.com/sumtotal7/sumtotalws/Authentication/"></LoginResponse>
      </soap:Body>
    </soap:Envelope>
    also I found in Trace node in SXI_MONITOR, jus before execute response mapping :
    <Trace level="1" type="B" name="PLSRV_MAPPING_RESPONSE"></Trace><!-- ************************************ -->
    <Trace level="1" type="Timestamp">2011-11-01T19:33:34Z UTC-6 Start of pipeline service processing PLSRVID= PLSRV_MAPPING_RESPONSE</Trace>
    <Trace level="1" type="B" name="CL_XMS_MAIN-CALL_PLSRV">
    <Trace level="3" type="T">Calling pipeline service: PLSRV_MAPPING_RESPONSE</Trace>
    <Trace level="3" type="T">Reading Pipeline-Service specification... </Trace>
    <Trace level="3" type="T">PLSRVTYPE  = </Trace>
    <Trace level="3" type="T">ADRESSMOD  = LOCAL</Trace>
    <Trace level="3" type="T">P_CLASS    = CL_MAPPING_XMS_PLSRV3</Trace>
    <Trace level="3" type="T">P_IFNAME   = IF_XMS_PLSRV</Trace>
    <Trace level="3" type="T">P_METHOD   = ENTER_PLSRV</Trace>
    <Trace level="3" type="T"> </Trace>
    <Trace level="1" type="B" name="CL_XMS_MAIN-CALL_PLSRV_LOCAL"></Trace><!-- ************************************ -->
    <Trace level="1" type="B" name="CL_MAPPING_XMS_PLSRV3-ENTER_PLSRV"></Trace><!-- ************************************ -->
    <Trace level="2" type="T">......attachment XI_Context not found </Trace>
    <Trace level="3" type="T">Das Mapping wurde bereits in der Interface-Ermittlung bestimmt. </Trace>
    <Trace level="3" type="T">Objekt-Id des Interface-Mappings 8594D8C2E6DA3C008F45B112FFCC86B8 </Trace>
    <Trace level="3" type="T">Versions-Id des Interface-Mappings C3BB8FB0A1D511E0A688E9FCB9F06E16 </Trace>
    <Trace level="1" type="T">Interface-Mapping http://xxxxx.net/pi/lms/Authentication OM_LMS_Authentication </Trace>
    <Trace level="3" type="T">Mapping-Schritte 1  XSLT Response_LMS_Auth5 </Trace>
    <Trace level="3" type="T">MTOM-Attachments werden nicht in die Payload überführt. </Trace>
    <Trace level="1" type="T">Payload is empty. </Trace>
    <Trace level="3" type="T">Dynamische Konfiguration ist leer. </Trace>
    <Trace level="2" type="T">Modus 0  </Trace>
    <Trace level="2" type="T">Call XSLT processor with stylsheet Response_LMS_Auth5.xsl. </Trace>
    <Trace level="3" type="T">Method fatalError called, terminate transformation, because of
    Thrown:
    javax.xml.transform.TransformerException: java.io.IOException: Parsing an empty source. Root element expected!
         at com.sap.engine.lib.jaxp.TransformerImpl.transform(TransformerImpl.java:250)
    Say Payload is empty.
    and in left directory tree, not exist "payload" node, only existe SOAP Body and in "Manifest" node looks like this:
    <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
    <!-- XML Validation Outbound Channel Response -->
    <SAP:Manifest wsu:Id="wsuid-manifest-5CABE13F5C59AB7FE10000000A1551F7" xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:wsu="http://www.docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
    <SAP:Payload xlink:href="cid:att-60c3078b066911e1bc1500000093b25a @sap.com">
    <SAP:Name>MainAttachment</SAP:Name><
    SAP:Description>Main document</SAP:Description>
    <SAP:Type>Application</SAP:Type></SAP:Payload>
    </SAP:Manifest>
    Thanks for your help.

  • Serious resource utlization problem using SOAP and 8.0.2

    Hi,
    I'm running into a fairly serious issues whilst trying to download large attachments from a Groupwise 8.0.2 server using SOAP.
    Basically, the problem is as follows: at a client site, there's an inbox with an email that has an attached avi file of about 330mb. Our SOAP client tries to retrieve this file in chunks of 1mb in size (if you try to set the size of the chunks any larger, Groupwise will give you a 59922 error, as 1mb is apparently some sort of hard coded limit). So that attachment corresponds to roughly 330 AttachmentRequestMessage's and their responses, each with a 1mb payload.
    When we run our client, the cpu utilization of the Groupwise server takes about a dozen seconds to climb to 100%, every single time we try. Since 100% cpu utilization renders all GW clients more or less inoperable (or at least extremely slow) this is a non-starter.
    We changed our client to wait 2 secs. in between requesting each chunk of the attachment. This seemed to help initially, but by the time we had transferred 100mb of the file, cpu utilization climbed to 95% and stayed there until the file transfer was completed.
    This is a little disconcerting. We're requesting a megabyte of data from an attachment every 2 seconds, and Groupwise seems to have all sorts of problems in trying to service these requests. As you can imagine, client performance isn't that great at 95% server utilization either. I suppose we could increase the pause to something like 5 seconds, but it seems ridiculous that such simple requests are generating this amount of load.
    So my question is 2-fold:
    1. can I increase the maximum size of an attachment part chunk? 1mb is not very much at all, seeing as our server is on the same gigabit lan segment as the GW server
    2. why does cpu utilization shoot up to 95% while servicing what seem to be fairly simple requests, and how do I avoid this by some means other than increasing my pause time?
    Thanks in advance,
    Maarten
    PS I spent some time looking for the 59922 error code in the docs, but turned up nothing

    The 59922 error is just a warning.
    You should use the HTTP GET construct to get large
    attachments. It is orders of magnitude faster than
    using getAttachmentRequest.
    >>> On Friday, August 20, 2010 at 11:06 AM,
    mdirkse<[email protected]> wrote:
    > Hmm, could you perhaps point me to where in the docs?
    >
    > Because as far as I know you have to download an attachment using a
    > getAttachmentRequest ('Novell Doc: NDK: GroupWise Web Services ‑
    > getAttachmentRequest'
    >
    (http://developer.novell.com/document...a/b7m3i5b.html
    > )),
    > which takes a length parameter, and if you set that to > 1mb, Groupwise
    > returns a 59922 error which, I'm pretty sure, *isn't* in the docs.
    >
    > Ray;2013273 Wrote:
    >> You can download the complete attachment
    >> in 1 go over HTTP using a SOAP login session.
    >>
    >> It's all in the docs...
    >>
    >> Am 19.08.2010 16:06, schrieb mdirkse:
    >> >
    >> > Hi,
    >> > I'm running into a fairly serious issues whilst trying to download
    >> > large attachments from a Groupwise 8.0.2 server using SOAP.
    >> >
    >> > Basically, the problem is as follows: at a client site, there's an
    >> > inbox with an email that has an attached avi file of about 330mb.
    >> Our
    >> > SOAP client tries to retrieve this file in chunks of 1mb in size (if
    >> you
    >> > try to set the size of the chunks any larger, Groupwise will give you
    >> a
    >> > 59922 error, as 1mb is apparently some sort of hard coded limit). So
    >> > that attachment corresponds to roughly 330
    >> AttachmentRequestMessage's
    >> > and their responses, each with a 1mb payload.
    >> >
    >> > When we run our client, the cpu utilization of the Groupwise server
    >> > takes about a dozen seconds to climb to 100%, every single time we
    >> try.
    >> > Since 100% cpu utilization renders all GW clients more or less
    >> > inoperable (or at least extremely slow) this is a non‑starter.
    >> >
    >> > We changed our client to wait 2 secs. in between requesting each
    >> chunk
    >> > of the attachment. This seemed to help initially, but by the time we
    >> had
    >> > transferred 100mb of the file, cpu utilization climbed to 95% and
    >> stayed
    >> > there until the file transfer was completed.
    >> >
    >> > This is a little disconcerting. We're requesting a megabyte of data
    >> > from an attachment every 2 seconds, and Groupwise seems to have all
    >> > sorts of problems in trying to service these requests. As you can
    >> > imagine, client performance isn't that great at 95% server
    >> utilization
    >> > either. I suppose we could increase the pause to something like 5
    >> > seconds, but it seems ridiculous that such simple requests are
    >> > generating this amount of load.
    >> >
    >> > So my question is 2‑fold:
    >> > 1. can I increase the maximum size of an attachment part chunk? 1mb
    >> is
    >> > not very much at all, seeing as our server is on the same gigabit
    >> lan
    >> > segment as the GW server
    >> > 2. why does cpu utilization shoot up to 95% while servicing what
    >> seem
    >> > to be fairly simple requests, and how do I avoid this by some means
    >> > other than increasing my pause time?
    >> >
    >> > Thanks in advance,
    >> > Maarten
    >> >
    >> > PS I spent some time looking for the 59922 error code in the docs,
    >> but
    >> > turned up nothing
    >> >
    >> >

  • Retriving .doc and .rtf files in soap attachments

    Please help me
    I'm using JAXM to retrive soap attachments
    When i retrive txt files (.txt) it retrivs the content of the document
    without any problem but when i try to retrive .doc or rtf
    it gives content as
    java.io.FileInputStream@587c94
    (retrive attached files which are recived from client)
    how do i get the content from word or rtf document
    this is the way i tried to get the content
    while (it.hasNext()) {
    AttachmentPart ap = (AttachmentPart)it.next();
    contentType = ap.getContentType();
    content =(String)ap.getContent();
    p.println("content---->"+content);//wrriting to text file
    System.out.println("*** attachment content: " + content);
    thanks nams

    Here is the code I used to send and receive a PDF file as a SOAP attachment. Note that if the sender uses a DataHandler for the attachment's content, there's no need to set the MIME type explicitly because the DataHandler does it for you.
    * Sender
    // create the data source and data handler
    DataSource source = new FileDataSource("form.pdf");
    DataHandler handler = new DataHandler(source);
    // create attachment for message
    AttachmentPart attachment = message.createAttachmentPart(handler);
    // set content id (optional)
    attachment.setContentId("enrollment_form");
    // add attachment to message
    message.addAttachmentPart(attachment);
    // send message
    providerConnection.send(message);
    * Recipient
    public class Receiver extends JAXMServlet implements OnewayListener {
       public void onMessage(SOAPMessage message) {
          // get attachment
          Iterator it = message.getAttachments();
          AttachmentPart attachment = (AttachmentPart) it.next();
          if (attachment.getContentType().equals("application/pdf")) {
              // read contents into byte buffer
              ByteArrayInputStream contentStream =
                  (ByteArrayInputStream)attachment.getContent();
              // use standard Java I/O methods to save in file
              int bytesToRead = contentStream.available();
              byte[] buffer = new byte[bytesToRead];
              contentStream.read(buffer);
              // write buffer to new file
              FileOutputStream file = new FileOutputStream("form.pdf");
              file.write(buffer);
              file.close();
              log("Attachment " + attachment.getContentId() + " with type "
                  + attachment.getContentType() + " written to form.pdf");
          else {
              log("attachment content has MIME type " + attachment.getContentType()
                + ", Java type " + attachment.getContent().getClass());
    }

  • Need Help: Not able to invoke fusion crm webservice using SOAP UI

    Hi,
    I am trying to invoke fusion crm webservice by using SOAP UI, but I am getting Invalid seccurity tocken exception.
    I have followed below steps specified in the oracle support document.
    In Soap UI, Go to File>Preferences ,select the "HTTP Settings' tab on the lower left panel, then select the checkbox 'Authenticate Preemtively'.
    2. From the wsdl extract the content from above wsdl between the tag/elements <dsig:X509Certificate> and </dsig:X509Certificate>
    3. Create a file called certificate.cer ( in local Drive) with above encrypted data enclosed between -----BEGIN CERTIFICATE-----   and -----END CERTIFICATE-----, file content shown below ( note: encrypted data 
        for example
        -----BEGIN CERTIFICATE-----
    MIICCzCCAXSgAwIBAgIETy
        -----END CERTIFICATE-----
    4. Identifiy the java.home of SOAP UI , navigation (Help – System Properties) ,example ( it may be something like D:\SOAP UI download\soapui-4.5.1\jre)
    5.  Find the location of cacert file in SOAP UI ( example D:\SOAP UI download\soapui-4.5.1\jre\lib\security\cacert)
    6. Use following keytool command to add the certificate file certificate.cer into keystore cacert , sample command given below for reference
       keytool -importcert -alias rcpt-key-alias -file "D:\certificate.cer" -keystore "D:\SOAP UI download\soapui-4.5.1\jre\lib\security\cacerts"
       at command prompt when prompted enter password as changeit
    7. Restart SOAP UI and create a new project with https version of WSDL of organizationService
    8. In SOAP UI ,  in Auth tab , provide the user name and password.
    9. Invoke the Webservice
    I have used following request XML in SOAP UI
    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:typ="http://xmlns.oracle.com/apps/sales/opptyMgmt/opportunities/opportunityService/types/" xmlns:opp="http://xmlns.oracle.com/apps/sales/opptyMgmt/opportunities/opportunityService/" xmlns:rev="http://xmlns.oracle.com/apps/sales/opptyMgmt/revenues/revenueService/" xmlns:not="http://xmlns.oracle.com/apps/crmCommon/notes/noteService" xmlns:not1="http://xmlns.oracle.com/apps/crmCommon/notes/flex/noteDff/" xmlns:rev1="http://xmlns.oracle.com/oracle/apps/sales/opptyMgmt/revenues/revenueService/" xmlns:act="http://xmlns.oracle.com/apps/crmCommon/activities/activitiesService/" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:soap="soap" xmlns:ns1="http://xmlns.oracle.com/apps/fnd/soaprovider/plsql/fnd_user_pkg/">
       <soapenv:Header>
          <fmw-context xmlns="http://xmlns.oracle.com/fmw/context/1.0"/>
          <wsse:Security soap:mustUnderstand="1">
             <wsse:UsernameToken>
                <wsse:Username>userName</wsse:Username>
                <wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">Password</wsse:Password>
             </wsse:UsernameToken>
          </wsse:Security>
       </soapenv:Header>
       <soapenv:Body>
          <typ:createOpportunity>
             <typ:opportunity>
                <opp:BudgetedFlag>1</opp:BudgetedFlag>
             </typ:opportunity>
          </typ:createOpportunity>
       </soapenv:Body>
    </soapenv:Envelope>
    It would be great help if someone guide me on this...
    Thanks & Regards
    Samanta Mishra

    For reference here is an example of a SOAP envelope I commonly use with SOAP UI to "query" employee data from HCM:
    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:typ="http://xmlns.oracle.com/apps/hcm/employment/core/workerService/types/" xmlns:typ1="http://xmlns.oracle.com/adf/svc/types/">
        <soapenv:Header>
            <wsse:Security soapenv:mustUnderstand="1" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
                <wsse:UsernameToken wsu:Id="UsernameToken-2" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
                    <wsse:Username>username</wsse:Username>
                    <wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">password</wsse:Password>
                    <wsse:Nonce EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary">jwCzGGijT90Wml6eZe4cxg==</wsse:Nonce>
                    <wsu:Created>2012-07-04T06:49:48.981Z</wsu:Created>
                </wsse:UsernameToken>
            </wsse:Security>
        </soapenv:Header>
        <soapenv:Body>
            <typ:findWorker>
                <typ:findCriteria>
                    <typ1:fetchStart>0</typ1:fetchStart>
                    <typ1:fetchSize>1</typ1:fetchSize>
                    <typ1:filter>
                        <typ1:conjunction>And</typ1:conjunction>
                        <typ1:group>
                            <typ1:conjunction>And</typ1:conjunction>
                            <typ1:upperCaseCompare>false</typ1:upperCaseCompare>
                            <typ1:item>
                                <typ1:conjunction>And</typ1:conjunction>
                                <typ1:upperCaseCompare>false</typ1:upperCaseCompare>
                                <typ1:attribute>PersonNumber</typ1:attribute>
                                <typ1:operator>=</typ1:operator>
                                <typ1:value>123456</typ1:value>
                            </typ1:item>
                        </typ1:group>
                    </typ1:filter>
                </typ:findCriteria>
                <typ:findControl>
                    <typ1:retrieveAllTranslations>false</typ1:retrieveAllTranslations>
                </typ:findControl>
            </typ:findWorker>
        </soapenv:Body>
    </soapenv:Envelope>
    This example works fine for our Fusion Applications Cloud test instance, without any SSL setup or setting credentials on the request properties as the target service supports policy without message protection.
    Based on the your steps your service has message protection policy, so the above will not work rather you need to do additional configuration. Please check the policy on your service to confirm how the call needs to be made. Here are few links and documents:
    "How to invoke Fusion Application TCA webservice from SOAP UI (Doc ID 1496071.1)"  documents how a service with message protection can be called from SOAP UI. Your steps seem identical so presumably they are based on this document.
    "Oracle Fusion Sales Cloud Web Services (Doc ID 1354841.1)" contains information about the CRM web services including examples on the certificate import and sample payloads.
    Please provide:
    The security policies defined on the service (check the wsdl)
    The exact error message the you get
    Jani Rautiainen
    Fusion Applications Developer Relations
    https://blogs.oracle.com/fadevrel/

Maybe you are looking for