Url to call Integration engine from Webserver
Hi All,
Please let me know what is the url to call INtegration engine from Webserver
I know below is url which we will use to call Adapter engine..But i need direct call to Integration engine
http://server:50100/XISOAPAdapter/MessageServlet?channel=:R3_DEV:R3_CHANNEL_sender
Thanks and Regards
Suma S
Edited by: Suma S on May 3, 2011 5:51 PM
the url will have the format of
http://hostname:8000/sap/xi/adapter_plain?type=entry&sap-user=xisuper&sap-password=******&namespace=<namespace>&interface=<interfacename>&service=<servicename>
Similar Messages
-
Hi. about monitor message of integration engine from RWB.
I want to monitor message of iintegration engine from RWB.
but i can not open message content tab page and queue monitor tab page.
hint is : SSO login failed. need to logon again.
which user should i use to logon?
i tried so many user not to be able to logon successuflly.Hi Joy,
if you want to use the SSO functionality for any component you need to maintain it first....i think u SSO configurtion is not yet done ....and hence you are getting the above error.......
Pls chk the below link....thsi is for PI 7.1...
http://help.sap.com/saphelp_nwpi71/helpdata/EN/32/1c1041a0f6f16fe10000000a1550b0/content.htm
Hope this will help..
Regds,
Pinangshuk. -
HTTP Response code 404 - RFC Adapter des not connect to Integration engine
Hi,
I seem to have problem with XI Integration engine. My integration process does not go beyond adapter engine and it fails with the following error,
Begining of the erorr report -
2006-01-23 13:35:53 Success RFC adapter received sRFC for ZSCEN2_XI from <sysno>/<client>. Attempting to send message synchronously
2006-01-23 13:35:54 Success Application attempting to send an XI message synchronously using connection AFW.
2006-01-23 13:35:55 Success Trying to put the message into the call queue.
2006-01-23 13:35:55 Success Message successfully put into the queue.
2006-01-23 13:35:55 Success The message was successfully retrieved from the call queue.
2006-01-23 13:35:55 Success The message status set to DLNG.
2006-01-23 13:35:55 Error Returning synchronous error notification to calling application: Received HTTP response code 404 : Not Found.
2006-01-23 13:35:55 Error Transmitting the message using connection http://<host>:55300/sap/xi/engine?type=entry failed, due to: Received HTTP response code 404 : Not Found.
2006-01-23 13:35:55 Error The message status set to FAIL.
2006-01-23 13:35:55 Error Returning to application. Exception: Received HTTP response code 404 : Not Found
end of error report -
and the runtime workbench does not connect to Integration engine and fails with the following error,
begin error report -
javax.ejb.CreateException: Unable to log on to system XID in language en with user XIRWBUSER
at com.sap.aii.mdt.server.integrationengine.IntegrationEngineMonitoringBean.ejbCreate(IntegrationEngineMonitoringBean.java:374)
at com.sap.aii.mdt.server.IntegrationEngineHomeImpl10.create(IntegrationEngineHomeImpl10.java:185)
at com.sap.aii.mdt.server.IntegrationEngineHome_Stub.create(IntegrationEngineHome_Stub.java:56)
end of report -
Have anyone experienced the same issue?. Are we missing some post installation configuration?.
Thanks in advance
Regards,
ArulHI Anulraja,
Your Adapter Engine searches the pipeline url of the integration engine from the SLD.
Check the Bussiness System in Sld , which you'll have defined for XI Server.
It should have ROLE : Integration Server And
pipeline url: http://ux0800:55300/sap/xi/engine?type=entry
should be this if your http port is 55300.
Check if this url is right in SLD-Bussiness System.
You can check the exact http port in transaction sxmb_adm.
Go to Integration engine configuration and then click on check icon(F7).
It should match with that provided in the BS in SLD.
By default it should be 8000.
Check all these things and then try.
Regards,
Yomesh -
Error while testing message from Integration Engine.
Hi,
Trying to send message to Integration engine from RWB, using test mesage tab in Integration engine.
I pasted the payload(IDOC payload) , entered sender service, interface name and namespace and also username and password. Selected quality of servie as Exactly once.
While sending the message getting the following error - "Error while sending".
What could be possible reasons for this error.
Thanks.Hi,
Please check the following possibilities:
1. Make sure you have selected integration Engine oprtion and not the adapter engine.
2. The USERID and password should be correct.
Please let me know if you still face the problem.
Regards,
Shwetambari. -
Atack interface directly in the integration engine
Hi guys.
Id like to know how to make to consume a sender interfece directly attacking the integration engine.
We work with an EDI enterprise and we only provide them the interface XSD, inteface name, interface namespace, remote user and password and they achive to consume this inteface but I don't know how.
There isn't any sender channel assoicate to this sender interface...
How could they get this? Java?
Thanks a lot!!!Hi,
You can directly post to integration engine from your EDI using the below URL if thats what you are looking for.
http://<host>:8000/sap/xi/adapter_plain?namespace=<ns>&interface=<intface>&service=<BS>&QOS=<EO>&sap-client=<003>&sap-language=<EN>&sap-user=<user>&sap-password=<password>
This would be a direct HTTP communication and no sender channel is required. its served by the integration engine itself.
please check
http://help.sap.com/saphelp_nw04/helpdata/en/82/f4993c03e0cd37e10000000a11405a/content.htm
regards,
francis -
Convert URL from integration engine to adapter engine with https
I'm still relatively new at PI, trying to learn as I go, so I apologize if I do not phrase this correctly.
Our trading partners currently post xml files via http to a url directed to our Integration Engine, for example:
http://<host>:<port>/sap/xi/adapter_plain?namespace=urn%3Aball.com%3Aavailabilityfeed&interface=MIOA_AvailabilityFeed&service=SRV_Supplier&party=P_EDI&agency=&scheme=&QOS=EO&queueid=httpclient&sap-user=****&sap-password=***&sap-client=**&sap-language=EN
We would now like them to post to a different URL using https so that 1) files are routed through the adapter engine, and 2) user and password information would not need to be included in the url currently being used.
For a separate process, which has been configured differently, it was simply a matter of changing from http://<host>:<port> to https://<host2>...., but this has not been working for me with the above URL.
Can anyone please help out or point me in the right direction? I've spent half the day searching the forums without much success.
Thank you.check security guide:
http://help.sap.com/saphelp_nwpi711/helpdata/en/f7/c2953fc405330ee10000000a114084/frameset.htm
When you want to post data to adapter engine, you have to use SOAP adapter, as HTTP adapter is not part of AE
In security guide you find HTTPS enabling for HTTP and SOAP adapter. -
HTTP error 403 from Integration engine
Hello,
Problem a)
While posing data from eSourcing to PI box by HTTP , we are getting HTTPerror 403.
The error message states:
ID: E-Sourcing was unable to publish PROP-00090--2010 to ERP. class java.io.IOException Server returned HTTP response code: 403 for URL:
Problem b)
In another observation the sender file adapter after polling the file is unable to send the message to Integration engine and gives a Connection Time out error. it gives the following error.
Transmitting the message to endpoint http://<Host>:<Port>/sap/xi/engine?type=entry using connection File_http://sap.com/xi/XI/System failed, due to: com.sap.engine.interfaces.messaging.api.exception.MessagingException: Error transmitting the message over HTTP. Reason: java.net.ConnectException: Connection timed out: connect.
I believe that both the errors are for common cause and possibly the Integration engine is not accepting HTTP request.
It looks like these error due to security reason, it seems some authorization profile is missing or may be some other issue,kindly help us at that front.
Thanks and Regards,
SatishHi Suraj,
Thanks for the update.We had checked the URL before posting this message,it is picking up correct URL with namespoace, UID and PWD.Exact error that we are getting is as follows:
ID: E-Sourcing was unable to publish PROP-00090--2010 to ERP. class java.io.IOException Server returned HTTP response code: 403 for URL: http://MB1ES1025:50200/sap/xi/adapter_plain?namespace=http://frictionless.esource.com/v2.0&interface=MI_ESI_AWARD_PO&service=FCI_TENANT&QOS=BE&sap-user=pisuper&sap-password=sap$29&sap-client=001&sap-language=EN. Please contact your system administrator.
Here all information are correct.We have checked the SLD check, that is also working fine.Also it is not connectivity related issue, as we are able to transmit XML file to E-Sourcing.
It looks like security issue, but what authorization needs tobe given exactly for HTTP call, we need to know or may be some other issue.
Thanks and Regards,
Satish -
Communication error when sending PI message from Integration Engine to AE
Hi Experts,
we currently installed and configured PI 7.3 system. Even I run post installation PI configuration several times, we are still facing error when Integration engine sends message to messaging system. ( my scenario: I send test message to IE directly, avoiding AE )...
It might look easy: but even adding PIISUSER full authorization and system restart, the result is the same. I don't know if it could have connection but I also get HTTP 200 instead of HTTP 500 when testing INTEGRATION_DIRECTORY_HMI destination.
Thanks for any help.
<Trace level="1" type="B" name="CL_XMS_PLSRV_IE_ADAPTER-ENTER_PLSRV">
<Trace level="1" type="B" name="CL_XMS_PLSRV_CALL_XMB-CALL_XMS_HTTP" />
- <!-- ************************************
-->
<Trace level="1" type="T">error reading SAP_XIAdapterFramework from SLD</Trace>
<Trace level="1" type="T">error reading SAP_XIAdapterFramework from SLD</Trace>
<Trace level="1" type="T">Get logon data for adapter engine (SAI_AE_DETAILS_GET):</Trace>
<Trace level="1" type="T">URL = http://xxx:xxxx/MessagingSystem/receive/AFW/XI</Trace>
<Trace level="1" type="T">User = PIISUSER</Trace>
<Trace level="1" type="T">Cached =</Trace>
<Trace level="1" type="T">Security: Basic authentication</Trace>
<Trace level="1" type="T">Serializing message object...</Trace>
<Trace level="1" type="T">Tuning - AFW_MAXREQUESTCONTENTLENGTH 2000000000</Trace>
<Trace level="1" type="T">HTTP Multipart document length: 2948</Trace>
<Trace level="1" type="T">Timeout: 0</Trace>
<Trace level="1" type="T">HTTP-client: request sent</Trace>
<Trace level="1" type="T">HTTP-client: response received</Trace>
<Trace level="1" type="T">HTTP-client: status code = 401</Trace>
<Trace level="1" type="System_Error">Authorization error while sending by HTTP (error code: 401 , error text: Unauthorized)</Trace>
</Trace>Hi,
So this password change in Exchange Profile + su01 transaction + system restart didn't help.
I increase trace level, and this is even more detailed log in pipeline step Call Adapter.
We also find out that when message arrive to IE we have in java log three entries:
LOGIN.FAILED
User: N/A
IP Address: xxx
Authentication Stack: sap.com/com.sap.aii.af.ms.app*MessagingSystem
Login Module Flag Initialize Login Commit Abort Details
1. com.sap.security.core.server.jaas.EvaluateAssertionTicketLoginModule SUFFICIENT ok exception true Received no SAP Authentication Assertion Ticket.
2. com.sap.security.core.server.jaas.EvaluateTicketLoginModule SUFFICIENT ok false true
3. com.sap.engine.services.security.server.jaas.BasicPasswordLoginModule REQUISITE ok exception true Authentication did not succeed.
This log is logged under J2EE_GUEST User.
LOGIN.OK
User: SLD_CL_PIQ
IP Address: xxx
Authentication Stack: sap.com/com.sap.lcr*sld
LOGIN.OK
User: SLD_CL_PIQ
IP Address: xxx
Authentication Stack: sap.com/com.sap.lcr*sld
Last two logs are logged by SLD_CL_PIQ user.
Thanks for any help!
<!-- ************************************
-->
- <Trace level="1" type="B" name="CL_XMS_PLSRV_IE_ADAPTER-ENTER_PLSRV">
<Trace level="3" type="T">Channel for adapter engine: File</Trace>
<Trace level="1" type="B" name="CL_XMS_PLSRV_CALL_XMB-CALL_XMS_HTTP" />
- <!-- ************************************
-->
<Trace level="2" type="T">no values in cache (no lock found) - start reading from SLD</Trace>
<Trace level="1" type="T">error reading SAP_XIAdapterFramework from SLD</Trace>
<Trace level="2" type="T">Adapter Framework(s) found</Trace>
<Trace level="2" type="T">Service Port(s) found - take first one</Trace>
<Trace level="2" type="T">URL found</Trace>
<Trace level="2" type="T">no values in cache (lock found) - start reading from SLD</Trace>
<Trace level="1" type="T">error reading SAP_XIAdapterFramework from SLD</Trace>
<Trace level="2" type="T">Adapter Framework(s) found</Trace>
<Trace level="2" type="T">Service Port(s) found - take first one</Trace>
<Trace level="2" type="T">URL found</Trace>
<Trace level="1" type="T">Get logon data for adapter engine (SAI_AE_DETAILS_GET):</Trace>
<Trace level="1" type="T">URL = http://xxx/MessagingSystem/receive/AFW/XI</Trace>
<Trace level="1" type="T">User = PIISUSERA</Trace>
<Trace level="1" type="T">Cached =</Trace>
<Trace level="3" type="T">Creating HTTP-client</Trace>
<Trace level="3" type="T">HTTP-client: creation finished</Trace>
<Trace level="1" type="T">Security: Basic authentication</Trace>
<Trace level="1" type="T">Serializing message object...</Trace>
<Trace level="1" type="T">Tuning - AFW_MAXREQUESTCONTENTLENGTH 2000000000</Trace>
<Trace level="1" type="T">HTTP Multipart document length: 2941</Trace>
<Trace level="3" type="T">HTTP-client: sending http-request...</Trace>
<Trace level="1" type="T">Timeout: 0</Trace>
<Trace level="1" type="T">HTTP-client: request sent</Trace>
<Trace level="3" type="T">HTTP-client: request sent</Trace>
<Trace level="3" type="T">HTTP-client: Receiving http-response...</Trace>
<Trace level="1" type="T">HTTP-client: response received</Trace>
<Trace level="3" type="T">HTTP-client: checking status code...</Trace>
<Trace level="1" type="T">HTTP-client: status code = 401</Trace>
<Trace level="3" type="System_Error">Authorization error while sending by HTTP (error code: 401 , error text: Unauthorized)</Trace>
</Trace>
</Trace> -
Regarding error in the INTEGRATION ENGINE URL
hai guys pls go thru this question carefully,.
when i click on INTEGRATION ENGINE and BUSINESS PROCESS ENGINE IN RWB ,integration engine is in yellow colour status instead of green colour and th result of SELF TEST IN RWB is: Is WEBSERVICE security available? what it mean how can i have my I.E in green colour status?
and the result of self test for BPE is : check the entries from HR control tables? what it mean?
as a result of above errors am not able to test the msg BY SPECIFYING THE url OF I.E and am getting error as:HTTP-404 -not found
hope u understand t he problem pls revert me back with suitable answershi
Check this
/people/krishna.moorthyp/blog/2006/07/23/http-errors-in-xi
Re: ERROR HTTP 404 -
How to call the integration engine not the remote function.
Hi!
I want to get the data from the client 000 with an rfc call through the xi (client 001). But when I call the function via rfc, the funciton is executed in the client 001, instead of forwarding the call to the integration engine.
How can I forwarded to the engine this call?
I only made a sender communication channel in the DI which is an sener adapter type RFC.Thanks for the reply.
But I have no receiver channel yet. so i can't even reach any server if my call would be catched by the intergration engine.
But unfortunately I can reach the target system without the engine.
I use java connector to connect the external system to my intergration server.
Please help. -
Calling the procedure from URL is not working
Hi Experts,
We are in the process of 11i to R12 upgrade of oracle EBS system.
In 11i they have done some personalization in the form which will trigger a URL and a notfication will open in the browser.
11i url
HTTPS://abc.xyz.t.COM:8070/PLS/abc/XXM_PO_NOTIFICATION_PREVIEW.SHOW?P_PO_HEADER_ID=1711&p_type=PO
r12 url
HTTPS://abcr12.xyz.t.COM:8070/PLS/abcr12/XXM_PO_NOTIFICATION_PREVIEW.SHOW?P_PO_HEADER_ID=1711&p_type=PO
The URL is calling the function XXM_PO_NOTIFICATION_PREVIEW.SHOW by passing the parameters and it is working fine in 11i.
In r12 it is constructing the correct URL but when the page opens it is saying page not found.
My question is when we pass call the package in browser URL..does it executes?
We have put some debug message in the package but it is not getting pritntig.
Many Thanks
BharatPage not found (404) is a generic error from the web server. It simply says something went wrong when it serviced that URL from the browser - not what exactly went wrong.
You need to look in the error log of the Apache server for the details.
Assuming a standard OHS (Oracle HTTP Server) install. The URL contains a DAD (Database Access Descriptor) - in your case it is abcr12. This DAD will be defined in the Apache config file called dads.conf in the mod_plsql directory.
Part of the DAD definition will be an Oracle username, password, and Oracle connection string (typically TNSFormat).
The error you see on the browser side is often due to this DAD connection and authentication details failing. E.g. Oracle schema is locked. Oracle password is wrong. TNS connection string requests a non-existing service from the Oracle Listener. Etc.
But it would make sense to first confirm that this is indeed a connectivity error, via the Apache error log. -
How to call a procedure from url
hello,
I'd like to call a procedure from the url. <br>
I've tryed several ways to call that procedure, but none of it worked. <br><br>
so can someone please tell me the correct syntax of such a call?<br>
thanks in advance.Hi ,
I have implemented this in one of my apps in the following way:
- Created a database procedure (called download_file that accepts a parameter). This procedure opens a document stored in the database.
- In a report region, in the Column Link attributes, I set the Link Text to "Download", set Target to "URL" and set URL to "#OWNER#.download_file?p_file=#MYFIELD#"
Hope this helps. -
Call struts action from javascript?
Hi all
I'm having problem already discussed here quite a lot, but I have idea to solve it different way. And need to know is it possible or I'm doing mission impossible here :(
I have JSP with 2 drop down lilsts, where the second is populated according to selected value from first - that's basically my problem.
Is it possible to somehow only call my struts action which will return all needed values using javascript and onchange event handler?
I dont have any experience with javascript, and I'm trying to avoid it as much as possible at the moment.
Thanks in advancewell as far your requirement is concern if at all you are planning to implement AJAX try to use the below link which might be of some help...
http://www.it-eye.nl/weblog/2005/12/13/ajax-in-struts-implementing-dependend-select-boxes/
However,I somehow feel there are few loopholes in the author's approach...
i advice to use XmlHttpRequest.reponseXML property there.
However, i've mentioned a sample code snippet for you reference.
XML Response Pattern :
======================
<? xml version="1.1" ?>
<dropdown>
<option>
<val>CUSTOMIZED_VALUE</val>
<text>CUSTOMIZED_VALUE</text>
</option>
</dropdown>Sample.jsp:
===========
<%@page language="java" %>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Automatic Drop-Down Updation</title>
<script language="javascript">
// Global Variable for XmlHttp Request Object
var xmlhttp
// Timer Variables
var c = 0
var t
/* A function which calls a servlet named AjaxServlet to get XmlData using XmlHttpObject */
function refreshCombo(txt){
xmlhttp = null
// code for initializing XmlHttpRequest Object On Browsers like Mozilla, etc.
if (window.XMLHttpRequest){
xmlhttp = new XMLHttpRequest()
// code for initializing XmlHttpRequest Object On Browsers like IE
else if (window.ActiveXObject) {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP")
if (xmlhttp != null){
// Setting the Action url to get XmlData
url = "dropdown.do?count="+txt;
// Course of Action That Should be Made if their is a change in XmlHttpRequest Object ReadyState NOTE : it is 4 when it has got request from CGI
xmlhttp.onreadystatechange = getResponseAction;
// Open the Request by passing Type of Request & CGI URL
xmlhttp.open("GET",url,true);
// Sending URL Encoded Data
xmlhttp.send(null);
else{
// Only Broswers like IE 5.0,Mozilla & all other browser which support XML data Supports AJAX Technology
// In the Below case it looks as if the browser is not compatiable
alert("Your browser does not support XMLHTTP.")
/* Used for verifing right ReadyState & Status of XmlHttpRequest Object returns true if it is verified */
function verifyReadyState(obj){
// As Said above if XmlHttp.ReadyState == 4 then the Page Has got Response from WebServer
if(obj.readyState == 4){
// Similarly if XmlHttp.status == 200 it means that we have got a Valid response from the WebServer
if(obj.status == 200){
return true
else{
alert("Problem retrieving XML data")
/* Action that has to take place after getting reponse */
function getResponseAction(){
// Verifying State & Status
if(verifyReadyState(xmlhttp) == true){
// Building a DOM parser from Response Object
var response = xmlhttp.responseXML.documentElement
// Deleting all the Present Elements in the Drop-Down Box
drRemove()
// Checking for the Root Node Tag
var x = response.getElementsByTagName("option")
var val
var tex
var optn
for(var i = 0;i < x.length; i++){
optn = document.createElement("OPTION")
var er
// Checking for the tag which holds the value of the Drop-Down combo element
val = x.getElementsByTagName("val")
try{
// Assigning the value to a Drop-Down Set Element
optn.value = val[0].firstChild.data
} catch(er){
// Checking for the tag which holds the Text of the Drop-Down combo element
tex = x[i].getElementsByTagName("text")
try{
// Assigning the Text to a Drop-Down Set Element
optn.text = tex[0].firstChild.data
} catch(er){
// Adding the Set Element to the Drop-Down
document.SampleForm.SampleCombo.options.add(optn)
/* Function removes all the elements in the Drop-Down */
function drRemove(){
var x = document.SampleForm.SampleCombo
for(var i = document.SampleForm.SampleCombo.length - 1 ; i >= 0 ; i--){
x.remove(i)
</script>
</head>
<body onload="syncCount()">
<pre> <h1>Refresh Drop-Down <div id='txt'> </div> </h1></pre>
<form name="SampleForm">
<!-- Drop Down which has country list -->
<select name="x" onchange="refreshCombo(this.value)">
<option value="1">United States</option>
<option value="2">United Kingdom</option>
<option value="3">United Arab Emriates</option>
</select>
<!-- Drop Down which is dependent on Country Drop down get list of states -->
<select name="SampleCombo">
<option value="-1">Pick One</option>
</select>
</form>
</body>
</html>
struts-config.xml:
==================
<action-mappings>
<action path="/dropdown" type="com.controlleraction.AjaxActionClass">
<forward name="error" path="/error.jsp"/>
</action>
</action-mappings>AjaxActionClass.java:
=====================
package com.controlleraction;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
public class AjaxActionClass extends DispatchAction {
public ActionForward execute( ActionMapping mapping,ActionForm form,HttpServletRequest request,HttpServletResponse response) throws Exception {
String req = new String("");
try{
req = request.getParameter("count");
} catch(Exception exp){
if(!req.equals("")){
response.setContentType("text/xml");
response.setHeader("Pragma","no-cache");
response.setHeader("Cache-Control","no-cache,post-check=0,pre-check=0");
PrintWriter out = response.getWriter();
/*a sample bean where we trying to call a service from Model*/
com.Biz.XmlBean xml = new XmlBean();
String buffer = xml.getXmlData(req);
if(xml.close() == true && buffer.equals("") == false)
out.write(buffer);
return(null);
} else {
return new ActionForward("error");
}XmlBean.java:
=============
* XmlBean.java
import java.sql.*;
import java.util.*;
import java.io.*;
* @author RaHuL
public class XmlBean {
private Connection con = null;
private PreparedStatement pstmt = null;
private ResultSet rs = null;
// Setting CLASSURL path to TYPE I Driver
private String CLASSURL = "sun.jdbc.odbc.JdbcOdbcDriver";
/* Specifing CONNECTION PATH to a DSN named TestDsn
* Please Make Sure you create a DSN Named TestDsn to your database which holds EMP table
private String CONNECTIONURL = "jdbc:odbc:TestDsn";
boolean IS_ESTABLISHED = false;
/** Creates a new instance of XmlBean and also establishes DB Connections */
public XmlBean() {
try{
Class.forName(CLASSURL);
con = DriverManager.getConnection(CONNECTIONURL,"admin","");
IS_ESTABLISHED = true;
} catch(SQLException sqe){
sqe.printStackTrace();
} catch(Exception exp){
exp.printStackTrace();
/* Generates XmlData For the Business Logic Specified */
public String getXmlData(String req){
String XmlBuffer = new String("");
if(IS_ESTABLISHED == true){
try{
pstmt = con.prepareStatement("SELECT stateid,statename FROM STATE_TABLE where countryid = ?");
pstmt.setString(1,req);
rs = pstmt.executeQuery();
if(rs != null){
XmlBuffer = XmlBuffer + "<?xml version=\"1.0\" encoding=\"ISO-8859-1\" ?>";
XmlBuffer = XmlBuffer + "<!-- Edited by Rahul Sharma -->";
// Root Node
XmlBuffer = XmlBuffer + "<dropdown>";
while(rs.next()){
String value = rs.getString(1);
String text = rs.getString(2);
// Sub-root Node
XmlBuffer = XmlBuffer + "<option>";
// node which holds value of drop-down combo
XmlBuffer = XmlBuffer + "<val>"+value+"</val>";
// node which holds text for drop-down combo
XmlBuffer = XmlBuffer + "<text>"+text+"</text>";
XmlBuffer = XmlBuffer + "</option>";
XmlBuffer = XmlBuffer + "</dropdown>";
}catch(SQLException sqe){
sqe.printStackTrace();
} catch(Exception exp){
exp.printStackTrace();
return(XmlBuffer);
/* Closes the DB Connection Conmpletely */
public boolean close(){
if(IS_ESTABLISHED == true){
try{
pstmt.close();
con.close();
return(true);
} catch(SQLException sqe){
sqe.printStackTrace();
} catch(Exception exp){
exp.printStackTrace();
return(false);
NOTE: I understand i'm not completely coded things as per proper coding standards.please execuse me for that as this example was just given to enable user to learn how XmlHttpRquest,reponseXML
can be used for better purposes instead of devising manual parsing.
where i've used XmlHttpResponse pattern to be in XML. you may make use of other practices like JSON & so on depending on your requirement..
and and if you are more instrested in integrating Struts with AJAX using few frameworks & customized tag based support please go though the below link.
http://struts.sourceforge.net/ajaxtags/index.html
Hope that might help :)
REGARDS,
RaHuL -
Error: System not configured as Integration Engine
Hi ,
I was trying to simulate the following scenario in SAP XI:
HTTP--> SAP XI --> (RFC/BAPI)SAP R/3
Let me clear what i did.
I have to call a BAPI using RFC adapter in XI to display some information on a request of some Http app.
1. I have Imported the RFC BAPI into IR.
2. I have created the XSD files for http Re and res messages.
3. I have created the XSLT mapping programs and put them in a zip file and imported into IR.
4. I have created a Interface mapping and assign the created messages and mapping programs.
5. In ID i have created a Business service for my web application.
6. Receiver determination created in Id and Interface determination and receiver agreement in ID and activated the changes.
7. I have tested the same by sending the request from my web application to xi plain http adapter as follows:
http://grserver:8000/sap/xi/adapter_plain?bs=XIWS_web&namespace=urn%3Axi%3Asap%3Awebapp&interface=HTTP_out&qos=BE
and in the result i have got the following error:
"System not configured as Integration Engine"
but i have tried it many times and some times it gives me correct results but after that the same error ios coming.
so can you tell me what could be wrong in the configuration of XI of what is the solution for this problem.
Reagrds
Gopesh Kumar AgarwalHi,
What is the version of XI you are using? If u are usign XI2.0, ur URL is correct. But if you are using XI3.0 then use <b>service</b>=<SENDERSERVICE>instead of
<b>bs</b>=<SENDERSERVICE> parameter in your URL.
<b>bs</b> is replaced by <b>service</b> in XI3.0
Your URL will be http://grserver:8000/sap/xi/adapter_plain?<b>service</b>=XIWS_web&namespace=urn%3Axi%3Asap%3Awebapp&interface=HTTP_out&qos=BE
Hope this helps you.
Cheers,
Siva Maranani.
Message was edited by: siva maranani
Message was edited by: siva maranani -
Error 500 calling an ES from a BPM
Hi experts,
I have a BPM in XI that calls an ES many times. The standard ESs called are the Create Project Create Network an Create Activity. The BPM calls first of all the create project, then calls the create network, once for each network realted to the main project and then calls the create activity once for each activity realated to each network.
The BPM works fine for few networks and activities, but when calling many networks and activities it returns an error 500 of conection. It will be because the project object gets blocked when its called many times in a little period of time. I think it's not due to the XML or related because if I do the same process but with a wait step between each send it works fine. Do you know how can avoid this problem?
Regards
Gonzaloou are working with XI 3.0 or 7.0. If you have one XI installation across different network domains, host names may not be resolvable across network domains depending on your network setup. For the XI inter-component communication, URLs registered in the System Landscape Directory (SLD) are used.
XI Tools, Integration Engine and XI Adapter Engine register their URLs in the SLD in different ways:
XI Tools: Hostname and port used by the Tools (RWB, Integration Builder -Repository and -Directory) are stored in the Exchange Profile. During J2EE system restart they get self registered in the SLD using the values defined there.
XI Adapter Engine: In case of the XI Adapter Engine, these URLs are automatically entered to the SLD as part of the Adapter Framework self registration process. Host and port are taken from the J2EE server.
In most cases the host name in these URLs is not fully qualified whereas in cross-domain scenarios fully qualified host names are required.
Solution
The problem can be solved in most cases by forcing the XI self-registration to use fully qualified host names.
For XI Integration Builder, Integration Engine and Runtime Workbench, you accomplish this by entering fully qualified host names in the XI Exchange Profile, then initiating a new self-registration (restarting the J2EE engine).
For the Adapter Engine, the approach is different: Change the properties "SLD.selfregistration.httpPort", "SLD.selfregistration.httpsPort" and "SLD.selfregistration.hostName" of the J2EE service SAP XI AF CPA Cache. Enter the fully qualified host name under which the Adapter Engine can be reached from all relevant network domains. Do this in the Visual Administrator of the J2EE Engine. Then restart the applications "com.sap.aii.af.cpa.app" and "com.sap aii.af.app", or restart the complete J2EE engine. This triggers a new Adapter Engine self-registration.
Go in the Integration Server (IS) to transaction "SXI_CACHE -> Goto -> Adapter-Engine-Cache" and delete the old Adapter Engine cache entries. After that the cache is refreshed from SLD as soon as a new message in sent to the respective Adapter Engine.
Check: After restart, navigate in SLD through "Content Maintenance -> XIAdapter Framework" to your Adapter Engine. As part of the "associated instances" you find e.g. at "XI Adapter Service XIRA -> Associated Instances -> Port for XIRA of af.<SID>.<hostname>" the new URL with the fully qualified host name.
regards
chandra
Maybe you are looking for
-
Delivery Completed indicator for PO of Services
Hello everyone! The PO for materials/goods has a delivery completed indicator in the Delivery tab of the Item Detail. But if the PO is for Service, we can not find a delivery completed indicator. Does the system have a counterpart of that indicator f
-
Quelqu'un peut m'aider???????????,,,,,,,,
-
CONSOLIDATION Package not updating Retained Earning Accounts(7.5NW, SP09)
Hi all During consolidation data manager package run, the package is not updating "retained earnings accounts from PL and BS" of income statement items which are belongs to IC elimination. please provide your feed/advice on this issue thanks raman
-
I have following code to process XML with XSLT processor. I am getting no output. Is anything wrong with code ? Please help, Arun begin xml_clob clob; xsl_clob clob; buffer VARCHAR2(4000) := NULL; p Xmlparser.Parser; Xml_doc Xmldom.DOMDocument; xmldo
-
Has anybody done this before?? could you provide me with some links? And one very basic question, does HTTP expect any information from TCP with respect to acknowledgment and all those stuff or everything handles by TCP?? Thanx