Novice Question: XML File using FTP Adapter Help Requested
I need to create (publish) a message from an XML file that is written to a particular folder on a Win2000 machine (I intend running the adapter on the same machine). I think that the FTP adapter should be the easiest way to do this but I have only used this adapter to publish DL3-defined files, and only then on a unix platform.
Is the FTP adapter the correct approach or is there a better way, and if it is the correct approach, can anyone point me to a sample application or pass along a sample adapter.ini so I can figure out configuring the adapter.
Thanks
Eric
We use the FTP adapter for both reading and writing XML files. And it works quite OK (there are a few gliteches but nothing you cannot work around). You need to first make (find) a DTD for your XML file and import that as the AV for the message in IS (IStudio). Then you just point the adapter to the correct directory and it should work from there.
As for better way Im not sure I'm no InterConnect expert but I dont know any other way to do it.
Might be worth to notice (if you didn't already know) that you dont actually need FTP if it is on the local filesystems you can in the FTP adapter read from the local FS something along the lines of file:///c:/foo/bar as oposed to ftp://...
As for adapter.ini you shouldn't need anything besids pointing the reciver to the correct directory the rest is done from IS.
Let me know if you want more details...
// MickeM
Similar Messages
-
Help on Trasnfering .wsdl/xml format files using FTP Adapter
Hi,
I am new to Oracle BPEL and JDeveloper....
I created some processes to transfer .txt files from one location to another location using FTP Adapter..
Know I have some files on .wsdl/xml format... using bpel process can we transfer these files from one location to another location using FTP Adapter (Is it possible for .wsdl/xml files)
can any one help me on this plz
Thanks
VenkatThanks Guys .. I am able to transfer .WSDL files also
Thanks
venkat -
File format conversion of Target file using FTP adapter
Hi All,
I am using FTP adapter to create the file on the Target side. But file needs to below format : How do i conver the XML File fomat( Default generate by XI ) to be generat to below file format;
000000000000154162,
CWC1A,,,,
CWC1B,,,,
CWC2A,,,,
CWC2B,,,,
Please provide your suggestion;
thanks;
MKHi Mohan,
I have a collection of Blogs (links) which Specify the File content conversion parameters.
File content conversion, I am Not sure as which Link will Match Your Requirement exactly...
/people/shabarish.vijayakumar/blog/2006/02/27/content-conversion-the-key-field-problem
/people/michal.krawczyk2/blog/2004/12/15/how-to-send-a-flat-file-with-fixed-lengths-to-xi-30-using-a-central-file-adapter
/people/arpit.seth/blog/2005/06/02/file-receiver-with-content-conversion
http://help.sap.com/saphelp_nw04/helpdata/en/d2/bab440c97f3716e10000000a155106/content.htm
Please see the below links for file content conversion..
/people/michal.krawczyk2/blog/2004/12/15/how-to-send-a-flat-file-with-fixed-lengths-to-xi-30-using-a-central-file-adapter - FCC
/people/michal.krawczyk2/blog/2004/12/15/how-to-send-a-flat-file-with-fixed-lengths-to-xi-30-using-a-central-file-adapter - FCC
File Content Conversion for Unequal Number of Columns
/people/jeyakumar.muthu2/blog/2005/11/29/file-content-conversion-for-unequal-number-of-columns - FCC
Content Conversion (Pattern/Random content in input file)
/people/anish.abraham2/blog/2005/06/08/content-conversion-patternrandom-content-in-input-file - FCC
Regards,
Sainath chutke -
Problem archiving file using FTP adapter
Hi,
I am polling some files from another server using FTP adapter in SOA 11g. Even though I have checked the option to archive the files, the files get archived successfully on the server where the SOA process is running, but I am unable to archive the files on the server from which I am reading the file
I am not sure whether this is the default behaviour or is there any way to archive files on the same server from which I pick or read the file.
Any help is appreciated.
Thanks,
NamrataHi Neeraj,
Thanks, the archiving in the remoteLocation worked by doing what you told me...
I tried archiving to the local machine which is not working for me ... i gave both the properties as below...
<property name="UseRemoteArchive" value="false"/>
<property name="PhysicalArchiveDirectory" value="C:\Users\naresh\Desktop\ftp"/>
Thanks,
Naresh -
Error on polling 2.5 gb file using FTP adapter
HI All
We have FTP adapter which is polling 2.5 gb of file on single node instance in SOA 11.1.1.6.
It is working fine with single node instance but its failing on cluster 2 node instance.
We are polling zip file and all the FTP configuration are made as per the HAFTPAdapter settings and its using SOA dataSource .We have changed all the possible setting for JTA time out and also on data source XA transaction but still no luck.
Error
====
The action "update action" cannot be performed on the instance "2340091" because of its current state ("unknown").
The current instance state did not allow the requested action to be performed.
Consult the product documentation for a list of all the permissible actions that can be performed on an instance when it is in the "unknown" state.
ORABPEL-02041……..
[2013-11-28T05:57:00.324+00:00] [soa_server1] [ERROR] [] [oracle.soa.bpel.engine.dispatch] [tid: orabpel.invoke.pool-4.thread-14] [userId: <anonymous>] [ecid: fcc5d9e1c7acffe4:f35f602:14299c196ac:-8000-0000000000036f42,1:18707] [APP: soa-infra] [URI: /soa-infra/services/default/XMLValidation_FileNameBPEL/FileNameValidationBPEL_client_ep] failed to handle message[[
weblogic.transaction.internal.TimedOutException: Transaction timed out after 302 seconds
BEA1-25F2BD0F3E4FBDE133EB
at weblogic.transaction.internal.ServerTransactionImpl.wakeUp(ServerTransactionImpl.java:1788)
at weblogic.transaction.internal.ServerTransactionManagerImpl.processTimedOutTransactions(ServerTransactionManagerImpl.java:1676)
at weblogic.transaction.internal.TransactionManagerImpl.wakeUp(TransactionManagerImpl.java:1988)
at weblogic.transaction.internal.ServerTransactionManagerImpl.wakeUp(ServerTransactionManagerImpl.java:1586)
at weblogic.transaction.internal.WLSTimer.timerExpired(WLSTimer.java:35)
at weblogic.timers.internal.TimerImpl.run(TimerImpl.java:273)
at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:545)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:256)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:221)
=====
Is there anything we need to check or change in SOA server configuration .
Thanks
AKBelow are the settings which we tried out. The file where it's writing is shared network drive.
1) SOA datasource
<xa-transaction-timeout>1000</xa-transaction-timeout>
2)JTA
Parameter Name
Default Value
Tuned Value
Timeout Seconds
30
3600
Abandon Timeout Seconds
86400
3600
Maximum Duration of XA Calls
240000
24000
Thanks
AK -
RENAME/COPY/DELETE a file using FTP Adapter in 11g using dynamic values
Hi All
We have a requirement to do the above for a client. I was able to find a post\blog that tells you to add the below properties in FTP adapter JCA file and it works but,
<interaction-spec className="oracle.tip.adapter.ftp.outbound.FTPIoInteractionSpec">
<property name="SourcePhysicalDirectory" value="foo1"/>
<property name="SourceFileName" value="bar1"/>
<property name="TargetIsRemote" value="false"/>
<property name="TargetPhysicalDirectory" value="foo2"/>
<property name="TargetFileName" value="bar2"/>
<property name="Type" value="COPY"/>
</interaction-spec>
The problem is that how to assign these values dynamically (from xpath or bpel variables etc). Can somebody provide me with some pointers? Its very urgent!Use the below approach to set the directory and file names dynamically.
In BPEL source mode, specify the bpelx:inputProperty. Set the values for these variables in bpel. These can also be accessed as bpel preference values.
<invoke>
<bpelx:inputProperty name="jca.ftp.SourceFileName" variable="SourceFileNameVar"/>
<bpelx:inputProperty name="jca.ftp.TargetFileName" variable="TargetFileNameVar"/>
</invoke> -
How to read the whole text file lines using FTP adapter
Hi all,
How to read the whole text file lines when error occured middle of the text file reading.
after it is not reading the remaining lines . how to read the whole text file using FTP adapter
pls can you help meYes there is you need to use the uniqueMessageSeparator property. Have a look at the following link for its implementation.
http://download-west.oracle.com/docs/cd/B31017_01/integrate.1013/b28994/adptr_file.htm#CIACDAAC
cheers
James -
Processing files in Sequence using FTP Adapter
Hi Experts,
I have searched several forums but i am not clear on how to process the files using FTP Adapter based on Timestamp.
To process the files in sequence i.e, FIFO using FTP Adapter
i have the files with file name customer and timestamp : customer<yyyyMMddHHmmss>
there are around 50 files in the FTP server llike this.
I need to process these files acording to the timestamp and place the files in same processing sequence in the receiver end using the file adapter.
If i specify the parametes in sender FTP Adapter as
Qos= EOIO
Queue name = ACCOUNT
Whether these parameters would do the processing in sequence according to the Timestamp?
Suppose if the queue ID for Inbound(SMQ2) is XBTI0_ACCOUNT then whether it will be the same for Outbound(SMQ1)?
Kindly suggest me how to process the files in sequence according to the Timestamp using FTP Adapter
Please reply..
Thanks
SaiHi Shabarish,
But this would require one more additional channel to process
So i think it will take more time to process.
Let me clarify my question once again.
I need to Pick the files from FTP server based on their TimeStamp and in sequence.
the file names are like this Customer<YYYYMMDDHHmmSS>.
suppose i have 3 files as
Customer20050413044534
Customer20050414053430
Customer20050315034533
So i need to pick these files in this order and place the files in the same order to the receiver end(File Adapter)
Customer20050315034533
Customer20050413044534
Customer20050414053430.
As i am using FTP sender adapter i cannot use processing sequence "By Date".
please suggest me on this.
Thanks
Sai. -
How to Create a Flat File using FTP/File Adapter
Can any body done workaround on creating the Flat file using FTP/File Adapter?.
I need to create a simple FlatFile either using of delimiter/Fixed length. using the above said adapters we can create XML file, i tried concatinating all the values into a single String and writing into a file, but it does not have proper structure
Can any body help me out on this..
Thanks
RamYou can create a text schema while creating a File Adapter. If schema is specified for File Adapter, it takes care of converting XML into fixed length or delimited format.
Thanks,
-Ng. -
Duplicate File issue using FTP adapter - BizTalk 2010
Hi We encountered an Issue of picking Duplicate files in BizTalk 2010 from the FTP Location. Need your assistance on this.
Mainframe sends multiple files a 0 KB file to FTP and BizTalk picks during a particular service window using FTP Adapter.
Receive Location has a pipeline component which decodes the MF file(EBCDICRow format).
Send Port transmits the file which is decoded in the Receive location. There is no mapping or orchestration involved.
When 2 files are placed in FTP Location. BizTalk Transmits the files successfully
No suspended messages in BizTalk but we see below error in event log. we tried reproduce the issue but no luck.
Host Instance running FTP Location is Clustered
There was a failure executing the receive pipeline: "XXXX.XX.Pipelines.Receive_XXX_TransactionsMC_passthru, XXX.XX.Pipelines, Version=1.0.0.0, Culture=neutral, PublicKeyToken=c2d1f476d5c2f97d"
Source: "EbcdicRowDeCode" Receive Port: "XXX.XX.MCSTransactionsMC" URI: "ftp://XXXXXXXX:21/'XXXX'/MCSDT.DEFKOP.R001.D*.T*" Reason: Unable to cast object of type 'Microsoft.BizTalk.Streaming.BasicStreamWrapper' to type 'XXX.BizTalk.Pipeline.Components.Streams.V3.VirtualStream
MF Puts below Files at FTP Location
PSNOX.MCSDT.DEFKOP.R001.D150406.T009000
PSNOX.MCSDT.DEFKOP.R001.D150406.T002100
BizTalk Picks ( at specified Service window) and Transmits as
PSNOX.MCSDT.DEFKOP.R001.D150406.T009000
PSNOX.MCSDT.DEFKOP.R001.D150406.T009000
PSNOX.MCSDT.DEFKOP.R001.D150406.T002100
Regards
-SriHi Sri,
There could be two reason for such a behavior:
1) Using Non-Clustered Hosts: It is always recommended to use the clustered host for FTP adapter. Because FTP don't allow
any locking mechanism on the files so in case of non-clustered with multiple host instances you might receive same file multiple times through different host instances.
2) If the original document is still being written to the FTP server by the host application, the FTP adapter cannot
delete the document and will retrieve another copy of the document at the next polling interval that is configured for the receive location. This behavior causes document duplication to occur.
Workaround could be:
Configure the host application to write to a temporary folder on the same hard disk as the public FTP folder and to periodically move the contents of the temporary folder
to the FTP folder. The temporary folder should be on the same hard disk as the public FTP folder to make sure that the move operation is atomic. An atomic operation is an operation that is functionally indivisible. If you write data to the public FTP folder
by using the BizTalk Server FTP adapter, you can do this by specifying a Temporary Folder property in the FTP Transport Properties dialog box when you configure a send port. If you specify a Temporary Folder property, make sure that this folder is on the same
physical disk as the public FTP folder.
Configure the FTP receive location to operate within a service window when the host application is not writing data to the FTP server. You can specify the service window
when you configure the receive location properties.
Refer: Known Issues with the FTP
Adapter
Rachit
Please mark as answer or vote as helpful if my reply does -
Polling xml file using file adapter
Hi,
when i am polling xml file using file adapter, xml file received properly.
After receiving activity i am using assign activity to copy values to another variables, here i am getting error the values are not updated.
My xml comes with out namespace, when we put namespace then only values are updated.
What i need to do to update values.
Regards,
eeswar.after configuring the file adapter, define the interface of the BPEL using "based on the WSDL " option and select the wsdl of the file adapter , see whether it helps...
-
Writing timestamp on the content of file (not the filename) using FTP Adapt
Hi Experts,
Is it possible to write a timestamp (from the source server) to a target logfile if I'll use FTP Adapter?
Here the scenario:
Source:
source.log -> the contents is AAAA (the timestamp base from the server is [06/09/10 10:00])
- basically the source.log file is overwritten with the same content but the timestamp is changed so that's would be scenario
it will checked by the FTP adapter....
Target:
target.log -> the content of the file is 06/09/10 10:00
so probably if i have a target logfile I'll just have to append the file as this
06/09/10 10:00
06/09/10 10:02
06/09/10 10:04
06/09/10 10:06
06/09/10 10:08
06/09/10 10:10
If it's possible, how will I do this? Do I need script? or just normal settings of the FTP adapter?
R-jayYes, is posibble. if i not wrong, you can do this ussing Dynamic configuration.
see those links
/people/ryan.crosby/blog/2009/02/27/file-xi-proxy-scenario--moving-binary-files-with-accompanying-filename-attribute-in-converted-xstring-format
http://help.sap.com/saphelp_nw04/helpdata/en/43/03612cdecc6e76e10000000a422035/frameset.htm
Thanks
RP -
"encoding = UTF-8" missing while writing XML file using file Adapter
Hi,
We are facing an unique problem writing xml file using file adapter. The file is coming without the encoding part in the header of xml. An excerpt of the file that is getting generated:
<?xml version="1.0" ?>
<customerSet>
<user>
<externalID>51017</externalID>
<userInfo>
<employeeID>51017</employeeID>
<employeeType>Contractor</employeeType>
<userName/>
<firstName>Gail</firstName>
<lastName>Mikasa</lastName>
<email>[email protected]</email>
<costCenter>8506</costCenter>
<departmentCode/>
<departmentName>1200 Corp IT Exec 8506</departmentName>
<businessUnit>1200</businessUnit>
<jobTitle>HR Analyst 4</jobTitle>
<managerID>49541</managerID>
<division>290</division>
<companyName>HQ-Milpitas, US</companyName>
<workphone>
<number/>
</workphone>
<mobilePhone>
<number/>
</customerSet>
</user>
So if you see the header the "encoding=UTF-8" is missing after "version-1.0".
Do we need to configure any properties in File Adapter?? Or is it the standard way of rendering by the adapter.
Please advice.
Thanks in advance!!!System.out.println(nodeList.item(0).getFirstChild().getNodeValue());
-
Error while encrypting the xml file using asymmetric cipher...pls help
i am encryption the xml file using asymmetric cyper....
in one class , i am generating private key and public key using "RSA" algorithm..using 1024 byte initialization...
it is generating properly...
and after that in second class i am encrypting the xml file using "DESede" algorithm and i am using public key of above class..
but i am getting exceptione :
java.security.InvalidKeyException: Invalid key length: 162 bytes
at com.sun.crypto.provider.DESedeCipher.engineGetKeySize(DashoA6275)
at javax.crypto.Cipher.init(DashoA6275)
at XmlEncryption.getEncryptedData(XmlEncryption.java:147)
at XmlEncryption.encryptCompleteXmlFile(XmlEncryption.java:123)
at demoXmlEncApp.simulateBookSellersEnd(demoXmlEncApp.java:72)
at demoXmlEncApp.main(demoXmlEncApp.java:29)
so, what is that ?
i want to use RSA algo for key generatiion and DESede for cipher initialization .
is there any site for where source code of xml file encryption using asymmetric cipher is available?
pls, help me.....Sachin,
What sabre150 is trying to explain to you, is that encrypting data (such as an XML file) is a 2-step process. In the first step, you generate a symmetric key (such as DES, 3DES, AES) and encrypt your file with this key (and the appropriate mode and padding).
In order to ensure that your encrypted data cannot be decrypted by unauthorized individuals, you now need to protect the symmetric key. Encrypting your symmetric key with another symmetric key does not solve the problem, since you have a chain of symmetric keys that need to be encrypted into infinity.
Cryptographers solve this problem by encrypting the symmetric key with an asymmetric key, such as as RSA. To perform this second step, you generate an RSA key-pair, encrypt the symmetric key you generated in step 1 with the Public key of the RSA key-pair, and give the recipient of the encrypted XML file, access to the Private key of the RSA key-pair as well as the encrypted symmetric key.
The recipient, then uses the RSA Private key to decrypt the symmetric key first, and then uses the "plaintext" symmetric key to decrypt the XML file.
What sabre150 was also attempting to explain to you, is the traditional way of transporting an encrypted "blob" that consists of data + symmetric key. With a modern key-management system, combining the two would be unnecessary. -
Pooling data from an XML file to another XML file using File Adapter
Hi,
I am trying to Pool data from an XML file to another XML file using File Adapter. I have added "Target Namespace" in both the XML and XSD.The problem is "At the destination given in the FileAdapter" only a blank XML file is created and it doesnot have any data.
Kindly suggest me some methods
Thanks in Advance.Ok here is a solution with external tables.
SQL> CREATE DIRECTORY my_xml_dir AS 'E:\oracle\Log_files\UTL_AKIVATST'
2 /
Directory created.
SQL> DROP TABLE my_xml_et
2 /
Table dropped.
SQL> CREATE TABLE my_xml_et
2 ( EMPNO NUMBER,
3 EMPNAME VARCHAR2(10),
4 JOB VARCHAR2(10),
5 HIREDATE DATE,
6 SAL NUMBER
7 )
8 ORGANIZATION EXTERNAL
9 (
10 TYPE ORACLE_LOADER
11 DEFAULT DIRECTORY my_xml_dir
12 ACCESS PARAMETERS
13 (
14 records delimited by "</EMP>"
15 badfile my_xml_dir:'empxt%a_%p.bad'
16 logfile my_xml_dir:'empxt%a_%p.log'
17 FIELDS
18 (
19 filler char(2000) terminated by "<EMP>",
20 EMPNO char(2000) enclosed by "<EMPNO>" and "</EMPNO>",
21 EMPNAME char(2000) enclosed by "<ENAME>" and "</ENAME>",
22 JOB char(2000) enclosed by "<JOB>" and "</JOB>",
23 HIREDATE char(2000) enclosed by "<HIREDATE>" and "</HIREDATE>",
24 SAL char(2000) enclosed by "<SAL>" and "</SAL>"
25 )
26 )
27 LOCATION ('emp.xml')
28 )
29 PARALLEL
30 REJECT LIMIT UNLIMITED
31 /
Table created.
SQL> SELECT * FROM my_xml_et
2 /
EMPNO EMPNAME JOB HIREDATE SAL
7369 SMITH CLERK 17-DEC-80 800
7499 ALLEN SALESMAN 20-FEB-81 1600
This is the XML file i used emp.xml
<EMPLOYEES>
<EMP>
<EMPNO>7369</EMPNO>
<ENAME>SMITH</ENAME>
<JOB>CLERK</JOB>
<HIREDATE>17-DEC-80</HIREDATE>
<SAL>800</SAL>
</EMP>
<EMP>
<EMPNO>7499</EMPNO>
<ENAME>ALLEN</ENAME>
<JOB>SALESMAN</JOB>
<HIREDATE>20-FEB-81</HIREDATE>
<SAL>1600</SAL>
<COMM>300</COMM>
</EMP>
</EMPLOYEES>
Use this external table to insert into your table.
Thanks,
Karthick.
Maybe you are looking for
-
Is dv6-6135dx SATA III compatible​?
I upgraded my dv6-6135dx to a OCZ Agility 3 SSD, but am only getting SATA II speeds. I know the chipset supports SATA III, but did HP choose not to support it? Will there be a BIOS update to turn it on? This question was solved. View Solution.
-
CS5 Installation - how to change shortcut location
Using the Adobe Application Manager Enterprise Edition for automating the CS5 packag e deployment is used and works fine. But I need to change the location of the shortcuts. Don't know how to do that, installing into the root of ProgramMenu Folder ne
-
Why are the NBC Nightly News podcasts a day late on Apple TV? I can see them same day on iphone.
-
Splitting BC tasks between 2 teams - your advices/experiences please
Hello dear Basis friends, I am in need of your valuable advices / experiences. Our company is in the process of remodeling the IT department. Following this process, they want to split the operational part of BC tasks from the project/architecture p
-
How to save dashboards in mobile format in local system?
I wanna save my dashboard for mobile. I wanna the file in local system how to achieve this?