How to perform auth check on Web Service calling BAPI in R/3 via XI?
Hi all,
We are running Net weaver PI 7.0 SPS11 and 4.6C R/3 and working on proof-of-concept project using BAPIs exposed on XI as Web Services and called from external SOAP client (MS SharePoint). We got it working fine with HTTPS and SOAP protocol as Sender and RFC Adapter as Receiver to R/3.
Now we want to add authentication and authorization to this scenario...authentication will probably be SSO and SSL/HTTPS, but we are wondering how to handle authorizations in R/3? RFC Adapter channel is configured with system user, so once BAPI is called this use runs transactions in R/3 and in R/3, where the authorization is checked, we have no visibility which user requested Web service
Is there any way we could extract user is from HTTP header and have it dynamically used in RFC Adapter channel config? Or maybe there is another way to handle this?
Any insights how to resolve this issue will be greatly appreciated.
Thanks
Margaret
We found solution, PP can be configured on XI to have user running transaction known on R/3 backend system, so authorizations can be invoked.
Similar Messages
-
How can we make a external web service call within tjspSelfRegistrationTile
Hello Gurus,
Can anybody tell me how can we include a JAVA code within the tjspSelfRegistrationTiles.jsp page? so that we can make a external web service call which includes the logic of validating the UDF values?
The requirement is to validate the value of a field provided by the user on the OIM self registration page. If the user has provided invalid value for that particular field then the user should not be able to register himself - an error message should be displayed. I have to compare the value provided by the user with some already hard coded ones within the JAVA code. If the value of the field is one of the hard-coded ones then only the user should be able to register himself.
Any Response/ideas/concepts truly appreciated.
TIA,
- oidm.Have you ever tried something like this?
1) Create an error message definition where error code starts with Adapter. for example, ADAPTER.Invalid_TemporaryAccess_Dates.
2) Create an entity adapter and assigns it to the Request object, pre-insert;
3) Logic of your adapter
Tests if the REQ_OBJ_ACTION is Create Entity
Performs your validations
Handles an error the validation is not ok
Thanks,
Renato. -
How to use (greater than) in web services call
Hello, I am trying to query a set of assets where the external unique ID is greater than 400,000. My existing code looks like
qryIn.ListOfAsset(0).ExternalSystemId = ">'400000'"
However, using this will return any asset record starting with a 5 or above as far as I can tell, I assume b/c it is comparing string data due to the single quotes infering data of type text (string). Is it possible to use comparison operators with numeric data correctly?
I posed this question to support and received the below answer:
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <soap:Body> <AssetWS_AssetQueryPage_Input xmlns="urn:crmondemand/ws/asset/"> <ListOfAsset xmlns="urn:/crmondemand/xml/asset"> <Asset> <AssetId /> <PurchaseDate/> <OwnerAccountId /> <ExternalSystemId>> '400000'</ExternalSystemId> </Asset> </ListOfAsset> </AssetWS_AssetQueryPage_Input> </soap:Body> </soap:Envelope>
Basically, instructing me to use >. I'm doing coding in .NET visual studio and not using the XML as above. However, I did try the following:
qryIn.ListOfAsset(0).ExternalSystemId = ">'400000'" which returned an error in the compiler.
Any help would be appreciated. Thanks.Thanks for the reply. I would assume "external system id" is an integer, but, I will test on a custom field that I now is of type integer.
Could you take your same code and use a non-zero value for the operand? For example, could you try
objAccQryParam.ListOfAccount[0].CustomInteger0 = ">= '10'"; and let me know if that returns values that are greater than or equal to 10. Using a two digit number is important. Assuming you have data greater than 10.
Thanks! -
How to see http response from an axis web service call (Eclipse)
Hello,
I would like to see the raw http response which is returned from web service calls. I have a dynamic web project in Eclipse which uses a local instance of Tomcat 6. I'm using all of the default setting for a top-down web service generated from a WSDL file. I've generated the client using the built-in "generate client" using default settings.
I've tried using the Eclipse plugin TCP/IP monitor and apache's TCPMON, but I am only able to see the http request, not the http response returned from the web server I am querying.
I've seen some sparse documentation outlining how to use logging handlers and a client-config.wsdd file, but I haven't been able to get that working.
So to recap, I'm looking for a way to view raw http responses using a web service client and server generated from a WSDL file in eclipse. I don't mind creating a new project using different code-generating libraries if someone has an easy way to do this using a different configuration.
Thanks very much,
Craig908794 wrote:
Hello,
I would like to see the raw http response which is returned from web service calls.Why the HTTP response? Isn't the soap message body enough? If it is, you probably want to check out SoapUI.
A simple google query for "apache axis2 http response" also return this article:
http://blogs.cocoondev.org/dims/archives/004668.html
And finally, you did go through the Axis2 website right? It has a wiki with a rather staggering amount of articles in there.
http://wiki.apache.org/ws/FrontPage/Axis2/ -
How to install and consume GroupWise Web Service (SOAP)
Hello! I'm Razvan, programmer from Romnia, and I am new to GroupWise development.
I am asking if anyone could help me with a C# Visual Studio 2010 example of how to install and consume GroupWise Web Service (SOAP).
The documentation from novell site didn't help me, i didn't understant much of it.
All I need is either a link to a documented GroupWise C# developer step-by-step tutorial, or some code examples.
Can you please show me some code examples in C# with:
1)loging in using a username and a password,
2)retrieving contact list,
3)retrieving appointment list,
4)sending a mail,
5)setting an appointment
I don't know how to use "groupwise.wsdl" and customise it so that it points to our GroupWise server.
Please, I really need this because I am working at a project right now which involves GroupWise integration.
I hope I haven't disturbed anyone with my simple question.
I know this might be a very simple question given the complexity of the other posts here, but that's why I really hope I will get an answer soon.
Thank you very much!
Signature:
How old is the Orthodox faith?
How old is the orthodox faith?Just a comment.
The value for the version element should be "1.02"
not "1.2".
Preston
>>> On Tuesday, March 01, 2011 at 8:06 AM,
TheRomanian<[email protected]> wrote:
> I have great news! After strong documentation yesterday and today, I've
> just made a successfull example that actually connects to our GroupWise
> server.
>
> I made it in PHP.
>
> I need an ASP.NET + C# application, but now is very simple to convert
> it. I post the PHP code here for other people who in future might be
> interested in finding out.
>
> So a simple PHP GroupWise Login code using "groupwise.wsdl" web
> service:
>
>
> require_once('./GWService/GroupwiseService.php');
> require_once('FB.class.php');
>
> $classmap = array(
> 'Authenication' => 'Authenication',
> 'PlainText' => 'PlainText',
> 'loginRequest' => 'loginRequest',
> 'loginResponse' => 'loginResponse',
> 'logoutRequest' => 'logoutRequest',
> 'logoutResponse' => 'logoutResponse',
> 'UserInfo' => 'UserInfo',
> );
>
> $gwservice = new GroupwiseService(
> "./WSDL/groupwise.wsdl",
> array(
> "location" => "http://11.150.40.78:8756/soap",
> *Your GroupWise server IP:
> and PORT*
> "classmap" => $classmap,
> "trace" => true)
> );
>
> // do login
> $pt = new PlainText();
> $pt‑>username = *"YOUR GROUPWISE USERNAME"*;
> $pt‑>password = *"YOUR GROUPWISE PASSWORD"*;
>
> $lr = new loginRequest();
> $lr‑>auth = $pt;
> $lr‑>language = "en";
> $lr‑>version = "1.2";
> $lr‑>application = "phpClient";
>
> $lres = $gwservice‑>loginRequest($lr);
> //print_r($lres);
>
>
> I Hope this will help others.
>
> ‑‑
> Signature:
>
> How old is the Orthodox Faith?
> 'How old is the orthodox faith?'
> (http://www.orthodoxphotos.com/history.shtml) -
Basic auth with RESTful WEb service and Web Service reference
Hi, All,
We have made much progress on getting an application working wtih RESTful web services but now are trying to figure out how to lock down a RESTful Web service while making it available for a particular application.
We are using one of the sample 'emp' table web services that come with Apex 4.2 and are trying to apply Basic Auth to the WEb Service via Weblogic filter defined in the web.xml file. That works fine. I now get challenged when I try to go to :
https://wlogic.edu/apex/bnr/ace/hr/empinfo/
And when I authenticate to that challenge I am able to get the data. (we are usiing LDAP authentication at the Weblogic level)
However, I am not sure how to get same basic authentication to work with the Web Service reference in my application. I see the error message in the application when I try to call that Web Service:
401--Unauthorized<
And I see:
"The request requires user authentication. The response MUST include a WWW-Authenticate header field (section 14.46) containing a challenge applicable to the requested resource. The client MAY repeat the request with a suitable Authorization header field (section 14.8). If the request already included Authorization credentials"
How do I provide the credentials in the Web REference or do I provide credentials in the Application?
Web service works fine if I remove the RESTful web service basic auth from the Web.xml file.
Should we NOT use Weblogic basic auth and instead use basic auth from Workspace RESTful web service definition. If so, how do we implement THAT basic auth in the Web Service definition and in the Web SErvice Reference on the application?
Thanks,
PatWhat I mean is diid you try to use the PL/SQL package for APEX webservice. Here is an example I use (modified and shortened, just to show how much better this is than to use it from the application).
CREATE OR REPLACE PACKAGE webservice_pkg
IS
PROCEDURE create_webservice (
p_id IN NUMBER,
p_message OUT VARCHAR2,
p_workspace IN VARCHAR2 DEFAULT 'MY_WORKSPACE',
p_app_id IN NUMBER DEFAULT v ('APP_ID'),
p_app_session IN VARCHAR2 DEFAULT v ('SESSION'),
p_app_user IN VARCHAR2 DEFAULT v ('APP_USER')
END webservice_pkg;
CREATE OR REPLACE PACKAGE BODY webservice_pkg
IS
PROCEDURE set_credentials (
p_workspace IN VARCHAR2,
p_app_id IN NUMBER,
p_app_session IN VARCHAR2,
p_app_user IN VARCHAR2
IS
v_workspace_id NUMBER;
BEGIN
SELECT workspace_id
INTO v_workspace_id
FROM apex_workspaces
WHERE workspace = p_workspace;
apex_util.set_security_group_id (v_workspace_id);
apex_application.g_flow_id := p_app_id;
apex_application.g_instance := p_app_session;
apex_application.g_user := p_app_user;
END set_credentials;
PROCEDURE create_webservice (
p_id IN NUMBER,
p_message OUT VARCHAR2,
p_workspace IN VARCHAR2 DEFAULT 'MY_WORKSPACE',
p_app_id IN NUMBER DEFAULT v ('APP_ID'),
p_app_session IN VARCHAR2 DEFAULT v ('SESSION'),
p_app_user IN VARCHAR2 DEFAULT v ('APP_USER')
IS
v_envelope VARCHAR2 (32000);
v_server VARCHAR2 (400);
v_url VARCHAR2 (4000);
v_result_url VARCHAR2 (1000);
v_collection_name VARCHAR2 (40) := 'PDF_CARD';
v_message VARCHAR2 (4000);
v_xmltype001 XMLTYPE;
BEGIN
v_url := v_server || '.myserver.net/services/VisitCardCreator?wsdl';
FOR c IN (SELECT *
FROM DUAL)
LOOP
v_envelope :=
'<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" '
|| 'xmlns:bran="http://www.myaddress.com">'
|| CHR (10)
|| '<soapenv:Header/><soapenv:Body>'
|| CHR (10)
|| '<parameter:'
|| 'some_value'
|| '>'
|| CHR (10)
|| '<bran:templateID>'
|| p_id
|| '</bran:templateID>'
|| '</soapenv:Body>'
|| CHR (10)
|| '</soapenv:Envelope>';
END LOOP;
set_credentials (p_workspace, p_app_id, p_app_session, p_app_user);
BEGIN
apex_web_service.make_request
(p_url => v_url,
p_collection_name => v_collection_name,
p_envelope => v_envelope
p_message := 'Some message.';
EXCEPTION
WHEN OTHERS
THEN
v_message :=
v_message
|| '</br>'
|| 'Error running Webservice Request. '
|| SQLERRM;
END;
BEGIN
SELECT v_result_url
|| EXTRACTVALUE (VALUE (t),
'/*/' || 'Return',
'xmlns="http://www.myaddress.com"'
xmltype001
INTO v_result_url,
v_xmltype001
FROM wwv_flow_collections c,
TABLE
(XMLSEQUENCE (EXTRACT (c.xmltype001,
'//' || 'Response',
'xmlns="http://www.myaddress.com"'
) t
WHERE c.collection_name = v_collection_name;
EXCEPTION
WHEN OTHERS
THEN
v_message := v_message || '</br>' || 'Error reading Collection.';
END;
EXCEPTION
WHEN OTHERS
THEN
p_message := v_message || '</br>' || SQLERRM;
END create_webservice;
END webservice_pkg;
/If you use it this way, you will find out what the problem is much faster.
Denes Kubicek
http://deneskubicek.blogspot.com/
http://www.apress.com/9781430235125
http://apex.oracle.com/pls/apex/f?p=31517:1
http://www.amazon.de/Oracle-APEX-XE-Praxis/dp/3826655494
------------------------------------------------------------------- -
Help me! How to use it as a web service from third party application?
After using JDeveloper to develop BSSV object e.g. JP550010, how to use it as a web service from third party application?
TKS!Obviously the OP is working on a project for the Bead Society of Southeastern Virginia http://www.bssv.org. Oh, wait, maybe he's researching the Blueberry Shoestring Plant Virus http://abbreviations.yourdictionary.com/bssv
:D
John -
How to connect to database in web service??
Hi all,
How to connect to database in web service ? Can anyone give some advice what kind of database should i use? thanksNo difference. Just connect as usual!
Let me give you an example:
Code to connect to postgresql db ...
public Connection connectPostgresql(String servername, String dbname, String username, String password)
Connection conn = null;
try
// Load the JDBC driver
String driverName = "org.postgresql.Driver";
Class.forName(driverName);
// Create a connection to the database
String url = "jdbc:postgresql://" + servername + "/" + dbname;
conn = DriverManager.getConnection(url, username, password);
return conn;
catch (ClassNotFoundException e)
// Could not find the database driver
return conn;
catch (SQLException e)
// Could not connect to the database
return conn;
}Code for an axis web service ...
public Element[] updateProfile(Element[] params)
String message = "";
// get str 1
Node node1 = params[0].getFirstChild();
String str1= node1.getNodeValue();
// get str 2
Node node2 = params[1].getFirstChild();
String str2= node2.getNodeValue();
Connection conn = connectPostgresql ("localhost","myDatabase","myUsername","myPassword");
// there is a method to insert these params to db
boolean isInserted = insertParams(conn, str1, str2);
if(isInserted )
message = "OK";
else
message = "Not OK";
// constructs an array of DOM Elements for message to send back to client
SOAPBodyElement[] response = new SOAPBodyElement[1];
response[0] = new SOAPBodyElement(XMLUtils.StringToElement("urn:foo", "e1", message));
return response;
}Gokce. -
How to start a batch job through a web service call
I have a batch job created Data Services that I would like to be able to start through a web service call.
I have exposed the batch job as a Web Service through the mangement console.
The Integrators guide is not the clearest piece of documentation that I have ever read so I'm now having a little trouble.
In C# I'm issuing the following statements:
DataServices.Batch_JobsClient batchClient = new DataServices.Batch_JobsClient();
batchClient.Open();
DataServices.Testjob_Match_GlobalVariables myVar = new DataServices.Testjob_Match_GlobalVariables();
myVar.ptd_FilePath = "D:
Jobs
Test";
batchClient.Testjob_Match(myVar);
That all executes without error -- but the job is not started. Obviously I'm missing a step here but I can not figure out what is needed to acutally start the job execution from the Integrators Guide.
Any help would be appricated.first test invoking the batch job webservice using SoapUI
does your client application logs the SOAP message that is sent to DS WebServer ?
Check the %LINK_DIR%\lg\webservices.log if there is any errors logged in it ? -
How to retrieve error message(s) after failed web service call
Hi!
I tried to create an item using the web service ego_item_pub.process_item and it worked ok (version 12.1.1). Sending the same request again, I got an error which should be ok since the item id already exists. The thing is, that I only get an "E" as return status:
<X_RETURN_STATUS>E</X_RETURN_STATUS>
<X_MSG_COUNT>1</X_MSG_COUNT>
As described in the integration repository, there should be a parameter called msg_data which should contain the message if there is exactly 1 message, but I cannot find it.
So, I tried to get the message using fnd_message.get, but the response of my web service call is:
AuthorizationFailure : User not authorized to execute service. (I use sysadmin/sysadmin as ws security user).
I use the following grant details:
All Users Direct GLOBAL Revoke Action Enabled
SYSADMIN SYSADMIN Direct USER
What else can I do or how can I retrieve error messages for a failed web service call?
Thanks a lot,
KonradHi Konrad,
As we've found out, search the Integration Repository for internal name ERROR_HANDLER and use that. Letting the general public know the answer for this one!
Regards,
Gareth
http://garethroberts.blogspot.com -
(268625273) Q WSI-29 Can you give any performance benchmarks for WLS web services?
Q<WSI-29> Can you give any performance benchmarks for WLS web services?
A<WSI-29>: It is very difficult to quantify performance aspects of web services
since they depend on so many variables including but not limited to: backend system
processing by stateless session beans and message driven beans, size of XML SOAP
message sent, system hardware (CPU speed, parallel processing, RAM speed) and
system software (JVM type and version of WebLogic server). However, let me point
out that the EJB backend processing of requests both have the best possible scalability
within the EJB2.0 specification (both stateless session and message driven beans
can be pooled) and servlets have a proven scalable track record. Thus it should
be possible to scale your web service deployment to meet demand. The overhead
in processing XML within the servlet can be significant depending on the size
of XML data (either as a parameter or a return type). While WLS6.1 does not have
any features to address this performance concern, WLS7.0 will feature Serializer
and Deserializer classes which can be dedicated to the XML to Java and Java to
XML translation (they can also be automatically be generated from a DTD, XML Schema
or regular JavaBean).
It is true that web services are not the fastest way to process client requests
but BEA is committed to making WebLogic server the fastest possible service provider.
Adamsee http://www.oracle.com/support/products/oas/sparc30/html/ows08811.html
-
How to consume sap xi pi web services or sap RFC with oracle 11g forms.
Dear All
how to consume sap xi pi web services or sap RFC with oracle 11g forms.
or
how to config 11g forms with sap xi....
or how to call sap xi web services in 11g forms....
or can send sample code....
Regards
smfatmi
Edited by: smfatmi on Oct 17, 2011 2:16 AM
Edited by: smfatmi on Oct 17, 2011 2:17 AMDear All
how to consume sap xi pi web services or sap RFC with oracle 11g forms.
or
how to config 11g forms with sap xi....
or how to call sap xi web services in 11g forms....
or can send sample code....
Regards
smfatmi
Edited by: smfatmi on Oct 17, 2011 2:16 AM
Edited by: smfatmi on Oct 17, 2011 2:17 AM -
How to deploy and debug java web service in eclipes or using any other soft
Hai,
can any one tell me how to deploy and debug java web service in eclipes or using any other software.
i have used tomcat web server and jdk1.4.0 to develop web service.
we have used web service to interact with MS outlook .
bye
sudhakar.mHi Sudhakar,
If you are used to working with ant then you can very well use eclipse to deploy your web service.
You would usually have the ant script in the source root working directory. From eclipse if you select the build file from the navigator view and right click you will see a run ant option in the pop up menu.
Select that option and you would be able to see each targets with a checkbox select option. So define each target maybe one for wsdl2java conversion, one for compilation and one for deploying your web services. You can either make all of them run by having depends option on or you can run them individually as it takes your fancy.
I am not sure about debugging a web service yet.
Hope this helps
Aviroop
The truth is out there? Does anyone know the URL? -
How to create Query as a web service in Business Objcets
Hi Friends,
Can any one please guide me ' How to create Query as a web service in Business Objects'.
Thanks in advance.
Thanks & Regards,
Ramnaresh.P.Hi,
which version of BOBJ are you using?
Regards
Stratos -
How can I use web service call for edit a report with SSRS in Java Struts2 web application
Hello im new in SSRS technologie and I would like make web service call at my SSRS server. Is sombody can help me ?
- What API should I import in my project ? I use Maven can I found this API on Maven repository ?
- I would like have an sample of code which initialize the ReportingService, do the call and process result.
We use the SQL Server ReportingService 2008 R2 and currently we made HTTP call like this : http://<ssr_server>/ReportServer/Pages/ReportViewer.aspx?%2fSSRS_OMB%2fMyReport&rs:Command=Render&MyParam=<value>
RegardsHi ombinte,
SQL Server Reporting Services provides access to the full functionality of the report server through the Report Server Web service. Because the Report Server Web service is an XML Web service which uses Simple Object Access Protocol (SOAP) over Hypertext Transfer
Protocol (HTTP), any SOAP-aware application or development tool can communicate with the SSRS web service.
There are three primary ways to develop Reporting Services applications based on the Web service, please see:
Develop applications using Microsoft Visual Studio and the Microsoft .NET Framework SDK.
Develop applications using the rs utility (RS.exe), the Reporting Services script environment.
Develop applications using any SOAP-enabled set of development tools.
For more information about Report Server Web Service, you can refer to the following document:
http://technet.microsoft.com/en-us/library/ms152787.aspx
Hope this helps.
Thanks,
Katherine Xiong
Katherine Xiong
TechNet Community Support
Maybe you are looking for
-
Is there any limit on JavaScript code used in forms?
Hi, Is there any limit on JavaScript code that we can put in the submit button JavaScript Event Handler's 'onClick' event ? I have a code wherein I am calling alert 100 times , but till 90 times it works and if I include the last 10 alerts in the cod
-
What is the best -according to you- failover WAN solution for hub-and-spoke design network, the central office and all the other sites (10 total) will be within 50 miles, has anyone been faced with same decision making issue? Primary circuits will be
-
Can't reinstall OS 10.3 over 10.3.9
I am currently running OS 10.3.9. After attempting to upgrade Safari, I found that both Safari and Mail would no longer open. The icon bobs a few times, but that's all. I searched the forums and found that other people had experienced this problem, b
-
(Same as above). The subject screen now contains the same information that is under Bookmarks at the top of the monitor.
-
HI I have this phone 2 weeks. I'm trying to upgrade the phone but it's not work. intallation faild : failed to install ota package/ what can i do? thank you Solved! Go to Solution.