J2SE adapter upgrade to PI 7.1
Hi,
is there anything special that needs to be changed
when moving those local (J2SE) adpaters from 7.0 to 7.1 ?
anyone already moved those pretty, little, file configuration based devils ?
Thank you,
Regards,
Michal Krawczyk
http://mypigenie.com XI/PI FAQ
Hi Michal,
Unfortunately I dont have a PI 7.1 server to test.
Michal are you facing any issue when working J2SE Adapters with PI 7.1?
@Rajesh:
>I read some of the documents that J2SE adapters aresupported only in XI 3.0 to support XI 2.0 implementation customers
Though the document says it works for XI 3.0, it still works with PI 7.0 since the concept lies in posting the message to XI PIPELINE while sending from J2SE Adapter
and on the way back from XI to J2SE Adapter Engine using one of the configured working servlet in J2SE Adapter Engine.
Thanks,
- Gujjeti.
Similar Messages
-
Filename in J2SE Adapter with Variable Substitution
Hello,
Within the J2EE receiver fileadapter (and ftp) from SP13 it is possible to compose the target filename and directory based on the payload of a message using variable substitution.
I wonder if it is also possible to use variable substitution with the J2SE fileadapter. For this it is not documented but i thougth that the same java libraries are used for the J2EE an J2SE file-adapters.
Aybody??
Really Nobody??
Message was edited by: Emile HermansHello,
the J2SE Adapter does not support variable subsition. Therefore we created our own class which gets called from the main SAP XI class "XMB2FileProcessor.class" wich is in the jar "aii_msg_adapter.jar". In your own class you can do what ever you need to chane the file name. In the configuration you can set your own parameter to search the payload for a string you want to replace. We also had to come up with our own timestamp, e.g. file2005-11-10 which SAP does not let you do, only the full timestamp is possible.
One other nice thing is that you can develop our JAVA class local and test it with your local J2SE Adapter Engine on you PC before you deploy it.
Steps to do:
1. JAD the SAP class
2. Put a call in the SAP class
3. Compile the class
4. Put the class back in the archive
5. Create your own class
6. Create a jar file for it
7. Put the jar file in the tech_adapter directory
8. Change the run_adapter start cmd to include your jar file
It works great, the only issue is if you patch the J2SE engine you have to do step 1 to 4 again but that should it very easy to do.
Cheers
Stefan -
I've tried to get an answer for this question long time ago, but no one ever answered.
How to register J2SE adapter with XI ?
I tried using SLDAccess service on J2SE adapter with no luck (with this J2SE Adapter Engine is registered in the SLD). My J2SE adapter was never available in the configuration means, in the communication channel ex: file adapter, for the adapter engine drop down all I have is Integration Server, my J2SE adapter was never listed there.
thanks
SKMTony,
You do not need FTP server to use file adapter. I've installed and configured a J2SE Adapter Engine on my laptop.
I was able to use sender adapter but not the receiver adapter. I've followed all kinds of documentation, asked Qs in the forum but never got any feed back.
After you install plain J2SE AE on your laptop, you have to configure SLDAccess service. Once it is connected to SLD, you can see the adapter engine name in the XI technical systems.
Then you can configure FileAdapters by copying the existing one. Go through the Adapter documention in the installed directory.
Hope this helps.
Regards
SKM -
J2SE adapter PI 7.1 issue with XML to flat conversion and namespace length
Dear reader,
We are facing an issue with J2SE Adapter PI7.1 for a number of flows.
The flow requirements:
[1] Namespace length for interfaces is up to 100 characters
[2] The XML message must be converted to Flat on the adapter channel
Our PI system is at patch level 7 and we implement J2SE adapter on patch level 7 as well.
We found that the J2SE adapter on patch level 7 does not support long namespaces [1] (as it should since this is an PI 7.1 j2SE adapter) but no issues where found with the XML to flat conversion [2].
Experimenting with J2SE adapter on patch level 6 we found the long namespaces [1] are supported however an issue is found with the XML to flat conversion [2] as stated in SAP note 1335527.
An SAP Customer Message is raised on this issue however your input is highly appricated!
With Kind Regards,
Harald Kastelijn
Edited by: Harald Kastelijn on Mar 6, 2010 9:17 AM
Edited by: Harald Kastelijn on Mar 6, 2010 9:19 AMWe found that the J2SE adapter on patch level 7 does not support long namespaces [1] (as it should since this is an PI 7.1
j2SE adapter) but no issues where found with the XML to flat conversion [2]
I think the restriction of namespace length still remains in design time (IR).....the same however has been extended in configuration and runtime...this SAP note has some information: https://service.sap.com/sap/support/notes/870809 -
How to go for Advance selction for source file in J2SE adapter
Hi all,
I am doing a file to file scenario using J2SE adapter.I have to pick file from two different directory we can easily achieve it in J2EE adapter using advance selection of source file but how to proceed in case of J2SE plain adapter.Please guide me with your knowledge.
Regards,
saurabhThis is not possible. You need different adapters, but you can use the same interface and namespace, so there should be no issue.
Regards
Stefan -
HOW SPECIFY FILE.ENCODING=ANSI FORMAT IN J2SE ADAPTER.
Hi All,
we are using j2se plain adapter, we need the outputdata in ANSI FORMAT.
Default file.encoding=UTF-8
how to achive this.
thanks in advance.
Regards,
Mohamed Asif KPFile adapter would behave in a similar fashion on J2ee. Providing u the link to ongoing discussion
is ANSI ENCODING possible using file/j2see adapter
Regards,
Prateek -
"Performance" problems with the File adapter on Plain J2SE Adapter Engine
Hi,
At the moment I'm on a customer side to solve some XI issues for a few days. One of the issues is the performance of the Plain J2SE Adapter Engine, using the file adapter to transfer XML messages(already XI message format) from the legacy system to the Integration Engine. The File adapter has to deal with "large" XML messages(max at the moment is 65 Mb) and the engine fails with the following error when transferring the big XML file: "ERROR: Finished sending to Integration Engine with error "java.lang.OutOfMemoryError". Skip confirmation and quit this loop".
As far I got the information from the customer the memory use of the Plain adapter engine is set to 512Mb. This is maybe to low. But I don't know where to look for this, I only have the adapter web interface in front of me, no access to the OS it self via for example remote connection.
On the Integration Engine I know there is the ability to split large message with the file adapter(File Content Conversion), but I don't know this for the Plain Adapter Engine. Is there a possibility to do this also on the Plain Adapter Engine?
Thanks in advance for any input.
Greetings,
PatrickHi Sameer,
Thanks for your answers.
On the first solution, yes that is possible, we first decided to see if the legacy system can do the splitting, before starting developing a Java program.
On the second solution, as far as I know is this solution possible on the Integration Engine. But we are facing the problems on the Plain J2SE Adapter Engine. I went trough that documentation(link:
http://help.sap.com/saphelp_nw04/helpdata/en/6f/246b3de666930fe10000000a114084/frameset.htm ), to look for I similiar solution in the Plain Adapter Engine. So my question is, is this possible with the Plain Adapter? And if so, what kind of parameters I need to use to achieve this.
Regards,
Patrick -
Installation and then Configuration of Plain J2se Adapter Engine
Hi All,
Actually we want to use JMS Adapter for that we had installed Plain J2SE Adapter Engine but after installing and following the initial steps of Adapter.pdf we are not able to access the Adapter Engine through URL.We are using the URL http://<hostname>:8200/MessagingSystem/receive/AFW/XI
this URL is there in our SLD but we are not able to access the page.
So Please can somebody help me to resolve this issue.
Thanks & Regards
SathyaHi Amol,
I am trying to send read data from MQSeries using JMS adapter. We are successful in opening the Adapter Engine and the GUI. We have cofigured the adpter as follows. But when we try to restart the adapter to get the changes get saved we are getting the following error
<b>"ERROR CALLING THE RESTART ADAPTER"</b>
Also status is shown is yellow and version is shown as not set.
Where ever I have changed the configuration data I have shown it in bold
JMS-Adapter Configurarion
This Configuration is a sample for a JMS sender channel (inbound, sends to XI IS)
Set XI message protocol version. This sample is designed for XI 3.0
version=30
JMS message receiver class
classname=com.sap.aii.messaging.adapter.ModuleJMS2Transport
set if a transacted JMS Session should be used (default: true)
#JMSSession.sessionTransacted=false
set delay in milliseconds before processing next message after an error (default: 0)
errorDelay=10000
#set delay in milliseconds before trying to reestablish the JMS Connection after a connection error (default: -1 (do not try to reconnect))
#reconnectDelay=10000
set the Message Formats you want to process (Formats only needed if they can not be evaluated at runtime)
TransportMessage Type can be set to TransportMessage of XMBMessage. It is used for sending and receiving Transport and XMBMessages
#TransportMessage.type=TransportMessage
TransportMessage.type=XMBMessage
uncomment and adjust parameters for Transformation Type (Binding of JMS-Transport Message),
insert your class here for an individual binding between JMS and Transport Message
uncomment the following line for using Bindings that belong to Tunneling
#transformClass=com.sap.aii.messaging.adapter.trans.JMSTunneling
uncomment the following line for using Bindings that belong to Single Payload Binding
transformClass=com.sap.aii.messaging.adapter.trans.JMSSinglePayloadBinding
ID Garbage Collector: For EO(IO) handling XI adapters store the JMS/XI message ID's in the ID logger
Uncomment the following lines and change the default values if you recognized "out of memory" problems due to
very large ..\tech_adapter\Data\*_ID.dat files which will be kept in the memory as well
eoExpirationAfterDays is the period of keeping the message ID in days. Afterwards the message ID might be used again
garbageCollectorInterval is the period in milliseconds when the ID garbage collector is started. It will however only
be started if messages are exchanged otherwise ID logs won't be created anyway
eoExpirationAfterDays=365
garbageCollectorInterval=86400000
<b>#
the following parameters are used in some Bindings that belong to Single Payload Binding needing XMBHeader Information
uncomment and adjust parameters according your requirements. Please note, that the party identfier needs not to be
configured in case of A2A scenarios.
#XI.SenderParty=Sender
XI.SenderService=MQSeries
#XI.ReceiverParty=Receiver
XI.ReceiverService=MTX
XI.InterfaceNamespace=http://xitest
XI.Interface=MI_Out_File
XI.TraceLevel=1
XI.LoggingLevel=1
XI.QualityOfService=EO
XI.QueueId=ABCD
XI.ContentType=text/xml
#</b> *************************************************************************************************************
<b>#
URL of XI IS to send the messages to
XI.TargetURL=http://bwxi:50000/sap/xi/engine?type=entry
XI.User=XIAF
XI.Password=XIPASS
#</b> *************************************************************************************************************
URL of file adapter if a loopback JMS to File should be configured
XI.TargetURL=//localhost:8210/file/receiver
<b># uncomment the following settings if needed (independent on JMS provider)
JMS.QueueConnectionFactoryImpl.user=xisuper
JMS.QueueConnectionFactoryImpl.password=xxx
#</b>
uncomment and adjust parameters for loading JMS administrated objects via JNDI
uncomment and adjust parameters if not the default context should be used
#JNDI.InitialContext.property.1=java.lang.String {javax.naming.Context.INITIAL_CONTEXT_FACTORY}, java.lang.String com.sap.engine.services.jndi.InitialContextFactoryImpl
#JNDI.InitialContext.property.2=java.lang.String {javax.naming.Context.PROVIDER_URL}, java.lang.String localhost:50004
#JNDI.InitialContext.property.3=java.lang.String {javax.naming.Context.SECURITY_PRINCIPAL}, java.lang.String Administrator
#JNDI.InitialContext.property.4=java.lang.String {javax.naming.Context.SECURITY_CREDENTIALS}, java.lang.String sap
set the Lookup Names
#JMS.JNDILookupNameQueueConnectionFactory=jmsfactory/default/joetest
#JMS.JNDILookupNameQueue=jmsQueues/default/sapDemoQueue
uncomment and adjust parameters for loading JMS administrated objects from filesystem ***
#JMS.FileNameQueueConnectionFactory=SAPQueueConnectionFactory.ser
#JMS.FileNameQueue=SAPQueue.ser
uncomment and adjust parameters for creating SonicMQ JMS administrated objects ***
JMS.QueueConnectionFactoryImpl.classname=progress.message.jclient.QueueConnectionFactory
JMS.QueueConnectionFactoryImpl.constructor=java.lang.String localhost:2506
JMS.QueueImpl.classname= progress.message.jclient.Queue
JMS.QueueImpl.constructor=java.lang.String SampleQ1
<b># uncomment and adjust parameters for creating MQSeries JMS administrated objects ***
JMS.QueueConnectionFactoryImpl.classname=com.ibm.mq.jms.MQQueueConnectionFactory
JMS.QueueConnectionFactoryImpl.method.setHostName=java.lang.String BWXI
JMS.QueueConnectionFactoryImpl.method.setChannel=java.lang.String JAVA.CHANNEL
JMS.QueueConnectionFactoryImpl.method.setTransportType=java.lang.Integer {com.ibm.mq.jms.JMSC.MQJMS_TP_CLIENT_MQ_TCPIP}
JMS.QueueConnectionFactoryImpl.method.setQueueManager=java.lang.String QM_BWXI
JMS.QueueImpl.classname= com.ibm.mq.jms.MQQueue
JMS.QueueImpl.constructor=java.lang.String postcard
JMS.QueueImpl.method.setTargetClient=java.lang.Integer {com.ibm.mq.jms.JMSC.MQJMS_CLIENT_NONJMS_MQ}
#</b> *************************************************************************************************************
uncomment and adjust parameters for using a dispatcher ***
#Dispatcher.class=com.sap.aii.messaging.adapter.ConversionDispatcher
#Dispatcher.namespace=namespace1
#namespace1.ConversionDispatcher.logPayload=true
#namespace1.Service.1=Plain2XMLService
#namespace1.Plain2XMLService.class=com.sap.aii.messaging.adapter.Conversion
#namespace1.Plain2XMLService.xml.conversionType=SimplePlain2XML
#namespace1.Plain2XMLService.xml.processFieldNames=fromConfiguration
#namespace1.Plain2XMLService.xml.fieldNames=a,b,c
#namespace1.Plain2XMLService.xml.fieldSeparator=;
#namespace1.Service.2=XSLTService
#namespace1.XSLTService.class=com.sap.aii.messaging.adapter.XSLTConversion
#namespace1.XSLTService.XSLTConversion.XSLTFileName=Data/DemoConversion.xsl
Can you please help me in resolving the error.
Regards, -
Shutdown of XI 3.0 Plain J2SE Adapter Engine.
How do I shutdown the XI 3.0 Plain J2SE Adapter Engine? Where should I go to do this?
Regards,
N.SHi N.S. -
If I recall correctly, you open a browser to http://<host>:8200 . 8200 is the default port. If not using the default port, you may need to investigate what that port is. Delivered initial user/pwd is sap/init.
There's a Shutdown Adapter Engine option once you get in. Of course, the j2se adapter engine must be running in order for you to do this.
Regards,
Jin -
Null Pointer Exception in Plain J2SE Adapter Engine
Hi All,
I am able to start the J2SE Adapter Engine. But when ever i click any button on my JMS Adapter i am getting
Error stopping adapter: java.lang.NullPointerException
Error terminating adapter: java.lang.NullPointerException
Can somebody guide me why this error is comming or the possible reasons for the error.
Thanks in Advance.
rahulHi Rahul,
Please can you go through the thread
J2SE Adapter Engine / JMS Adapter
It does not talk about the error but the config need to be done for JMS. Hope this helps.
Regards
Vijaya -
Ping error in RWB for J2SE Adapter Engine
Hi,
we have several external J2SE adapter engines and they function great other than from a monitoring perspective. In RWB "Ping Status" I'm getting the following:
HTTP request failed. Error code: "401". Error message: "Authorization Required"
Suggestions?
Cheers,
Mattias<u>This is not an answer to your question.</u>
I've tried to get an answer for: how to register J2SE adapter with Integration Server ?
I tried using SLDAccess service on J2SE adapter with no luck (with this J2SE Adapter Engine is registered in the SLD). My J2SE adapter was never available in the configuration means, in the communication channel ex: file adapter, for the adapter engine drop down all I have is Integration Server, my J2SE adapter was never listed there.
If you know an answer please post.
thanks
SKM<u></u> -
FTP to AS/400 from J2SE Adapter
Hi,
I setup a J2SE adapter that with push the XML through XSLT to produce a flat file that in turn is to be FTPed to an AS/400 machine.
This is an extract of my adapter config:
<i>##File Adapter specific parameters
file.createDir=0
file.targetDir=/FTPBARSA
file.targetFilename=WARHEADTST
file.writeMode=append</i>
This works 100% to my IIS FTP, however, to the AS/400 I get the following error:
ERROR: Message processing failed with "java.lang.Exception: com.sap.aii.messaging.adapter.ftp.FTPEx: Unknown extension in database file name."
If I use the .SAVF after the target filename, I get the following error code:
ERROR: Message processing failed with "java.lang.Exception: com.sap.aii.messaging.adapter.ftp.FTPEx: Unable to close file. Error code CPE3101. Data transfer ended."
I am able to put the file using DOS FTP without a problem.
Any idea how I can do the transfer to the AS/400?
Rgs,
Johan SchoemanAlthough inactive wondering if solution was ever found to this I/O error and if so what?
Thank you. -
HTTP/S POST from J2SE adapter engine (NO SOAP)
Hi there,
We have a scenario at work where we have XI sending messages to the "lightweight" J2SE adapter engine in the DMZ....and from there the message is sent out to an HTTPS site that is obvioulsy outside of our network.
Currently I can see that the J2SE adapter engine support SOAP over HTTP/S......but how can I do a normal POST of the message NOT using SOAP to an external HTTP/S address?
I do not see any straight HTTP adapter in the J2SE adapter engine. I have a small java file that can connect and POST the message to the external website.
My question is how can I use this code easily in the J2SE adapter engine? I just want a simple HTTP
POST ...no SOAP.....
Is there some sort of EXIT or dispatcher that I can hook onto?
Any help or push in the right direction will be greatly appreciated
Regards
LyntonHi there,
You can see in the config file below that we did put it into the adapter config. It does not complain about the parameter BUT it still has the SOAP envelope / headers in the result message. Any ideas how we can get around this?
Thanks for the help
Lynton
# Bubble adapter java class
classname=com.sap.aii.messaging.adapter.ModuleBubble
# Sets the bubble module helper that can instantiate your bubble bag
Bubble.Helper=com.sap.aii.messaging.adapter.ModuleBubbleHelperXMBWSImpl
#$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
# Below this line are the parameters specific to the ModuleBubbleHelperXMBWSImpl
#$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
# The configuration of this helper class is divided in three parts. The first part,
# Part 0, specifies the common parameters. The second part, Part 1, specifies the
# adapter configuraton for Web-Service clients communicating with an XMB server.
# The third part, Part 2, specifies the configuration for XMB clients
# communicating with a WebService server. For sender or inbound adapters, Part 0
# and Part 1 must be configured. For receiver or outbound adapters, Part 0 and
# Part 2 must be configured.
# This is a sample configuration file for a SOAP Outbound/Receiver Adapter
###### Part 0 (FromWS and ToWS) : common part ######
# Keeps the XMB headers in web service messages
XMBWS.KeepHeaders=false
# Keeps the attachments in web service messages
XMBWS.KeepAttachments=false
# Encodes the xmb headers into a special HTTP header string x-xmb_ws_encoded
XMBWS.UseEncoded=false
# Encodes the value of x-xmb_ws_encoded (see UseEncoded) in the request query string
XMBWS.UseQueryString=false
# Uses the specified xml encoding for the soap envelope encoding
#XMBWS.XMLEncoding=iso-8859-1
*XMBWS.NOSOAP=true*
###### Part 1 (FromWS) : WS clients to XMB server ######
# This part is configured for SOAP Sender or SOAP Inbound-Adapter)
# It is left empty in this configuraton file.
###### Part 2 (ToWS): XMB clients to WS server ######
# This part is configured for SOAP Receiver or SOAP Outbound-Adapter.
# The target URL for the web service, to which the adapter sends web service messages.
XMBWS.TargetURL=https://localhost:443
# The port and path where the adapter waits for XMB messages from clients.
XMBWS.XMBPort=8015
XMBWS.XMBPath=/bt
XMBWS.SSLcertificate=somecert.p12
XMBWS.SSLcertificatePassword=hello
XMBWS.SSLauthentication=true
# The default SOAPAction HTTP request header to the web Service server
XMBWS.DefaultSOAPAction=xmbws
# END -
Receiver File Adapter J2SE Adapter Engine
Hi,
We have configured a receiver file adapter on a J2SE adapter engine through the administrator page of the J2SE adapter.
XI.httpPort=8222
XI.httpService=/file/Receive
and the rest of the adapter parameters.
I have configured a channel in ID as XI receiver adapter.
host: "hostname"
Service: 8222
Path Prefix: /file/Receive
The messages in sxmb_moni fail to be delivered with "HTTP error 404 Resource not found."
Through a browser I am also not able to make a connection to this url:
"host":8222/file/Receive
Getting Http error "501".
Please can someone shed some light on this problem.
Regards
Willie Hugo>Through a browser I am also not able to make a connection to this url:
>"host":8222/file/Receive
>Getting Http error "501".
This is ok. Since get method not implemeted for this service.
Since from XI you are getting this error "HTTP error 404 Resource not found", can you logon to XI server at OS level and do a telnet test to check if the port is working.
cmd> telnet
telnet> open <J2SEAdpaterEngineHostName (or) IPAddress> 8222 -
Default port for J2SE Adapter Engine?
Hello all,
what is the default port for J2SE Adapter Engine? How do I restart this adapter engine?
Regards,
N.SSwamy,
8200 is the default port. Also go through this help of how to start and stop the J2SE Adapter Engine:
http://help.sap.com/saphelp_nw04/helpdata/en/12/5dd23aaad7b3408dde3c1577fda5b3/frameset.htm
---Satish
Maybe you are looking for
-
How to download a file from my site
This is the most basic of problems. I have a one-page site. I have uploaded a folder of images, and made a link to that folder from the home page. The folder with its files show up in DW in the Remote Server. The link shows in the Property Panel. I w
-
How do I apply JCE Jurisdiction Policy Files in oracle jvm
I have some java procedure using AES, while the default key size limit is 128. For local java, I can easily replace Jurisdiction Policy Files in JDK OR JRE, But I do not know how to do such thing in oracle database(11g2) jvm
-
Problems with emctl in oracle 10.2.0.4
Hello, I am trying to get OEM DB Console running for a database on a server I just inherited from the previous DBA. I get this error when I try emctl at the command line: emctl /app/oracle10g/product/10.2.0/bin/emctl: line 330: cd: /app/oracle/produc
-
Streaming Audio Help Please!
I need to place streaming audio in a site that will run two six hour blocks of audio per day and then repeat them. Each day will have different content. Can anyone recommend a package to use for this? I found live365.com but it's subscription base
-
I can´t install iTunes , I become the message hKEY_LOCAL_MACHINE32\Software\Classes\.m4b\Open\WithList\iTunes.exec.you must have privilleges, Can somebody explain me how I must become such a privillege?