Calling secured services from ESB
Hi,
How to invoke secured (HTTP Basic/WS-Security) web services from ESB? BPEL supports it via partner link properties/adapter header properties.
Thanks in advance.
Regards,
Rajesh
This is a sneak peek at how headers are used. This example shows how to set outbound WS-Sec headers using a routing serrvice XSLT. Create a transformation in a RS that is invoking an outbound SOAP service and add the text below. Note it uses xsl variables and some new esb header xpath functions.
For using ws-security in ESB you need to add the variable username and password in your xsl transformation template against the target. As below
<xsl:variable name="Username"
select="ehdr:setOutboundHeader('/wsse1:Security/wsse1:UsernameToken/wsse1:Username','oc4jadmin','wsse1=http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd;')"/>
<xsl:variable name="Password"
select="ehdr:setOutboundHeader('/wsse1:Security/wsse1:UsernameToken/wsse1:Password','welcome1','wsse1=http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd;')"/>
<xsl:template match="/">
Message was edited by:
Dave Berry
Similar Messages
-
How to call web services from PL/SQL?
Hi,
Can one help in how to call web services from PL/SQL? Steps, pros and cons, etc....
Thanks in advanceHere's some example skeleton code to get you started...
PROCEDURE p_soap_request(p_username IN VARCHAR2, p_password IN VARCHAR2, p_proxy IN VARCHAR2) IS
soap_request VARCHAR2(30000);
soap_respond CLOB;
http_req utl_http.req;
http_resp utl_http.resp;
resp XMLType;
soap_err exception;
v_code VARCHAR2(200);
v_msg VARCHAR2(1800);
v_len number;
v_txt Varchar2(32767);
BEGIN
UTL_HTTP.SET_PROXY(p_proxy);
-- Define the SOAP request according the the definition of the web service being called
soap_request:= '<?xml version = "1.0" encoding = "UTF-8"?>'||
'<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">'||
' <SOAP-ENV:Body>'||
' <m:DownloadRequest xmlns:m="http://www.website.net/messages/GetDetails">'||
' <m:UserName>'||p_username||'</m:UserName>'||
' <m:Password>'||p_password||'</m:Password>'||
' </m:DownloadRequest>'||
' </SOAP-ENV:Body>'||
'</SOAP-ENV:Envelope>';
http_req:= utl_http.begin_request
( 'http://www.website.net/webservices/GetDetailsService.asmx'
, 'POST'
, 'HTTP/1.1'
utl_http.set_header(http_req, 'Content-Type', 'text/xml');
utl_http.set_header(http_req, 'Content-Length', length(soap_request));
utl_http.set_header(http_req, 'Download', ''); -- header requirements of particular web service
utl_http.write_text(http_req, soap_request);
http_resp:= utl_http.get_response(http_req);
utl_http.get_header_by_name(http_resp, 'Content-Length', v_len, 1); -- Obtain the length of the response
FOR i in 1..CEIL(v_len/32767) -- obtain response in 32K blocks just in case it is greater than 32K
LOOP
utl_http.read_text(http_resp, v_txt, case when i < CEIL(v_len/32767) then 32767 else mod(v_len,32767) end);
soap_respond := soap_respond || v_txt; -- build up CLOB
END LOOP;
utl_http.end_response(http_resp);
resp:= XMLType.createXML(soap_respond); -- Convert CLOB to XMLTYPE
END;Using secure web services (https)...
Web serivces call in Plsql
As for 'pros and cons'... there's nothing to compare against... either you want to call a web service or you don't. -
Error while calling a procedure from ESB
Hi,
I am calling a procedure from ESB using DB adapter. and in the routing rules i am mapping the i/p values for schema to procedure input variables using mappings(transformation) but the values are going as null to the procedure call.
Please help me out.
The exception follows...
An unhandled exception has been thrown in the ESB system. The exception reported is: "org.collaxa.thirdparty.apache.wsif.WSIFException: esb:///ESB_Projects/ESB-Issues_issue3/db3.wsdl [ db3_ptt::db3(InputParameters,OutputParameters) ] - WSIF JCA Execute of operation 'db3' failed due to: Error while trying to prepare and execute an API.
An error occurred while preparing and executing the SYSTEM.INSERT_ISSUE_PROC API. Cause: java.sql.SQLException: ORA-01400: cannot insert NULL into ("SYSTEM"."ISSUES"."ISSUE_NAME")
ORA-06512: at "SYSTEM.INSERT_ISSUE_PROC", line 16
ORA-06512: at line 1
[Caused by: ORA-01400: cannot insert NULL into ("SYSTEM"."ISSUES"."ISSUE_NAME")
ORA-06512: at "SYSTEM.INSERT_ISSUE_PROC", line 16This is likely being caused by a problem that we've seen a number of times. You'll have namespace issues and problems with NULLs if your JDev is 10.1.3.1 and SOA is 10.1.3.3 (or vice-versa). You MUST synchronize JDev 10.1.3.3 (or higher) with SOA 10.1.3.3 (or higher). It doesn't matter if you mix 10.1.3.3 and 10.1.3.4. You just need to get away from 10.1.3.1.
-
Call Custom Service from Event Receiver as Current User
Hello,
i bang my head on this problem for days now:
My custom web service hosted in Sharepoint 2013 needs to know the logged on user name. I used to have a self-written impersonation in my service client before, but with switching to claims authentication this should be obsolete.
So within my service i decode the user from
IClaimsPrincipal icp = Thread.CurrentPrincipal as IClaimsPrincipal;
IClaimsIdentity ci = (IClaimsIdentity)icp.Identity;
String User = ci.ToString();
This works well when i call the service from a custom aspx page.
It utterly fails when i call the service from a List Item Event Receiver. The User always is the Application Pool Account.
This is the Client code to open the Channel:
private void SetChannelFactory(
MyServiceApplicationProxy proxy,
Uri address)
if (null == proxy)
throw new ArgumentNullException("proxy");
if (null == address)
throw new ArgumentNullException("address");
// Check for a cached channel factory
string endpointConfigurationName = GetEndpointConfigurationName(address);// Get the endpoint configuration name
if ((null == s_ChannelFactory) || (endpointConfigurationName != m_EndpointConfigurationName))
lock (s_ChannelFactoryLock)
if ((null == s_ChannelFactory) || (endpointConfigurationName != m_EndpointConfigurationName))
// Create a channel factory without specifying an endpoint address
// so it can be cached and used for multiple endpoint addresses
s_ChannelFactory = new ConfigurationChannelFactory<IMyServiceContract>(
endpointConfigurationName, proxy.Configuration, null);
// Configure the channel factory for claims-based authentication
s_ChannelFactory.ConfigureCredentials(SPServiceAuthenticationMode.Claims);
foreach (var operation in s_ChannelFactory.Endpoint.Contract.Operations)
DataContractSerializerOperationBehavior behavior = operation.Behaviors.Find<DataContractSerializerOperationBehavior>() as DataContractSerializerOperationBehavior;
if (behavior != null)
behavior.MaxItemsInObjectGraph = 2147483647;
// Store the current endpoint configuration name.
m_EndpointConfigurationName = endpointConfigurationName;
private IMyServiceContract GetChannel(
MyServiceApplicationProxy proxy,
Uri address)
//Create Channelfactory
SetChannelFactory(proxy, address);
// Create a channel from the channel factory.
return s_ChannelFactory.CreateChannelActingAsLoggedOnUser(new EndpointAddress(address));
All research pointed out that "CreateChannelActingAsLoggedOnUser" would pass the current user (which is correctly identified within the event receiver!) to the service, but it doesn't work for my event receiver...
Any advice on this would be great!
With kind regards,
JoachimYou should be able to get the current user id from the SPListItemEventProperties object. From here you should be able to create a Claim. For example get the user by using
user = SPWeb.Users.GetByID(properties.CurrentUserId)
SPClaim claim = SPClaimProviderManager.CreateUserClaim(user.email, SPOriginalIssuerType.TrustedProvider, issuerIdentifier);
https://msdn.microsoft.com/en-us/library/microsoft.sharepoint.administration.claims.spclaimprovidermanager.createuserclaim(v=office.14).aspx
Blog | SharePoint Field Notes Dev Tools |
SPFastDeploy | SPRemoteAPIExplorer -
Is there a way to call web service from 2 servers??
Hi,
I need to know if its possible to call web service from 2 different servers without having load balancer??? I mean, if one of the server has heavy work on, then it should call web service from the other server.
Thanks in advance.
Best Regards.Hi,
WebLogic Cluster has this feature ( Load Balancing & Failover ). If you will deploy your WebService to a WebLogic Cluster and then If you will put a Proxy in front of it like (Apache)...Then it is Possible.
<h3><font color=maroon>What All You Need To Do ? ...... as following</font></h3>
<b><font color=maroon>Step1).</font></b> Create a WebLogic Cluster (minimum two ManagedServers)
http://weblogic-wonders.com/weblogic/2010/04/28/weblogic-clustering-in-remote-boxes/
<b><font color=maroon>Step2).</font></b> Install a Proxy like Apache in frot of them like following:
http://weblogic-wonders.com/weblogic/2010/05/13/apache-proxy-as-static-content-repository/
Or
http://weblogic-wonders.com/weblogic/2010/08/01/weblogic-httpclusterservlet-proxyserver/
<b><font color=maroon>Step3).</font></b> Now Configure a FrontEnd Host for your Cluster by providing the ProxyServer Host name as the FrontEnd of your Cluster. This step is required to Generate the Dynamic WSDL with the Address of the Frontend.(Not of a perticular WebLogic Server)
http://weblogic-wonders.com/weblogic/2010/06/21/configuring-frontend-host-and-port/
<b><font color=maroon>Step4).</font></b> Deploy your WebService on the Cluster
<b><font color=maroon>Step5).</font></b> Now Hit the WebService using the Proxy URL:
Example:
http://ProxyHostname:proxyPort/ServiceContextRoot/ServiceURI?WSDL
Thanks
Jay SenSharma -
Calling Web service From R/3
Hi ,
we have a requirement, where we have to call a web service in Biz talk from SAP and compile the received data in R/3 as a report.
has any one worked on such a requirement, could you please provide your inputs on the same.
Thanks,
Raghavendra[Calling Web service From R/3|http://forums.sdn.sap.com/search.jspa?threadID=&q=CallingWebserviceFromR/3&objID=f50&dateRange=all&numResults=15]
-
Can anyone help??
I'm trying to call a webservice from within a JSP and i havent a clue how its done,
i have my IF and Impl and Client Coded and my stubs generated and service deployed and running, but i cannot figure out how to call the service from my JSP web-app.
Any help appreciated!Hi ,
Its easy to call a WS from jsp what you can do is this. Think in manner that u will be keeping the client classes on a particular container, then in same container you can refrence the classes and can invoke service through a jsp..this works in my case.. it depends what kind of client do u want to create may be static or proxy or DII -
Calling web service from Obiee
Hi,
I want to get data from webservice and show the results in a dashboard.
I checked http://www.artofbi.com/index.php/2009/08/consuming-a-web-service-in-obiee-presentation-services-using-jquery-cdn/ web site.
But the author is retrieving data from a web page by sending parameter to querystring like
yqlq=select%20*%20from%20yahoo.finance.quotes%20where%20symbol%20in%20(%22YHOO%22%2C%22AAPL%22%2C%22GOOG%22%2C%22MSFT%22%2C%20%22PTRY%22)&format=json&env=http%3A%2F%2Fdatatables.org%2Falltables.env&callback=?";
But as I know we can not call web services with parameters like this.
How can I call web service from BI?
Could you please suggest articles or sample codes, documents etc.
Regards,
byeHi,
I controlled this document. The document is explaining Oracle BI web services for extracting information from Oracle BI and showing them in other environments. But I want to get results from a web service ( for example a web service which returns currency rates, weather information or sharepoint lists) and then represent them in Oracle BI Dashboards. -
Calling Web Service from CRM using proxy
Hi all,
I'm facing a problem trying to call a web service from CRM (WAS 620) via XI 3.0. The response that XI recieves from the web service contains SOAP Envelope, and the mapping fails because of it. I built the proxy manually, because if I load WSDL the proxy generation in CRM generates error that sais that external definition coudn't be used.
Is there any way to remove SOAP envelope from the response while mapping?
Is it possible to call web service from WAS 620?
Thanks!!!!
Anya.Hi Manish,
SOAP adapter does pass the message to XI (this message contains SOAP envelope although XI expects to get message without it), and during the mapping step i get "Runtime Exception in Message-Mapping transformatio~".
I suppose it's because i created proxy manually. I did so because when i imported WSDL, and tried to generate proxy in CRM, i got an error message that said that proxy couldn't be generated because external definitions are only allowed in XI 3. But my XI version is 3.0! And when I generate the same proxy in my R/3 system that is installed on WAS 640, it works.
What can I do?
Cheers,
Anya. -
Dear All,
How can we call web service from SAP?
Thanks in Advance,
RamanaHI kcr,
pls see this link
http://****************/Tutorials/Others/ValidateEmailID/Webservice.htm
write this program
REPORT zvalidate_email.PARAMETERS: p_mail(100) LOWER CASE. " E-Mail id to be verifiedDATA: http_client TYPE REF TO if_http_client .DATA: w_string TYPE string ,
w_result TYPE string ,
r_str TYPE string .DATA: result_tab TYPE TABLE OF string.START-OF-SELECTION .
CLEAR w_string .
CONCATENATE
'http://www.webservicex.net/ValidateEmail.asmx/IsValidEmail?Email=' p_mail
INTO
w_string . CALL METHOD cl_http_client=>create_by_url
EXPORTING
url = w_string
IMPORTING
client = http_client
EXCEPTIONS
argument_not_found = 1
plugin_not_active = 2
internal_error = 3
OTHERS = 4. CALL METHOD http_client->send
EXCEPTIONS
http_communication_failure = 1
http_invalid_state = 2. CALL METHOD http_client->receive
EXCEPTIONS
http_communication_failure = 1
http_invalid_state = 2
http_processing_failed = 3.
CLEAR w_result .
w_result = http_client->response->get_cdata( ). REFRESH result_tab .
SPLIT w_result AT cl_abap_char_utilities=>cr_lf INTO TABLE result_tab . READ TABLE result_tab INTO r_str INDEX 2.
IF r_str+44(1) = 't'.
WRITE:/ 'Valid email address'.
ELSE.
WRITE:/ 'Invalid email address'.
ENDIF.Output:
thanks
karthik -
Calling web Service from the Custom Adapter.Is it Possible?
Hi Experts,
I am having requirment in which i have to cal com.sap.aii.mapping.lookup.LookupService for calling web Service from the Custom Adapter.Is it Possible?
Regards,
Rajesh.DHi Rajesh..
Just looking the problem in another angle.. if there is no constraint that you have to use XI specific API to call the web service, why dont you use usual Java API used for calling a web service inside you custom adapter (I have Microsoft background.. donno exactly how it is done in Java,, but in .NET kind of a language it is possible). SInce your adapter is in Java itself and is capable of calling web service.. collect or lookup the data whatever you want and validate...
Just a thought..
VJ -
Calling web service from MBean weblogic cannot find type mapping file
When calling web service from custom MBean i get java.io.IOException.
java.io.IOException: unable to find the type mapping resource file for:
net.msl.sfx.ebooking.client.BookingPartiesServiceService
at weblogic.webservice.core.encoding.DefaultRegistry.<init>(DefaultRegis
try.java:67)
at weblogic.webservice.core.rpc.ServiceImpl.<init>(ServiceImpl.java:83)
at net.msl.sfx.ebooking.client.BookingPartiesServiceService_Impl.<init>(
BookingPartiesServiceService_Impl.java:22)
at net.msl.sfx.ebooking.service.EBookingService.getBookingParties(EBooki
ngService.java:59)
The types.xml file is placed in same jar file as the classes such as net.msl.sfx.ebooking.client.BookingPartiesServiceService_Impl.
When calling the same class/method from a EJB, everything works fine and the web service is called.i am having the same problem.
Do you have a solution now?
Thanks -
Calling web service from oracle application framework r12
Hi Techies
Is anybody know How to call web service from oracle application framework r12(step by step procedure),because i searched in net but i could not understand that one
Thanks
Dillibabu B
Edited by: 962005 on 28 Sep, 2012 12:11 AMHi,
Check below links:
http://oracle.anilpassi.com/oa-framework-with-captcha-webservice.html
http://oracle.anilpassi.com/integrate-oa-framework-with-web-service.html
https://blogs.oracle.com/ebusinesssuiteintegration/entry/r121_-invokingweb_service_fr
--Sushant -
How to call business service from xquery transformation in OSB ??
Hi All,
How to call business service from xquery transformation in OSB ??
I need to assign the response variable of Business Service to a target element in XQuery Transformation Mapper file.
It's urgent.
Regards,
Jyoti NayakTransformation is to mapping the source and target of 2 different schemas.
In your case you should have a XQuery transformation between, your Business Service output schema and the target schema.
Thanks,
Vijay -
Is it possible to call web service from ABAP SAP 4.6 c..If yes how
Hi Friends,
Is it possible to call web service from ABAP-SAP 4.6 c..If yes Could you please let me know how.
Thanks in Advance.
Murali Krishna K
Edited by: Murali Krishna Kakarla on Jan 26, 2008 7:09 PM
Edited by: Murali Krishna Kakarla on Jan 26, 2008 7:11 PMOlivier CHRETIEN wrote:>
> Hi Terry,
>
> So these function modules must use the SAPHTTPA RFC destination which uses the exe saphttp.exe ?
>
> How much abap code lines do you have for a web service call ?
> Do you have to code the call specifically for each different web service ?
> Are you able to use the WSDL ?
>
> Nice job if you have coded your own private SOAP runtime !
>
> But I don't think this is an easy solution for everybody...
>
> Regards,
>
> Olivier
Yes, SAPHTTPA (runs on application server) and/or SAPHTTP (runs on front-end pc), one of which, is required for HTTP communication. So far, nothing too elaborate as far as SOAP goes, but the logic is simplistic. Here's some sample code:
DEST = 'SAPHTTPA'.
TRANSLATE HOST TO LOWER CASE.
MYURL = 'wssrvTest/Service.asmx/GetByOrderItem'.
CONCATENATE HOST MYURL INTO MYURL.
REQUEST_HEADERS-DATA =
'Content-type: application/x-www-form-urlencoded'.
APPEND REQUEST_HEADERS.
CLEAR REQUEST_HEADERS.
*........Convert Order Number to External Format........................
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'
EXPORTING
INPUT = ORDER
IMPORTING
OUTPUT = ORDER.
*........Convert Item Number to External Format.........................
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'
EXPORTING
INPUT = ITEM
IMPORTING
OUTPUT = ITEM.
*........Convert Material Number to External Format.....................
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'
EXPORTING
INPUT = MATERIAL
IMPORTING
OUTPUT = MATERIAL.
CONCATENATE 'sOrder=' ORDER
INTO REQUEST_BODY-DATA.
APPEND REQUEST_BODY.
CLEAR REQUEST_BODY.
CONCATENATE '&sItem=' ITEM
INTO REQUEST_BODY-DATA.
APPEND REQUEST_BODY.
CLEAR REQUEST_BODY.
CONCATENATE '&sMaterial=' MATERIAL
INTO REQUEST_BODY-DATA.
APPEND REQUEST_BODY.
CLEAR REQUEST_BODY.
CALL FUNCTION 'HTTP_POST'
EXPORTING
ABSOLUTE_URI = MYURL
RFC_DESTINATION = DEST
BLANKSTOCRLF = 'X'
TABLES
RESPONSE_ENTITY_BODY = RESPONSE_BODY
REQUEST_ENTITY_BODY = REQUEST_BODY
RESPONSE_HEADERS = RESPONSE_HEADERS
REQUEST_HEADERS = REQUEST_HEADERS
EXCEPTIONS
CONNECT_FAILED = 1
TIMEOUT = 2
INTERNAL_ERROR = 3
TCPIP_ERROR = 4
DATA_ERROR = 5
SYSTEM_FAILURE = 6
COMMUNICATION_FAILURE = 7
OTHERS = 8.
CHECK SY-SUBRC = 0. "more appropriate msg goes here
LOOP AT RESPONSE_BODY.
IF RESPONSE_BODY+0(7) <> '<string' AND
RESPONSE_BODY+0(8) <> '</string' AND
RESPONSE_BODY+0(5) <> '<?xml'.
SPLIT RESPONSE_BODY-DATA AT '=' INTO FIELD_NAME FIELD_VALUE.
TRANSLATE FIELD_NAME TO UPPER CASE.
CASE FIELD_NAME.
WHEN 'HEIGHT'.
HEIGHT = FIELD_VALUE.
WHEN 'WIDTH'.
WIDTH = FIELD_VALUE.
WHEN 'LENGTH'.
LENGTH = FIELD_VALUE.
WHEN 'WEIGHT'.
WEIGHT = FIELD_VALUE.
WHEN 'QTY'.
QTY = FIELD_VALUE.
ENDCASE.
ENDIF.
ENDLOOP.
Hope this helps...
Terry
Edited by: Terry West on Feb 4, 2008 3:08 PM
Maybe you are looking for
-
Unfortunately my Mac Mini I use for audio production work and web design got slower and slower until one day it just gave up! I blame the internet for this, as before I started using the internet on this computer it was fine, nice and fast without an
-
Can't find link to download Premiere 7?
The link to download Premiere 7 is no longer on Adobe website. Only 8 is available now. I "chatted" with customer support and still have a pending file open after 3 days. I have the DVD but my bay is busted - (kid fell on it while loading something a
-
Opening MS Excel 2007 files + Spotlight
Hey all, A couple of quick questions. 1. Is there any way to open MS Excel 2007 files? I tried Neooffice and an XML converter (which I now understand can convert only .docx and .pptx files?) 2. Is there a spotlight widget? So I can run spotlight whil
-
Anyone having trouble with I pad use since installingIOS 7?
Is any one having trouble loosing broadband connection since using Ios7 system.
-
Audio-Technica AT-LP2D USB Turntable ...
... how can I use this truntable to covert records in MP3 and/or iTunes Files? I have 27" iMac 10.7.1 running 2.93 i7 w/12GB of Ram Any help and suggestions greatly apprecaited