Skip to Main Content

APEX

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Interested in getting your voice heard by members of the Developer Marketing team at Oracle? Check out this post for AppDev or this post for AI focus group information.

Uploading a file with SOAP API

TinkerBoyJun 5 2019 — edited Jun 7 2019

Hi all. I am able to upload a file into our Vibe Document store using SOAP UI.

I have the steps. But I have no idea how to do it using the apex_web_service.make_request procedure.

So what I need to do is first create an entry using this envelope. I give it a parentBinderID and a title

<soapenv:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:v1="http://ws.remoting.teaming.kablink.org/v1" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">

<soapenv:Header/>

<soapenv:Body>

  \<v1:folder\_addEntry soapenv:encodingStyle="[http://schemas.xmlsoap.org/soap/encoding/](http://schemas.xmlsoap.org/soap/encoding/)">

     \<accessToken xsi:type="soapenc:string">?\</accessToken>

     \<entry xsi:type="v1:FolderEntry" xmlns:v1="[http://model.ws.remoting.teaming.kablink.org/v1](http://model.ws.remoting.teaming.kablink.org/v1)">

        \<definitionId xsi:type="soapenc:string">402883c6115753d8011157829367000f\</definitionId>

        \<entityType xsi:type="soapenc:string">\_libraryEntry\</entityType>

        \<id xsi:type="soapenc:long">0\</id>

        \<parentBinderId xsi:type="soapenc:long">19328\</parentBinderId>

        \<title xsi:type="soapenc:string">Test File Number 1\</title>

        \<docLevel xsi:type="xsd:int">1\</docLevel>

        \<docNumber xsi:type="soapenc:string">1\</docNumber>

     \</entry>        

  \</v1:folder\_addEntry>

</soapenv:Body>

</soapenv:Envelope>

Then it will return the EntryID

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

<soapenv:Body>

  \<ns1:folder\_addEntryResponse soapenv:encodingStyle="[http://schemas.xmlsoap.org/soap/encoding/](http://schemas.xmlsoap.org/soap/encoding/)" xmlns:ns1="[http://ws.remoting.teaming.kablink.org/v1](http://ws.remoting.teaming.kablink.org/v1)">

     \<folder\_addEntryReturn xsi:type="xsd:long">13408\</folder\_addEntryReturn>

  \</ns1:folder\_addEntryResponse>

</soapenv:Body>

</soapenv:Envelope>

pastedImage_0.png

Then I take that EntryID and I upload a file to the Entry I just created.

The cid comes from the file attached in SOAP UI.

<soapenv:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:v1="http://ws.remoting.teaming.kablink.org/v1">

<soapenv:Header/>

<soapenv:Body>

  \<v1:folder\_uploadFileAsByteArray soapenv:encodingStyle="[http://schemas.xmlsoap.org/soap/encoding/](http://schemas.xmlsoap.org/soap/encoding/)">

     \<accessToken xsi:type="soapenc:string" xmlns:soapenc="[http://schemas.xmlsoap.org/soap/encoding/](http://schemas.xmlsoap.org/soap/encoding/)">?\</accessToken>

     \<entryId xsi:type="xsd:long">13408\</entryId>

     \<fileUploadDataItemName xsi:type="soapenc:string" xmlns:soapenc="[http://schemas.xmlsoap.org/soap/encoding/](http://schemas.xmlsoap.org/soap/encoding/)">ss\_attachFile\</fileUploadDataItemName>

     \<fileName xsi:type="soapenc:string" xmlns:soapenc="[http://schemas.xmlsoap.org/soap/encoding/](http://schemas.xmlsoap.org/soap/encoding/)">soapui.log\</fileName>

     \<fileContent xsi:type="soapenc:base64Binary" xmlns:soapenc="[http://schemas.xmlsoap.org/soap/encoding/](http://schemas.xmlsoap.org/soap/encoding/)">cid:1021753427522\</fileContent>

  \</v1:folder\_uploadFileAsByteArray>

</soapenv:Body>

</soapenv:Envelope>

This is the responce after a file upload

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

<soapenv:Body>

  \<ns1:folder\_uploadFileAsByteArrayResponse soapenv:encodingStyle="[http://schemas.xmlsoap.org/soap/encoding/](http://schemas.xmlsoap.org/soap/encoding/)" xmlns:ns1="[http://ws.remoting.teaming.kablink.org/v1](http://ws.remoting.teaming.kablink.org/v1)"/>

</soapenv:Body>

</soapenv:Envelope>

pastedImage_1.png

So what I want to do is upload a file via APEX and then pass it to Vibe via the SOAP call. Can anybody please help.

It does seem possible as the sample shows something along those lines but I don't know how to get the SOAP UI attachment file to work in the APEX code.

https://docs.oracle.com/database/121/AEAPI/apex_web_service.htm#AEAPI1931

This post has been answered by TinkerBoy on Jun 7 2019
Jump to Answer

Comments

Processing

Post Details

Added on Jun 5 2019
4 comments
165 views