Connect to webservice via TCP/IP or RFC in ABAP ( SAP to WEB Connectivity)
Hi All ,
My requirement is I want to fetch some data from a 'Web site' into my abap program .
How should i do ? what is the step by step process of doing these ? by RFC or TCP/IP .
If go for TCP/IP connection or RFC then please tell me waht is the program id , where it is created at SAP side or Web side .
Regards ,
Nilesh K Jain .
Hi! It all depends on what is your system where the website is running on.
On the portal? Or another system ? Or??
I think the best way for you is to create remote function modules and create with these RFC's webservices on SOAP manner.
For information on the webservices you can look:
http://help.sap.com/saphelp_nw04/helpdata/en/9b/dad1ae3908ee44a5caf57e10918be9/content.htm
And with this SDN site:
Web Services Development in ABAP [original link is broken]
you can find the steps how to create the webservices in ABAP
Similar Messages
-
I am sure that many of you experienced developers have read requests in the past concerning implmentation of Ward Christenen's XModem protocol over a TCP socket. If not, well... you are about to...
This is a major hack... but it is starting to come together... thanks to Fred Potter for his source code to start this project...
Objective:
Basically, I want to create a console application which accepts an incoming connection and starts the receive mode for a XModem file transfer. I am using CGTerm (for Commodore retrocomputing) but can test with HyperTerminal as well...
The user who connects to the server selects SEND and the FILE to send for a XModem file transfer... and the transfer begins...
The incoming blocks of 128 bytes are written to a file
After the transfer is over the server disconnects the client terminal.
Here is what I have so far:
import java.net.*;
import java.lang.*;
import java.io.*;
// X-Modem Server implementation via TCP/IP socket
public class XServer {
public static FileWriter fw;
public static void main(String[] args) throws IOException {
// define the file
try {
fw = new FileWriter("filename.txt");
} catch (Exception e) {
System.out.println(e);
System.exit(0);
int port = Integer.parseInt(args[0]);
ServerSocket server = new ServerSocket(port);
System.out.println("X-Server v1.0 - waiting for connection");
Socket client = server.accept();
// Handle a connection and exit.
try {
InputStream inputStream = client.getInputStream();
OutputStream outputStream = client.getOutputStream();
new PrintStream(outputStream).println("Go to send file mode!"); // sent to client
System.out.println("Ready to receive file via X-Modem...");
* BEGIN TRANSFER HERE!
// set the debug flag
XModem.debug = true;
* Here we are instantiating a new InputStream that represents the remote
* file that we are receiving. In this single line we are attempting to
* start the flow.
* Behind The Scenes: We're sending a NAK across the serial line repeatedly
* until we finaly start seeing the data flow. If we don't see the data
* flow, then we throw an exception.
System.out.println("Sending NAK to start receive mode...");
InputStream incomingFile;
try {
incomingFile = new XModemRXStream(inputStream, outputStream);
} catch (IOException e) {
System.out.println("ERROR! Unable to start file transfer!");
e.printStackTrace();
return;
System.out.println("Starting file transfer...");
* Here we are reading from the incoming file, byte by byte, and printing out.
* Behind The Scenes: Internally, the read() method is handling the task of
* asking for the next data block from the remote computer, processing it (i.e.
* parsing, running checksums), and then putting it in an internal buffer. Not
* all calls to read() will request a new data block as each block contains at
* least 128 bytes of data. Sometimes you will only hit the buffer.
try {
for (;;) {
int c = incomingFile.read();
if (c==-1)
break; // End of File
// print character / byte
System.out.print(c+",");
// write to file
try {
//System.out.print(".");
fw.write(c);
} catch (Exception e) {
System.out.println(e);
System.exit(0);
} catch (IOException e) {
System.out.println("error while reading the incoming file.");
e.printStackTrace();
return;
// done
System.out.println("File sent.");
new PrintStream(outputStream).println("");
new PrintStream(outputStream).println("transfer successful!");
} finally {
//client.close();
// save the file
try {
fw.close();
System.out.println("file saved.");
} catch (Exception e) {
System.out.println(e);
System.exit(0);
* XModem keeps track of settings that the Receive and Transmit Stream classes will
* reference.
* <p>Copyright: Copyright (c) 2004</p>
* @author Fred Potter
* @version 0.1
class XModem {
public static boolean debug = false;
* XModemRXStream is an easy to use class for receiving files via the XModem protocol.
* @author Fred Potter
* @version 0.1
class XModemRXStream
extends InputStream {
// CONSTANTS
private static final int SOH = 0x01;
private static final int EOT = 0x04;
private static final int ACK = 0x06;
private static final int NAK = 0x15;
private static final int CAN = 0x18;
private static final int CR = 0x0d;
private static final int LF = 0x0a;
private static final int EOF = 0x1a;
// block size - DON'T CHANGE - I toyed with the idea of adding 1K support but the code is NOT there yet.
private static final int bs = 128;
// PRIVATE STUFF
private int ebn; // expected incoming block #
private byte[] data; // our data buffer
private int dataPos; // our position with the data buffer
private InputStream in;
private OutputStream out;
* Creates a new InputStream allowing you to read the incoming file. All of the XModem
* protocol functions are handled transparently.
* As soon as this class is instantiated, it will attempt to iniatate the transfer
* with the remote computer - if unsuccessful, an IOException will be thrown. If it
* is successful, reading may commense.
* NOTE: It is important not to wait too long in between calls to read() - the remote
* computer will resend a data block if too much time has passed or even just give up
* on the transfer altogether.
* @param in InputStream from Serial Line
* @param out OutputStream from Serial Line
public XModemRXStream(InputStream in, OutputStream out) throws
IOException {
this.in = in;
this.out = out;
// Initiate the receive sequence - basically, we send a NAK until the data
// starts flowing.
init:for (int t = 0; t < 10; t++) {
if (XModem.debug) {
System.out.println("Waiting for response [ try #" + t + " ]");
long mark = System.currentTimeMillis();
out.write(NAK);
// Frequently check to see if the data is flowing, give up after a couple seconds.
for (; ; ) {
if (in.available() > 0) {
break init;
try {
Thread.sleep(10);
catch (Exception e) {}
if (System.currentTimeMillis() - mark > 2000) {
break;
// We have either successfully negotiated the transfer, OR, it was
// a failure and timed out. Check in.available() to see if we have incoming
// bytes and that will be our sign.
if (in.available() == 0) {
throw new IOException();
// Initialize some stuff
ebn = 1; // the first block we see should be #1
data = new byte[bs];
dataPos = bs;
* Reads the next block of data from the remote computer. Most of the real XModem protocol
* is encapsulated within this method.
* @throws IOException
private synchronized void getNextBlock() throws IOException {
if (XModem.debug) {
//System.out.println("Getting block #" + ebn);
// Read block into buffer. There is a 1 sec timeout for each character,
// otherwise we NAK and start over.
byte[] buffer;
recv:for (; ; ) {
buffer = new byte[bs + 4];
for (int t = 0; t < 10; t++) {
System.out.println("\nReceiving block [ #" + ebn + " ]");
// Read in block
buffer = new byte[buffer.length];
for (int i = 0; i < buffer.length; i++) {
int b = readTimed(1);
// if EOT - don't worry about the rest of the block.
if ( (i == 0) && (b == EOT)) {
buffer[0] = (byte) (b & 0xff);
break;
// if CAN - the other side has cancelled the transfer
if (b == CAN) {
throw new IOException("cancelled");
if (b < 0) {
if (XModem.debug) {
System.out.println("Time out... NAK'ing");
out.write(NAK);
continue recv;
else {
buffer[i] = (byte) (b & 0xFF);
break;
int type = buffer[0] & 0xff; // either SOH or EOT
if (type == EOT) {
if (XModem.debug) {
System.out.println("EOT!");
out.write(ACK);
break;
int bn = buffer[1] & 0xff; // block number
int bnc = buffer[2] & 0xff; // one's complement to block #
if (
(bn != ebn) && (bn != (ebn - 1)) ||
(bn + bnc != 255)) {
if (XModem.debug) {
System.out.println("NAK'ing type = " + type + " bn = " + bn +
" ebn = " +
ebn + " bnc = " + bnc);
out.write(NAK);
continue recv;
byte chksum = buffer[ (buffer.length - 1)];
byte echksum = 0;
for (int i = 3; i < (buffer.length - 1); i++) {
echksum = (byte) ( ( (echksum & 0xff) + (buffer[i] & 0xff)) & 0xff);
if (chksum != echksum) {
out.write(NAK);
continue recv;
out.write(ACK);
if (ebn == 255) {
ebn = 0;
else {
ebn++;
break;
// We got our block, now save it in our data buffer.
data = new byte[bs];
for (int i = 3; i < (buffer.length - 1); i++) {
data[(i - 3)] = buffer;
dataPos = 0;
public synchronized int read() throws IOException {
// If at the end of our buffer, refill it.
if (dataPos == bs) {
try {
getNextBlock();
catch (IOException e) {
throw new IOException();
// If we're still at end of buffer, say so.
if ( dataPos == bs) {
return -1;
int d = data[dataPos];
if (d == EOF)
return -1;
dataPos++;
return d;
* A wrapper around the native read() call that provides the ability
* to timeout if no data is available within the specified timeout value.
* @param timeout timeout value in seconds
* @throws IOException
* @return int an integer representing the byte value read.
private int readTimed(int timeout) throws IOException {
long start = System.currentTimeMillis();
for (; ; ) {
if (in.available() > 0) {
return (in.read());
try {
Thread.sleep(10);
catch (InterruptedException ex) {
//if (System.currentTimeMillis() - start > timeout * 1000) {
if (System.currentTimeMillis() - start > timeout * 5000) {
return -1;
Here was the output...
Original file:
(Commodore CBM SEQ file exported to PC using DirMaster)
��
� �
� ��� �� �� ��� ��
� �� �� ���� �� ��� ��
� ��� ����������������������������������������������
�� ����� ������� ����� �� ����� ������ ����� ���
� �� ������ ������ ��� ��� �� ��� ���� �� ������
� � ���
����
� � ��OWERED BY �OLOR 64 ��� V8
�UNNING �ETWORK64 V1.26A
�
�UPPORTING 38400 �AUD �ATES
�����/����/�������
�
�ESTING �CHO-�ET V1 BETA
�
�EATURING �ESSAGES, �ILES,
�ET�AIL, AND �NLINE �AMES!
�YS�P: � � � � � � � � �
�
�RESS ANY KEY TO LOGIN\C�
The result when the file was uploaded and received by my XServer:
? ? ??OWERED BY ?OLOR 64 ??? V8
?UNNING ?ETWORK64 V1.26A
?UPPORTING 38400 ?AUD ?ATES
?ESTING ?CHO-?ET V1 BETA
?EATURING ?ESSAGES, ?ILES,
?ET?AIL, AND ?NLINE ?AMES!
?YS?P: ? ? ? ? ? ? ? ? ?
?RESS ANY KEY TO LOGIN\C?
The result is different!
Can someone help me along here... I have been trying to figure out how to do this for approx. a year or so... it has been a very slow process.
I could use a guru to help me out so I can write the upload and download routines for my Commodore BBS PETSCII Emulation Server.
Visit http://www.retrogradebbs.com for details.
Thanks.
Please help out a dedicated developer who is in over his head...
-DaveOk. Fair enough. What about general information about Xmodem. This is a hard project because of how obscure the legacy technology is that I am having to implement using Java and MySQL.
I have two major issues which I have to figure out how to troubleshoot and debug, if possible.
1. The 23+ blocks exception when a file is being received
2. The exception which is thrown immediately if I try to receive a binary file instead of an ASCII file.
I read that telnet is a 7-bit technology and that is why Xmodem, which is an 8-bit technology is not that popular as a viable protocol via telnet, whereas Kermit is, since it was developed for 7-bit systems, i.e. mainframes and minicomputers.
Is this correct?
If that is the case, why does www.serio.com have a viable X-Y-ZModem library available (for several hundred $$$ of course) which can be used with both RS-232 serial ports and TCP socket ports? Obviously, it can be done. They are the ONLY company with this library for sale for Java to do this. I cannot justify that $$$ amount for a mere hobby (writing the BBS emulation server for supporting Commodore PETSCII (CG) callers via CGTerm or a native C-64 terminal program using Jim Brain's TCPSER middleware, which emulates a Hayes modem via telnet for telBBSing/retrocomputing.
I really want to learn how to implement a file transfer protocol, since back in the 80s, I used Xmodem, Punter, Y/Z Modem, etc., a lot to upload and download files via modem at baud rates of 2400, 14.4, 19.2, and 38.4, respectively.
It's fun to learn how the old skool gurus of telecommunications technology did it. It is one thing to run a BBS which supports these technologies and features, and it is an entirely other thing to learn how to design and develop them yourself for implementation into a project such as I taken on.
It CAN be done. It WILL be done. However, I have just started my exhaustive research on how it needs to be done. I have read up as much as I could on XModem by Ward C., the father of the protocol.
But, I have no information to help me figure out why the communications are acting as they do so far.
Can someone please download the xserver.zip file on my website at:
www.retrogradebbs.com/projects/xserver.zip
Compile it. Run it. Connect using HyperTerminal, Netrunner, or another telnet terminal emulation program which supports Xmodem file transfers using WinSock.
See what happens. With finals due in the next two days, this project will have to be put on hold until after I submit my two final projects.
If anyone knows what needs to be done to support both ASCII and BINARY file transfers via Xmodem via a socket instead of a modem with RTS/CTS hardware flow control, please respond.
I know for a fact that this can be done.
- Dave -
How do I transfer a sound file via TCP?
I have a .wav file that I'm trying transfer via TCP. Using LV 8.5, I modified the "Sound File to Output.vi" example to send the data across a TCP connection to a client vi. But, I've encountered numerous errors along the way with trying to convert the sound data which is a 1-D array of waveform double. I've attached my server and client VI, but essentially, what I tried to do is break down the array into the y and dt components, send those over the TCP connection, rebuild the waveform client-side, and then play the waveform. Is there something I'm missing? Do I need the timestamp information as well and send that over too? Please let me know how this can be accomplished. Thanks!
Attachments:
Streaming Music - Server.vi 97 KB
Streaming Music - Client.vi 65 KBOne thing to clarify: While the Sound Output Write does not need the dt information, the dt information wouold be required when you use the Configure VI in order to set up the rate. However, you only need to send that parameter once. Thus, it would seem to me that you want to change your client code so that it checks to see if it receives a special command or something to indicate the start of a new song that may have been sampled at a different rate. If this is the case, then you can reconfigure the sound output. Otherwise, all that you're listening for is just song data that you send along to the Sound Output Write.
-
How to Ping Hardware via TCP/IP
I need to ping a device to check connectivity via TCP/IP. I'm currently using a 3rd party control that has a memory leak. Is there a way to do this within Labview without using a 3rd Party control?
[SOLVED]
Hi
I need to check several devices by pinging them.
I don't want to use the windows console method with parsing.
If I use the ping.llb described under the second link above the labview runtime is crahing latest after 12 hours without any replies. Ping frequency was 400 ms, 1 second would be OK but not nice.
After all the crashs I decide to use the .net Framework which includes an own Ping class.
Attached you can find this, at the moment test, VI which is running in a mini project on my PC.
For testing purposes I set the delay time constant low, later my wish is something between 400-100ms.
Problem: If you open the WinXP task manager the used memory of process "labview.exe" is rising rapidly until .net throw an exeption.
How can I prevent that the memory is rising until a crash occur??? If I reduce the time the memory usage is rising as well, just slow....
Here is the link to the class description: http://msdn.microsoft.com/en-us/library/system.net.networkinformation.ping.aspx
Thanks for your help
Tim
SOLUTION: I connected the "close reference" on the wrong wire....
It seems to run even with 0 ms time constant (for testing). I have attached the corrected version.
Message Edited by computerkammer on 05-17-2008 08:31 AM
Attachments:
pingdotnet1.vi 17 KB -
Socket communication via TCP-IP
Hi,
I am new to CF and would like to establish TCP-IP socket
communication with a remote server. How can I exchange XML messages
with a remote server / port via TCP-IP. Do I need to use the event
gateways of does CF offer another way of setting up socket
communication ?
Many thanks in advance !
JohnDo I need to use the event gateways of does CF offer another way
of setting up socket communication ?
I would say, yes, use the socket gateway that ships with
Coldfusion. However, it has a functionality I cannot really
understand. If you are a client setting up a socket to connect to
the gateway, the gateway expects your code to have, beforehand, a
value for the variable
originatorID. Yet,
originatorID is a large, unique integer that the gateway
code generates when you connect. That seems to me to be a
chicken-and-egg dilemma. -
How to call webservice via SOAP on WebAS 620
Hi,
I am working on WebAS 620 and want to call from ABAP side a Webservice via SOAP.
The webservice belongs to a third party tool and is placed on a different server.
This webservice is pretty easy (2 import parameters and 1 export).
Unfortunately it seems to me that the SOAP framework does not support such calls. It just supports calls of RFC enabled function modules. This is not what I want.
Do you know if this is possible and how I can do it?
Best regards,
Jan Hefftercheck this weblog
/people/durairaj.athavanraja/blog/2004/09/20/consuming-web-service-from-abap
Regards
Raja -
I have problem in transfeering data using field point via tcp
I am reading the values from the filed point, which is connected, to the RT controller and transferring the values to the client PC via TCP at a specified acquisition rate.
Case1 when the acquisition rate is 0.1 minutes I get the values from the controller correctly i.e. 5v, 5v, and the chart shows no change. The timed out of the TCP read is default value i.e. is 250ms
But when I change the acquisition rate to .5 minutes I get the values as 5v, 0v, 5v, and 0v. The time out of the TCP read is same as first case. The inputs to the field point are at the constant 5v.
Please tell how to solve the problem so as to see the plot in the chart continuously as inputs for the field points the read
ing are at constant rate of input 5v.Suresh,
Since this question deals with using the LabVIEW TCP/IP functions, you are better off posting it to the LabVIEW discussion forum.
Regards,
Aaron -
SOAP Adapter: Content Type Issue in WebServices via HTTP
Hi,
I have configured a Receiver SOAP adapter. When i had to test the message i had an HTTP 415 error.
i found that the sender SOAP adpater that received this message is not capable of handling Content-Type: Application/XML i.e. which is being transmitted by the Receiver SOAP Adapter.
Please let me know how to configure in the Receiver SOAP adapter so that the HTTP Content-Type would be TEXT/XML instead of Application/XML .
Thanks in Advance,
VenkateshHi Michal,
I have created a Web service for a RFC function Module. The webservice is available in SOAMANAGER.
It got activated also . But whenever I tried to test, I am getting the below error,
"Message Envelope not found. Probably Empty SOAP message"
Request:
POST /sap/bc/srt/rfc/sap/yotci_i015_linkp8sap/100/yotci_i015_linkp8sap/yotci_i015_linkp8sap HTTP/1.1
Host: sapkrftewd01.krft.net:8030
Content-Type: text/xml; charset=UTF-8
Connection: close
Authorization: <value is hidden>
Content-Length: 657
SOAPAction: ""
<?xml version="1.0" encoding="UTF-8" ?><SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xs="http://www.w3.org/2001/XMLSchema"><SOAP-ENV:Header><sapsess:Session xmlns:sapsess="http://www.sap.com/webas/630/soap/features/session/"><enableSession>true</enableSession></sapsess:Session></SOAP-ENV:Header><SOAP-ENV:Body><ns1:YotciI015Linkp8sap xmlns:ns1='urn:sap-com:document:sap:soap:functions:mc-style'><IvParam1>POD</IvParam1><IvParam2>00006095</IvParam2><IvParam3>01/14/2009</IvParam3><IvParam4>PDF</IvParam4></ns1:YotciI015Linkp8sap></SOAP-ENV:Body></SOAP-ENV:Envelope>
Response:
HTTP/1.1 500 Message E 1S 406 cannot be processed in plugin mode HTTP
content-type: text/xml; charset=utf-8
content-length: 0
accept: text/xml
sap-srt_id: 20090224/141936/v1.00_final_6.40/49A4677A2D0736EDE10000000A3597E9
server: SAP Web Application Server (1.0;700)
Is this because of "do not use SOAP envelope" check?
I didn't check this check box.
If that is the error could you please tell me how to see the "do not use SOAP envelope"?
Where can I find SOAP channel?
I am very new to SOAP concept.
One JAVA application is going to invoke this Webservice from SAP.
Please help me.
Thanks,
Bala. -
Creation of RFC destination for SAP-Access Connectivity
Hi,
I want to create a RFC destination for SAP-Access connectivity.
Can I get some help regarding it's connection type,activation type and gateway options required for the same.
Regrads,
Anthony D'souzaHi
Please see the following:
1. Create an entry in Trxn DBCA for SQL Server in SAP, you are creating a database connection for the SQL server in SAP.
2. You use this connection, and write Native SQL stmnts...between EXECSQL...ENDEXEC to fetch the data..and then normal ABAP statements to put that data into your ztable.
TABLE DBCON Entry can be like this...depends on your External database..
CON_NAME Raj Logical name for connection
DBMS MSS Microsoft SQL Server
USER_NAME <User name> For SQL Server
PASSWORD <password> " "
CON_ENV MSSQL_SERVER=<server> MSSQL_DBNAME=<database name>
DB_RECO Availability type for an open database connect
FUNCTION z_houston_connect.
""Local interface:
EXEC SQL.
CONNECT TO 'RAJ' AS 'V'
ENDEXEC.
EXEC SQL.
SET CONNECTION 'V'
ENDEXEC.
*- Get the data from MS-SQL Server
EXEC SQL.
open C1 for
select
l.loc_id,
l.loc_name,
a.acc_id,
a.acc_name,
d.person
from ho_loc_mast as l
inner join snd_acc_mast as a on l.loc_id = a.loc_id
inner join snd_acc_addr as d on a.loc_id = d.loc_id and
a.acc_id = d.acc_id
where l.loc_id = '001'
ENDEXEC.
DO.
EXEC SQL.
FETCH NEXT C1 into :wa-c_locid, :wa-c_locname, :wa-c_acc_id, :wa-c_acc_name, :wa-c_person
ENDEXEC.
IF sy-subrc = 0.
PERFORM loop_output.
ELSE.
EXIT.
ENDIF.
ENDDO.
EXEC SQL.
CLOSE C1
ENDEXEC.
ENDFUNCTION.
Regards,
Raj -
Como puedo monitorear un proceso en tiempo real usando una plataforma con LINUX, no importa que esta conectado a via TCP/IP con un equipo con SO windows, que actua como serviddor OPC.
Ing. Jorge MirabalJorge,
Necesitas compar el programa de RT de National Instruments para hacer cualquier cosa en tiempo real o determinatistico como le acostrumbran llamar. La plataforma que uses no imporata. El sistema de desarrollo es el mismo en cualquier plataforma.
Ing. Otman Estrada
PS. Ademas de talves poderte ayadar, conteste tu pregunta porque queria ponerme el titulo de Ingeniero. Aqui en EEUU no se acostrumbra eso no importa cuanta educaccion tienes. Como dicen aqui, pienso que es "cool". -
Error in Importing webservice via ActionScript
Hi All
This is regarding the Webservice via ActionScript (Import->Web Service) for Flex 3
I am using the same method to import the webservice. The proxy classes are getting generated. I am using the following code for accessing the method:
var myVar:Welcome = new Welcome();
myVar.name = "shilpa";
var myService:WelcomeNoteService = new WelcomeNoteService();
myService.addwelcomeEventListener(handleResult);
myServ.addWelcomeNoteServiceFaultEventListener(handleFault);
myService.welcome(myVar);
Here Welcome is the function name in webservice (for which proxy class is generated) and WelcomeNoteService is the webservice name (for which proxy classes is also generated).
When I try to access
public function handleResult(event:WelcomeResultEvent):void{
Alert.show(event.result.toString());
event.result is coming as null.
I have tried to debug also , but not able to find the error.Hi,
<i>My dev is on SP 15 and Cons on SP 10..While transporting SLD product using file system i got following error:
</i>
See SAP Note 832142 for known restrictions about transporting objects between
different XI 3.0 support packages And See SAP Note 834507 for known restrictions about cross-release transports.
Also see the CMS Guide at market place, how to guide,
https://websmp201.sap-ag.de/~form/sapnet?_FRAME=CONTAINER&_OBJECT=011000358700003090422005E
Also refer 780297 for continiuosly updated errors.
May be all this will help you to analyse if not directly arrive at the solution.
All the best,
Anirban. -
Transfering sound via TCP or UDP without delay.
Hi,
I'm trying to transfert music via TCP or UDP. But I have delays between packets of bytes that i'm sending and receiving.
I have sound, delay, sound, delay. Here's my to VI, server and client.
http://osiris.teccart.qc.ca/osiris/soundserverudp.vi
http://osiris.teccart.qc.ca/osiris/soundclientudp.vi
Can someone tell me what i'm doing wrong?Hi,
try change order Sound subVIs.
Look to exampe: ...National Instruments\LabVIEW 7.1\examples\sound\sound adv.llb\Continuous Sound Output.vi
When I change size of 'Number of buffers' to 3 and more I hearing continuous sound.
Have a nice day.
JCC -
JCO.Server Error while trying to execute a RFC program from SAP
Hi,
We are connecting to an external registered server program from SAP via Web Methods.
The external server program is registered with the SAP Gateway. We have created a TCP/IP RFC destination and are able to connect to the destination successfully via SM59.
An RFC function is created in SAP and is called using the syntax CALL FUNCTION "/NGN/BAPI_STRE_SEARCH_PROCESS" DESTINATION 'PRDB2B'. We have also handled the COMM_FALIURE and SYSTEM_FALIURE exceptions in the function call.
We are monitoring the gateway via SMGW and see a connection log to the RFC destination as below
Number - 10
LUname - dev01
TPName - sapgw00
User - KRAORANE
Status - CONNECTED
Symbolic - PRDB2B
Conversation - 86520353
Prot - REG
SAP return code - 0
CPIC rtn code - 0
The external program returns results as expected.
However sometimes the RFC fails and returns the message JCO.Server could not create server function /NGN/BAPI_STRE_SEARCH_PROCESS.
We are not able to figure what exactly is causing this error. Any help will be highly appreciated.
-KiranHi,
Please see the below links..
JCO.Server Error while trying to execute a RFC program from SAP
Re: JCO.Servcer could not find server function
Re: JCO.Server could not find server function 'SET_SLD_DATA'
/people/kathirvel.balakrishnan2/blog/2005/07/26/remote-enable-your-rfchosttoip-to-return-host-ip-to-jco
Re: interfacing SAP with an existing java applications
http://help.sap.com/saphelp_nw04/helpdata/en/47/80f671ee6e4b41b63c0fe46bd6e4f8/content.htm
http://www.sapgenie.com/faq/jco.htm
Regards
Chilla.. -
Exposing an RFC enabled function as a Web Service in Minisap
Hi all,
i'm trying to expose an RFC enabled function as a Web Service in my Minisap installation. Everything works fine, until i actually want to finish the Web Service wizard. It always quotes that the object can only be deployed in an sap paket. If i try to put it in the $TMP paket, by marking it as a local object, i always get the message that test objects can not be deployed in external pakets.
Any idea?
Furthermore the virtual interface with the name i selected in the Web Service wizard seems to exist, at least i can not try to deploy the Web Service again with the same name. Actually, i also can't find a place where i can delete the virtual interface. Any hint on that issue is also appreciated.
Thanks in advance!
/MarcI wanted to write a web service adapter:
@WebService
public class MyWebService implements StreamSender {
private StreamSender eventSender;
@WebMethod
public void echo(String msg) {
eventSender.sendInsertEvent(new MyEvent(msg));
After deploying I've got NullPointerException, eventSender is null. This is because MyWebService instance is NOT on the spring context, since it was created by jetty via reflection.
So now I'm trying another approach. I want to inject an adapter from the spring context into the web service:
I wanted to write a web service adapter:
@WebService
public class MyWebService {
private MyWSAdapter myAdapter;
@Resource
private WebServiceContext context;
@WebMethod
public void echo(String msg) {
myAdapter = getMyAdapterFromSpringContext();
myAdapter.sendInsertEvent(new MyEvent(msg));
public MyWSAdapter getMyAdapterFromSpringContext() {
ServletContext sc = (ServletContext) context.getMessageContext().get(MessageContext.SERVLET_CONTEXT);
ApplicationContext springContext = WebApplicationContextUtils.getWebApplicationContext(sc);
return (MyWSAdapter) springContext.getBean("myWSAdapter");
So far i'm getting java.lang.NoClassDefFoundError for org.springframework.web.context.support.WebApplicationContextUtils (org.springframework.spring-web_2.5.6.jar), and trying to figure out where is the jetty classpath. -
Hello everybody,
I would like to know how to log a RFC Call on SAP R/3 and the data flow from a RFC.
Thanks for your helps,Use t.code ST01 to activate RFC trace.
Use t.code ST11 to list the file of the trace. The file name should start with dev_rfc . ST11 is sorted by date so double click on the latest changed dev_rfc file.
Here where it gets kind of ugly.
Look for string ' **** Trace file opened at '
A few lines below that you'll find the data stream that was passed to and from SAP via a RFC. The human readable data is on the right side looking like this.
000000 05000000 05000331 00040000 00010331 .......1.......1
000010 03310004 00000002 03310503 00000503 .1.......1......
000020 05140010 C62F2556 F757D147 9D44C888 ....Æ/%V÷WÑG.DÈ.
000030 BB189C64 05140512 00000512 01300028 »..d.........0.(
000040 5341504C 5A48525F 50414E20 20202020 SAPLZHR_PAN
000050 20202020 20202020 20202020 20202020
000060 20202020 20202020 01300335 000C0000 .0.5....
000070 000A0000 00010000 00100335 03020008 ...........5....
000080 000000AB 00000010 03020304 00AB3132 ...«.........«12
000090 30373030 31313030 30313242 6C61636B 07001100012Black
0000a0 74686F72 6E652050 656E6E73 796C7661 thorne Pennsylva
0000b0 6E696120 20202020 20426C61 636B7468 nia Blackth
0000c0 6F726E65 20504120 20202020 20202020 orne PA
0000d0 20202020 20202034 32332053 2E204D61 423 S. Ma
0000e0 696E2053 742E2020 20202020 20202020 in St.
0000f0 20202020 20202020 20202020 20202031 1
000100 38383130 20202020 20417468 656E7320 8810 Athens
000110 20202020 20202020 20202020 20202020
000120 20205553 20504120 20202020 20202030 US PA 0
000130 30303030 33343634 35030403 0400AB31 000034645.....«1
000140 32303135 30313130 30303135 43415261 201501100015CARa
000150 64202020 20202020 20202020 20202020 d
000160 20202020 20202020 20204341 52616420 CARad
000170 20202020 20202020 20202020 20202020
000180 20202020 20202020 32363030 20566961 2600 Via
000190 20466F72 74756E61 2044722C 20537569 Fortuna Dr, Sui
0001a0 74652033 34302020 20202020 20202020 te 340
I hope this helps.
Mike V.
Maybe you are looking for
-
Upgrade from 160 GB to 1 TB internal hard drive for MacBook Aluminum Late 2008?
I'm trying to upgrade my MacBook Aluminum (Not Pro) Late 2008 from 160 GB SATA Disk to 1 TB Western Digital WD10JPVT Scorpio Blue 1 TB 2.5" Internal Notebook Hard Drive. But I wasn't sure if this would work with my laptop and if it will fit. Can anyo
-
In December when working on an iMovie project I went to add an effect to my project and my computer hung for about 30 minutes and then came up with the "hold the power button" panic message. After which iMovie and iDVD would not load at all, just bou
-
Help Needed in mapping business scenario
Hi All, I have a RM inter unit despatches for this we are using STO. While doing inter unit despatches we have to pay freight on per kg (Gross Weight) for a source and destination. This has already been mapped by creating a condition type and conditi
-
Website looks normal in FF but not in IE
Someone made this website for my volleyball club in dreamweaver, and the size looks normal in FF. I made some changes to the template (sidenote: I pretty much have no idea what i'm doing) and I think messed something up. Now in FF the size looks norm
-
Bill Generation Issue in CC&B 2.4
Hi All, I'm working on Oracle Utilities CC&B 2.4 on Windows OS. Application and Framework details are as given below: Product Name Release ID Release ID Suffix Build Number Patch Number Oracle Utilities Customer Care and Billing V2.4.0 029 0 000 Orac