Is it possible to call BI Publisher Web Service through PL/SQL?

hi all,
i'm trying to find a way to run/schedule a report for my application. i'm using another platform for the client front-end form other than oracle but was wondering if i could possibly call the webservice using PL/SQL. PL/SQL meaning stored procedure in the database.
thanks
allen
Edited by: A.Sandiego on Feb 16, 2009 11:34 AM

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

Similar Messages

  • How to call an ODI web service through PL/SQL

    Hi All,
    Can we call an ODI web service through PL/SQL. If we can, can you please provide me info/examples/links on how to accomplish this task ?
    Any information will help me and my team.
    Am I required to use UTL_HTTP ?
    Thanks,
    Amer
    Edited by: Rooney on Nov 6, 2012 9:58 AM

    Hi,
    Take a look at this :
    http://www.business-intelligence-quotient.com/?p=1466

  • Calling BI Publisher Web Service from pl/sql

    I am trying to call the BI publisher web service from pl/sql.
    I get the following response back
    <?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>
    <faultcode xmlns:ns1="http://xml.apache.org/axis/">ns1:Client.NoSOAPAction</faultcode>
    <faultstring>no SOAPAction header!</faultstring>
    <detail>
    <ns2:hostname xmlns:ns2="http://xml.apache.org/axis/">my-obiee</ns2:hostname>
    </detail>
    </soapenv:Fault>
    </soapenv:Body>
    </soapenv:Envelope>
    The bit that concerns me is
    <faultcode xmlns:ns1="http://xml.apache.org/axis/">ns1:Client.NoSOAPAction</faultcode>
    <faultstring>no SOAPAction header!</faultstring>
    The code that I used to call this is
    DECLARE
    req utl_http.req;
    resp utl_http.resp;
    value VARCHAR2(1024);
    p_data_type varchar2(4000):= 'application/soap+xml;';
    p_data_in VARCHAR2(3000) :=
    '<soapenv:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:pub="http://xmlns.oracle.com/oxp/service/PublicReportService">
    <soapenv:Body>
    <pub:scheduleReport xmlns:pub="http://xmlns.oracle.com/oxp/service/PublicReportService">
    <scheduleRequest>
    <deliveryRequest>
    <ftpOption>
    <ftpServerName>ino-ed-oel2.inoapps.com</ftpServerName>
    <ftpUserName>*******</ftpUserName>
    <ftpUserPassword>*****</ftpUserPassword>
    <remoteFile>/opt/UAT/db/tech_st/11.1.0/employees.pdf</remoteFile>
    </ftpOption>
    </deliveryRequest>
    <reportRequest>
    <attributeFormat>pdf</attributeFormat>
    <reportAbsolutePath>http://10.100.100.44:9704/xmlpserver/~administrator/XXXXXXX.xdo</reportAbsolutePath>
    <parameterNameValues>
    <item>
    <name>dname</name>
    <multiValuesAllowed>false</multiValuesAllowed>
    <values>
    <item>153002</item>
    </values>
    </item>
    </parameterNameValues>
    </reportRequest>
    <userJobName>BILL</userJobName>
    </scheduleRequest>
    <userID>******</userID>
    <password>******</password>
    </pub:scheduleReport>
    </soapenv:Body>
    </soapenv:Envelope>';
    BEGIN
    --utl_http.set_proxy('proxy.my-company.com', 'corp.my-company.com');
    req := utl_http.begin_request('http://10.100.100.44:9704/xmlpserver/services/PublicReportService?wsdl', 'POST');
    utl_http.set_header(req, 'content-type', p_data_type);
    utl_http.set_header(req, 'content-length', length(p_data_in));
    utl_http.set_header(req, 'User-Agent', 'Mozilla/4.0');
    utl_http.write_text(req, p_data_in);
    resp := utl_http.get_response(req);
    dbms_output.put_line ('status code: ' || resp .status_code);
    dbms_output.put_line ('reason phrase: ' || resp .reason_phrase);
    LOOP
    utl_http.read_line(resp, value, TRUE);
    dbms_output.put_line(value);
    END LOOP;
    utl_http.end_response(resp);
    EXCEPTION
    WHEN utl_http.end_of_body THEN
    utl_http.end_response(resp);
    END;
    Any help would be greatly received

    I had the same problem this morning. You need to add a line to the HTTP header to declare a value for SOAPAction.
    You can set this as an empty string, but for some reason it is required.
    Try adding this among your header declarations:
    utl_http.set_header(req, 'SOAPAction', '');

  • New to Web Services - need to call a HTTPS web service from PL/SQL

    I am new to Web Services and need to call HTTPS web service from PL/SQL program. I am using 10g Database.
    I have been reading there are 2 options -
    1. UTL_HTTP - with this package its possible to call HTTPS web services
    2. UTL_DBWS
    Questions -
    1. Is it possible to call a HTTPS web service using UTL_DBWS ? I have not been able to find any information on it.
    2. Can someone point me to UTL_HTTP and UTL_DBWS examples calling a HTTPS web service ?
    3. The HTTPS web service that I need to call needs username/password to connect - how will I incorporate this in the pl/sql code ?
    Appreciate the help.
    Cheers,
    newWebServicesUser

    Hi,
    1. UTL_DBWS not work for https from what I understand
    2. Here is a sample example:
    [http://www.oracle-base.com/articles/9i/ConsumingWebServices9i.php#]
    Be careful, you must change http/1.0 IN 1.1 inside package SOAP_API.
    Here is an example for a prime number where the SOAP message is already construct:
    CREATE OR REPLACE procedure test_ws_2
    IS
    http_req utl_http.req;
    http_resp utl_http.resp;
    request_env varchar2(32767);
    response_env varchar2(32767);
    begin
    -- Set proxy details if no direct net connection.
    UTL_HTTP.set_proxy('http://<USER>:<PASS>@10.0.2.21:8070', NULL);
    UTL_HTTP.set_persistent_conn_support(TRUE);
    request_env:='<?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/1999/XMLSchema-instance" xmlns:xsd="http://www.w3.org/1999/XMLSchema">'||
    '<SOAP-ENV:Body><GetPrimeNumbers xmlns="http://microsoft.com/webservices/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">'||
    '<max xsi:type="xsd:int">10</max>'||
    '</GetPrimeNumbers></SOAP-ENV:Body></SOAP-ENV:Envelope>';
    dbms_output.put_line('Length of Request:' || length(request_env));
    dbms_output.put_line ('Request: ' || request_env);
    http_req := utl_http.begin_request('http://www50.brinkster.com/vbfacileinpt/np.asmx','POST', utl_http.HTTP_VERSION_1_1);
    utl_http.set_header(http_req, 'Content-Type', 'text/xml; charset=utf-8');
    utl_http.set_header(http_req, 'Content-Length', length(request_env));
    utl_http.set_header(http_req, 'SOAPAction', '"http://microsoft.com/webservices/GetPrimeNumbers"');
    utl_http.write_text(http_req, request_env);
    dbms_output.put_line('');
    http_resp := utl_http.get_response(http_req);
    dbms_output.put_line('Response Received');
    dbms_output.put_line('--------------------------');
    dbms_output.put_line ( 'Status code: ' || http_resp.status_code );
    dbms_output.put_line ( 'Reason phrase: ' || http_resp.reason_phrase );
    utl_http.read_text(http_resp, response_env);
    dbms_output.put_line('Response: ');
    dbms_output.put_line(response_env);
    utl_http.end_response(http_resp);
    end test_ws_2;
    Otherwice for testing url, i recommand you to use that function: Re: Error using UTL_HTTP over HTTPS
    it's a verry helpful function when you have an error.
    wrote:
    When testing using UTL_HTTP, you MUST ensure that you open a new session after importing the SSL certificates into your Wallet,
    as I've learned (the hard way) that existing sessions point to the wallet contents that were present when the session was opened.
    If you don't realise/know this, it can cause a lot of additional frustration during testing, when you keep getting the ORA-29024 exception AFTER
    you've imported the SSL certificates................. ;) 3. i think you can use that after the begin_request but not sure :
    UTL_HTTP.set_authentication(r => http_req,
    username => ,
    password => ,
    scheme => ,
    for_proxy => );
    Edited by: Malebodja on Oct 22, 2009 6:53 AM
    Edited by: Malebodja on Oct 22, 2009 6:55 AM

  • 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

  • Calling BI Publisher Web Services from APEX

    Hi,
    Has anyone been able to run a BI Publisher report from APEX using the Web Service interface provided by BI Publisher?
    I have created Web Service Reference in APEX using:
    http://<host>:<port>/xmlpserver/services/PublicReportService?wsdl
    I have then created a page rendering process that calls the web service, in particular calling the runReport operation.
    When a try and run the page, I get the following error:
    "ORA-20001: soapenv:Server.userExceptionjava.lang.NullPointerException"
    Basically I want to be be able to call the BI Pub report and view the output straight away.
    Appreciate any help.
    Cheers,
    Matt

    Hello,
    I am using Jason's flex_ws_api and I have built an application that uses the BI Publisher web services to runReports. My service request looks like this (example)
    <pre>
    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:pub="http://xmlns.oracle.com/oxp/service/PublicReportService">
    <soapenv:Header/>
    <soapenv:Body>
    <pub:runReport>
    <pub:reportRequest>
    <pub:attributeFormat>pdf</pub:attributeFormat>
    <pub:attributeLocale></pub:attributeLocale>
    <pub:attributeTemplate>New Template 1</pub:attributeTemplate>
    <pub:flattenXML>1</pub:flattenXML>
    <pub:parameterNameValues/>
    <pub:reportAbsolutePath>/~rdpatric/Training/whoami/whoami.xdo</pub:reportAbsolutePath>
    <pub:reportData></pub:reportData>
    <pub:reportDataFileName></pub:reportDataFileName>
    <pub:sizeOfDataChunkDownload>10000</pub:sizeOfDataChunkDownload>
    </pub:reportRequest>
    <pub:userID>user</pub:userID>
    <pub:password>password</pub:password>
    </pub:runReport>
    </soapenv:Body>
    </soapenv:Envelope>
    </pre>
    Obviously you would want to make a lot of these things variables...this is just an example...also sizeOfChunkDownload wasn't working for me at -1...idk...maybe it was something else...
    Also if you use the flex_ws_api...you need to specify the namespace for your xpath statement ie.' xmlns="http://..."'
    I am currently working on getting this working with the 'inSession' webservices as we have BI Pub set up SSO and APEX set up SSO so i need to be able to call the web services inSession...only problem is ssoCreateSession returns a 500 error and no xml...entered a TAR for this...sorry to digress. Use the above code and you should be able to get the runReport working.

  • Calling and Publishing Web Service

    Hi, I am new to Web Services in SAP. Got 2 questions regarding this:
    1. How do we call a Web Service from SAP?
    2. If I want to publish a Web Service in SAP ECC6, what are the required steps?
    Sorry, haven't had much luck with my searches. Thanks in advance!

    You can check the following url/documentation to get an idea of how the Web Services work in SAP:
    [Administration of the Internet Communication Manager|http://help.sap.com/erp2005_ehp_04/helpdata/EN/b8/2a8d65be7eee4eb66067f8a33d1c8b/frameset.htm]
    Also check [Internet Communication Framework|http://help.sap.com/erp2005_ehp_04/helpdata/EN/36/020d3a0154b909e10000000a114084/frameset.htm].
    Nelis

  • Calling a HTTPS Web Service through a proxy

    Hi All,
    I am trying to make a web service proxy for a service runnig on the weblogic server over https connection. While I am configuring the proxy I am getting an error saying that Unable to tunnel through proxy. Proxy returns "HTTP/1.1 403 Tunnel or SSL Forbidden"
    Any ideas why I am getting this or how it can be resolved?
    Thanks in advance

    Hi Sandeep,
    I will add some more details here to add clarity,
    My web service is running over SSL (one-way) on SOA server managed by weblogic server. I am trying to create a proxy for it in jdeveloper. I can access the WSDL document through the browser at the following link:
    https://10.227.32.125:8002/soa-infra/services/default/Test_OWSM_11g/bpelprocess1_client?WSDL
    Now in the second step of creating of proxy (in jdeveloper) i am mentioning the above URL but getting an error saying that no WSDL document found at this location.
    Any ideas where I might be goin wrong

  • BIP 11g scheduler web service through pl/sql

    Hi,
         I am trying to schedule a BIP 11g report through a pl/sql wrapper. I  am running the same and not getting any response. I only get the following error :
    anonymous block completed
    status code: 500
    reason phrase: Internal Server Error.
    I am attaching the code piece. It would be nice if someone can guide me as to where the code is going wrong.
    set serveroutput on;
    Declare
    P_DATA_TYPE VARCHAR2(4000);
    p_data_in varchar2(5000);
    REQ UTL_HTTP.REQ;
    RESP UTL_HTTP.RESP;
    BEGIN
    p_data_in :=
    '<soapenv:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
    xmlns:v2="http://xmlns.oracle.com/oxp/service/v2">
    <soapenv:Body>
    <v2:scheduleReport>
    <v2:scheduleRequest>
    <v2:deliveryChannels>
    <v2:EMailDeliveryOption>
    <v2:emailFrom>******</v2:emailFrom>
    <v2:emailServerName>******</v2:emailServerName>
    <v2:emailSubject>Test BIP webservice</v2:emailSubject>
    <v2:emailTo>******</v2:emailTo>
    </v2:EMailDeliveryOption>
    </v2:deliveryChannels>
    <v2:reportRequest>
    <v2:attributeFormat>pdf</v2:attributeFormat>
    <v2:reportAbsolutePath>/General Ledger/Reports/****** YYY ZZZ.xdo</v2:reportAbsolutePath>
    </v2:reportRequest>
    <v2:userJobName>BIPTESTWS</v2:userJobName>
    </v2:scheduleRequest>
    <v2:userID>******</v2:userID>
    <v2:password>******</v2:password>
    </v2:scheduleReport>
    </soapenv:Body>
    </soapenv:Envelope>';
    REQ := UTL_HTTP.BEGIN_REQUEST('http://XXXX:7001/xmlpserver/services/v2/ScheduleService?wsdl', 'POST','HTTP/1.1');
    utl_http.set_header(req, 'content-type', 'text/xml');
    UTL_HTTP.SET_HEADER(REQ, 'content-length', LENGTH(P_DATA_IN));
    utl_http.set_header(req, 'SOAPAction', '');
    utl_http.write_text(req, p_data_in);
    resp := utl_http.get_response(req);
    dbms_output.put_line ('status code: ' || resp.status_code);
    dbms_output.put_line ('reason phrase: ' || resp.reason_phrase);
    utl_http.end_response(resp);
    EXCEPTION
    WHEN utl_http.end_of_body THEN
    UTL_HTTP.END_RESPONSE(RESP);
    END;

    Hi,
        IS there anyone who has previously worked on the webservices and can help me a bit.

  • Calling web services from PL/SQL

    Hi,
    We have a requirement where we need to call a web services from PL/SQL.
    I believe we have a PL/SQL API that allows you to consume external web services.
    I was looking for other possible options too to consume web Service from PL/SQL.
    Can any one suggest the other possible options , and which option is best to consume web service.
    Thanks
    AB

    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 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 in Calling Oracle Web Service through Eclipse-indigo

    Hi All,
    I'm getting an below error when trying to call my oracle web service through Eclipse-indigo.
    Error:-
    IWAB0135E An unexpected error has occurred.
    502
    Bad Gateway
    Steps followed to create oracle web service and invoke WS :-
    Followed link
    http://docs.oracle.com/cd/B28359_01/appdev.111/b28369/xdb_web_services.htm
    which explans how to create oracle web service.
    1. Configure HTTP Access
    2. Configure the ORAWSV Servlet
    3. created user 'test' and wrote simple procedure getdescription which will return name for request id.
    4. granted all privilages to user.
    5. The orawsv servlet automatically generates a WSDL file.
    6. trying to call WS through Eclipse-indigo, but i get error.

    Trying to test via PL/SQL first via (see the following url for more info: Re: Using utl_dbws to call web service ) for example something like the following:
    SQL> set serveroutput on
    SQL> --
    SQL> def USERNAME=DBNWS
    SQL> --
    SQL> DECLARE
      2    V_SOAP_REQUEST      XMLTYPE := XMLTYPE(
      3  '<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">
      4          <SOAP-ENV:Body>
      5                  <m:SNUMBER-GET_SQRTInput xmlns:m="http://xmlns.oracle.com/orawsv/&USERNAME/GET_SQRT">
      6                          <m:INPUT_VALUE-NUMBER-IN>2</m:INPUT_VALUE-NUMBER-IN>
      7                  </m:SNUMBER-GET_SQRTInput>
      8          </SOAP-ENV:Body>
      9  </SOAP-ENV:Envelope>');
    10    V_SOAP_REQUEST_TEXT CLOB := V_SOAP_REQUEST.getClobVal();
    11    V_REQUEST           UTL_HTTP.REQ;
    12    V_RESPONSE          UTL_HTTP.RESP;
    13    V_BUFFER            VARCHAR2(1024);
    14  BEGIN
    15
    16    V_REQUEST := UTL_HTTP.BEGIN_REQUEST(URL => :URL, METHOD => 'POST');
    17    UTL_HTTP.SET_HEADER(V_REQUEST, 'User-Agent', 'Mozilla/4.0');
    18    V_REQUEST.METHOD := 'POST';
    19    UTL_HTTP.SET_HEADER (R => V_REQUEST, NAME => 'Content-Length', VALUE => DBMS_LOB.GETLENGTH(V_SOAP_REQUEST_TEXT));
    20    UTL_HTTP.WRITE_TEXT (R => V_REQUEST, DATA => V_SOAP_REQUEST_TEXT);
    21
    22    V_RESPONSE := UTL_HTTP.GET_RESPONSE(V_REQUEST);
    23    LOOP
    24      UTL_HTTP.READ_LINE(V_RESPONSE, V_BUFFER, TRUE);
    25      DBMS_OUTPUT.PUT_LINE(V_BUFFER);
    26    END LOOP;
    27    UTL_HTTP.END_RESPONSE(V_RESPONSE);
    28  EXCEPTION
    29    WHEN UTL_HTTP.END_OF_BODY THEN
    30      UTL_HTTP.END_RESPONSE(V_RESPONSE);
    31  END;
    32  /
    old   5:                <m:SNUMBER-GET_SQRTInput xmlns:m="http://xmlns.oracle.com/orawsv/&USERNAME/GET_SQRT">
    new   5:                <m:SNUMBER-GET_SQRTInput xmlns:m="http://xmlns.oracle.com/orawsv/DBNWS/GET_SQRT">
    <?xml version="1.0" ?>
    <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    <soap:Body>
    <GET_SQRTOutput xmlns="http://xmlns.oracle.com/orawsv/DBNWS/GET_SQRT">
    <RETURN>1.41421356237309504880168872420969807857</RETURN>
    </GET_SQRTOutput>
    </soap:Body>
    </soap:Envelope>
    PL/SQL procedure successfully completed.
    SQL> set serveroutput on
    SQL> --In the example give above the WSDL info should be seen via http://xmlns.oracle.com/orawsv/DBNWS/GET_SQRT?wsdl

  • Error while calling .svc web service from pl/sql using utl_dbws

    Hello Folks,
    I am calling a .svc web service from pl/sql using utl_dbws and encountering the following error
    javax.xml.rpc.soap.SOAPFaultException: The message with Action '' cannot be processed at the receiver, due to a ContractFilter mismatch at the EndpointDispatcher. This may be because of either a contract mismatch (mismatched Actions between sender and receiver) or a binding/security mismatch between the sender and the receiver. Check that sender and receiver have the same contract and the same binding (including security requirements, e.g. Message, Transport, None).
    Can you help me find what am I doing wrong?
    Thanks
    Rk

    Hi,
    Here are the details
    1. What version?
    Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bi
    PL/SQL Release 10.2.0.4.0 - Production
    CORE 10.2.0.4.0 Production
    TNS for 64-bit Windows: Version 10.2.0.4.0 - Production
    NLSRTL Version 10.2.0.4.0 - Production
    2. What error message ... we need the full and complete error stack not your interpretation of it.
    ORA-29532: Java call terminated by uncaught Java exception: javax.xml.rpc.soap.SOAPFaultException: The message with Action '' cannot be processed at the receiver, due to a ContractFilter mismatch at the EndpointDispatcher. This may be because of either a contract mismatch (mismatched Actions between sender and receiver) or a binding/security mismatch between the sender and the receiver. Check that sender and receiver have the same contract and the same binding (including security requirements, e.g. Messag
    3. "I am calling means what?" We need the full and complete statement showing the values of all parameters.
    The input to the web-service is a xmltype containing address information and the web-service returns a string
    CREATE OR REPLACE FUNCTION get_id
    RETURN VARCHAR2
    AS
    l_service UTL_DBWS.service;
    l_call UTL_DBWS.CALL;
    l_wsdl_url VARCHAR2 (32767);
    l_namespace VARCHAR2 (32767);
    l_service_qname UTL_DBWS.qname;
    l_port_qname UTL_DBWS.qname;
    l_operation_qname UTL_DBWS.qname;
    l_xmltype_in SYS.XMLTYPE;
    l_xmltype_out SYS.XMLTYPE;
    l_return VARCHAR2 (32767);
    BEGIN
    l_wsdl_url := 'http://test.com/test.svc?wsdl';
    l_namespace := 'http://test.org/';
    l_service_qname := UTL_DBWS.to_qname (l_namespace, 'SName');
    l_port_qname := UTL_DBWS.to_qname (l_namespace, 'BasicHttpBinding_ISName');
    l_operation_qname := UTL_DBWS.to_qname (l_namespace, 'Iden');
    l_service :=
    UTL_DBWS.create_service
    (wsdl_document_location => urifactory.geturi
    (l_wsdl_url),
    service_name => l_service_qname
    l_call :=
    UTL_DBWS.create_call (service_handle => l_service,
    port_name => l_port_qname,
    operation_name => l_operation_qname
    l_xmltype_in :=
    SYS.XMLTYPE
    ('<IdenRequest xmlns:i="http://www.w3.org/XMLSchema-instance" xmlns="http://test.org/SNameIden.WCFService">
    <address />
    <zip>12345</zip>
    <state>AA</state>
    <street>W Test </street>
    </address>
    </IdenRequest>'
    l_xmltype_out :=
    UTL_DBWS.invoke (call_handle => l_call,
    request => l_xmltype_in);
    UTL_DBWS.release_call (call_handle => l_call);
    UTL_DBWS.release_service (service_handle => l_service);
    l_return := l_xmltype_out.EXTRACT ('//Iden/text()').getstringval();
    RETURN l_return;
    END;
    /

  • SR: Calling Web Services from PL/SQL gives http 500 errors

    Hi, people from Oracle Support sent me to this forum.
    I'm trying to call the Calendar Web Services from PL/SQL using the utl_http package, but I'm getting http-500 errors.
    I'm using the example from http://www.oracle.com/technology/tech/webservices/htdocs/samples/dbwebservice/DBWebServices_PLSQL.html
    Here's the code
    procedure showHtml
    as
    req soap_rpc.request;
    resp soap_rpc.response;
    BEGIN
    req := soap_rpc.new_request('cwsl:NoOp',
    'xmlns:cwsl="http://www.oracle.com/WebServices/Calendaring/1.0/"');
    resp := soap_rpc.invoke(req,
    'http://nllx004.nl.oracle.com/ocws-bin/ocas.fcgi',
    dbms_output.put_line(resp.doc.getStringVal());
    END;
    Can anyone help?

    I am new to web services and am having trouble getting the utl_http.set_header call to work using pl/sql. listed below is the code.
    CREATE OR REPLACE PACKAGE BODY adm_iModules_test
    AS
    NAME: Admissions iModules testing program
    PURPOSE:
    Ver Date Author Description
    REVISIONS:
    1.0 01/04/08 Julie Michael 1. Created this package body.
    PROCEDURE adm_iModules_test_output
    IS
    --cursor to select data to populate output file
    CURSOR c_iModules_main
    IS
    SELECT DISTINCT spriden_id sprid_id,
                                  spriden_pidm sprid_pidm,
                                  spriden_last_name sprid_last,
    spriden_first_name sprid_first,
                                  spriden_MI sprid_mid,
    spriden_create_date sprid_create_date,
    spriden_activity_date sprid_activity_date,
                                  spbpers_pidm pers_pidm,
    spbpers_name_prefix prefix,
    spbpers_name_suffix suffix,
                                  spbpers_dead_ind deceased_ind,
                                  spbpers_dead_date deceased_date,
                                  spbpers_birth_date, --added birth date
                                  spbpers_sex, --added gender
                                  goremal_pidm emal_pidm,
    goremal_email_address email_address,
                                  saradap_pidm app_pidm,
                                  zzrimod_member_id imod_id,
                                  gobtpac_external_user user_id
    FROM spriden,
    spbpers,
    goremal,
                                  saradap,
                                  zzrimod,
                                  gobtpac
    WHERE spriden_pidm = spbpers_pidm
    AND spriden_change_ind IS NULL
    AND spriden_pidm = goremal_pidm
                             AND goremal_emal_code = 'PERS'
                             AND goremal_preferred_ind = 'Y'
                             AND spriden_pidm = saradap_pidm
                             AND spriden_pidm = 120116
                             AND spriden_pidm = gobtpac_pidm
                             AND spriden_pidm = zzrimod_pidm(+)
                             AND goremal_preferred_ind = 'Y'
                             AND saradap_term_code_entry in ('200810','200820','200830');
         v_record      VARCHAR2 (32000) := null;
         v_record_counter               NUMBER                    := 0;
    f_iModules_output_test UTL_FILE.file_type;
    f_iModules_filename_test VARCHAR2 (50) := 'Adm_iModules_Test.TXT';
    f_iModules_dir_test VARCHAR2 (100) := 'TMP';
         v_separator                    VARCHAR2 (50)          := ',';
         v_id                              VARCHAR2 (90)          := '';
         v_fname                         VARCHAR2 (40)          := '';
         v_lname                         VARCHAR2 (40)          := '';
         v_user                         VARCHAR2 (90)          := '';
         v_login                         VARCHAR2 (100)          := '';
         v_password                    VARCHAR2 (100)          := '';
    -- v_link                         VARCHAR2 (32767)     := 'http://imodules.com/Web%20Services/';
         --the below item 'http://admin.imodules.com - was https://admin.imodules.com
         v_link                         VARCHAR2 (32767)      := 'http://admin.imodules.com/ws_10/MemberQuery.asmx?WSDL';
         v_non_existing_ids          VARCHAR2 (100)          := '"false"';
         v_style                         VARCHAR2 (5)           := '"1"';
         v_imod_member_id               VARCHAR2 (100)      := '';
         v_spriden_first_name           VARCHAR2 (60)          := '';
         req                Utl_Http.req;           --for posting
         resp                Utl_Http.resp;          --for posting
         v_msg                VARCHAR2(80);          --for posting
         H_Name                VARCHAR2(255);          --for posting
         H_Value                VARCHAR2(1023);     --for posting
         v_data_xml                    VARCHAR2(10000);
         BEGIN
                   DBMS_OUTPUT.ENABLE(1000000);
              f_iModules_output_test := UTL_FILE.fopen (f_iModules_dir_test, f_iModules_filename_test, 'w',32767);
                   v_record := '';
                   --needed for posting
    --                Utl_http.set_proxy(proxy => 'xxx.yyy.com',
    --      no_proxy_domains => 'xxx.com');
                   req := Utl_Http.begin_request(url => v_link,
    method => 'POST');
    --                          FOR v_iModules2 IN c_iModules_main
    --                          LOOP     
    --                                    v_record_counter := v_record_counter + 1;
    --                          END LOOP;
                             -- v_record := 'DUQ'||','||v_record_counter||','||to_char(SYSDATE,'mm/dd/yyyy');
                             UTL_FILE.put_line (f_iModules_output_test, v_record, false);     
                                       v_record := null;
                                  FOR v_iModules IN c_iModules_main
                                  LOOP
                                            v_id := v_imodules.sprid_id;
                                            v_fname := v_imodules.sprid_first||'test';
                                            v_lname := v_imodules.sprid_last;     
                                            v_user := '"'||v_imodules.email_address||'"';
                                            v_imodules.imod_id := '29';
                                            v_imod_member_id := '"'||v_imodules.imod_id||'"';
                                            v_spriden_first_name := '"SPRIDEN_FIRST_NAME"';
                                            v_login := '"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx"';
                                            v_password := '"xxxxxxxxxxxxxxxxxxxxxxxx"';
                                            v_record :='<?xml version="1.0" encoding="utf-8"?>'||
                                            '<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"'||' '||
                                            'xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">'||
                                            '<soap:Body>'||'<Update xmlns:m='||v_link||'>'||'<AUTHENTICATION login='||v_login||' '||
                                            'password='||v_password||' '||'addNonExistingIDs='||v_non_existing_ids||' '||'style='||
                                            v_style||'/>'||'<MemberInformation ZZRIMOD_MEMBER_ID='||v_imod_member_id||'>'||
                                            '<SPRIDEN_FIRST_NAME>'||v_fname||'</SPRIDEN_FIRST_NAME>'||'</MemberInformation>'||'</Update>'||
                                            '</soap:Body></soap:Envelope>';
    --                                         v_record := v_record := v_record||'<Update xmlns:m='||v_link||'>'||'<AUTHENTICATION login='||v_user||'>'||' '||
    --                                                   'password='||v_password||' '||'addNonExistingIDs='||v_non_existing_ids||' '||'style='||
    --                                                   v_style||'/>'||'<MemberInformation ZZRIMOD_MEMBER_ID='||v_imod_member_id||' '||
    --                                                   'column='||'"SPRIDEN_FIRST_NAME"'||' '||'newValue='||v_fname||'/>'||'</Update>';
                                            dbms_output.put_line('code: '||v_record);
                                            --v_record := v_record||v_separator||v_id||v_separator||v_name||v_separator||v_email;
                                       --Http posting calls
                                            Utl_Http.set_header(r => req,
                                            name => 'Content-Type',
                                            value => 'text/xml');
                                       Utl_Http.set_header(r => req,
                                            name => 'Content-Length',
                                            value => to_char(length(v_record)) );
                                            --JAM 03/25/08 - added to accomodate the missing soap action error                           
                                            Utl_Http.set_header(r => req,
                                            name => 'SOAPAction',
                                            value => 'http://admin.imodules.com/ws_10/MemberQuery.asmx?WSDL');
                                            Utl_Http.set_header(r => req,
                                            name => 'MessageType',
                                            value => 'CALL');
    --                                    Utl_Http.set_authentication(r => req,
    --                                         username => 'zzz',
    --                                                   password => 'ppppp',
    --                               scheme => 'Basic',
    --                               for_proxy => FALSE);
                                       Utl_Http.write_text(r => req,
                                            data => v_record);     
                                            resp := Utl_Http.get_response(r => req,
                             return_info_response => TRUE);
                                            DBMS_OUTPUT.put_line('Status Code: ' || resp.status_code);
                                            DBMS_OUTPUT.put_line('Reason Phrase: ' || resp.reason_phrase);
                                            dbms_output.put_line('testing');
                                            FOR i IN 1 .. Utl_Http.get_header_count(r => resp)
                                            LOOP
                                            Utl_Http.get_header(r => resp,
                   n => i,
                   name => H_Name,
                   value => H_Value);
                                            --DBMS_OUTPUT.put_line( ... );
                                            END LOOP;
                                            BEGIN
                                            LOOP
                                            Utl_Http.read_text(r => resp, DATA => v_msg);
                                            DBMS_OUTPUT.put_line(v_msg);
                                            END LOOP;
                                                 EXCEPTION
                                                 WHEN Utl_Http.end_of_body THEN
                                                 NULL;
                                                 END;          
                                                 Utl_Http.end_response(r => resp);      
    --                                              EXCEPTION
    --                                              WHEN Utl_Http.request_failed THEN
    --                                                   DBMS_OUTPUT.put_line('Request failed: '||Utl_Http.Get_Detailed_Sqlerrm);
    --                                                   WHEN Utl_Http.http_server_error THEN
    --                                                   DBMS_OUTPUT.put_line('Http_Server_Error: '||Utl_Http.Get_Detailed_Sqlerrm);
    --                                                   WHEN Utl_Http.http_client_error THEN
    --                                                   DBMS_OUTPUT.put_line('Client Error: '||Utl_Http.Get_Detailed_Sqlerrm);
    --                                                   WHEN others THEN     
    --                                                   DBMS_OUTPUT.put_line('Others2: '||Utl_Http.Get_Detailed_Sqlerrm);     
    --                                                   Utl_Http.end_response(r => resp);     
    --                                              END;
                                            --End of Htp posting calls
                                            --UTL_FILE.put_line (f_iModules_output_test, v_record, false);
                                            --htp.p('<post>'||v_record||'</post>');
                                            END LOOP;
                                                 EXCEPTION
                                                 WHEN Utl_Http.request_failed THEN
                                                      DBMS_OUTPUT.put_line('Request failed: '||Utl_Http.Get_Detailed_Sqlerrm);
                                                      WHEN Utl_Http.http_server_error THEN
                                                      DBMS_OUTPUT.put_line('Http_Server_Error: '||Utl_Http.Get_Detailed_Sqlerrm);
                                                      WHEN Utl_Http.http_client_error THEN
                                                      DBMS_OUTPUT.put_line('Client Error: '||Utl_Http.Get_Detailed_Sqlerrm);
                                                      WHEN others THEN     
                                                      DBMS_OUTPUT.put_line('Others2: '||Utl_Http.Get_Detailed_Sqlerrm);     
                                                      Utl_Http.end_response(r => resp);     
                                                 END;
                        -- close output file
                   --UTL_FILE.fclose (f_iModules_output_test);
                             --COMMIT;
                             /*EXCEPTION
                        WHEN OTHERS
                        THEN
                   ROLLBACK;
                   DBMS_OUTPUT.put_line ('Other Exception:' || SQLERRM);
                             -- DBMS_OUTPUT.put_line ('Other Exception:' || Utl_Http.Get_Detailed_Sqlerrm);
                             --COMMIT; */
                             -- END adm_iModules_test_output;
                             END adm_iModules_test;
    Message was edited by:
    user627523

  • Invoking P6 web services using PL/SQL block

    Hi Team,
    We have requirement like
    Oracle jobs will invoke PL/SQL code to authenticate and establish a session with the P6 Web services.
    Web service will export Project data from One Primavera database as an XML and copy to common location.
    Then this XML project files will be imported into archive database.
    Could anyone help me how I can establish sessio between Pl/SQL and P6 webservices?
    Please let me know if you need any more information.
    Regards,
    Santosh
    Edited by: SantoshV Singh on Apr 29, 2013 10:09 PM

    It will be no different than connecting to any web services through PL/SQL which is pretty hard to do and if you are asking how to do it then you have a steep learning curve ahead of you and not a great deal in the way of good examples out there.
    I wouldn't even attempt the approach you suggest.  Instead I would probably write a Java application to do it and use your PL/SQL to enqueue a message that routed to the Java application.  Then the java application with the Web Services support and P6 client would be easier to do what you want with web services.

Maybe you are looking for

  • Error While Saving into Customizing Request

    Dear Experts, I am getting an error message while trying to save any changes in 'Appraisal Catalog'. And when I am transporting it to QAS. no changes are seen (it is not transported) Please let me know how to rectify this error... Error Message: Tabl

  • One page not loading correctly

    I am using the latest Muse CC. It seems the problem began when I downloaded the new version of Muse CC. My ads page under portfolio on www.tallguygraphics.com is not uploading correctly to the server since I added new items to the page. I have tried

  • "Invert" button in vignette doesn't work

    When trying to apply a vignette fx in the Color FX tab the "Invert" button doesn't do the trick. Any suggestyions what can be happening ? Cheers

  • Inputtax-out puttax- vatpool account

    in going for tax caliclation in purchase invoice posting and sales can i  use vat pool account commanly for both sales and purchases created ascurrent  asset acount group acccount insted of separate input tax account and salestaxpayable account

  • Change UI layout based on panel size

    I am looking for a way to adjust the layout of my UI based on the panel's size. For example, two buttons that are above each other until the window height gets small enough that they need to be next to each other instead. Another example would be a s