How to call a secure external Web Service using Oracle BPEL and OWSM
Hi,
i have to invoke an external secure Web Service using SOA Suite 10.1.3.1, but i don´t know how to do this. Do i use OWSM gateway or Agent? how to configure the gateway or agent to pass the required security to the external secure web service.
thanks in advance
Dong
Are you getting any errors? What type of XAI Class are you using?
One thing I've noticed is that if you are making changes to the XAI Sender you will have to restart the environment before the changes can take effect.
Also, if you are using RTHTTPSNDR as XAI Class you may have to include the HTTP Method - Post in the context.
Hope this helps.
Regards,
Philip
Similar Messages
-
Connecting to an external web service from Oracle BPEL
How do we connect to an external web service using its wsdl (possibly implemented in .NET) from Oracle BPEL process?
Any specific details/examples greatly appreciated.
Thanks,
JNHow do we connect to an external web service using its wsdl (possibly implemented in .NET) from Oracle BPEL process?
Any specific details/examples greatly appreciated.
Thanks,
JN -
Calling a secured external web service from ABAP
Hi,
I've created a client proxy from a wsdl to call a secured external WS from ABAP.
The question is: how to pass in the user/password in the client proxy?
thanksHi Rika,
have a look to the blog: https://weblogs.sdn.sap.com/pub/wlg/1645. [original link is broken] [original link is broken] [original link is broken] [original link is broken]
Screen shots are "old" but the concepts are already there. Serach the chapter "SAP Side - Setup".
Basically: define your RFC destination via SM59 of type G. There you'll define the target host and the user/password.
Then in LPCONFIG you can specify the defined RFC destination.
Have a look also to http://help.sap.com/saphelp_nw2004s/helpdata/en/16/285d32996b25428dc2eedf2b0eadd8/content.htm
and to
http://help.sap.com/saphelp_nw04s/helpdata/en/da/11df3a9b10355ae10000000a11405a/content.htm
Sergio
PS
Kindly close the thread and award appropriate a points to the answer given.
Message was edited by:
Sergio Ferrari -
Error while trying to call external web service from oracle PL/SQL 10.2 g
Hi I am trying to call an external web service from oracle PL/SQL .I am getting following run time error when I try to set the opeartion style.
But as per the oracle documentation this is one of the 2 valid values.
ORA-29532: Java call terminated by uncaught Java exception: operation style: "document" not supported.Teh webservice does expect the operation style as document.
Following is the code I am executing.
FUNCTION email
return varchar2
AS
service_ SYS.utl_dbws.SERVICE;
call_ SYS.utl_dbws.CALL;
service_qname SYS.utl_dbws.QNAME;
port_qname SYS.utl_dbws.QNAME;
operation_qname SYS.utl_dbws.QNAME;
string_type_qname SYS.utl_dbws.QNAME;
retx ANYDATA;
retx_string VARCHAR2(1000);
retx_double number;
retx_len number;
params SYS.utl_dbws.ANYDATA_LIST;
l_input_params SYS.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://service.xmlservices.global.freedomgroup.com/';
-- search for 'service name' in the wsdl
service_qname := SYS.utl_dbws.to_qname(l_namespace, 'ClientCoreWebServiceBeanService');
-- this is just the actual wsdl url
service_ := SYS.utl_dbws.create_service(HTTPURITYPE('http://hostname/GlobalWebServices/services/ClientCoreWebService?wsdl'), service_qname);
-- search for 'portType name' in the wsdl
port_qname := SYS.utl_dbws.to_qname(l_namespace, 'ClientCoreWebServiceBeanPort');
-- search for 'operation name' in the wsdl
-- there will be a lot, we will choose 'getCity'
operation_qname := SYS.utl_dbws.to_qname(l_namespace, 'postalCodelookup');
-- bind things together
call_ := SYS.utl_dbws.create_call(service_, port_qname, operation_qname);
-- default is 'FALSE', so we make it 'TRUE'
SYS.utl_dbws.set_property(call_, 'SOAPACTION_USE', 'TRUE');
-- search for 'operation soapAction' under <wsdl:operation name="getCity">
-- it is blank, so we make it ''
SYS.utl_dbws.set_property(call_, 'SOAPACTION_URI', '');
-- search for 'encodingstyle' under <wsdl:operation name="getCity">
SYS.utl_dbws.set_property(call_, 'ENCODINGSTYLE_URI', 'http://schemas.xmlsoap.org/soap/encoding/');
-- search for 'binding style'
SYS.utl_dbws.set_property(call_, 'OPERATION_STYLE', 'DOCUMENT');
-- 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 := SYS.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
--vj this cud be either params or xml
SYS.utl_dbws.add_parameter(call_, 'param1', string_type_qname, 'ParameterMode.IN');
SYS.utl_dbws.add_parameter(call_, 'param2', string_type_qname, 'ParameterMode.IN');
SYS.utl_dbws.set_return_type(call_, string_type_qname);
-- supply the In Parameter for the web service
params(0) := ANYDATA.convertvarchar('<TFGGlobalBasicXMLDO><systemCd>GLOBAL</systemCd><username>GlobalAdmin</username><password>GlobalAdmin</password><localID>1</localID></TFGGlobalBasicXMLDO>');
params(1) := ANYDATA.convertvarchar('<TFGGlobalPostalCodeLookupIDDO><postalCode>02446</postalCode><countryCode>USA</countryCode><stateCode>MA</stateCode><cityDisplay>BROOKLINE</cityDisplay><countyDisplay>NORFOLK</countyDisplay><include_inactive_flag>True</include_inactive_flag></TFGGlobalPostalCodeLookupIDDO>');
-- invoke the web service
retx := SYS.utl_dbws.invoke(call_, params);
dbms_output.put_line(retx.gettypename);
-- access the returned value and output it to the screen
retx_string := retx.accessvarchar2;
dbms_output.put_line('done' || retx_string);
dbms_output.put_line('PL/SQL DII client return ===> ' || retx_string);
-- release the web service call
SYS.utl_dbws.release_service(service_);
return retx_string;
end email;thsi is urgent anybody ????
-
Error while invoking a WS-Security secured web service from Oracle BPEL..
Hi ,
We are facing some error while invoking a WS-Security secured web service from our BPEL Process on the windows platform(SOA 10.1.3.3.0).
For the BPEL process we are following the same steps as given in an AMIS blog : - [http://technology.amis.nl/blog/1607/how-to-call-a-ws-security-secured-web-service-from-oracle-bpel]
but sttill,after deploying it and passing values in it,we are getting the following error on the console :-
“Header [http://schemas.xmlsoap.org/ws/2004/08/addressing:Action] for ultimate recipient is required but not present in the message”
Any pointers in this regard will be highly appreciated.
Thanks,
SaurabhHi James,
Thanks for the quick reply.
We've tried to call that web service from an HTML designed in Visual Studios with the same username and password and its working fine.
But on the BPEL console, we are getting the error as mentioned.
Also if you can tell me how to set the user name and password in the header of the parter link.I could not find how to do it.
Thanks,
Saurabh -
How to Create and Deploy Web Services Using Oracle 9i JDeveloper
Hi,
My Question is how to create and deploy Web Services using Oracle 9i JDeveloper.Anybody please give me a detailed Reply.Please Reply to [email protected]
Hopr to Hear From you,
Regards,
G SreekumarYou could use datasources. You should do this in your BC4J Configuration. Then when deploying your applicaiton use the command -installDataSource (from admin.jar) to create the right datasource.
You could probably use the name of your connection + "DS" so you can also use it locally in JDeveloper as JDev seesm to create this automaticly for your Connections. -
Example of Asynchronous Web Service Using Oracle APIs
Greetings,
Is there any tutorial, section or example of Oracle, that explains clearly, how to create an Asynchronous Web Service using Oracle APIs.
Thakns in advance for your help.-Does this help:
http://niallcblogs.blogspot.com/2009/03/calling-async-bpel-process-from-jdev.html -
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. -
Consuming an External Web Service using HTTPS and WS Security
Hello everyone,
I'm having a problem setting the security information in a SOAP header using a generated ABAP Client Proxy to consume an external web service that requires a User ID and Password in the Header section of the SOAP message. I need to use HTTPS. I'm on a WAS 7.01 SP08 system so from my readings, SAP is supposed to be able to add the username and password into the header section of the message. I can't seem to get SAP to add this information added to the header.
Here are the steps that I have taken to set the security values.
1) Created the client proxy from the WSDL in SE80. Basic Authentication on the Configuration tab was turned on automatically.
Note, Transport Security is set to None. I cannot change it.
2) Created an outbound set user name profile in transaction WSPROFILE with the appropriate username and password.
3) Added the profile to the default port in transaction LPCONFIG as an outbound under the WS Security section of the screen.
When I called the external Web Service, I got back the following error message:
com.ibm.wsspi.wssecurity.SoapSecurityException: WSEC5509E: A security token whose type is [http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#UsernameToken] is required.
So, after reading through this Forum, I saw that I needed to use the SOAMANAGER. I set up a Proxy in the SOAMANAGER and manually created the Logical Port. This was the only way I could figure out how to set the Authentication Settings in the Logical Port to "User ID / Password". I then entered the User ID and Password.
However, I am still getting the same error message. I feel I am close but missing some small configuration to tell SAP to use WS Security with a Username token.
I'm not sure what I'm doing wrong, so any help would be appreciated.
Thanks,
StephenI had this error again so I thought I would post my solution:
The issue is SAP needs to know the certificates being used by the web site being called. These certificates are automatically installed in your browser but need to be manually installed in SAP. This is what I did:
How to find/install new certificates
Make sure you run Internet Explorer as an Administrator so you can export the certificates
Go to the web site that SAP is trying to call in Internet Explorer
Double click on the lock in the address bar
View certificates
Find the certificates that are being used
Tools --> Internet Options --> Content --> Certificates
Click on the “Trusted Root Certification Authorities” tab
Find the certificate identified in step iii
Export as a CER certificate
Click on the “Intermediate Certification Authorities” tab
Find the certificate identified in step iii
Export as a CER certificate
Go to STRUST in SAP
Import the Certificates in the “Anonymous” or “Standard” SSL client
Save
RESTART the ICM via t-code SMICM <-- Critical!!!
Test -
Call of an external web service out of the ABAP-Stack
Hi experts,
i have to implement a call of an external webservice out of the ABAP-stack. Directly from an ABAP-report, not using any PI/XI.
The only thing the one implemented the service could give me was a description of the SOAP-call which should take place (see code below). So i should pass some data, call the function 'makeACall', and receive some data. But i have no idea how to use the calls of the include SOAPINCL. Is there any example showing the 'translation' of such a SOAP-message into an ABAP-stack-call?
Thanks and regards
Christian
<?xml version="1.0" encoding="ISO-8859-1"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:XXX="urn:nsf">
<SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" id="_0">
<makeACall xmlns="urn:nsf">
<in xsi:type="xsd:string">
<BaseApp>
<Control>
<Plugin><![CDATA[]]></Plugin>
<Function><![CDATA[]]></Function>
<Configuration><![CDATA[]]></Configuration>
<ConfigurationName><![CDATA[]]></ConfigurationName>
</Control>
<Input>
<DetInput>
<CustomerData>
<Record><![CDATA[]]></Record>
<Record><![CDATA[]]></Record>
</CustomerData>
<otherData>
<GroupId><![CDATA[]]></GroupId>
</otherData>
</DetInput>
</Input>
</BaseApp>
</in>
</makeACall>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>Hi,
BAM has a set of default web services. You can implement your own web service call and populate the data object with corresponding codes. For instance, if you would want to monitor 2 web services, create a data object with two columns.
This web service would run every minute and populate the data object columns with 1/0 depending on the state. You could create a chart from this data object to display the status of the web service.
Please explore more into how to implement web services using BAM. BAM already has few of them and you need to add yours to this.
Cheers,
-AR -
Unable to call WSS (WS-Security) enabled Web Service using UTL_DBWS
We are attempting to call a WSS (WS-Security) enabled Web Service from PL/SQL using the UTL_DBWS package (see [http://download.oracle.com/docs/cd/B19306_01/appdev.102/b14258/u_dbws.htm#CHDIDGJH] ). We are doing this in similar fashion to [http://www.oracle-base.com/articles/10g/utl_dbws10g.php] with calls to utl_dbws.create_service, utl_dbws.create_call and utl_dbws.invoke.
Using this method we can successfully call an unsecured Web Service, but calls to WSS-enabled Web Services fail. We are currently using Oracle Database 10.2.0.3.
The failure we are getting is:
ORA-29532: Java call terminated by uncaught Java exception: javax.xml.rpc.soap.SOAPFaultException:
com.sun.xml.wss.XWSSecurityException: Message does not conform to configured
policy ( AuthenticationTokenPolicy(S) ): No Security Header found;nested
exception is com.sun.xml.wss.XWSSecurityException:
com.sun.xml.wss.XWSSecurityException: Message does not conform to configured
policy ( AuthenticationTokenPlicy(S) ): No Security Header found
Apparently UTL_DBWS does not support calling WSS enabled services, although this doesn't appear to be an officially recognised position. Does anyone know if Oracle are planning to support this soon (if ever)? Looking at Re: Calling WS from PL/SQL using WS-security suggests that support has been considered before, but not yet realised.
Thanks,
TomHaving raised a Service Request with Oracle support on this, I got the following response from Oracle Development (On unpublished bug [8542959|https://metalink2.oracle.com/metalink/plsql/ml2_documents.showDocument?p_database_id=BUG&p_id=8542959]):
Development has confirmed that WS-Security is not supported through UTL_DBWS. They have also acknowledged that this is not documented and they will change the official Oracle documentation will reflect this fact. From what is being stated, it would appear that there is no plan to support the use of WS-Security through UTL_DBWS in any release in the near future.
So, in short, without developing your own home-grown SOAP request, there is no way to call a WSS enabled web service from within PL/SQL.
-Tom -
Is it possible to call an external web service using ABAP?
Hi~~
I wonder that is possible to use an external web service in SAPGUI using ABAP without PI ( Process Integraion ).
The external web service means the service that is developed by web-language like ASP.NET.
Thank you.hi,
i'm trying to study on how to use the oracle bi publisher using another client application aside from oracle. the client application is custom and uses a .Net framework. unfortunately, i am not familiar with how .Net sends requests to oracle bi publisher so i was thinking that may be i can just create oracle pl/sql stored procedures that can send this requests over to bi publisher.
p.s. when you said concurrent manager, i'm not sure if you are referring to oracle apps concurrent manager but if you are, unfortunately i won't be using oracle apps with bi publisher.
thanks
allen -
Issue with calling an external web service using web service proxy
Hi,
I've created several web services using JDeveloper succesfully in the past, however I'm getting an issue with one that was working ok previously. Have spoken to the developers of the external web service and they say they haven't changed anything. Also if I test the external web service through soapUI for example it seems fine so it would seem that the issue is with the autogenerated code created by JDeveloper.
Basically I get the following exception as it sends the request to the external service:
java.security.PrivilegedActionException: javax.xml.soap.SOAPException: Message send failed: Bad Authentication header format: 'Basic realm="Integration Server" encoding="UTF-8"'
Expected "," at position 33
The user name/password appear correct.
JDev version 10.1.3.42.70
Any ideas?
Many Thanks
Gary
Edited by: user10916721 on 08-May-2012 09:54Found the answer. Basically I had one proxy web service working and one not both linking to a middle tier written in web methods. THe issue actually ended up being with the web methods code in that the one web service (that was not working) was put together using a backwards compatability mode. Once this was switched back then started working again in JDev.
-
Calling a document style web service using a pl/sql wrapper method
Just wanted to find out if anybody has a working example of invoking a document style web service from Oracle 10g database on a Unix environment.
We have java test class that invokes the web service, and we are trying to use a pl/sql wrapper to invoke a Java Web Service client. So far, we are encountering an End of File Communication error from Oracle which essentially terminates the session with the database.
On the Oracle application server side we are able to see a successful HTTP request made to the application server via server log, which is hosting the web service, since we are registering HTTP 200 success codes. However, we do not see any other errors from the application in the server logs. Most likely since the client side fails, before actually getting a chance to invoke the web service. This has been verified by commenting the client code leaving the print statements. The first call to the Service Factory method (XFire) to look up the service is where the PL/SQL procedure fails with an End of File communication error.Remove the when others section and see the actual error and post that.
http://tkyte.blogspot.com/2008/06/when-others-then-null-redux.html
http://tkyte.blogspot.com/2007/03/dreaded-others-then-null-strikes-again.html -
How to call an ABAP based web service from a web page (form)
Hi,
I am trying to figure out how I can call my own developed ABAP based web service. I was able to successfully test it in the WS navigator and am now wondering what I need to do to embed the service call in a plain simply web page (form). Basically I'd like to create a web form allowing to specify the parameters and with a 'Submit' button pass the parameters to the web service and launch it.
Is this possible or do I need some kind of SDK to accomplish this?
Thanks for any hints and tips.
WolfgangHi,
refer the following link and this is for cosuming the web service form Web dynpro Java
https://www.sdn.sap.com/irj/scn/index?rid=/library/uuid/50d70a19-45a3-2b10-bba0-807d819daf46&overridelayout=true
and please go throught the following link if you want to cosume it through web dynpro abap and find the answer given by the Moderator Thomas Jung
regards
Manohar
Maybe you are looking for
-
I am having trouble all over the different schools I work in with safari either quitting out when it launches, or quitting when it opens a certain page. I've tried deleting the com.apple.safari.plist, cookies.plist, all the items in ~/Library/Safari
-
SNC 'due quantity is Zero' error in Release prcesse - ASN creation.
Hi~ I am facing problem while creating the ASN' s for the Schedule Line releases. Error message is " Schedule line due quantity is Zero". But due quantity field is not getting populated when I create confirmations and also it is not editable. Status
-
Conversion Problem in Unit of measure 1PAC=100,000 EA
Hi Experts, I am facing the problem in conversion of Unit of Measures. If some material has the conversion unit when we order to Vendor. The Unit of measure is EA, the Order unit is PAC. The conversion is 1PAC=100,000 EA But the System is allowing as
-
Use_current_session = FALSE does not run my job correctly
We have a custom scheduler that invokes jobs based on schedules/conditions. Until now, the jobs were all kicked off in the same session. Since the record set to be processed is increasing, we want the jobs submitted in parallel. So the main job is sp
-
Aperture importing Results in System Crash
Launch Aperture 3, create new library, create a handful of Project names, start importing photos into Projects. Generates a system crash after about 150 photos imported resulting in system rebooting with Question Folder in center display. I have been