File adapter -sync
Can we apply Synchronous to a file adapter?
Hi Sunil,
When we use any adapter in XI , it will post the message to the corresponding target system/service. If it is a synchronous call, then it will carry the response given by the target system to the source system.
For exmpale a if we call any webservice in synchronous mode using SOAP adapter, the SOAP adapter will ping the given URL with the sournce message and will get back the reponse given by the webservice.
So when using a synchornous mode, one has to design according to target system design, whether it can able to give the response or not.
Considering the file adapter in XI , A file adapter is used to place/pick a file on remote (FTP/VAN) system . i.e when we place a file on a FTP server, it just stores the file on that specified system folder and the system can not able to give any response to that activity. It is something similer copying a file from one folder to another folder. so that is the reason , why we can not use a file adapter for Synchronous service.
Regards
Vijayanand Poreddy
Similar Messages
-
How to get file name using File adapter Sync read
Hi All,
I am using SOA 10.1.3.3 and JDEV 10.1.3.3.
I have an async bpel process.
I have to read file name in this process... so i have used file adapter sync read operation.
How can we get the file name with out payload using sync read.
For normal read (Inbound Spec)we have UseHeaders="true" property.
Is there any property for sync read to read the file name.
Please help me
Regards
PavanKumar.M
Edited by: [email protected] on Oct 27, 2009 11:23 PMHi Eric,
The info in the link provided by you is for a normal read.
I need to read he file name using Sync read operation.
Regards
PavanKumar.M -
File Adapter sync reading error
I am getting the following error trying to read a pdf file using file adapter
<assign name="Assign2">
<copy>
<from variable="receiveInput_process_InputVariable" part="filename"/>
<to variable="file"/>
</copy>
<copy>
<from variable="receiveInput_process_InputVariable" part="filename"/>
<to variable="Invoke1_SynchRead_InputVariable" part="filename"/>
</copy>
</assign>
<invoke name="Invoke1"
inputVariable="Invoke1_SynchRead_InputVariable"
outputVariable="Invoke1_SynchRead_OutputVariable"
partnerLink="ReadBomFile" portType="ns7:SynchRead_ptt"
operation="SynchRead" bpelx:invokeAsDetail="no">
<bpelx:inputProperty name="jca.file.FileName"
variable="file"/>
</invoke>
<assign name="Assign1">
<copy>
<from variable="receiveInput_process_InputVariable" part="filename"/>
<to variable="replyOutput_process_OutputVariable" part="filename"/>
</copy>
<copy>
<from variable="Invoke1_SynchRead_OutputVariable" part="opaque"/>
<to variable="replyOutput_process_OutputVariable" part="filestream"/>
</copy>
</assign>
error i am getting
<messages>
<input>
<Invoke1_SynchRead_InputVariable>
<part name="filename">
<filename xsi:type="xsd:string">Bom.pdf</filename>
</part>
</Invoke1_SynchRead_InputVariable>
</input>
<fault>
<bpelFault>
<faultType>0</faultType>
<bindingFault>
<part name="summary">
<summary>Exception occured when binding was invoked. Exception occured during invocation of JCA binding: "JCA Binding execute of Reference operation 'SynchRead' failed due to: null". The invoked JCA adapter raised a resource exception. Please examine the above error message carefully to determine a resolution. </summary>
</part>
<part name="detail">
<detail>null</detail>
</part>
<part name="code">
<code>null</code>
</part>
</bindingFault>
</bpelFault>
</fault>
<faultType>
<message>0</message>
</faultType>
</messages>
Thanks
ThomasHi,
You have use the attribute quotedBy... By default, the specified string is &quot; ("). If your data includes this character, you must override this default even if the field is not quoted.
For example:
{code}
<element name="field" type="string" nxsd:style="terminated" nxsd:terminatedBy=";" nxsd:quotedBy="<"/>
{code}
Read this...
http://docs.oracle.com/cd/E23943_01/integration.1111/e10231/nfb.htm#CHDBBECG
Cheers,
Vlad -
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-1200Ok,
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 -
Batching in sync read file adapter
Dear All,
Is there any way we can do batching in sync read file adapter ?
I am at SOA Server 10.1.3.4 MLR#5.
Please share if any information.
Best Regards
ArcHi:
An alternative is that , before u try to read it, u make a list directory, and search for ur file, if it is not in the list, then u don't read; otherwise, u do.
The list operation is part of the file adapter.
hope this helps
best -
Get additional file attachements with file adapter
Hello,
Has anyone ever had the following situation:
A Sender interface sends a little bit of data to XI.
This data contains the filenames of some files on a FTP server.
Based on these filename the file needs to be retreived from a FTP server and further handled as an attachement of the XI message?
Is it possible to trigger a sender file adapter with a variable directory and filename from XI, in a BPM or Mapping?
Warm Regards,
Leon Boeijenhi,
>>>>Is it possible to trigger a sender file adapter with a variable directory and filename from XI, in a BPM or Mapping?
no it's not possible to start a file adapter from BPM
you can use a java proxy that will do the trick
we've used a solution like this many times with no big issues
remember that it's better to use an async java proxy
(with correlation) then a sync one...
Regards,
michal
<a href="/people/michal.krawczyk2/blog/2005/06/28/xipi-faq-frequently-asked-questions"><b>XI / PI FAQ - Frequently Asked Questions</b></a> -
Read from a config file in File Adapter in SOA Suite 11g
I want to read from a config file in order to determine whether to archive or delete the file after processing using file adapter in SOA Suite 11g. How do i do that.
only part i replied on was the part of how to read a file
but i think in your case you could do the next
use the sync file adapter to read in the file during your process
based on this content you set a variable "myOutputDirectory"
then create a file adapter (write) which will store the file on file system
http://docs.oracle.com/cd/E23943_01/integration.1111/e10231/adptr_file.htm#CIACICFD
4.3.2.2.5 Specifying a Dynamic Outbound File Name
and use that (jca.file.Directory) property to store the file either on the archive location or the delete location -
Reg:File adapter archive Directory
Dear team,
Our requirement is to read a csv file from a directory and archive the file in archive folder specified in the file adapter.
If any exception is caught,then we need to read the archieve file from archive directory rename the archive file with source file name and place it in source directory.
On the receive activity we are able to get the source file name and source file directory.
<receive name="Receive1" createInstance="yes"
variable="Receive1_Read_InputVariable" partnerLink="fileRead"
portType="ns1:Read_ptt" operation="Read">
<bpelx:property name="jca.file.FileName" variable="srcFileName"/>
<bpelx:property name="jca.file.Directory" variable="srcDrFolder"/>
How to get the archive file name and archive file directory from the receive activity so that we can store in local variables.
Pls do help.
ThanksHi,
Another way you can accomplish your scenario. Instead of deleting or archiving in beginning just move the file from inbound to archive location after business flow completion.
In case of error, the file will remain at original position as moving operation is at the end.
First read the file using read operation, then at the end create a file adapter with sync read operation. Change the entries in .jca generated with below sample.
Sample jca file.
<endpoint-interaction portType="SynchRead_ptt" operation="SynchRead">
<interaction-spec className="oracle.tip.adapter.file.outbound.FileIoInteractionSpec">
<!-- Below properties are dummy except Type , it will be changed in runtime -->
<property name="SourcePhysicalDirectory"
value="srcdir"/>
<property name="SourceFileName" value="abc.txt"/>
<property name="TargetPhysicalDirectory"
value="targetdir"/>
<property name="TargetFileName" value="abc.txt"/>
<property name="Type" value="MOVE"/>
</interaction-spec>
Then,in you bpel flow at the invoke for sync read add these two properties.
<bpelx:inputProperty name="jca.file.SourceFileName"
variable="varInputFileName"/>
<bpelx:inputProperty name="jca.file.TargetFileName"
variable="varArchiveFileName"/>
<bpelx:inputProperty name="jca.file.SourceDirectory"
variable="varInputDirectory"/>
<bpelx:inputProperty name="jca.file.TargetDirectory"
variable="varArchiveDirectory"/>
- It is considered good etiquette to reward answerers with points (as "helpful" - 5 pts - or "correct" - 10pts).
Thanks,
Durga -
File adapter polling frequency is not consistent in SOA 10g!
Friends,
I have used file adapter for polling files in a service in SOA 10G env. with polling frequency 3600 secs. However, i have noticed file polling is not happening at 60 mins interval, instead some times files getting polled in less than 30 mins but again after sometime its polling correctly in 60 mins interval. I am not sure what could be the reason but i need a solution urgently. Please help!Could be the managed servers in the cluster are not in sync.
I faced DB JCA adapter sync issues because of Oracle soa suite bug.
You could check whether any sync issues are there with File adapters. -
Synchronous Read in File Adapter
Hi,
Could you please explain one example scenario for Synchronous Read in File Adapter?
Thanks,
kprThis is end to end case
Assume u have file coming from 2 differnt source in 2 differet inbound file adapter you can read this at a same time and do assign,transform etc in bpel and send one file to next process for further processing. in this type of scenario we use a Sync file read
Note: the 2 files come at same time to inbound file adapter. -
Acknowledgment in File Adapter
Hi,
I tried a BPM that receive from a SOAP and
writes into a file. I need BPM because of
alerts.
Because I started a s/a-bridge, I would like
to send the soap adapter a response (like an
errorcode). The sender step got a field
Acknowledgement. How can I use this? In SAP XI
documentation it says that the receiver got to
send an acknowledgement, but I can't find how
a file communication channel can send an acknowledgement.
Any experiences??
thanks
chrisI think there would be an alert if the file adpater
could not reach the file system if I build my
integration prozess like this:
-> block with exception -> open s/a-bridge -> send to file -> close s/a-bridge
The exception should close process with a control step.
So, if I would like to close the message with a message that included an errormessage field and fill this field with a constant, how can I do this? Do I have to add a transformation step?
I have:
Message-types:
- a request for soap
- a response for soap
- a request for file (it's not necessary, but I would like to split of web service from writing structure)
Interface:
- a sync out for web service
- a sync abs for BPM
- a request abs for BPM (web service)
- a response abs for BPM (web service)
- a request abs for BPM (file)
Mapping:
- sync out to sync abs (web service)
- request abs (web service) to request abs (file)
- ??? One for mapping constant into repsonse?
how can I do the mapping of the constant, if I don't
have a file response??
thanks
chris
Message was edited by: Christian Riekenberg -
File-SOAP-File Async/Sync Bridge : Null Pointer Exception
Hi All,
I have a File-SOAP-File scenario (Async/Sync Bridge). This scenario was working fine in PI 7.0. However since the time we have upgraded to PI 7.1, this scenario has been failing.
I do receive a response for web service, however the sender File adapter fails after initiating Response bean.
2010-08-04 12:16:02 Information MP: processing local module localejbs/AF_Modules/ResponseOnewayBean
2010-08-04 12:16:02 Information The message was successfully transmitted to endpoint http://vs06cs01.sce.com:8000/sap/xi/engine?type=entry using connection File_http://sap.com/xi/XI/System.
2010-08-04 12:16:02 Information The message status was set to DLVD.
2010-08-04 12:16:02 Error MP: exception caught with cause java.lang.NullPointerException:
2010-08-04 12:16:02 Error File processing failed with java.lang.NullPointerException:
Our Current PI level: 7.10.7.33
Patch Level: 33
Please advice.
XIerHi,
Please go through all the settings for the modules once again - check for any space or other such character present or if some name is not correctly specified.
If you still get the error, then make some change to the channel and re-activate.
Also, make sure you are following the below sequence in the sender file channel-
ModuleName Type ModuleKey
AF_Modules/RequestResponseBean Local Enterprise Bean 1
CallSapAdapter Local Enterprise Bean 2
AF_Modules/ResponseOnewayBean Local Enterprise Bean 3
Parameters
ModuleKey ParameterName ParameterValue
1 passThrough true
3 receiverChannel Receiver File Adapter Name
3 receiverService Receiver Business Service
Hope this helps.
Regards,
Neetesh -
How to find EOF in BPEL File adapter
Hi All,
I am using file adapter in BPEL(SOA 11G) to read a csv file. The CSV file is very large so we have are processing the files in batched of 20000 records.I am inserting the records form CSV file to a staging table and after that I am invoking a concurrent Program for further processing.This is working fine and BPEL is initiating no of instances based on the file size.
The issue here is, I want to submit the concurrent program only once when all the records are stored in staging table, I mean to say the BPEL Process should process the file in batches and then insert them in to the staging table. Once all the records from the file are stored in the table, then only the Concurrent Program should get submitted.
I am using DB Adapter for invoking a PL/SQL API and from there we are submitting concurrent Program.
Please help me on this to solve this.
Thanks!It is possible to register a Java Listener class, which can/will be invoked, when a last batch in the file, is read. Code for invoking the concurrent Program can be written in side this class.
Refer to following document on how to register the Java Listener class
http://docs.oracle.com/cd/E23943_01/integration.1111/e10231/adptr_file.htm#CACJBIGD
Moreover, as an alternate to the above approach, chunk read interaction specs can be implemented along with the Sync File Read for your scenario( However,This will be a whole re-write, considering your current approach. Good News is, there is full-fledged example readily available for this in oracle docs).
Here is the link if you would like to implement the Chunk Read.
http://docs.oracle.com/cd/E23943_01/integration.1111/e10231/adptr_file.htm#BABJFCBH
Mark the posting appropriately as "hlepful" or "correct answer", if your issue is solved. -
File adapter: file processing in correct sequence
Hello All
We have inbound file scenario.
File will be picked up and processed by XI and sent to SAP system.
All the files have to be processed in the same sequence.
Once the file is picked and processed in XI, data will be sent to receiving SAP system thru proxy call.
But, if there is an error in processing received data in the receiving system (because of duplicate data or any other application related error, which is specific to receiving application), how can we stop XI from picking and processing the next file?
Second file should be picked and processed by XI only after 1st file is successfully processed by the receiving system.
How can i ensure this?
Please let me know...
Many Thanks
ChandraHi Chandra
If you are on NFS then you can enable Processing Sequence by Name or Date in sender file adapter. With this you need to implement EOIO this allows messages to be picked in sequence and process in queue. If one of the file failed the queue will error.
To avoid more than one thread processing you can use additional parameter "clusterSyncMode" refer Note 801926.
With the above other solution can be creating a SYNC or interface that can act as an ACK from the system then you process the next message. BPM can also be useful if you use Fault messages and capture them for errors for processing of next message.
Hope above info can be used to come to a final approach for you
Thanks
Gaurav -
Outbound interface determination in file adapter?
In my scenario files with different schemas can be send to XI from the same directory using the file adapter (so each file has a different interface that must be mapped etc.).
I cannot add multiple interfaces to the file adapter in sender agreement and determine the outbound interface by some condition. Interface must not be "*".
I thought about creating multiple file adapters (all listening to the same directory) and sender agreements. Each adapter is listenig to specific file type only (e.g. *.yxz, *.abc). So before putting the files to the input directory the file extension must be changed so that only the right adapter reads the file and XI gets the right interface.
Is there abetter way to do this???These blogs will be usefull i guess..
/people/krishna.moorthyp/blog/2005/06/09/walkthrough-with-bpm
/people/arpit.seth/blog/2005/06/27/rfc-scenario-using-bpm--starter-kit
https://www.sdn.sap.com/irj/sdn/weblogs?blog=/pub/wlg/1403 [original link is broken] [original link is broken] [original link is broken]
/people/sriram.vasudevan3/blog/2005/01/11/demonstrating-use-of-synchronous-asynchronous-bridge-to-integrate-synchronous-and-asynchronous-systems-using-ccbpm-in-sap-xi
/people/ravikumar.allampallam/blog/2005/02/17/bridging-the-sync-async-bridge-with-fork-xi
/people/sravya.talanki2/blog/2005/08/24/do-you-like-to-understand-147correlation148-in-xi
/people/daniel.graversen/blog/2006/09/07/using-a-bpm-to-collect-messages-for-a-set-interval-of-time
Reward points if usefull........
Maybe you are looking for
-
AIO remote does not find my printer
I changed Internet providers a few months ago. I have not been able to print from my iPhone or iPad since then. AIO remote does not find my printer at all.
-
Time Capsule with Mac Os X tiger
I have problem seting up my time capsule to my I-Mac operating with Tiger. The wires seemmed to be ok but i think the cofiguration is the problem Any one can help?
-
Moving from CS 5.5 Design Premium to CS 6 Design & Web Premium on Mac
I recently purchased CS6 Web Design & Premium for MAC. I'm running Mac version OS X Lion 10.7.5. The MAC currently has CS5.5 Design Premium installed on it. I purchased the upgrade because I was eligible at the discounted upgrade price. Should I unin
-
Macbook air: should i upgrade Ram or Processor?
Looking at getting a macbook air 13 inch 256gb ssd. I am able to upgrade either the processor from an I5 to an I7 or the Ram from 4gb to 8gb. I dont know which one to upgrade. I can only do one. This will be used for school, music, and games like Si
-
System migration - what does apple cloud do?
I moved my System from Mac to Mac. The CreativeCloud app did not move. After first opening of PS, it asked me to download creative cloud, which I did. But the app, which appears on the upper right side of the screen is empty... Photoshop is running t