Steps required to enable webservice calls in SAP ECC 6.0
Hi Friends,
I'm working on XI, more on part of webservices and as I dont have a good knowledge on BASIS part, I would like to know the steps required to enable the webservice calls in SAP ECC 6.0.
Blogs/documents could be helpful.
Thanks in advance
duplicate thread
[Required infrastructure to enable web service calls in SAP ECC 6.0 system;
Similar Messages
-
Required infrastructure to enable web service calls in SAP ECC 6.0 system
Hi Friends,
I'm working on XI, more on part of webservices and as I dont have a good knowledge on BASIS part, I would like to know the steps required to enable the webservice calls in SAP ECC 6.0.
Blogs/documents could be helpful.
Thanks in advance.You will have to create a receiver communication channel of type RFC adapter to connect to your ECC from XI .
u will have to enter the details of your ECC box like
application Server
system number
in the communication channel.
You will also have to create a user in the ECC which you will use in the RFC communication channel to connect.
YOu will also have to create Business System in your SLD corressponding to the ECC . -
WebService call from SAP outside NetWeaver
Hi,
can I call a webService from SAP outside NetWeaver? E.g. to call it directly from a RFC function module or other components?
Best regards
NicoleHi,
ist it, you want to consume a web service in ABAP?
That can be done, yes. Searching exactly this on SDN brings up a lot of content like this: [Providing and Consuming Web Services in ABAP|https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/30f1b585-0a01-0010-3d96-ad0ea291c4f9] from my colleague Peter Mc Nulty.
Regards,
Benny -
Hi All,
We have created client proxy using URL for Asyn method and for the proxy we created the logical port in SOAMANAGER .
then used method of Client Proxy in program and execued the same .
Then we checked the result in SXI_monitor. The request for this method can be seen there but it shows an Error.
Error type is "Sequence" and Execution state is "WSRM_CREATE_FAILED".
I get an error
XRFC>
<
XRFC> TRACE SOAP RUNTIME - trace records
<
XRFC>
<
XRFC> ------------------------------------------------------------------ <
XRFC> E SOAP_RUNTIME 20120510151904.4227980 : CL_SOAP_RUNTIME_CLIENT
<
XRFC> ->EXEC_PROCESSING Exception handling in SOAP runtime
<
XRFC>
<
XRFC>
<
XRFC> E HTTP_TRANSPORT_BINDING 20120510151904.4121990 : CL_SOAP_HTTP
<
XRFC> _TPBND_ROOT ->HANDLE_STATUS_CODE Received return code 500 (
<
XRFC> Internal Server Error )
<
XRFC>
<
XRFC>
<
XRFC> E SOAP_RUNTIME 20120510151904.4227690 : CL_SOAP_RUNTIME_CLIENT
<
XRFC> ->EXEC_PROCESSING SOAP Fault Exception caught: : The message with <
XRFC> Action 'http://schemas.xmlsoap.org/ws/2005/02/rm/CreateSequence'
<
XRFC> cannot be processed at the receiver, due to a ContractFilter
<
XRFC> mismatch at the EndpointDispatcher. This may be because of either <
XRFC> a contract mismatch (mismatched Actions between sender and
<
XRFC> receiver) or a binding/security mismatch between the sender and
<
XRFC> the receiver. Check that sender and receiver have the same
<
XRFC> contract and the same binding (including security requirements,
<
XRFC> e.g. Message, Transport, None).
<
XRFC>
<
XRFC> ---------------------------------------------------------------------
XRFC> End of user trace
The request is reaching the server with error.
Attached are the screen shot of the input from SAP and the message at the receiver side .Hi,
ist it, you want to consume a web service in ABAP?
That can be done, yes. Searching exactly this on SDN brings up a lot of content like this: [Providing and Consuming Web Services in ABAP|https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/30f1b585-0a01-0010-3d96-ad0ea291c4f9] from my colleague Peter Mc Nulty.
Regards,
Benny -
I know i'm kind of asking a lot here...but can someone walk me through the procedure. I have AD connectivity working already, groups, users, etc are syncing properly. I want to create a experience definition that leverages WIA to automatically log in a user. Can someone list out the tasks? I've tried tinkering around with the authentication source steps and nothing was working for me.
http://download.oracle.com/docs/cd/E13174_01/alui/ali/docs61/admin/sso.html#wp1046564
do i create a new authentication source? and it 'partners' with my current authentication source?
For step 2, i'd like to hook up some way for users to 'opt-in' to the SSO functionality....but i'll wait on that part until I get basic SSO working.You would not pick BasicSSO for WIA.
See the following article for steps to set up WIA with an authentication source:
Login to metalink.oracle.com
Search for knowledge article "849654.1" entitled "Configuring WIA SSO with single or multiple active directory domains".
You do not need to set up a seperate authentication source. The partner "SSO Authentication Source" already exists, you just need to select it from the dropdown.
You do not need an experience definition to set up WIA, but you could of course set one up to give those users a different experience (ie. different default community, header, or footer, etc).
I can't see any out of the box method for allowing users to opt-in to the sso functionality. Sounds like a good feature though. -
What are the roles need to add for webservice user in SAP ECC 6.0
Dear SDNS,
Can you please help me to understand , what are the roles needed to add while creating a webservice user in ABAP STACK.
Really appreciate your immediate help and response.
Thanks and Regards.
SurajHi Suraj,
Please refer to this link & apply the role/s as per the requirements for the web service user:
[http://help.sap.com/saphelp_nwpi71/helpdata/en/2b/07074155bcf26fe10000000a1550b0/content.htm]
Best Regards, Trevor -
Webservice call failed during execution (SSL and certificates) on NetWeaver 7.30
Hey experts,
i need your help!
We make webservice calls to sap me with our own software.
We connect to our software via SSL and certificates e.g. https://host:50001/XMII/CM/POD/MEDialogsWeb.irpt
At the beginning the software runs without any problems and than we become the following message on all our webservice:
thats the webservice configurations
(configuration - connectivity - single service administration):
(configuration - security - authentication and single sign-on)
if we restart the software after the error display, the webservice call runs successfully again.
is it a timeout?
can anybody help us?
Thanks,
Markus
our system info:
NetWeaver 7.30 Java
SAP ME 6.0
software runs log looks as following
software doesn't runs log looks as following
security Log Entry
more info from security_00.0.log
#2.0 #2014 06 06 14:51:17:136#+0200#Warning#/System/Security/WS#
com.sap.ASJ.wssec.020142#BC-ESI-WS-JAV-RT#tc~sec~wssec~service#C0000A650AD826FF0000000100000BEC#3855850000000005#sap.com/me~ws#com.sap.engine.services.wssec.authentication#Guest#0##207092CAED7111E3A01A0000003AD5EA#23386e31ed7911e39d560000003ad5ea#23386e31ed7911e39d560000003ad5ea#0#Thread[HTTP Worker [@648881277],5,Dedicated_Application_Thread]#Plain##
Received unsupported callback: com.sap.engine.interfaces.security.auth.SetLogonTicketCallback
Received unsupported callback: com.sap.engine.lib.security.http.HttpSetterCallback
Read data of type username and value MEFLEX from wsse:Security header and set on module javax.security.auth.callback.NameCallback
Read data of type username and value from HTTP header and set on module javax.security.auth.callback.NameCallback
Read data of type password and value xxx from wsse:Security header and set on module javax.security.auth.callback.PasswordCallback
Read data of type password and value xxx from HTTP header and set on module javax.security.auth.callback.PasswordCallback
Authentication for web service ShopOrderService, configuration ShopOrderService using security policy BASIC*SSO2*_*_*ws failed: Cannot authenticate the user.. (See SAP Note 880896 for further info).Hi,
the authentication for the second call is failing. Have you tried suggest log level from note 880896 - Web Service authentication failure? I would also try to use something like SoapUI to test if the issue is caused by your application or something wrong on SAP side. Also coparing messages for the first and second calls might give you answer.
Cheers -
Requirements for upgradation from 4.7 to ECC 6.0
Hi Guru's,
Can anybody explain what are the steps required for upgradation from 4.7 to ECC 6.0, technically and functionally. If any body have documents regarding the same, please share.Full marks will be awarded.thanx in advance....Hi
You have to aware of all related program like BDC's , Screens related errors and all dictionary related problems.
Some function modules may become obsolete, and some screens will change
abnd some new fields will be added in the new versions etc.
Also take care of SPAU and SPDD tcodes.
You should be able to know about Unicode concept in sap.
chk this
http://www.thespot4sap.com/upgrade_guide_v2.pdf#search=%22upGRADE%20STEPS%20-%20SAP%22
also chk these 2 notes in service.sap.com
Technical Upgrade is only a version upgrade without any functionality changes.
The objects that are needed to be upgraded are:
Includes
Function Groups / Function Modules
Programs / Reports
OSS Notes
SAP Repository Objects
SAP Data Dictionary Objects
Domains, Data Elements
Tables, Structures and Views
Module Pools, Sub Routine pools
BDC Programs
Print Programs
SAP Scripts, Screens
User Exits
You can refer to the below links for more information on technical upgrade:
https://www.sdn.sap.com/irj/sdn/wiki?path=/display/profile/2007/05/07/upgradeFROMR3TOmySAPERP-PARTII&
https://wiki.sdn.sap.com/wiki/display/profile/UPGRADEFROMR3TOmySAPERP-PARTIII
http://help.sap.com/saphelp_nw2004s/helpdata/en/60/d6ba7bceda11d1953a0000e82de14a/content.htm
http://help.sap.com/saphelp_nw04/helpdata/en/2e/6d66647d9011d396b60000e82de14a/content.htm
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/5ac31178-0701-0010-469a-b4d7fa2721ca
Reward points if useful
Regards
Anji -
Is any 3rd party hardware/platforms required to enable communi with SAP?
Hi Gurus,
What server side hardware/platforms are required to enable communication with SAP mobile devices? What would be a typical production setup? Would there be any 3rd party components here that would require licensing?
Thanks in Advance,
DharaniHi,
if you want to communicate with SAP Mobile devices - you need a SAP Netweaver installation in Mobile UsageMode. This is called the middleware system. It is not recommended to have this setup onn your Backend system but to have a dedicated server for it - cause of Workload, performance and monitoring.
If you run MI client on a PDA - then you need to install NSICom Creme as Java runtie on PDA - but the license is already included in SAP MI lizensing cost.
If you have to support larger Datasets, then you might need to install DB2e as persistence layer. This causes an additional licensing you need to pay to IBM - I think via SAP, but well, at the end you need to pay something on top if you run DB2e. The normal used persistence is free of charge. It is called FileIO up to MI7.0, with MI7.1 it is called MinDB.
So all you really need, is a dedicated Netweaver Mobile Box.
Hope that helps!
- oh I have seen - check your other post on that topic as well .--- this post here is for occasionally connected apps - this other post talks about MobileOnline as well---
Regards,
Oliver
Edited by: Oliver Kaluscha on May 23, 2008 3:47 PM -
Oracle 10gR2 WebService Call-In & Call-Out via PL/SQL (Step-by-Step Guide)
Hi Everyone,
This guide is for those of you who tried to Call-In and Call-Out WebService via Oracle 10gR2 using PL/SQL but failed a couple of times, re-installed a couple of times and retry, got it to work but don't know what made it work scenarios.
Hope this helps ;-)
Thanks,
Henry Wu
Instructions on how to use Oracle10gR2 Webservice Call-Out feature (Oracle JAX-RPC DII - Dynamic Invocation (DII) APIs)
PREREQUISITE
=================================================================
1. Download Oracle Database 10g Release 2 (10.2.0.1.0) (ZIP, ~655MB)
http://www.oracle.com/technology/software/products/database/oracle10g/htdocs/10201winsoft.html
http://download.oracle.com/otn/nt/oracle10g/10201/10201_database_win32.zip
1.1 Choose Enterprise Edition
2. Download 10.1.3.1 Callout Utility for 10g (R1 +R2) RDBMS (ZIP, ~13MB)
http://download.oracle.com/technology/sample_code/tech/java/jsp/dbws-callout-utility-10131.zip
2.1 Extract to C:\oracle\product\10.2.0\db_1\dbws_callout_utility_10131
3. Download OC4J Standalone - Oracle Containers for J2EE (OC4J) 10g Release 3 (10.1.3.3) (ZIP, ~93MB; Pure Java—runs on all certified platforms)
http://www.oracle.com/technology/software/products/ias/index.html (Download Site)
http://download.oracle.com/otn/java/oc4j/101330/oc4j_extended_101330.zip
3.1 Extract to C:\oracle\product\10.2.0\db_1\oc4j_extended_101330
STEP-BY-STEP PROCEDURES
=================================================================
1. Prepare the database
1.1 Connect to SYS account (or any account that can connect as SYSDBA)
1.2 alter system set shared_pool_size=96M scope=both
1.3 alter system set java_pool_size=80M scope=both
1.4 ALTER USER SCOTT ACCOUNT UNLOCK;
1.5 ALTER USER SCOTT IDENTIFIED BY "tiger";
1.6 ALTER USER SCOTT QUOTA UNLIMITED ON USERS;
1.7 GRANT PUBLIC TO SCOTT;
1.8 GRANT Create Public Synonym TO SCOTT;
2. Load Oracle SOAP client to SCOTT (for Oracle 10g Release 2 Database)
2.1 Commands
2.1.1 Open command prompt (cmd.exe)
2.1.2 loadjava -u scott/tiger -r -v -f -genmissing -s -grant public C:\oracle\product\10.2.0\db_1\oc4j_extended_101330\webservices\lib\soap.jar C:\oracle\product\10.2.0\db_1\oc4j_extended_101330\lib\dms.jar C:\oracle\product\10.2.0\db_1\oc4j_extended_101330\jlib\javax-ssl-1_1.jar C:\oracle\product\10.2.0\db_1\oc4j_extended_101330\j2ee\home\lib\servlet.jar C:\oracle\product\10.2.0\db_1\oc4j_extended_101330\j2ee\home\lib\mail.jar C:\oracle\product\10.2.0\db_1\oc4j_extended_101330\j2ee\home\lib\activation.jar C:\oracle\product\10.2.0\db_1\oc4j_extended_101330\j2ee\home\lib\http_client.jar C:\oracle\product\10.2.0\db_1\oc4j_extended_101330\j2ee\home\lib\ejb.jar
2.1.3 It will take around 3 minutes and you will see "something" like the following when it completes (count may not be exact) :
Classes Loaded: 909
Resources Loaded: 75
Sources Loaded: 0
Published Interfaces: 0
Classes generated: 0
Classes skipped: 0
Synonyms Created: 984
Errors: 0
2.1.3 Close this command prompt
3. Load Oracle JAX-RPC client to SYS (for Oracle 10g Release 2 Database)
3.1 Commands
3.1.1 Open command prompt (cmd.exe)
3.1.2 loadjava -u sys/oracle -r -v -f -genmissing -s -grant public C:\oracle\product\10.2.0\db_1\dbws_callout_utility_10131\sqlj\lib\dbwsclientws.jar C:\oracle\product\10.2.0\db_1\dbws_callout_utility_10131\sqlj\lib\dbwsclientdb102.jar
3.1.2.1 It will take around 15 minutes and you will see "something" like following when it completes (count may not be exact) :
Classes Loaded: 4027
Resources Loaded: 81
Sources Loaded: 0
Published Interfaces: 0
Classes generated: 61
Classes skipped: 0
Synonyms Created: 4108
Errors: 0
3.1.3 Close this command prompt
4. Execute UTL_DBWS packages to SYS (for Oracle 10g Release 2 Database)
4.1 Commands
4.1.1 Connect to SYS account only
4.1.2 Execute the following (in TOAD you should execute them as Script, press the "thunder" button)
4.2.1 @"C:\oracle\product\10.2.0\db_1\dbws_callout_utility_10131\sqlj\lib\utl_dbws_decl.sql"
4.2.2 @"C:\oracle\product\10.2.0\db_1\dbws_callout_utility_10131\sqlj\lib\utl_dbws_body.sql"
4.2.3 CREATE PUBLIC SYNONYM utl_dbws FOR sys.utl_dbws;
5. Call-out a free Web Service using SCOTT
5.1 Commands
5.1.1 Connect to user SCOTT with password of TIGER
5.1.2 Copy and Paste the following "Anonymous Block" (sample #1) and execute it :
5.1.2.1 It sould return "PL/SQL DII client return ===> Redwood City"
declare
service_ utl_dbws.SERVICE;
call_ utl_dbws.CALL;
service_qname utl_dbws.QNAME;
port_qname utl_dbws.QNAME;
operation_qname utl_dbws.QNAME;
string_type_qname utl_dbws.QNAME;
retx ANYDATA;
retx_string VARCHAR2(1000);
retx_double number;
retx_len number;
params utl_dbws.ANYDATA_LIST;
l_input_params utl_dbws.anydata_list;
l_result ANYDATA;
l_namespace VARCHAR2(1000);
begin
-- open internet explorer and navigate to http://webservices.imacination.com/distance/Distance.jws?wsdl
-- search for 'targetNamespace' in the wsdl
l_namespace := 'http://webservices.imacination.com/distance/Distance.jws';
-- search for 'service name' in the wsdl
service_qname := utl_dbws.to_qname(l_namespace, 'DistanceService');
-- this is just the actual wsdl url
service_ := utl_dbws.create_service(HTTPURITYPE('http://webservices.imacination.com/distance/Distance.jws?wsdl'), service_qname);
-- search for 'portType name' in the wsdl
port_qname := utl_dbws.to_qname(l_namespace, 'Distance');
-- search for 'operation name' in the wsdl
-- there will be a lot, we will choose 'getCity'
operation_qname := utl_dbws.to_qname(l_namespace, 'getCity');
-- bind things together
call_ := utl_dbws.create_call(service_, port_qname, operation_qname);
-- default is 'FALSE', so we make it 'TRUE'
utl_dbws.set_property(call_, 'SOAPACTION_USE', 'TRUE');
-- search for 'operation soapAction' under <wsdl:operation name="getCity">
-- it is blank, so we make it ''
utl_dbws.set_property(call_, 'SOAPACTION_URI', '');
-- search for 'encodingstyle' under <wsdl:operation name="getCity">
utl_dbws.set_property(call_, 'ENCODINGSTYLE_URI', 'http://schemas.xmlsoap.org/soap/encoding/');
-- search for 'binding style'
utl_dbws.set_property(call_, 'OPERATION_STYLE', 'rpc');
-- search for 'xmlns:xs' to know the value of the first parameter
-- under <wsdl:message name="getCityResponse"> you will see the line <wsdl:part name="getCityReturn" type="xsd:string" />
-- thus the return type is 'string", removing 'xsd:'
string_type_qname := utl_dbws.to_qname('http://www.w3.org/2001/XMLSchema', 'string');
-- in the line <wsdl:operation name="getCity" parameterOrder="zip">
-- the parameterOrder is 'zip', thus we put in 'zip'
-- the 'ParameterMode.IN' is used to specify that we will be passing an "In Parameter" to the web service
-- the 'ParameterMode.IN' is a constant variable in the sys.utl_dbws package
utl_dbws.add_parameter(call_, 'zip', string_type_qname, 'ParameterMode.IN');
utl_dbws.set_return_type(call_, string_type_qname);
-- supply the In Parameter for the web service
params(0) := ANYDATA.convertvarchar('94065');
-- invoke the web service
retx := utl_dbws.invoke(call_, params);
-- access the returned value and output it to the screen
retx_string := retx.accessvarchar2;
dbms_output.put_line('PL/SQL DII client return ===> ' || retx_string);
-- release the web service call
utl_dbws.release_service(service_);
end;
5.1.3 Copy and Paste the following "Anonymous Block" (sample #2) and execute it :
5.1.3.1 It should return "PL/SQL DII client return ===> twelve thousand three hundred and forty five"
declare
service_ utl_dbws.SERVICE;
call_ utl_dbws.CALL;
service_qname utl_dbws.QNAME;
port_qname utl_dbws.QNAME;
operation_qname utl_dbws.QNAME;
string_type_qname utl_dbws.QNAME;
retx ANYDATA;
retx_string VARCHAR2(1000);
retx_double number;
retx_len number;
params utl_dbws.ANYDATA_LIST;
l_input_params utl_dbws.anydata_list;
l_result ANYDATA;
l_namespace VARCHAR2(1000);
begin
-- open internet explorer and navigate to http://www.dataaccess.com/webservicesserver/numberconversion.wso?WSDL
-- search for 'targetNamespace' in the wsdl
l_namespace := 'http://www.dataaccess.com/webservicesserver/';
-- search for 'service name' in the wsdl
service_qname := utl_dbws.to_qname(l_namespace, 'NumberConversion');
-- this is just the actual wsdl url
service_ := utl_dbws.create_service(HTTPURITYPE('http://www.dataaccess.com/webservicesserver/numberconversion.wso?WSDL'), service_qname);
-- search for 'portType name' in the wsdl
port_qname := utl_dbws.to_qname(l_namespace, 'NumberConversionSoap');
-- search for 'operation name' in the wsdl
-- there will be a lot, we will choose 'NumberToWords'
operation_qname := utl_dbws.to_qname(l_namespace, 'NumberToWords');
-- bind things together
call_ := utl_dbws.create_call(service_, port_qname, operation_qname);
-- default is 'FALSE', so we make it 'TRUE'
utl_dbws.set_property(call_, 'SOAPACTION_USE', 'TRUE');
-- search for 'operation soapAction' under <operation name="NumberToWords">
-- it is blank, so we make it ''
utl_dbws.set_property(call_, 'SOAPACTION_URI', '');
-- search for 'encodingstyle'
-- cannot find xml tag 'encodingstyle', so we just use the following as the generic encoding style
utl_dbws.set_property(call_, 'ENCODINGSTYLE_URI', 'http://schemas.xmlsoap.org/soap/encoding/');
-- search for 'binding style'
-- although 'document' was used, it produced an error, thus we will use 'rpc'
-- this value is generally only 'document' or 'rpc'
utl_dbws.set_property(call_, 'OPERATION_STYLE', 'rpc');
-- search for 'xmlns:xs' to know the value of the first parameter
-- under <xs:element name="NumberToWords"> you will see the line <xs:element name="ubiNum" type="xs:unsignedLong" />
-- thus the return type is 'unsignedlong', removing 'xs:'
-- however, upon testing, using 'unsignedlong' produced an error, while 'string' did not, so we will use 'string'
string_type_qname := utl_dbws.to_qname('http://www.w3.org/2001/XMLSchema', 'string');
-- under <xs:element name="NumberToWords"> you will see the line <xs:element name="ubiNum" type="xs:unsignedLong" />
-- the element name is 'ubiNum', thus we put in 'ubiNum'
-- the 'ParameterMode.IN' is used to specify that we will be passing an "In Parameter" to the web service
-- the 'ParameterMode.IN' is a constant variable in the utl_dbws package
utl_dbws.add_parameter(call_, 'ubiNum', string_type_qname, 'ParameterMode.IN');
utl_dbws.set_return_type(call_, string_type_qname);
-- supply the In Parameter for the web service
params(0) := ANYDATA.convertvarchar('12345');
-- invoke the web service
retx := utl_dbws.invoke(call_, params);
-- access the returned value and output it to the screen
retx_string := retx.accessvarchar2;
dbms_output.put_line('PL/SQL DII client return ===> ' || retx_string);
-- release the web service call
utl_dbws.release_service(service_);
end;
NOTES AND REFERENCES
=================================================================
This detailed step-by-step guide was produced with the following guide http://www.oracle.com/technology/sample_code/tech/java/jsp/callout_users_guide.htm
I could still not load Oracle JAX-RPC client to SCOTT (step 4) as it produces an error. See the following for more details :
http://forums.oracle.com/forums/thread.jspa?threadID=633219&tstart=0
Also, I could not consume some of the other free Web Services out there for reasons I don't know, hope someone can help clarify. See the following for more details :
http://forums.oracle.com/forums/thread.jspa?threadID=630733&tstart=0
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Instructions on how to use Oracle10gR2 Webservice Call-In feature
PREREQUISITE
=================================================================
1. Download Oracle Database 10g Release 2 (10.2.0.1.0) (ZIP, ~655MB)
http://www.oracle.com/technology/software/products/database/oracle10g/htdocs/10201winsoft.html
http://download.oracle.com/otn/nt/oracle10g/10201/10201_database_win32.zip
1.1 Choose Enterprise Edition
2. Download OC4J Standalone - Oracle Containers for J2EE (OC4J) 10g Release 3 (10.1.3.3) (ZIP, ~93MB; Pure Java—runs on all certified platforms)
http://www.oracle.com/technology/software/products/ias/index.html (Download Site)
http://download.oracle.com/otn/java/oc4j/101330/oc4j_extended_101330.zip
2.1 Extract to C:\oracle\product\10.2.0\db_1\oc4j_extended_101330
STEP-BY-STEP PROCEDURES
=================================================================
1. Connect to SYS account and create user STORE
CREATE USER store IDENTIFIED BY store;
GRANT connect, resource TO store;
2. Connect to Oracle using the user STORE and password STORE
CONNECT store/store;
3. Execute the following objects for this excercise
CREATE SEQUENCE order_sq;
CREATE TABLE product_types (
product_type_id INTEGER
CONSTRAINT product_types_pk PRIMARY KEY,
name VARCHAR2(10) NOT NULL
CREATE TABLE products (
product_id INTEGER
CONSTRAINT products_pk PRIMARY KEY,
product_type_id INTEGER
CONSTRAINT products_fk_product_types
REFERENCES product_types(product_type_id),
name VARCHAR2(30) NOT NULL,
description VARCHAR2(50),
price NUMBER(5, 2)
CREATE TABLE customers (
customer_id INTEGER
CONSTRAINT customers_pk PRIMARY KEY,
first_name VARCHAR2(10) NOT NULL,
last_name VARCHAR2(10) NOT NULL,
dob DATE,
phone VARCHAR2(12)
CREATE TABLE orders (
order_id INTEGER
CONSTRAINT orders_pk PRIMARY KEY,
product_id INTEGER
CONSTRAINT purchases_fk_products
REFERENCES products(product_id),
customer_id INTEGER
CONSTRAINT purchases_fk_customers
REFERENCES customers(customer_id),
quantity INTEGER NOT NULL
INSERT INTO customers (
customer_id, first_name, last_name, dob, phone
) VALUES (
1, 'John', 'Brown', '01-JAN-1965', '800-555-1211'
INSERT INTO product_types (
product_type_id, name
) VALUES (
1, 'Book'
INSERT INTO products (
product_id, product_type_id, name, description, price
) VALUES (
1, 1, 'Modern Science', 'A description of modern science', 19.95
COMMIT;
CREATE OR REPLACE PACKAGE dbfunc AS
FUNCTION place_order (
p_product_id INTEGER,
p_customer_id INTEGER,
p_quantity INTEGER
RETURN VARCHAR2;
END dbfunc;
CREATE OR REPLACE PACKAGE BODY dbfunc AS
FUNCTION place_order (
p_product_id INTEGER,
p_customer_id INTEGER,
p_quantity INTEGER
RETURN VARCHAR2 IS
v_customer_count INTEGER;
v_product_count INTEGER;
v_order_id INTEGER;
BEGIN
-- count the number of products with the
-- supplied p_product_id (should be 1 if the product exists)
SELECT COUNT(*)
INTO v_product_count
FROM products
WHERE product_id = p_product_id;
IF v_product_count = 0 THEN
RETURN 'No such product';
END IF;
-- count the number of customers with the
-- supplied p_customer_id (should be 1)
SELECT COUNT(*)
INTO v_customer_count
FROM customers
WHERE customer_id = p_customer_id;
IF v_customer_count = 0 THEN
RETURN 'No such customer';
END IF;
-- get the next value from orders_sq
SELECT order_sq.nextval
INTO v_order_id
FROM dual;
-- place the order
INSERT INTO orders (
order_id, product_id, customer_id, quantity
) VALUES (
v_order_id, p_product_id, p_customer_id, p_quantity
COMMIT;
RETURN 'Order placed with id of ' || v_order_id;
EXCEPTION
WHEN OTHERS THEN
ROLLBACK;
RETURN 'Order not placed';
END place_order;
END dbfunc;
4. Install and Configure OC4J
4.1 Change Directory
4.1.1 Open command prompt (cmd.exe)
4.1.2 CD C:\oracle\product\10.2.0\db_1\oc4j_extended_101330\bin
4.2 Configure Environment variables (type in command prompt)
4.2.1 set JAVA_HOME=C:\oracle\product\10.2.0\db_1\jdk
4.2.2 set ORACLE_HOME=C:\oracle\product\10.2.0\db_1\oc4j_extended_101330
4.3 Starting OC4J for the first time
4.3.1 oc4j -start
4.3.2 If this is not your first time to "start" oc4j, go to step 4.3.4
4.3.3 Set oc4jadmin password (use the password "oracle" w/o the quotation marks)
08/03/21 17:13:54 Set OC4J administrator's password (password text will not be displayed as it is entered)
Enter password:
Confirm password:
Confirm password: The password for OC4J administrator "oc4jadmin" has been set.
08/03/21 17:14:01 The OC4J administrator "oc4jadmin" account is activated.
4.3.4 OC4J has started if you see the message :
08/03/21 17:14:16 Oracle Containers for J2EE 10g (10.1.3.3.0) initialized
4.3.5 Leave this command prompt open
4.4 Configure Data Source
4.4.1 Open a new command prompt via the cmd.exe command
4.4.2 type "hostname" and then press enter
4.4.3 Keep this command prompt open for later use
4.4.4 Open Windows Explorer and navigate to the folder C:\oracle\product\10.2.0\db_1\oc4j_extended_101330\j2ee\home\config
4.4.5 Open the file data-sources.xml
4.4.6 Modify and Save the file so that it will look something like the following :
4.4.6.1 Note that "hpv2710us" is my hostname found in step 4.4.2
4.4.6.2 Note that "ORCLDEV" is the name of my Oracle Instance. (Default installation uses ORCL only)
<connection-pool name="Example Connection Pool">
<connection-factory factory-class="oracle.jdbc.pool.OracleDataSource"
user="store"
password="store"
url="jdbc:oracle:thin:@//hpv2710us:1521/ORCLDEV">
</connection-factory>
</connection-pool>
4.4.7 Close the text editor
4.4.8 Close the Windows Explorer
4.4.9 Close this command prompt (type exit)
5. Publishing a PL/SQL Package as a Database Web Service
5.1 Create the config.xml file
5.1.1 Open Notepad.exe
5.1.2 Copy and Paste the following :
5.1.2.1 Note that "hpv2710us" is my hostname found in step 4.4.2
5.1.2.2 Note that "ORCLDEV" is the name of my Oracle Instance. (Default installation uses ORCL only)
<web-service>
<display-name>PLSQL Web Service</display-name>
<description>PLSQL Sample</description>
<destination-path>./dbfunc.ear</destination-path>
<temporary-directory>/tmp</temporary-directory>
<context>/plsqlsample</context>
<stateless-stored-procedure-java-service>
<jar-generation>
<schema>store/store</schema>
<db-url>jdbc:oracle:thin:@hpv2710us:1521:ORCLDEV</db-url>
<prefix>db.func.place.order</prefix>
<db-pkg-name>dbfunc</db-pkg-name>
</jar-generation>
<uri>/dbfunc</uri>
<database-JNDI-name>jdbc/OracleDS</database-JNDI-name>
</stateless-stored-procedure-java-service>
<wsdl-gen>
<wsdl-dir>wsdl</wsdl-dir>
<option name="force">true</option>
<option name="httpServerURL">http://localhost:8888</option>
</wsdl-gen>
<proxy-gen>
<proxy-dir>proxy</proxy-dir>
<option name="include-source">true</option>
</proxy-gen>
</web-service>
5.1.3 Save file as config.xml in the directory C:\oracle\product\10.2.0\db_1\oc4j_extended_101330\j2ee\home\config
5.1.3.1 Note it should be config.xml and not config.txt
5.1.4 Close the text editor
5.2 Publish dbfunc Oracle Package as a Web Service
5.2.1 Open a new command prompt via the cmd.exe command
5.2.2 CD C:\oracle\product\10.2.0\db_1\oc4j_extended_101330\j2ee\home
5.2.3 mkdir ear
5.2.4 CD ear
5.2.5 set ORACLE_HOME=C:\oracle\product\10.2.0\db_1\oc4j_extended_101330
5.2.6 set CLASSPATH=.;%ORACLE_HOME%\webservices\lib\wsdl.jar;%ORACLE_HOME%\lib\xmlparserv2.jar;%ORACLE_HOME%\soap\lib\soap.jar
5.2.7 java -jar %ORACLE_HOME%\webservices\lib\WebServicesAssembler.jar -config C:\oracle\product\10.2.0\db_1\oc4j_extended_101330\j2ee\home\config\config.xml
Please wait ...
STORE.DBFUNC
5.2.8 java -jar %ORACLE_HOME%\j2ee\home\admin_client.jar deployer:oc4j:localhost:23791 oc4jadmin oracle -deploy -file C:\oracle\product\10.2.0\db_1\oc4j_extended_101330\j2ee\home\ear\dbfunc.ear -deploymentName dbfunc
08/03/21 17:46:23 Notification ==>Application Deployer for dbfunc COMPLETES. Operation time: 296 msecs
5.2.9 java -jar %ORACLE_HOME%\j2ee\home\admin_client.jar deployer:oc4j:localhost:23791 oc4jadmin oracle -bindWebApp -appname dbfunc -webModuleName dbfunc_web
5.2.10 java -jar %ORACLE_HOME%\j2ee\home\admin_client.jar deployer:oc4j:localhost:23791 oc4jadmin oracle -bindAllWebApps -appname dbfunc
5.2.11 Close this command prompt (type exit)
6. Test dbfunc Web Service
6.1 Restart OC4J
6.1.1 Open the command prompt you used to start OC4J in step 4.1.1/4.3.1
6.1.2 In the keyboard, hit Ctrl+C
6.1.2.1 Type "Y" and then hit Enter
08/03/21 18:02:51 Shutting down OC4J...
Terminate batch job (Y/N)? Y
6.1.2.2 Note that the command prompt should still be open
6.1.2.2.1 If you accidentally closed the command prompt just do the following
6.1.2.2.1.1 Do 4.1.1 to 4.2.2 and then proceed to 6.1.3
6.1.3 oc4j -start
Starting OC4J from C:\oracle\product\10.2.0\db_1\oc4j_extended_101330\j2ee\home...
08/03/21 18:07:57 Oracle Containers for J2EE 10g (10.1.3.3.0) initialized
6.1.4 Leave this command prompt open
6.2 Use the Web Service to "Order an Item"
6.2.1 Connect to Oracle using the user STORE and password STORE
6.2.2 select * from orders
6.2.2.1 Zero row should return
6.2.3 Open Internet Explorer
6.2.4 Navigate to http://localhost:8888/plsqlsample/dbfunc
6.2.5 Input the following :
6.2.5.1 param0 value: 1
6.2.5.2 param1 value: 1
6.2.5.3 param2 value: 10
6.2.6 Click the Invoke button
6.2.7 A pop-up window will appear having the following contents :
<?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:xsd="http://www.w3.org/2001/XMLSchema">
- <SOAP-ENV:Body>
- <ns1:placeOrderResponse xmlns:ns1="http://db.func.place.order/dbfunc.wsdl" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<return xsi:type="xsd:string">Order placed with id of 1</return>
</ns1:placeOrderResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
6.2.8 Go back to SQLPLUS or Toad and execute "select * from orders" again
6.2.8.1 There should be one row
ORDER_ID, PRODUCT_ID, CUSTOMER_ID, QUANTITY
1, 1, 1, 10
NOTES AND REFERENCES
=================================================================
This detailed step-by-step guide was produced with the following article by Jason Price http://www.oracle.com/technology/pub/articles/price_10gws.htmlSuccess!!!
I had to grant this permissions:
call dbms_java.grant_permission( 'WS_TEST', 'SYS:java.lang.RuntimePermission', 'getClassLoader', '' );
call dbms_java.grant_permission( 'WS_TEST', 'SYS:java.lang.RuntimePermission', 'accessClassInPackage.sun.util.calendar', '' );
call dbms_java.grant_permission( 'WS_TEST', 'SYS:java.lang.RuntimePermission', 'setFactory', '' )
call dbms_java.grant_permission( 'WS_TEST', 'SYS:java.util.PropertyPermission', 'HTTPClient.socket.idleTimeout', 'write' );
call dbms_java.grant_permission( 'WS_TEST', 'SYS:java.net.SocketPermission', 'localhost', 'resolve' );
call dbms_java.grant_permission( 'WS_TEST', 'SYS:java.net.SocketPermission', '127.0.0.1:8084', 'connect,resolve' );
As I wrote earlier, WS_TEST is my user into which I load JAX-RPC client. Note that, if you load JAX-RPC client into user another than SYS, you have NOT to use -s -grant public option (wassam wrote about this too). Another thing is that I (finally) didn't load OC4J. To consume WebService I use utl_dbws.invoke(call_Handle CALL, request SYS.XMLTYPE) function.
voytec001 -
How to config new plant in SAP MM. Steps required
how to config new plant in SAP MM. Steps required pls help
Hi,
1S pro---enterprise structure-definition -logistic general-define,check ,delete plant
here click on copy object icon
then copy your plant from stander plant or existing one
2and then define storage location if required
3then assign plant to company code
4if purchasing organization is there for your plant then assign plant to purchasing organization
Regards
kailas -
Deserialization Failed error when calling a SAP Webservice
Hello,
I'm trying to call an SAP Webservice from a .NET Mobile application, this particular BAPI expects an array of objects and when I make the call I get a deserialization problems. I have tried make the array size to 0 but no luck, I have couple of other function modules which are working fine but have a problem with this BAPI BAPI_ALM_ORDEROPER_GET_LIST.
any help is greatly appriciated.
Thanks
VinayDear Vinay,
Does your other FM are also using arrays.?
Deserialization problem comes when xml parser is not able to convert XML schema or values to language specific elements.
And this problem normally comes if you are using complex data types.
Can you check once again and reply.
Regards,
Piyush -
Steps required to be performed before registering on SAP ISA B2C website.
Hello,
What are the steps required to be performed before registering on SAP ISA B2C
website? Whenever I am trying to create a new account from the WEB, I am getting a null pointer exception.
I created a B2C reference user. But what is next?
Please help.
HarshaHello,
What are the steps required to be performed before registering on SAP ISA B2C
website? Whenever I am trying to create a new account from the WEB, I am getting a null pointer exception.
I created a B2C reference user. But what is next?
Please help.
Harsha -
Webservice:get data from SAP ECC
hi,
i want webservice.that webservice will fetch the data from sap ecc system.
i need steps for creating webservice.i have some functionality .what can i expose as webservice.
thanks
rajHi Raj,
If we trying to fetch data from SAP ECC system then expsoing as a web service from NWDS (Netweaver Developer studio ) would the best option.First we need to create a Portal Service that invokes the functionalities of the SAP application component( Business solution which uses ECC) using the SAP Java Connector. Then you can create a Web Service from the Portal Service.
If your SAP application component runs on SAP Web Application Server (WebAS) 6.20 or later, then you can directly enable Web Services on the application component by using the application server's native Web Service capabilities.
1. To turn on the WebAS 6.20 SOAP Processor, you need to:
Configure the Internet Communication Framework (ICF) of the WebAS to start the Internet Communication Manager (ICM) and activate the HTTP protocol support
Use transaction SICF to activate the SOAP Runtime Handler: default_host -> sap -> bc -> soap -> rfc.
Once the SOAP Processor is turned on, the RFM-implemented Web Services can be invoked at http://<host_name>:<port_number>/sap/bc/soap/rfc
6.20 also provides a Web Service Browser, which is a BSP web application that can be used to browse all RFM-implemented Web Services in the system, and generate WSDLs for these Web Services.
2. In a WebAS 6.40-based SAP application component, such as SAP Enterprise Core Component (ECC) 5.0, or a WebAS 7.0-based application component, such as ECC 6.0, by default, few Web Services are pre-delivered by SAP. But it is pretty easy to create Web Services in a WebAS 6.40-based system.
Inside-Out Approach: if within the SAP application component there already exist one or several RFMs or BAPIs that suit your needs, you can create Web Services based on them without any additional programming. The basic steps include:
Using the Service Definition Wizard, which can be started from transaction SE80, SE37, or BAPI, to create a (Web) service definition from an RFM, a function group, or a BAPI.
When creating the service, you have the option to rename or hide operations (methods) and parameters, define default values for parameters, and changing parameter types.
After the service definition is created, you need to use transaction WSCONFIG to release the service definition for the SOAP runtime.
Afterwards, by using transaction WSADMIN, you can for any released Web Service, call the Web service homepage which provides utilities for using and testing the Web Service, generate WDSL, configure the logging and tracing settings, and publish the Web Service as a Business Service in an UDDI registry.
Hope these steps are helful to you.
Regards,
Shaila -
Webdynpro ABAP webservice call to external server - Cookie issue
Hi,
We are experiencing cookie issue while calling webservice to Tivoli system hosted on IBM websphere.
Steps we have done as follows:
1. Created a ABAP Proxy class from Tivoli WSDL.
2. Configured T-Code LPCONFIG to point to above proxy class and logical port.
3. Configured SM59 RFC connection to point to Tivoli server using basic authentication mechanism (User ID/Password).
4. Called webservice method from WebDynpro ABAP program.
After above steps, we are able to call the webservice method successfully but second time we are experiencing Cookie being adding to the request and eventually no response back to our program.
When we investigated this cookie issue with IBM Websphere people, they says thay have enabled SSO Config instead of basic authentication and that's why a cookie is being added to the request and fails. when they disabled SSO, we are able to call webservic method sucessfully sevaral times. but now this cannot be no longer disabled as other applications are using SSO enable option. So, we are thinking, is there something that can be done in SAP ECC itself as we see the option of using SSO in SM59 instead of User Id/Password but not sure How?
If anybody has undergone this scenario/SSO config from ECC SM59 successfully, Please reply back.
Thanks in advance
PraveenHere is the link that explains how SSO can be configured in SAP.
http://help.sap.com/saphelp_nw70ehp1/helpdata/en/65/6a563cef658a06e10000000a11405a/frameset.htm
Once done, under Client PSE in Tcode STRUST, you can upload the certificate obtained from the SSO enabled system and use the client PSE (Default) in the SSL Client Certificate area of SM59
I see Thomas has already responded to you and he has written a blog on how to set this up as well.
KK
Maybe you are looking for
-
Unexpected error code -50 appears when I try to move a file to trash, emt, Unexpected error code -50 appears when I try to move a file to trash, empty trash, insert and burn a cd, and save changes to a document. Suggestions?
-
Scheduled Packages Hanging (BPC ver 5.0)
Hello, We are having a problem "scheduling" standard SSIS packages for e.g. import package. When we schedule a package, the package runs successfully for 3 or 4 days (i.e. 3 to 4 cycles) but the package hangs after that. When this happens event thoug
-
Vista 32 bit to Windows 7 64 bit. How?
Hi I have a Thinkpad T500 running a Vista 32 bit system. I have 154 days warranty remaining. I missed the free upgrade to Windows 7 by 3 days, if only I had known. I want to upgrade my system to windows 7 64 bit with out voiding my warranty and witho
-
/var reiserfs (pacman 3.5.1)
So when I installed arch (pacman <3.5) it was advised that /var partition was reiserfs to handle the many small files that pacman handled. In light of the radical changes to the db and this no longer being the case, would it be better for the /var p
-
Problems with Fetch settings on 4s
I set the Fetch to manual. Now, I can't find a way to turn it back on. All the email, Facebook, and Twitter accounts, and the Fetch New Data switch are grayed, and won't let me do anything. Someone help? Thanks!