UTL_HTTP to call a web service to send SMS

Hi All,
I am trying to send SMS through a web service, and before doing it on a form, I tried to check this with UTL_HTTP from sql plus
below given is the code i tried
SQL> SET DEFINE OFF
SQL> SELECT UTL_HTTP.REQUEST('http://80.227.146.106/Receiver/sms99.aspx?usr=JOE123&pass=JOE321&
msisdn=971556221690&msg=test msg through ibuzz&mt=0') FROM DUAL;
and am getting the result as shown below
UTL_HTTP.REQUEST('HTTP://80.227.146.106/RECEIVER/SMS99.ASPX?USR=JOE123&PASS=JOE321&MSISDN=97155
<HTML><HEAD>
<TITLE>Request Error</TITLE>
</HEAD>
<BODY>
<big></big>
<TABLE border=0 cellPadding=1 width="80%">
<TR><TD>
<big>Request Error (unsupported_protocol)</big>
</TD></TR>
<TR><TD>
Your request used a protocol that is not currently supported.
</TD></TR>
UTL_HTTP.REQUEST('HTTP://80.227.146.106/RECEIVER/SMS99.ASPX?USR=JOE123&PASS=JOE321&MSISDN=97155
<TR><TD>
</TD></TR>
<TR><TD>
</TD></TR>
</TABLE>
</BODY></HTML>
protocol used for the webservice is HTTP
they have given an IP with port number
and the method is GET
url 'http://80.227.146.106/Receiver/sms99.aspx'
parameters are msisdn, msg, mt
their response would be either true or false.
I tried this on Oracle9i Enterprise Edition Release 9.2.0.1.0
and the message is
Your request used a protocol that is not currently supported.
when i tried the same on Oracle Database 11g Release 11.2.0.1.0
i got
Request Error (unsupported_protocol)
Can someone help please...........why am i getting such an error?

Hi,
This forum is dedicated to Oracle SQL Developer Data Modeler, so it is possible to get an answer here, but it is not very likely.
Try to get help in in more appropriate forum from here
https://forums.oracle.com/forums/main.jspa?categoryID=84
Regards

Similar Messages

  • Call MTOM web service using pl/sql (utl_http)

    Hi All,
    Is anyone able to call a MTOM web service using utl_http from pl/sql ?
    A typical request looks like this:
    --uuid:fd1fbed8-7042-4673-a304-becc1ffb037f+id=1
    Content-ID: <http://tempuri.org/0>
    Content-Transfer-Encoding: 8bit
    Content-Type: application/xop+xml;charset=utf-8;type="text/xml"
    <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"><s:Body>......</s:Body></s:Envelope>
    uuid:fd1fbed8-7042-4673-a304-becc1ffb037f+id=1
    A microsoft C# tool is provided to generate some requests and using fiddler I can see the content type is in the header as well as in the request. In the requests it doesn't contain the UID. Connection is set to keep-alive, is that possible using pl/sql ?
    The part that builds the header looks like:
    l_http_request := UTL_HTTP.begin_request(url => 'http://' || l_host_name || ':' || l_port || '/CRUDService.svc', method => 'POST', http_version => 'HTTP/1.1');
    UTL_HTTP.set_header(l_http_request, 'Host', l_host_name || ':' || l_port);
    UTL_HTTP.set_header(l_http_request, 'SOAPAction', '"action"');
    UTL_HTTP.set_header(l_http_request, 'Content-Length', LENGTH(l_string_request));
    UTL_HTTP.set_header(l_http_request, 'Content-ID', '<http://tempuri.org/0>');
    UTL_HTTP.set_header(l_http_request, 'Content-Transfer-Encoding', '8bit');
    UTL_HTTP.set_header(l_http_request, 'Content-Type', 'multipart/related; type="application/xop+xml";start="<http://tempuri.org/0>";boundary="uuid:fd1fbed8-7042-4673-a304-becc1ffb037f+id=1";start-info="text/xml"');
    I've played with the request by adding or removing information, the http response is (400) "Bad Request - Invalid Header", so should be somewhere in the header? Anyone ideas?
    Kind regards,
    Michiel

    HI Michiel
    I am also trying to achieve something similar to that. I am trying to call a web service that sends an xml attachment over MTOM? Kindly, let me know if this was achievable from your end? I mean how did the issue got resolved.
    thanks
    vijay

  • Calling SharePoint Web Services from PL/SQL

    We are trying to call SharePoint Web Services with UTL_DBWS or UTL_HTTP. We are able to call some test web services, but when it comes to using SharePoint services, we keep getting 401 errors..even when we use set_authorization.
    Has anyone been able to use UTL_DBWS or UTL_HTTP to call SharePoint web services? If so, can you point us in the right direction?
    Thanks

    AB,
    I didn't realize you cannot attach documents to your post. You will have to provide me with an email address that I can send the documents to. They are a little rough (ie not commented etc) but they do illustrate the point. The basic idea is to build up the payload of the soap envelope using pl/sql. Meaning as I loop through the cursor I use each record in the cursor to build an xml string. This string of xml becomes the payload of the soap message. This could also be done using xml functionality provided by the db meaning xmlelement, xmlforest etc. The issue I ran into was the size of the message. That is why I elected to build the xml message by string concatenation as I moved through the cursor.
    Ryan

  • Calling secured Web Service

    Hi,
    I am new in calling web service from PL/SQL block.
    From the code I'm successfully able to call non-secured webservice like this "http://www.ignyte.com/webservices/ignyte.whatsshowing.webservice/moviefunctions.asmx?wsdl"
    And also by setting the wallet I'm also able to call secured web service like this "https://www.docusign.net/api/3.0/Credential.asmx?WSDL" (ping method).
    For calling this secured service I stored certs with chain into the wallet and that works.
    But my problem is a different web service where that web service is authenticating me with my certificate. I have VeriSign certificate with private key and that web service has my public key. Whenever I will send SOAP request I need to send my certificate with the request. And communication will be over SSL.
    I have created a wallet with complete chain from the PFX file I received from VeriSign and Wallet is in Ready state, also I have included web service's certificate also.
    Whenever I am trying to make SOAP call I'm getting
    ORA-00600: internal error code, arguments: [kgazmo_1], [], [], [], [], [], [], []
    Please let me know where is the problem. May be I'm not able to send my certificate for authentication or may be I'm not able to establish SSL for communication from PL/SQL.
    I'm using 10.1.2 as database. I also have 10g AS installed, if that can help in achieving this.
    Code is as follows:
    FUNCTION CallWS
    RETURN xmltype
    AS
    l_request soap_api.t_request;
    l_response soap_api.t_response;
    l_url VARCHAR2(32767);
    l_namespace VARCHAR2(32767);
    l_method VARCHAR2(32767);
    l_soap_action VARCHAR2(32767);
    l_doc xmltype;
    BEGIN
    l_url := 'https://secured.webservice.com/WS/WebService.asmx';
    l_namespace := 'xmlns="https://secured.webservice.com/WS"';
    l_method := 'GetMe';
    l_soap_action := 'https://secured.webservice.com/WS/GetMe';
    utl_http.set_wallet('file:c:/wallets','pass123');
    l_request := soap_api.new_request(p_method => l_method,
    p_namespace => l_namespace);
    soap_api.add_parameter(p_request => l_request,
    p_name => 'param1',
    p_type => 'xsd:string',
    p_value => 'val1');
    soap_api.add_parameter(p_request => l_request,
    p_name => 'param2',
    p_type => 'xsd:string',
    p_value => 'val2');
    l_response := soap_api.invoke(p_request => l_request,
    p_url => l_url,
    p_action => l_soap_action );
    l_doc := l_response.doc;
    RETURN l_doc;
    END CallWS;
    You can find SOAP_API package here [SOAP_API|http://www.oracle-base.com/dba/miscellaneous/soap_api.sql] .
    Thanks in advance.
    -Smith

    Thanks again Billy,
    I have configured a wallet with all the necessary certificates. Actually I have purchased a VeriSign trusted certificate and convert that into Oracle Wallet (p12) using openssl with appropriate password. And I'm calling UTL_HTTP.set_wallet('<path_to_wallet>','<pass_to_open_it>');
    I have send my public key to them (web service company) and they need me to send my certificate with every request so that they can authenticate.
    You are saying we don't have to write any code for TLS/SSL UTL_HTTP will take care of that, thats really good.
    One more thing I want to mention here...
    In Internet Explorer - When I am importing my certificate without my private key and trying to access web service I'm getting 404 page not found error.
    But when I'm importing my certificate with the private key, I can see WSDL and all other methods offered by that web service.
    I'm guessing Oracle Wallet that I'm creating with my certificate will store private key also. B'coz it is showing me User Certificate in Ready state.
    ORA-00600 is not giving me proper location where I can find any error in my code.
    Thanks
    -Smith

  • Calling secured web service from Pl SQL

    Hi
    I am trying to call a secured web service from pl/sql using utl_http.
    Is there a sample pl/sql program that i can refer to call a secured web service.
    sample soap header that am trying to acheive.
    <soap:Header>
    <wsa:Action>http://myactaction</wsa:Action>
    <wsa:MessageID>uuid:asdfadrewrwqr</wsa:MessageID>
    <wsa:ReplyTo>
    <wsa:Address>http://schemas.xmlsoap.org/ws/2004/03/addressing/role/anonymous</wsa:Address>
    </wsa:ReplyTo>
    <wsa:To>http://myact</wsa:To>
    <wsse:Security soap:mustUnderstand="1">
    <wsse:UsernameToken wsu:Id="SecurityToken-321321">
    <wsse:Username>mordfsafsdae</wsse:Username>
    <wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">werwqrewrwe</wsse:Password>
    </wsse:UsernameToken>
    </wsse:Security>
    </soap:Header>
    Thanks a ton in advance

    Hi,
    On way we can call a web service is to pass the Web Service URL to UTL_HTTP package:
    Sample Web Service URL
    ===================
    lv_url :=
    'http://67.97.189.151:8888/plsqlsample/dbfunc?invoke=placeOrder'
    || '&'
    || 'param0=1'
    || '&'
    || 'param1=1'
    || '&'
    || 'param2=1';
    Sample Call using UTL_HTTP
    =====================
    SELECT UTL_HTTP.request (lv_url)
    INTO lv_result
    FROM DUAL;
    Thank you.
    Regards,
    Balu

  • Error while calling a web service in web dynpro through XI

    Hello,
    I was following a blog for Invoking Webservices using SAP XI
    /people/siva.maranani/blog/2005/09/03/invoke-webservices-using-sapxi
    I have done all the steps specified but when I import the wsdl file in web dynpro application and deploy the project I get the following error:
    <b>"Exception on execution of web service with WSDL URL 'bankws_OUT_MI.wsdl' with operation 'bankws_OUT_MI' in interface 'bankws_OUT_MI'"</b>
    where:
    bankws_OUT_MI -
    is the message interface name.
    I have defined a web service in the integration reopsitory as follows:
    <b>http://PEP:50000/XISOAPAdapter/MessageServlet?channel=:bankws:s_comm</b>
    where 
    bankws --- service name
    s_comm -
    sender communication channel
    selected 'bankws_OUT_MI' message interface from the given choices
    'bankws_IN_MI'  or 'bankws_OUT_MI'.
    interface name: bankws_OUT_MI -
    mesage interface name
    Can anyone guide me how to proceed further. Also if possible can anyone send me some helpful documentation regarding how to call a web service in web dynpro through XI.
    Thanks in advance.
    Regards,
    Imtool

    hello everyone,
    I made the whole scenario again and it is running succusfully in Xml spy. Now when i call the webservice in web dynpro...  I get the following error:
    <b>com.sap.engine.services.webservices.espbase.discovery.BaseIOException: Invalid Response Code 200 while accessing URL: http://PEP:50000/XISOAPAdapter/MessageServlet?channel=:OOMS_WS_OUT:CC_OOMS_WS_OUT. Response Message: OK. Content Type: text/html; charset=utf8. Body Content: <html> <head><title>MessageServlet</title></head> <body> <h3>Message Servlet is in Status OK</h3> <h3>Status information:</h3> Servlet com.sap.aii.af.mp.soap.web.MessageServlet (Version $Id: //tc/xi/645_VAL_REL/src/_adapters/_soap/java/com/sap/aii/af/mp/soap/web/MessageServlet.java#7 $) bound to /MessageServlet <br/>Classname ModuleProcessor: null <br/>Lookupname for localModuleProcessorLookupName: localejbs/ModuleProcessorBean <br/>Lookupname for remoteModuleProcessorLookupName: null <br/>ModuleProcessorClass not instantiated <br/>ModuleProcessorLocal is Instance of com.sap.aii.af.mp.processor.ModuleProcessorLocalLocalObjectImpl0 <br/>ModuleProcessorRemote not instantiated </body></html></b>
    I have also made the entry in the visual administrator for metadata_dest and execution_dest.
    Does anybody have an idea what mistake i am doing.
    Thanks,
    Imtool

  • Issue in calling a web service from Apps instance

    Hi ,
    I have created a procedure to call a function which gives response by calling a web service URL.
    Requirement is,
    While calling this procedure , the response data has been stored in the table. This is working fine in the back end.
    Now , i call the same through concurrenet program . It is also getting stored but partially.. The exact data is missing ..other default tags are displayed in the column.
    PROCEUDRE:
    create or replace procedure cv_test_GetCityWeather_PROC(cityName in varchar2, country in varchar2 ,errbuf OUT nocopy VARCHAR2,retcode OUT nocopy VARCHAR2) is
    xmlResponse XmlType;
    begin
    xmlResponse := CV_Test_GetCityWeather(cityName,country);
    insert into xx_cv_test values(xmlResponse);
    fnd_file.put_line(fnd_file.log, 'hghghgh');
    EXCEPTION
    WHEN OTHERS THEN
    retcode := 'insert failed';
    fnd_file.put_line(fnd_file.log, 'response of the request is ' );
    --dbms_output.put_line('xmlResponse ' ||xmlResponse);
    end cv_test_getCityweather_proc;
    FUNCTION
    /*<TOAD_FILE_CHUNK>*/
    CREATE OR REPLACE function APPS.CV_Test_GetCityWeather( cityName varchar2, country varchar2 ) return XmlType is
    --// URL to call
    SOAP_URL constant varchar2(1000) := 'http://www.webservicex.net/globalweather.asmx';
    --// SOAP envelope template, containing $ substitution variables
    SOAP_ENVELOPE constant varchar2(32767) :=
    '<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:web="http://www.webserviceX.NET">
    <soapenv:Header/>
    <soapenv:Body>
    <web:GetWeather>
    <web:CityName>$CITY</web:CityName>
    <web:CountryName>$COUNTRY</web:CountryName>
    </web:GetWeather>
    </soapenv:Body>
    </soapenv:Envelope>';
    --// we'll identify ourselves using an IE9/Windows7 generic browser signature
    C_USER_AGENT constant varchar2(4000) := 'Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)';
    --// these variables need to be set if web access
    --// is via a proxy server
    proxyServer varchar2(20) default null;
    proxyUser varchar2(20) default null;
    proxyPass varchar2(20) default null;
    --// our local variables
    soapEnvelope varchar2(32767);
    proxyURL varchar2(4000);
    request utl_http.req;
    response utl_http.resp;
    buffer varchar2(32767);
    soapResponse clob;
    xmlResponse XmlType;
    eof boolean;
    begin
    --// create the SOAP envelope
    soapEnvelope := replace( SOAP_ENVELOPE, '$CITY', cityName );
    soapEnvelope := replace( soapEnvelope, '$COUNTRY', country );
    --// our "browser" settings
    utl_http.set_response_error_check( true );
    utl_http.set_detailed_excp_support( true );
    utl_http.set_cookie_support( true );
    utl_http.set_transfer_timeout( 10 );
    utl_http.set_follow_redirect( 3 );
    utl_http.set_persistent_conn_support( true );
    --// configure for web proxy access if applicable
    if proxyServer is not null then
    proxyURL := 'http://'||proxyServer;
    if (proxyUser is not null) and (proxyPass is not null) then
    proxyURL := Replace( proxyURL, 'http://', 'http://'||proxyUser||':'||proxyPass||'@' );
    end if;
    utl_http.set_proxy( proxyURL, null );
    end if;
    --// make the POST call to the web service
    request := utl_http.begin_request( SOAP_URL, 'POST', utl_http.HTTP_VERSION_1_1 );
    utl_http.set_header( request, 'User-Agent', C_USER_AGENT );
    utl_http.set_header( request, 'Content-Type', 'text/xml; charset=utf-8' );
    utl_http.set_header( request, 'Content-Length', length(soapEnvelope) );
    utl_http.set_header( request, 'SoapAction', 'http://www.webserviceX.NET/GetWeather' );
    utl_http.write_text( request, soapEnvelope );
    --// read the web service HTTP response
    response := utl_http.get_response( request );
    dbms_lob.CreateTemporary( soapResponse, true );
    eof := false;
    loop
    exit when eof;
    begin
    utl_http.read_line( response, buffer, true );
    if length(buffer) > 0 then
    dbms_lob.WriteAppend(
    soapResponse,
    length(buffer),
    buffer
    end if;
    exception when utl_http.END_OF_BODY then
    eof := true;
    end;
    end loop;
    utl_http.end_response( response );
    --// as the SOAP responds with XML, we convert
    --// the response to XML
    xmlResponse := XmlType( soapResponse );
    --dbms_lob.FreeTemporary( soapResponse );
    --insert into xx_cv_test values(xmlResponse);
    return( xmlResponse );
    exception when OTHERS then
    if soapResponse is not null then
    dbms_lob.FreeTemporary( soapResponse );
    end if;
    raise;
    end;
    EXECUTION:
    select cv_test_GetCityWeather( 'Cape Town', 'South Africa' ) from dual
    Result is,
    <?xml version="1.0" encoding="UTF-8"?>
    <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>
    <GetWeatherResponse xmlns="http://www.webserviceX.NET">
    <GetWeatherResult><?xml version="1.0" encoding="utf-16"?><CurrentWeather> <Location>Cape Town, Cape Town International Airport, South Africa (FACT) 33-59S 018-36E 0M</Location> <Time>May 28, 2013 - 03:00 AM EDT / 2013.05.28 0700 UTC</Time> <Wind> from the NNW (330 degrees) at 7 MPH (6 KT) (direction variable):0</Wind> <Visibility> 4 mile(s):0</Visibility> <SkyConditions> mostly cloudy</SkyConditions> <Temperature> 57 F (14 C)</Temperature> <DewPoint> 53 F (12 C)</DewPoint> <RelativeHumidity> 87%</RelativeHumidity> <Pressure> 30.03 in. Hg (1017 hPa)</Pressure> <Status>Success</Status></CurrentWeather></GetWeatherResult>
    </GetWeatherResponse>
    </soap:Body>
    </soap:Envelope>
    While running Concurrent Program, by providing PARAMETERS : Cape Town, South Africa,
    the result is ,
    <?xml version="1.0" encoding="UTF-8"?>
    <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>
    <GetWeatherResponse xmlns="http://www.webserviceX.NET">
    <GetWeatherResult>Data Not Found</GetWeatherResult>
    </GetWeatherResponse>
    </soap:Body>
    </soap:Envelope>
    Why the outputs are different for the same procedure..
    Anybody , Please help me to fix this issue.
    Thanks
    Winsky

    duplicate post
    Please see
    Calling webservice from PLSQL
    Please confirm are you the one who post the above thread
    ;) AppsMAsti :)
    sharing is Caring

  • Calling a web service through SSL via a stand alone java class

    HI,
    I am trying to call a web service through SSL via a simple stand alone java client.
    I have imported the SSL certificate in my keystore by using the keytool -import command.
    Basically I want to add a user to a group on the server. Say I add a user user 1 to group group 1 using an admin userid and password. All these values are set in an xml file which I send to the server while calling the server. I pass the web service URL, the soap action name and the xml to post as the command line arguments to the java client.
    My xml file(Add.xml) that is posted looks like :
    <?xml version="1.0" encoding="UTF-8"?>
    <SOAP-ENV:Envelope
    xmlns:xsi = "http://www.w3.org/1999/XMLSchema-instance"
    xmlns:SOAP-ENC = "http://schemas.xmlsoap.org/soap/encoding/"
    xmlns:SOAP-ENV = "http://schemas.xmlsoap.org/soap/envelope/"
    xmlns:xsd = "http://www.w3.org/1999/XMLSchema"
    SOAP-ENV:encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/">
    <SOAP-ENV:Body>
    <namesp1:modifyGroupOperation xmlns:namesp1 = "/services/modifyGroup/modifyGroupOp">
    <auth>
    <user>adminUser</user>
    <password>adminPassword</password>
    </auth>
    <operationType>ADD</operationType>
    <groupName>group1</groupName>
    <users>
    <userName>user1</userName>
    </users>
    </namesp1:modifyGroupOperation>
    </SOAP-ENV:Body>
    </SOAP-ENV:Envelope>
    I call the client as:
    java PostXML https://com.webservice.com/services/modifyGroup "/services/modifyGroup/modifyGroupOp" Add.xml
    I my client, I have set the following:
    System.setProperty("javax.net.ssl.keyStore", "C:\\Program Files\\Java\\jre1.5.0_12\\lib\\security\\cacerts");
    System.setProperty("javax.net.ssl.keyStorePassword", "password");
    System.setProperty("javax.net.ssl.trustStore", "C:\\Program Files\\Java\\jre1.5.0_12\\lib\\security\\cacerts");
    System.setProperty("javax.net.ssl.trustStorePassword", "password");
    But when I try to execute the java client, I get the following error:
    setting up default SSLSocketFactory
    use default SunJSSE impl class: com.sun.net.ssl.internal.ssl.SSLSocketFactoryImpl
    class com.sun.net.ssl.internal.ssl.SSLSocketFactoryImpl is loaded
    keyStore is : C:\Program Files\Java\jre1.5.0_12\lib\security\cacerts
    keyStore type is : jks
    keyStore provider is :
    init keystore
    init keymanager of type SunX509
    trustStore is: C:\Program Files\Java\jre1.5.0_12\lib\security\cacerts
    trustStore type is : jks
    trustStore provider is :
    init truststore
    adding as trusted cert:
    init context
    trigger seeding of SecureRandom
    done seeding SecureRandom
    instantiated an instance of class com.sun.net.ssl.internal.ssl.SSLSocketFactoryImpl
    main, setSoTimeout(0) called
    main, setSoTimeout(0) called
    %% No cached client session
    *** ClientHello, TLSv1
    RandomCookie: GMT: .....
    Compression Methods: { 0 }
    [write] MD5 and SHA1 hashes: len = 73
    main, WRITE: TLSv1 Handshake, length = 73
    [write] MD5 and SHA1 hashes: len = 98
    main, WRITE: SSLv2 client hello message, length = 98
    [Raw write]: length = 100
    [Raw read]: length = 5
    [Raw read]: length = 58
    main, READ: TLSv1 Handshake, length = 58
    *** ServerHello, TLSv1
    %% Created: [Session-1, SSL_RSA_WITH_RC4_128_MD5]
    ** SSL_RSA_WITH_RC4_128_MD5
    [read] MD5 and SHA1 hashes: len = 58
    [Raw read]: length = 5
    [Raw read]: length = 5530
    main, READ: TLSv1 Handshake, length = 5530
    *** Certificate chain
    chain [0] = ...
    chain [1] = ...
    chain [2] = ...
    chain [3] = ...
    main, SEND TLSv1 ALERT: fatal, description = certificate_unknown
    main, WRITE: TLSv1 Alert, length = 2
    [Raw write]: length = 7
    0000: 15 03 01 00 02 02 2E .......
    main, called closeSocket()
    main, handling exception: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
    main, called close()
    main, called closeInternal(true)
    main, called close()
    main, called closeInternal(true)
    main, called close()
    main, called closeInternal(true)
    Exception in thread "main" javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.c
    ertpath.SunCertPathBuilderException: unable to find valid certification path to requested target
    at com.sun.net.ssl.internal.ssl.Alerts.getSSLException(Unknown Source)
    at com.sun.net.ssl.internal.ssl.SSLSocketImpl.fatal(Unknown Source)
    at com.sun.net.ssl.internal.ssl.Handshaker.fatalSE(Unknown Source)
    at com.sun.net.ssl.internal.ssl.Handshaker.fatalSE(Unknown Source)
    at com.sun.net.ssl.internal.ssl.ClientHandshaker.serverCertificate(Unknown Source)
    at com.sun.net.ssl.internal.ssl.ClientHandshaker.processMessage(Unknown Source)
    at com.sun.net.ssl.internal.ssl.Handshaker.processLoop(Unknown Source)
    at com.sun.net.ssl.internal.ssl.Handshaker.process_record(Unknown Source)
    at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(Unknown Source)
    at com.sun.net.ssl.internal.ssl.SSLSocketImpl.performInitialHandshake(Unknown Source)
    at com.sun.net.ssl.internal.ssl.SSLSocketImpl.writeRecord(Unknown Source)
    at com.sun.net.ssl.internal.ssl.AppOutputStream.write(Unknown Source)
    at java.io.BufferedOutputStream.flushBuffer(Unknown Source)
    at java.io.BufferedOutputStream.flush(Unknown Source)
    at org.apache.commons.httpclient.methods.EntityEnclosingMethod.writeRequestBody(EntityEnclosingMethod.java:506)
    at org.apache.commons.httpclient.HttpMethodBase.writeRequest(HttpMethodBase.java:2110)
    at org.apache.commons.httpclient.HttpMethodBase.execute(HttpMethodBase.java:1088)
    at org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(HttpMethodDirector.java:398)
    at org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:171)
    at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:397)
    at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:323)
    at PostXML.main(PostXML.java:111)
    Caused by: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find v
    alid certification path to requested target
    at sun.security.validator.PKIXValidator.doBuild(Unknown Source)
    at sun.security.validator.PKIXValidator.engineValidate(Unknown Source)
    at sun.security.validator.Validator.validate(Unknown Source)
    at com.sun.net.ssl.internal.ssl.X509TrustManagerImpl.checkServerTrusted(Unknown Source)
    at com.sun.net.ssl.internal.ssl.JsseX509TrustManager.checkServerTrusted(Unknown Source)
    ... 18 more
    Caused by: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
    at sun.security.provider.certpath.SunCertPathBuilder.engineBuild(Unknown Source)
    at java.security.cert.CertPathBuilder.build(Unknown Source)
    ... 23 more
    I do not know where I have gone wrong. Could someone point out my mistake.
    Thanks In advance!

    Hi jazz123,
    There's an example in the [*Java Web Services Tutorial*|http://java.sun.com/webservices/docs/2.0/tutorial/doc/] : see Chapter 1: Building Web Services with JAX-WS - A Simple JAX-WS Client.

  • Urgent - How to call a Web Services from PLSQL - Please help

    Hello,
    I am very much new to WebServices, need to call web services through PLSQL. I have a urgent requirement, where i need to call the web services by passing from some paramters to it and the web services will return a varchar values as 'PASSED' or 'FAILED'.
    Can you please approch me the best way to start with.
    Thanks,
    Srikanth.

    Hi,
    I need to do it from PLSQL API's not from JAVA.
    I have started developing the code through UTIL_HTTP. Getting lots of error.
    Can you please guide me through these error.
    Below is the wsdl and a blcok where i am trying to retrive the value from webservice.
    Hope this will help you.
    Code:
    declare
    soap_request varchar2(30000);
    soap_respond varchar2(30000);
    http_req utl_http.req;
    http_resp utl_http.resp;
    resp XMLType;
    i integer;
    begin
    soap_request:= '<?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:soapCheckRequest1 wsdl:ns1="https://isportal-qa.iss.net/exportcompliancemanager/services/ExportCheckService" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
    <FirstName xsi:type="xsd:string">saddam</FirstName>
    <LastName xsi:type="xsd:string">hussein</LastName>
              <companyName xsi:type="xsd:string">samueladams</companyName>
              <address1 xsi:type="xsd:string">123 APT</address1>
              <address3 xsi:type="xsd:string">Atlanta</address3>
              <city xsi:type="xsd:string">uk</city>
              <stateOrRegion xsi:type="xsd:string">GA</stateOrRegion>
              <postalCode xsi:type="xsd:string">30338</postalCode>
              <email xsi:type="xsd:string">sj@samueladams</email>
              <isoCountryCode xsi:type="xsd:string">US</isoCountryCode>
              <endUserIP xsi:type="xsd:string">209.134.168.203</endUserIP>
    </ns1:soapCheckRequest1>
    </SOAP-ENV:Body>
    </SOAP-ENV:Envelope>
    http_req:= utl_http.begin_request
    ( 'http://isportal-qa.iss.net/exportcompliancemanager/services/ExportCheckService'
    , 'POST'
    , 'HTTP/1.1'
    utl_http.set_header(http_req, 'Content-Type', 'text/xml'); -- since we are dealing with plain text in XML documents
    utl_http.set_header(http_req, 'Content-Length', length(soap_request));
    utl_http.set_header(http_req, 'SOAPAction', ''); -- required to specify this is a SOAP communication
    utl_http.write_text(http_req, soap_request);
    http_resp:= utl_http.get_response(http_req);
    DBMS_OUTPUT.PUT_LINE('-------utl_http.get_response---------------------');
    DBMS_OUTPUT.PUT_LINE('http_resp.status_code is :'||http_resp.status_code );
    DBMS_OUTPUT.PUT_LINE('http_resp.reason_phrase is :'||http_resp.reason_phrase);
    DBMS_OUTPUT.PUT_LINE('http_resp.http_version is :'||http_resp.http_version);
    DBMS_OUTPUT.PUT_LINE('http_resp.private_hndl is :'||http_resp.private_hndl);
    DBMS_OUTPUT.PUT_LINE('-------utl_http.get_response----------------------');
    utl_http.read_text(http_resp, soap_respond);
    utl_http.end_response(http_resp);
    resp:= XMLType.createXML(soap_respond);
    resp:= resp.extract('/soap:Envelop/soap:Body/child::node()'
    , 'xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"'
    i:=0;
    loop
    dbms_output.put_line(substr(soap_respond,1+ i*255,250));
    i:= i+1;
    if i*250> length(soap_respond)
    then
    exit;
    end if;
    end loop;
    end;
    Error Message
    http_resp.reason_phrase is :Internal Server Error
    http_resp.http_version is :HTTP/1.1
    http_resp.private_hndl is :0
    -------utl_http.get_response----------------------
    <?xml version="1.0" encoding="UTF-8"?><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><soapenv:Body><soapenv:Fault><faultco
    apenv:Server.userException</faultcode><faultstring>org.xml.sax.SAXParseException: The prefix &quot;ns1&quot; for element &quot;ns1:soapCheckRequest1&quot; is not bound.</faultstring><detail><ns1:hostname xmlns:ns1="http://xml.apache.org/axis/">atlcms
    2.iss.net</ns1:hostname></detail></soapenv:Fault></soapenv:Body></soapenv:Envelope>
    <?xml version="1.0" encoding="UTF-8" ?>
    - <wsdl:definitions targetNamespace="https://isportal-qa.iss.net/exportcompliancemanager/services/ExportCheckService" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="https://isportal-qa.iss.net/exportcompliancemanager/services/ExportCheckService" xmlns:intf="https://isportal-qa.iss.net/exportcompliancemanager/services/ExportCheckService" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    - <!--
    WSDL created by Apache Axis version: 1.3
    Built on Oct 05, 2005 (05:23:37 EDT)
    -->
    - <wsdl:message name="soapCheckResponse1">
    <wsdl:part name="soapCheckReturn" type="soapenc:string" />
    </wsdl:message>
    - <wsdl:message name="soapCheckRequest1">
    <wsdl:part name="firstName" type="soapenc:string" />
    <wsdl:part name="lastName" type="soapenc:string" />
    <wsdl:part name="companyName" type="soapenc:string" />
    <wsdl:part name="address1" type="soapenc:string" />
    <wsdl:part name="address2" type="soapenc:string" />
    <wsdl:part name="address3" type="soapenc:string" />
    <wsdl:part name="city" type="soapenc:string" />
    <wsdl:part name="stateOrRegion" type="soapenc:string" />
    <wsdl:part name="postalCode" type="soapenc:string" />
    <wsdl:part name="email" type="soapenc:string" />
    <wsdl:part name="phone" type="soapenc:string" />
    <wsdl:part name="isoCountryCode" type="soapenc:string" />
    <wsdl:part name="endUserId" type="soapenc:string" />
    <wsdl:part name="endUserIP" type="soapenc:string" />
    <wsdl:part name="endUserSession" type="soapenc:string" />
    <wsdl:part name="performGovCheck" type="xsd:boolean" />
    <wsdl:part name="sendEmailNotification" type="xsd:boolean" />
    <wsdl:part name="screeningLevelBasedOnSuppliedCountryCode" type="xsd:boolean" />
    <wsdl:part name="screeningLevelBasedOnEndUserIP" type="xsd:boolean" />
    <wsdl:part name="soundexMatch" type="xsd:boolean" />
    </wsdl:message>
    - <wsdl:message name="soapCheckRequest">
    <wsdl:part name="firstName" type="soapenc:string" />
    <wsdl:part name="lastName" type="soapenc:string" />
    <wsdl:part name="companyName" type="soapenc:string" />
    <wsdl:part name="address1" type="soapenc:string" />
    <wsdl:part name="address2" type="soapenc:string" />
    <wsdl:part name="address3" type="soapenc:string" />
    <wsdl:part name="city" type="soapenc:string" />
    <wsdl:part name="stateOrRegion" type="soapenc:string" />
    <wsdl:part name="postalCode" type="soapenc:string" />
    <wsdl:part name="email" type="soapenc:string" />
    <wsdl:part name="phone" type="soapenc:string" />
    <wsdl:part name="isoCountryCode" type="soapenc:string" />
    <wsdl:part name="endUserId" type="soapenc:string" />
    <wsdl:part name="endUserIP" type="soapenc:string" />
    <wsdl:part name="endUserSession" type="soapenc:string" />
    <wsdl:part name="performGovCheck" type="xsd:boolean" />
    <wsdl:part name="sendEmailNotification" type="xsd:boolean" />
    <wsdl:part name="screeningLevelBasedOnEndUserIP" type="xsd:boolean" />
    <wsdl:part name="soundexMatch" type="xsd:boolean" />
    </wsdl:message>
    - <wsdl:message name="soapCheckResponse">
    Thanks and Regard,
    Srikanth

  • What's a lightweight method to call a web service from an applet?

    So, writing web service clients in java is pretty easy these days using the JAX-RPC library. Problem is in an applet you want it to load fast. I need my applet to call a web service, but don't want to include all the 'baggage' that comes along with JAX-RPC. It looks like you need XML libraries for JAX-RPC stuff to run, and those are huge jar files (many megabytes). I want a lightweight way to call web services. They are my own web services, so I don't need a general solution. There's got to be a way to just form a soap message and use http to send it. It seems like that has been done already.
    On a related note. I will be passing byte arrays as parameters, so if I do try and form my own SOAP XML message, how are byte typically encoded into these messages?
    Thanks a bunch for any suggestions.
    Mike

    The scripting prompt is due to locally installed WebHelp. If you put it on a server, it should work fine. (Or try to enable Mark of the Web for your output.)
    The problem with CSH not working is probably because the CSH is not enabled in the output. In the single source layout settings, make sure that all your map files are selected:
    The easiest way I see it to create a simple API yourself. (We did it for Delphi and C# and it took about ten minutes.) You can just create a URL and feed it to the default browser. If you want to be able to load new help calls in the same tab, you will have to hook into the browser somehow.
    The URL's are really easy to create. See http://www.wvanweelden.eu/article-category/context-sensitivity for a complete overview of all your options in HTML and WebHelp. If you want to call a CHM context sensitive look at the following article: http://msdn.microsoft.com/en-us/library/2bk8zwb3(v=vs.90).aspx
    Greet,
    Willam

  • Calling a web service in external system from SRM

    Hi folks,
    A web service is created in the external system and I need to access this web service from a BADI. Can you tell me how can I call this web service (the external system is giving me a URL) and how I'll get a return. Please let me know in detail.
    Thanks,
    Prem

    Prem,
    Hi. You can call the service via HTTP protocol. Pass them values (SET_DATA), and receive a response (GET_DATA), via xml/html.
    In your code you would need to create the xml data to pass them, and evaluate the returned xml.
    Process...
    Data setup
    1) Create the XML to send them
    Working with the external service
    2) Open the HTTP connection
    2a) cl_http_client=>create_by_url (IF_HTTP_CLIENT)
    2b) lr_client->authenticate
    3) Call the to send them the XML
    3a) lr_client->request->set_data
    3b) lr_client->send
    4) Call the lr_client->receive to return the response
    5) Close the connection lr_client->close
    Data evaluate
    6) Evaluation the returned XML and process.
    Hope this helps
    Cheers
    Rob
    Code example below.. (There are loads of SAP examples depending on which release you are on).
    Process the call to the HTTP client - logic copied from RSHTML01     *
    Open IF_HTTP_CLIENT
      call method cl_http_client=>create_by_url
        exporting
          url                = l_url
        importing
          client             = lr_client
        exceptions
          argument_not_found = 1
          plugin_not_active  = 2
          internal_error     = 3
          others             = 4.
      if sy-subrc <> 0.
        message id sy-msgid type sy-msgty number sy-msgno
                   with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4
          raising oops.
      endif.
    Authenticate the user
      if not g_int_type-usr is initial.
        move: g_int_type-usr      to l_user,
              g_int_type-password to l_password.
        call method lr_client->authenticate
          exporting
            username = l_user
            password = l_password.
      endif.
    Allow for Cookies
      lr_client->propertytype_accept_cookie = lr_client->co_enabled.
    Set the server protocol
      select single gsval into l_server_protocol
        from z77s0
          where grpid = c_grpid
          and   semid = c_server_protocol.
      if sy-subrc eq 0
      and not l_server_protocol is initial.
        move l_server_protocol to l_st_server_protocol.
        call method lr_client->request->set_header_field
          exporting
            name  = '~server_protocol'
            value = l_st_server_protocol.
      endif.
      Send out the XML
      Set body to XML data
        lr_client->request->set_data( g_xxml ).
        save_xml( i_role = cl_xml_document=>c_role_oreq ).
        l_request_length = xstrlen( g_xxml ).
      If Data is sent through then we need certain flags set
        lr_client->request->set_header_field(
                                   name = 'Content-Type'
                                   value = zcl_tem_bsp=>c_xml_content ).
        call method lr_client->request->set_header_field
          exporting
            name  = '~request_method'
            value = 'POST'.
      Set length of string to the header fields
        if not l_request_length is initial.
          move l_request_length to l_st_request_length.
          lr_client->request->set_header_field(
                                    name = 'content-length'
                                    value = l_st_request_length ).
        endif.
      Send the request
        call method lr_client->send
          exceptions
            http_communication_failure = 1
            http_invalid_state         = 2
            http_processing_failed     = 3
            http_invalid_timeout       = 4
            others                     = 5.
        check_for_error 'Send'.
      Receive the response
        call method lr_client->receive
          exceptions
            http_communication_failure = 1
            http_invalid_state         = 2
            http_processing_failed     = 3
            others                     = 4.
        check_for_error 'Receive'.
      Determined returned XML or HTML
        g_xxml = lr_client->response->get_data(  ).
      Determine the header fields for failure validation
        if lr_client->response->get_header_field( '~status_code' )
              between 200 and 299.
          save_xml( i_role = cl_xml_document=>c_role_ires ).
        else.
          l_status_code =
            lr_client->response->get_header_field( '~status_code' ).
          l_descript_1 =
            lr_client->response->get_header_field( 'error' ).
          l_descript_2 =
            lr_client->response->get_header_field( 'errortext' ).

  • Calling a Web Service from OPM ODS

    Greetings,
    Is it possible to call a web service directly from OPM (version 10.4) using Determinations Server or do we need BPM or BPEL to be involved. We are trying to transition to Weblogic 11g Fusion SOA environment using OPA for rules.
    Thanks

    Hi Davin,
    I have managed to deployed the determinations-server.war with the rulebase to WLS. I am also able to create a web service proxy to send request to ODS and get the response returned. However, my doubt now is I do not know how to consume it in BPM. In my BPM process flow, I tried creating a web service call to ODS but it did not work, as in the flow runs and completed with success but there were no response returned from ODS due its complex type which couldn't be mapped directly to the data object type created in BPM.
    I am wondering if there is any samples or tutorials available which will guide me in understanding this topic better. Any help is much appreciated.
    Many thanks in advance!

  • Calling a Web Service from J2EE application running on WebSphere

    This may have been answered before, but could not find using multiple searches that I did on this forum.
    We are just in the process of using the newly installed SAP WAS 6.40 with J2EE engine and I understand from SAP's documentation that all BAPIs and remotely callable RFCs should be invokable via a Web Service call from remote applications. Couple of questions on this:
    1. Is there a documentaion that describes steps to enable BAPIs or RFCs as web services?
    2. Is there a documentation that describes steps to invoke a web service that in turn uses BAPI or RFC (code sample).
    We are J2EE literates but not familiar with SAP WAS, and not sure if calling/invoking the WS would be similar to calling any other WS from other WS Containers.
    Appreciate a response or suggestions.

    Hi Bharat,
    see this weblog , where it gives the steps to create a RFC and convert it into web service.
    /people/thomas.jung3/blog/2005/01/05/develop-a-web-service-that-sends-an-email--in-abap
    Invoking WS is similar to calling any other WS from other containers. Either you have to give the WSDL file location or the external UDDI Server address in WebService creation wizard.
    The WebService exapmles is also avaliable in help.sap.com

  • Calling a web service from within PLSQL

    Hello !
    I am trying to activate a web service located on a remote machine inside a database trigger . This WSDL has been generated by a XI (SAP) tool and located on the server on which the XI is installed.
    XI is an EAI tool a product that is included in the SAP products - for integrating between SAP and other tools - including Oracle DB.
    When I try to call the web service using UTL_HTTP package - a procedure i wrote correctly - I get the following error message :
    ORA-29273: HTTP request failed
    ORA-06512: at "SYS.UTL_HTTP", line 1029
    ORA-12545: Connect failed because target host or object does not exist
    I have GOOGLED the last message ( ORA-12545) , but the forums referred to a client for ORACLE, which is configured incorrectly; none of them referred to my case - calling a web service. BTW I tried using the web server's IP address instead of the DNS but got the same error.
    Any suggestion would be very appreciated.
    Best Regards,
    Shimon B.

    Try the following type of "telnet" test using PL/SQL:
    SQL> create or replace function tcpPing( ipAddress varchar2, portNum number) return varchar2 is
    2 socket utl_tcp.connection;
    3 t1 timestamp with local time zone;
    4 begin
    5 t1 := systimestamp;
    6 socket := utl_tcp.Open_Connection(
    7 remote_host => ipAddress,
    8 remote_port => portNum,
    9 tx_timeout => 5
    10 );
    11 utl_tcp.Close_Connection( socket );
    12
    13 return( ipAddress||':'||TO_CHAR(portNum)||' is alive. ('|| TO_CHAR(systimestamp-t1) ||')' );
    14
    15 exception when OTHERS then
    16 return( ipAddress||':'||TO_CHAR(portNum)||' did not respond. ('||SQLERRM(SQLCODE)||')' );
    17 end;
    18 /
    Function created.
    SQL>
    SQL> col STATUS format a80
    SQL> select tcpPing( '10.251.93.87', 80 ) as STATUS from dual;
    STATUS
    10.251.93.87:80 is alive. (+000000000 00:00:00.002422000)
    SQL> select tcpPing( '10.251.93.87', 81 ) as STATUS from dual;
    STATUS
    10.251.93.87:81 did not respond. (ORA-29260: network error: TNS:operation timed
    out)

  • Calling a web service from BPM without using bridge S/A

    Hi Experts,
    I want to call a web service from a BPM and I want to call it asyncronously. That is by having my request and my response as a separate interface.
    I already did it by calling another BPM, this one with a bridge, but I don't like this solution.
    Any ideas?
    Regards
    Gonzalo

    Hi Sanjeev,
    EDIT: I was wrong, I have to reconsider your scenario.
    Leela,
    Watch this:
    http://img74.imageshack.us/img74/3536/presentacin2vm9.jpg
    The points of my scenario:
    -There's a BPM
    -Send and Receive in BPM have to be asynchronous
    -It have to comunicate with a WS wich is synchronous
    -I thought that, may be, playing with the receiver SOAP adapter modules I will achieve to send the response to another SOAP adapter, a sender one, and then have my ASYNC/SINC scenario as it's described here: File - RFC - File without a BPM - Possible from SP 19.
    Regards
    Gonzalo
    Edited by: Gonzalo del Castillo on Nov 20, 2008 11:29 AM

Maybe you are looking for

  • Read image direct from file server

    hello, need to help me somebody. A like to create form , what read image direct from file server, without store in database. Please help me.

  • Problem setting different width for images using HorizontalList tag

    Hi,<br />I succeeded using HorizontalList in my AdvancedDataGrid,<br /><br />  <mx:groupedColumns><br />...<br />...<br />  </mx:groupedColumns>  <br />  <mx:rendererProviders>            <br />        <mx:AdvancedDataGridRendererProvider   <br />   

  • [Oracle VM Manager 3.1.1] Unable to setup TCPS

    Hello, I'm trying the setup the TCPS protocol for Oracle VM Manager (OVMM) 3.1.1. I used secureOvmmTcpGenKeyStore.sh to create a certificate and secureOvmmTcp.sh to setup OVMM. However, when I start OVMM, I'm getting the following error and the TCPS

  • Problem solving...

    Good day, I'm trying to track down a issue with my MDD 1.25. About every 5 minutes or so (it varies) my system takes a pause. Meaning, while the system contiues to run, everything seems to go into a thinking mode. (spinning ball) This last for about

  • How to use HttpServletResponse() ?

    Dear sirs... consider the following code: public class DataPage1Action extends DataForwardAction public void onAa(DataActionContext ctx) ctx.getHttpServletResponse().setContentType("text/txt"); try ctx.getHttpServletResponse().getWriter().write("this