Unrecognized operation - using utl_dbws

-29532 ORA-29532: Java call terminated by uncaught Java exception:
javax.xml.rpc.soap.SOAPFaultException: Caught exception while handling request:
unrecognized operation: {http://hristdb/MyWebService1.wsdl}rminfo
Any idea?
CREATE OR REPLACE PROCEDURE getRM AS
V_TARGET_NAMESPACE VARCHAR2(100);
V_ENDPOINT_URL VARCHAR2(1024);
V_wsdl_URL VARCHAR2(1024);
V_STRING_TYPE_QNAME sys.utl_DBWS.QNAME;
V_number_TYPE_QNAME sys.utl_DBWS.QNAME;
V_SERVICE_NAME VARCHAR2(400);
V_PORT_NAME VARCHAR2(400);
V_OPERATION_NAME VARCHAR2(400);
V_SERVICE_QNAME sys.utl_DBWS.QNAME;
V_PORT_QNAME sys.utl_DBWS.QNAME;
V_OPERATION_QNAME sys.utl_DBWS.QNAME;
V_SERVICE sys.utl_DBWS.SERVICE;
V_CALL sys.utl_DBWS.CALL;
V_PARAMS sys.utl_DBWS.ANYDATA_LIST;
v_outputs sys.utl_dbws.ANYDATA_LIST;
V_RETURN ANYDATA;
BEGIN
-- Set the Target NameSpace
V_TARGET_NAMESPACE := 'http://hristdb/MyWebService1.wsdl';
-- Set the End Point URL
V_ENDPOINT_URL := 'http://hrist:8888/DatasetWS-rm-context-root/MyWebService1SoapHttpPort';
v_wsdl_url := 'http://hrist:8888/DatasetWS-rm-context-root/MyWebService1SoapHttpPort?WSDL';
-- Set the Service
V_SERVICE_NAME := 'MyWebService1';
-- Set the Port
V_PORT_NAME := 'MyWebService1SoapHttpPort';
-- Set the Operation
V_OPERATION_NAME := 'rminfo';
-- Convert the Service, Port and Operation to Qualified Names
V_SERVICE_QNAME := sys.utl_DBWS.TO_QNAME(V_TARGET_NAMESPACE, V_SERVICE_NAME);
V_PORT_QNAME := sys.utl_DBWS.TO_QNAME(V_TARGET_NAMESPACE, V_PORT_NAME);
V_OPERATION_QNAME := sys.utl_DBWS.TO_QNAME(V_TARGET_NAMESPACE, V_OPERATION_NAME);
-- Create a Service. The Service created here will be used to create a call
-- to the Web Service.
V_SERVICE := sys.utl_DBWS.CREATE_SERVICE(URIFACTORY.getURI(v_wsdl_url), V_SERVICE_QNAME);
-- Create a Call to the Web Service. The call created here will be used to
-- invoke the Web Services, using the End Point URL.
V_CALL := sys.utl_DBWS.CREATE_CALL
( V_SERVICE,
V_PORT_QNAME,
V_OPERATION_QNAME);
-- Set the SOAP Action Properties to use.
sys.utl_dbws.set_property(V_CALL,'SOAPACTION_USE', 'TRUE');
sys.utl_dbws.set_property(V_CALL,'SOAPACTION_URI', 'rminfo');
sys.utl_dbws.set_property(V_CALL,'OPERATION_STYLE', 'rpc');
-- set type of input and output parameters
V_STRING_TYPE_QNAME := sys.utl_DBWS.TO_QNAME ('http://www.w3.org/2001/XMLSchema', 'string');
-- Provide values for the Input Parameters
v_params(0) := anydata.convertnumber(23);
-- Set the Return Type
sys.utl_dbws.set_return_type (v_call, v_string_type_qname);
-- Set the Target End Point. The Target End Point is used to invoke the
-- Web Service.
sys.utl_DBWS.SET_TARGET_ENDPOINT_ADDRESS(V_CALL,V_ENDPOINT_URL);
-- Invoke the Web Service
v_return := sys.utl_dbws.invoke (v_call, v_params);
-- v_outputs := sys.utl_dbws.get_output_values (v_call);
-- Release the call to the Web Service. A Call to a Web Service is a
-- Resource that needs to be released after the work is done.
sys.utl_DBWS.RELEASE_CALL (V_CALL);
-- Release the Service. A Service to a Web Service is a
-- Resource that needs to be released after the work is done.
sys.utl_DBWS.RELEASE_SERVICE (V_SERVICE);
EXCEPTION
WHEN OTHERS THEN
dbms_output.put_line(sqlcode ||' '||substr(SQLERRM, 1, 1000));
END;
/

-29532 ORA-29532: Java call terminated by uncaught Java exception:
javax.xml.rpc.soap.SOAPFaultException: Caught exception while handling request:
unrecognized operation: {http://hristdb/MyWebService1.wsdl}rminfo
Any idea?
CREATE OR REPLACE PROCEDURE getRM AS
V_TARGET_NAMESPACE VARCHAR2(100);
V_ENDPOINT_URL VARCHAR2(1024);
V_wsdl_URL VARCHAR2(1024);
V_STRING_TYPE_QNAME sys.utl_DBWS.QNAME;
V_number_TYPE_QNAME sys.utl_DBWS.QNAME;
V_SERVICE_NAME VARCHAR2(400);
V_PORT_NAME VARCHAR2(400);
V_OPERATION_NAME VARCHAR2(400);
V_SERVICE_QNAME sys.utl_DBWS.QNAME;
V_PORT_QNAME sys.utl_DBWS.QNAME;
V_OPERATION_QNAME sys.utl_DBWS.QNAME;
V_SERVICE sys.utl_DBWS.SERVICE;
V_CALL sys.utl_DBWS.CALL;
V_PARAMS sys.utl_DBWS.ANYDATA_LIST;
v_outputs sys.utl_dbws.ANYDATA_LIST;
V_RETURN ANYDATA;
BEGIN
-- Set the Target NameSpace
V_TARGET_NAMESPACE := 'http://hristdb/MyWebService1.wsdl';
-- Set the End Point URL
V_ENDPOINT_URL := 'http://hrist:8888/DatasetWS-rm-context-root/MyWebService1SoapHttpPort';
v_wsdl_url := 'http://hrist:8888/DatasetWS-rm-context-root/MyWebService1SoapHttpPort?WSDL';
-- Set the Service
V_SERVICE_NAME := 'MyWebService1';
-- Set the Port
V_PORT_NAME := 'MyWebService1SoapHttpPort';
-- Set the Operation
V_OPERATION_NAME := 'rminfo';
-- Convert the Service, Port and Operation to Qualified Names
V_SERVICE_QNAME := sys.utl_DBWS.TO_QNAME(V_TARGET_NAMESPACE, V_SERVICE_NAME);
V_PORT_QNAME := sys.utl_DBWS.TO_QNAME(V_TARGET_NAMESPACE, V_PORT_NAME);
V_OPERATION_QNAME := sys.utl_DBWS.TO_QNAME(V_TARGET_NAMESPACE, V_OPERATION_NAME);
-- Create a Service. The Service created here will be used to create a call
-- to the Web Service.
V_SERVICE := sys.utl_DBWS.CREATE_SERVICE(URIFACTORY.getURI(v_wsdl_url), V_SERVICE_QNAME);
-- Create a Call to the Web Service. The call created here will be used to
-- invoke the Web Services, using the End Point URL.
V_CALL := sys.utl_DBWS.CREATE_CALL
( V_SERVICE,
V_PORT_QNAME,
V_OPERATION_QNAME);
-- Set the SOAP Action Properties to use.
sys.utl_dbws.set_property(V_CALL,'SOAPACTION_USE', 'TRUE');
sys.utl_dbws.set_property(V_CALL,'SOAPACTION_URI', 'rminfo');
sys.utl_dbws.set_property(V_CALL,'OPERATION_STYLE', 'rpc');
-- set type of input and output parameters
V_STRING_TYPE_QNAME := sys.utl_DBWS.TO_QNAME ('http://www.w3.org/2001/XMLSchema', 'string');
-- Provide values for the Input Parameters
v_params(0) := anydata.convertnumber(23);
-- Set the Return Type
sys.utl_dbws.set_return_type (v_call, v_string_type_qname);
-- Set the Target End Point. The Target End Point is used to invoke the
-- Web Service.
sys.utl_DBWS.SET_TARGET_ENDPOINT_ADDRESS(V_CALL,V_ENDPOINT_URL);
-- Invoke the Web Service
v_return := sys.utl_dbws.invoke (v_call, v_params);
-- v_outputs := sys.utl_dbws.get_output_values (v_call);
-- Release the call to the Web Service. A Call to a Web Service is a
-- Resource that needs to be released after the work is done.
sys.utl_DBWS.RELEASE_CALL (V_CALL);
-- Release the Service. A Service to a Web Service is a
-- Resource that needs to be released after the work is done.
sys.utl_DBWS.RELEASE_SERVICE (V_SERVICE);
EXCEPTION
WHEN OTHERS THEN
dbms_output.put_line(sqlcode ||' '||substr(SQLERRM, 1, 1000));
END;
/

Similar Messages

  • XML Character Encoding Using UTL_DBWS

    Hi,
    I have a database with WINDOWS-1252 character encoding. I'm using UTL_DBWS to call a web service method which echoes a given string. For this purpose, I do the following:
    DECLARE
        v_wsdl CONSTANT VARCHAR2(500) := 'http://myhost/myservice?wsdl';
        v_namespace CONSTANT VARCHAR2(500) := 'my.namespace';
        v_service_name CONSTANT UTL_DBWS.QNAME := UTL_DBWS.to_qname(v_namespace, 'MyService');
        v_service_port CONSTANT UTL_DBWS.QNAME := UTL_DBWS.to_qname(v_namespace, 'MySoapServicePort');
        v_ping CONSTANT UTL_DBWS.QNAME := UTL_DBWS.to_qname(v_namespace, 'ping');
        v_wsdl_uri CONSTANT URITYPE := URIFACTORY.getURI(v_wsdl);
        v_str_request CONSTANT VARCHAR2(4000) :=
    '<?xml version="1.0" encoding="UTF-8" ?>
    <ping>
        <pingRequest>
            <echoData>Dev Team üöäß</echoData>
        </pingRequest>
    </ping>';
        v_service UTL_DBWS.SERVICE;
        v_call UTL_DBWS.CALL;
        v_request XMLTYPE := XMLTYPE (v_str_request);
        v_response SYS.XMLTYPE;
    BEGIN
        DBMS_JAVA.set_output(20000);
        UTL_DBWS.set_logger_level('FINE');
        v_service := UTL_DBWS.create_service(v_wsdl_uri, v_service_name);
        v_call := UTL_DBWS.create_call(v_service, v_service_port, v_ping);
        UTL_DBWS.set_property(v_call, 'oracle.webservices.charsetEncoding', 'UTF-8');
        v_response := UTL_DBWS.invoke(v_call, v_request);
        DBMS_OUTPUT.put_line(v_response.getStringVal());
        UTL_DBWS.release_call(v_call);
        UTL_DBWS.release_all_services;
    END;
    /Here is the SERVER OUTPUT:
    ServiceFacotory: oracle.j2ee.ws.client.ServiceFactoryImpl@a9deba8d
    WSDL: http://myhost/myservice?wsdl
    Service: oracle.j2ee.ws.client.dii.ConfiguredService@c881d39e
    *** Created service: -2121202561 - oracle.jpub.runtime.dbws.DbwsProxy$ServiceProxy@afb58220 ***
    ServiceProxy.get(-2121202561) = oracle.jpub.runtime.dbws.DbwsProxy$ServiceProxy@afb58220
    Collection Call info: port={my.namespace}MySoapServicePort, operation={my.namespace}ping, returnType={my.namespace}PingResponse, params count=1
    setProperty(oracle.webservices.charsetEncoding, UTF-8)
    dbwsproxy.add.map: ns, my.namespace
    Attribute 0: my.namespace: xmlns:ns, my.namespace
    dbwsproxy.lookup.map: ns, my.namespace
    createElement(ns:ping,null,my.namespace)
    dbwsproxy.add.soap.element.namespace: ns, my.namespace
    Attribute 0: my.namespace: xmlns:ns, my.namespace
    dbwsproxy.element.node.child.3: 1, null
    createElement(echoData,null,null)
    dbwsproxy.text.node.child.0: 3, Dev Team üöäß
    request:
    <ns:ping xmlns:ns="my.namespace">
       <pingRequest>
          <echoData>Dev Team üöäß</echoData>
       </pingRequest>
    </ns:ping>
    Jul 8, 2008 6:58:49 PM oracle.j2ee.ws.client.StreamingSender _sendImpl
    FINE: StreamingSender.response:<?xml version = '1.0' encoding = 'UTF-8'?>
    <env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"><env:Header/><env:Body><ns0:pingResponse xmlns:ns0="my.namespace"><pingResponse><responseTimeMillis>0</responseTimeMillis><resultCode>0</resultCode><echoData>Dev Team üöäß</echoData></pingResponse></ns0:pingResponse></env:Body></env:Envelope>
    response:
    <ns0:pingResponse xmlns:ns0="my.namespace">
       <pingResponse>
          <responseTimeMillis>0</responseTimeMillis>
          <resultCode>0</resultCode>
          <echoData>Dev Team üöäß</echoData>
       </pingResponse>
    </ns0:pingResponse>As you can see the character encoding is broken in the request and in the response, i.e. the SOAP encoder does not take into consideration the UTF-8 encoding.
    I tracked down the problem to the method oracle.jpub.runtime.dbws.DbwsProxy.dom2SOAP(org.w3c.dom.Node, java.util.Hashtable); and more specifically to the calls of oracle.j2ee.ws.saaj.soap.soap11.SOAPFactory11.
    My question is: is there a way to make the SOAP encoder use the correct character encoding?
    Thanks a lot in advance!
    Greetings,
    Dimitar

    I found a workaround of the problem:
        v_response := XMLType(v_response.getBlobVal(NLS_CHARSET_ID('CHAR_CS')), NLS_CHARSET_ID('AL32UTF8'));Ugly, but I'm tired of decompiling and debugging Java classes ;)
    Greetings,
    Dimitar

  • Error while using UTL_DBWS package

    Hello
    I want to call a web service using UTL_DBWS package as explained in this link.
    http://www.oracle-base.com/articles/10g/utl_dbws10g.php
    I implemented the example successfully, and I need to my own web service.
    my web service is just a java class that return a hello world and a parameter. deployed on Integrated weblogic server shipped with Jdeveloper11g.
    here is my java class
    package ws;
    import javax.jws.Oneway;
    import javax.jws.WebMethod;
    import javax.jws.WebParam;
    import javax.jws.WebService;
    @WebService
    public class HelloWorld {
        public HelloWorld() {
        @WebMethod(action = "http://ws//sayHelloWorld")
        public String sayHelloWorld(){
            return "Hello World";
        @WebMethod(action = "http://ws//sayHelloWorld")
        public String sayHelloName(@WebParam(name = "arg0")
            String n){
            return "Hello " + n;
    }my WSDL is
      <?xml version="1.0" encoding="UTF-8" ?>
    - <!--  Published by JAX-WS RI at http://jax-ws.dev.java.net. RI's version is Oracle JAX-WS 2.1.5.
      -->
    - <!--  Generated by JAX-WS RI at http://jax-ws.dev.java.net. RI's version is Oracle JAX-WS 2.1.5.
      -->
    - <definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://ws/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://schemas.xmlsoap.org/wsdl/" targetNamespace="http://ws/" name="HelloWorldService">
    - <types>
    - <xsd:schema>
      <xsd:import namespace="http://ws/" schemaLocation="http://127.0.0.1:7101/Application15-Model-context-root/HelloWorldPort?xsd=1" />
      </xsd:schema>
      </types>
    - <message name="sayHelloWorld">
      <part name="parameters" element="tns:sayHelloWorld" />
      </message>
    - <message name="sayHelloWorldResponse">
      <part name="parameters" element="tns:sayHelloWorldResponse" />
      </message>
    - <message name="sayHelloName">
      <part name="parameters" element="tns:sayHelloName" />
      </message>
    - <message name="sayHelloNameResponse">
      <part name="parameters" element="tns:sayHelloNameResponse" />
      </message>
    - <portType name="HelloWorld">
    - <operation name="sayHelloWorld">
      <input message="tns:sayHelloWorld" />
      <output message="tns:sayHelloWorldResponse" />
      </operation>
    - <operation name="sayHelloName">
      <input message="tns:sayHelloName" />
      <output message="tns:sayHelloNameResponse" />
      </operation>
      </portType>
    - <binding name="HelloWorldPortBinding" type="tns:HelloWorld">
      <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document" />
    - <operation name="sayHelloWorld">
      <soap:operation soapAction="http://ws//sayHelloWorld" />
    - <input>
      <soap:body use="literal" />
      </input>
    - <output>
      <soap:body use="literal" />
      </output>
      </operation>
    - <operation name="sayHelloName">
      <soap:operation soapAction="http://ws//sayHelloWorld" />
    - <input>
      <soap:body use="literal" />
      </input>
    - <output>
      <soap:body use="literal" />
      </output>
      </operation>
      </binding>
    - <service name="HelloWorldService">
    - <port name="HelloWorldPort" binding="tns:HelloWorldPortBinding">
      <soap:address location="http://127.0.0.1:7101/Application15-Model-context-root/HelloWorldPort" />
      </port>
      </service>
      </definitions>and my function is to call the web service
    CREATE OR REPLACE FUNCTION SAYHelloMYNAME (p_int_1 IN Varchar2)
      RETURN NUMBER
    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        XMLTYPE;
      l_xmltype_out       XMLTYPE;
      l_return          VARCHAR2(100);
    BEGIN
      l_wsdl_url        := 'http://127.0.0.1:7101/Application15-Model-context-root/HelloWorldPort?wsdl';
      l_namespace       := 'http://ws/';
      l_service_qname   := UTL_DBWS.to_qname(l_namespace, 'HelloWorldService');
      l_port_qname      := UTL_DBWS.to_qname(l_namespace, 'HelloWorldPort');
      l_operation_qname := UTL_DBWS.to_qname(l_namespace, 'sayHelloName');
       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 :=  XMLTYPE('<?xml version="1.0" encoding="utf-8"?>
        <sayHelloWorld xmlns="' || l_namespace || '">
          <parameters>' || p_int_1 || '</parameters>
          </sayHelloWorld>');
      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('//return/text()').getstringVal();
      RETURN l_return;
    END;
    /but when I test the function I get this error
    ORA-29532: Java call terminated by uncaught Java exception: java.lang.IllegalAccessException: error.build.wsdl.model: oracle.j2ee.ws.common.tools.api.WsdlValidationException: Failed to read wsdl file at: "http://127.0.0.1:7101/Application15-Model-context-root/HelloWorldPort?wsdl", caused by: java.net.ConnectException.    : Connection refused
    ORA-06512: at "WSUSER.UTL_DBWS", line 193
    ORA-06512: at "WSUSER.UTL_DBWS", line 190
    ORA-06512: at "WSUSER.SAYHELLOMYNAME", line 24any suggestions?

    M.Jabr wrote:
    can you elaborate more on this?
    I can open http://127.0.0.1:7101/Application15-Model-context-root/HelloWorldPort?wsdl
    on my browser.Is your browser on that Oracle server? You are instructing Oracle server code (the UTL_DBWS package) to access that URL.
    The IP in that URL is a localhost IP address - and that means using the local IP stack only. So it expects a web server on the Oracle server platform on tcp port 7101. It cannot use that IP to access your client/development machine.
    How can I test it using UTL_HTTP?You can write a basic web browser, minus the rendering engine, using UTL_HTTP. You can also use it for web service calls - which is my preference as I deem the UTL_DBWS package to clunky and complex.
    See:
    {message:id=1925297} (sample PL/SQL web browser)
    {message:id=4205205} (sample PL/SQL web browser SOAP call)

  • ORA-29532 error when invoking SSL web services using UTL_DBWS

    Web Service gurus,
    The WSDL for web services is as follows -
    <definitions name="Webservice" targetNamespace="http://webservice.airclic.com/">

    <types>

    <xs:schema targetNamespace="http://webservice.airclic.com/" version="1.0">
    <xs:element name="Exception" type="tns:Exception"/>
    <xs:element name="listenForEvents" type="tns:listenForEvents"/>
    <xs:element name="listenForEventsResponse" type="tns:listenForEventsResponse"/>
    <xs:element name="sendAuthenticationResponse" type="tns:sendAuthenticationResponse"/>
    <xs:element name="sendAuthenticationResponseResponse" type="tns:sendAuthenticationResponseResponse"/>
    <xs:element name="upsertTask" type="tns:upsertTask"/>
    <xs:element name="upsertTaskResponse" type="tns:upsertTaskResponse"/>

    <xs:complexType name="upsertTask">

    <xs:sequence>
    <xs:element minOccurs="0" name="task" type="tns:Task"/>
    </xs:sequence>
    </xs:complexType>

    <xs:complexType name="Task">

    <xs:complexContent>

    <xs:extension base="tns:PlatformObject">

    <xs:sequence>
    <xs:element minOccurs="0" name="status" type="tns:status"/>
    <xs:element minOccurs="0" name="assignee" type="xs:string"/>
    <xs:element minOccurs="0" name="assigneeUserId" type="xs:string"/>
    <xs:element minOccurs="0" name="name" type="xs:string"/>
    <xs:element minOccurs="0" name="type" type="xs:string"/>
    <xs:element minOccurs="0" name="creationTimestamp" type="xs:long"/>
    <xs:element minOccurs="0" name="updateTimestamp" type="xs:long"/>
    <xs:element minOccurs="0" name="startTimestamp" type="xs:long"/>
    <xs:element minOccurs="0" name="endTimestamp" type="xs:long"/>
    <xs:element minOccurs="0" name="source" type="tns:source"/>
    <xs:element minOccurs="0" name="notes" type="xs:string"/>
    <xs:element minOccurs="0" name="priority" type="xs:int"/>
    <xs:element minOccurs="0" name="penalized" type="xs:boolean"/>
    <xs:element minOccurs="0" name="hasSLA" type="xs:boolean"/>
    <xs:element minOccurs="0" name="location" type="tns:Location"/>
    <xs:element minOccurs="0" name="windowStartTimestamp" type="xs:long"/>
    <xs:element minOccurs="0" name="windowEndTimestamp" type="xs:long"/>
    <xs:element minOccurs="0" name="signee" type="xs:string"/>
    <xs:element minOccurs="0" name="signature" type="xs:base64Binary"/>
    <xs:element minOccurs="0" name="customerId" type="xs:string"/>
    <xs:element minOccurs="0" name="travelTime" type="xs:int"/>
    <xs:element minOccurs="0" name="expirationTimestamp" type="xs:long"/>
    <xs:element minOccurs="0" name="parentId" type="xs:long"/>
    <xs:element minOccurs="0" name="externalTimezone" type="xs:string"/>
    <xs:element minOccurs="0" name="localTimeOffset" type="xs:long"/>
    <xs:element minOccurs="0" name="consignee" type="xs:string"/>
    <xs:element minOccurs="0" name="assignmentWindowStartTimestamp" type="xs:long"/>
    <xs:element minOccurs="0" name="assignmentWindowEndTimestamp" type="xs:long"/>
    </xs:sequence>
    </xs:extension>
    </xs:complexContent>
    </xs:complexType>

    <xs:complexType name="PlatformObject">

    <xs:sequence>
    <xs:element name="id" type="xs:string"/>
    <xs:element name="externalId" type="xs:string"/>
    <xs:element name="revision" type="xs:long"/>
    <xs:element name="platformDateCreated" type="xs:dateTime"/>
    <xs:element name="platformDateUpdated" type="xs:dateTime"/>
    <xs:element name="objectName" type="xs:string"/>
    <xs:element maxOccurs="unbounded" name="extendedAttributes" type="tns:ExtendedAttribute"/>
    </xs:sequence>
    </xs:complexType>

    <xs:complexType name="Location">

    <xs:sequence>
    <xs:element minOccurs="0" name="name" type="xs:string"/>
    <xs:element minOccurs="0" name="description" type="xs:string"/>
    <xs:element minOccurs="0" name="type" type="xs:string"/>
    <xs:element minOccurs="0" name="address" type="tns:Address"/>
    <xs:element minOccurs="0" name="position" type="tns:Position"/>
    <xs:element minOccurs="0" name="geofenceId" type="xs:long"/>
    <xs:element minOccurs="0" name="capcity" type="xs:int"/>
    <xs:element minOccurs="0" name="contact" type="xs:string"/>
    <xs:element minOccurs="0" name="email" type="xs:string"/>
    </xs:sequence>
    </xs:complexType>

    <xs:complexType name="Address">

    <xs:sequence>
    <xs:element minOccurs="0" name="addressLine" type="xs:string"/>
    <xs:element minOccurs="0" name="addressLine2" type="xs:string"/>
    <xs:element minOccurs="0" name="city" type="xs:string"/>
    <xs:element minOccurs="0" name="secondaryCity" type="xs:string"/>
    <xs:element minOccurs="0" name="subdivision" type="xs:string"/>
    <xs:element minOccurs="0" name="postalCode" type="xs:string"/>
    <xs:element minOccurs="0" name="country" type="xs:string"/>
    <xs:element minOccurs="0" name="phone" type="xs:string"/>
    <xs:element minOccurs="0" name="freeform" type="xs:string"/>
    </xs:sequence>
    </xs:complexType>

    <xs:complexType name="Position">

    <xs:sequence>
    <xs:element name="latitude" type="xs:double"/>
    <xs:element name="longitude" type="xs:double"/>
    </xs:sequence>
    </xs:complexType>

    <xs:complexType name="ExtendedAttribute">

    <xs:sequence>
    <xs:element name="name" type="xs:string"/>
    <xs:element name="value" type="xs:anyType"/>
    </xs:sequence>
    </xs:complexType>

    <xs:complexType name="upsertTaskResponse">

    <xs:sequence>
    <xs:element minOccurs="0" name="task" type="tns:Task"/>
    </xs:sequence>
    </xs:complexType>

    <xs:complexType name="Exception">

    <xs:sequence>
    <xs:element minOccurs="0" name="message" type="xs:string"/>
    </xs:sequence>
    </xs:complexType>

    <xs:complexType name="listenForEvents">

    <xs:sequence>
    <xs:element minOccurs="0" name="listenParams" type="tns:ListenParams"/>
    </xs:sequence>
    </xs:complexType>

    <xs:complexType name="ListenParams">

    <xs:sequence>
    <xs:element name="queueName" type="xs:string"/>
    <xs:element name="resendLast" type="xs:boolean"/>
    </xs:sequence>
    </xs:complexType>

    <xs:complexType name="listenForEventsResponse">

    <xs:sequence>
    <xs:element maxOccurs="unbounded" minOccurs="0" name="events" type="tns:Event"/>
    </xs:sequence>
    </xs:complexType>

    <xs:complexType name="Event">

    <xs:sequence>
    <xs:element name="id" type="xs:string"/>
    </xs:sequence>
    </xs:complexType>

    <xs:complexType name="AuthenticationRequestEvent">

    <xs:complexContent>

    <xs:extension base="tns:RequestEvent">

    <xs:sequence>
    <xs:element name="username" type="xs:string"/>
    <xs:element minOccurs="0" name="password" type="xs:string"/>
    </xs:sequence>
    </xs:extension>
    </xs:complexContent>
    </xs:complexType>

    <xs:complexType name="RequestEvent">

    <xs:complexContent>

    <xs:extension base="tns:Event">

    <xs:sequence>
    <xs:element name="correlationId" type="xs:string"/>
    <xs:element name="response" type="tns:Response"/>
    </xs:sequence>
    </xs:extension>
    </xs:complexContent>
    </xs:complexType>

    <xs:complexType name="Response">

    <xs:sequence>
    <xs:element name="correlationId" type="xs:string"/>
    </xs:sequence>
    </xs:complexType>

    <xs:complexType name="AuthenticationResponse">

    <xs:complexContent>

    <xs:extension base="tns:Response">

    <xs:sequence>
    <xs:element name="success" type="xs:boolean"/>
    <xs:element name="username" type="xs:string"/>
    <xs:element minOccurs="0" name="password" type="xs:string"/>
    <xs:element minOccurs="0" name="firstName" type="xs:string"/>
    <xs:element minOccurs="0" name="lastName" type="xs:string"/>
    <xs:element minOccurs="0" name="email" type="xs:string"/>
    <xs:element minOccurs="0" name="active" type="xs:boolean"/>
    <xs:element minOccurs="0" name="timeZone" type="xs:string"/>
    <xs:element minOccurs="0" name="group" type="xs:string"/>
    <xs:element minOccurs="0" name="role" type="xs:string"/>
    <xs:element minOccurs="0" name="errorCode" type="xs:string"/>
    <xs:element minOccurs="0" name="errorMessage" type="xs:string"/>
    </xs:sequence>
    </xs:extension>
    </xs:complexContent>
    </xs:complexType>

    <xs:complexType name="DispatchEvent">

    <xs:complexContent>

    <xs:extension base="tns:Event">

    <xs:sequence>
    <xs:element name="type" type="tns:eventType"/>
    <xs:element minOccurs="0" name="previousTask" type="tns:Task"/>
    <xs:element name="changeTask" type="tns:Task"/>
    <xs:element minOccurs="0" name="newTask" type="tns:Task"/>
    </xs:sequence>
    </xs:extension>
    </xs:complexContent>
    </xs:complexType>

    <xs:complexType name="sendAuthenticationResponse">

    <xs:sequence>
    <xs:element minOccurs="0" name="authenticationResponse" type="tns:AuthenticationResponse"/>
    </xs:sequence>
    </xs:complexType>

    <xs:complexType name="sendAuthenticationResponseResponse">
    <xs:sequence/>
    </xs:complexType>

    <xs:simpleType name="status">

    <xs:restriction base="xs:string">
    <xs:enumeration value="NULL"/>
    <xs:enumeration value="UNASSIGNED"/>
    <xs:enumeration value="ASSIGNED"/>
    <xs:enumeration value="RECEIVED"/>
    <xs:enumeration value="ACCEPTED"/>
    <xs:enumeration value="REJECTED"/>
    <xs:enumeration value="IN_PROGRESS"/>
    <xs:enumeration value="POSTPONED"/>
    <xs:enumeration value="COMPLETED"/>
    <xs:enumeration value="CANCELED"/>
    <xs:enumeration value="CLEARED"/>
    <xs:enumeration value="EXPIRED"/>
    </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="source">

    <xs:restriction base="xs:string">
    <xs:enumeration value="NULL"/>
    <xs:enumeration value="DISPATCH"/>
    <xs:enumeration value="SYSTEM"/>
    <xs:enumeration value="ENDUSER"/>
    </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="eventType">

    <xs:restriction base="xs:string">
    <xs:enumeration value="TaskCreated"/>
    <xs:enumeration value="TaskUpdated"/>
    <xs:enumeration value="TaskAssigned"/>
    <xs:enumeration value="TaskDeleted"/>
    <xs:enumeration value="TaskStatusChanged"/>
    <xs:enumeration value="TaskConflicted"/>
    </xs:restriction>
    </xs:simpleType>
    </xs:schema>
    </types>

    <message name="Webservice_listenForEvents">
    <part element="tns:listenForEvents" name="listenForEvents"/>
    </message>

    <message name="Webservice_sendAuthenticationResponseResponse">
    <part element="tns:sendAuthenticationResponseResponse" name="sendAuthenticationResponseResponse"/>
    </message>

    <message name="Webservice_sendAuthenticationResponse">
    <part element="tns:sendAuthenticationResponse" name="sendAuthenticationResponse"/>
    </message>

    <message name="Webservice_upsertTaskResponse">
    <part element="tns:upsertTaskResponse" name="upsertTaskResponse"/>
    </message>

    <message name="Exception">
    <part element="tns:Exception" name="Exception"/>
    </message>

    <message name="Webservice_upsertTask">
    <part element="tns:upsertTask" name="upsertTask"/>
    </message>

    <message name="Webservice_listenForEventsResponse">
    <part element="tns:listenForEventsResponse" name="listenForEventsResponse"/>
    </message>

    <portType name="Webservice">

    <operation name="listenForEvents" parameterOrder="listenForEvents">
    <input message="tns:Webservice_listenForEvents"/>
    <output message="tns:Webservice_listenForEventsResponse"/>
    <fault message="tns:Exception" name="Exception"/>
    </operation>

    <operation name="sendAuthenticationResponse" parameterOrder="sendAuthenticationResponse">
    <input message="tns:Webservice_sendAuthenticationResponse"/>
    <output message="tns:Webservice_sendAuthenticationResponseResponse"/>
    <fault message="tns:Exception" name="Exception"/>
    </operation>

    <operation name="upsertTask" parameterOrder="upsertTask">
    <input message="tns:Webservice_upsertTask"/>
    <output message="tns:Webservice_upsertTaskResponse"/>
    <fault message="tns:Exception" name="Exception"/>
    </operation>
    </portType>

    <binding name="WebserviceBinding" type="tns:Webservice">
    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>

    <operation name="listenForEvents">
    <soap:operation soapAction=""/>

    <input>
    <soap:body use="literal"/>
    </input>

    <output>
    <soap:body use="literal"/>
    </output>

    <fault name="Exception">
    <soap:fault name="Exception" use="literal"/>
    </fault>
    </operation>

    <operation name="sendAuthenticationResponse">
    <soap:operation soapAction=""/>

    <input>
    <soap:body use="literal"/>
    </input>

    <output>
    <soap:body use="literal"/>
    </output>

    <fault name="Exception">
    <soap:fault name="Exception" use="literal"/>
    </fault>
    </operation>

    <operation name="upsertTask">
    <soap:operation soapAction=""/>

    <input>
    <soap:body use="literal"/>
    </input>

    <output>
    <soap:body use="literal"/>
    </output>

    <fault name="Exception">
    <soap:fault name="Exception" use="literal"/>
    </fault>
    </operation>
    </binding>

    <service name="Webservice">

    <port binding="tns:WebserviceBinding" name="WebservicePort">
    <soap:address location="https://webservice.mp.b.airclic.com:443/webservice/product/fieldservice/v1/Webservice"/>
    </port>
    </service>
    </definitions>
    Following is the pl/sql code using UTL_DBWS
    DECLARE
    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_input_params UTL_DBWS.anydata_list;
    soap_request xmltype;
    l_result xmltype;
    result_output VARCHAR2(32767);
    BEGIN
    l_wsdl_url := 'https://webservice.mp.b.airclic.com/webservice/product/fieldservice/v1/Webservice?WSDL';
    l_namespace := 'http://webservice.airclic.com/';
    dbms_output.put_line ('1');
    l_service_qname := UTL_DBWS.to_qname(l_namespace, 'Webservice');
    dbms_output.put_line ('2');
    l_port_qname := UTL_DBWS.to_qname(l_namespace, 'WebservicePort');
    dbms_output.put_line ('3');
    l_operation_qname := UTL_DBWS.to_qname(l_namespace, 'sendAuthenticationResponse');
    dbms_output.put_line ('4');
    l_service := UTL_DBWS.create_service (
    wsdl_document_location => URIFACTORY.getURI(l_wsdl_url),
    service_name => l_service_qname);
    dbms_output.put_line ('5');
    l_call := UTL_DBWS.create_call (
    service_handle => l_service,
    port_name => l_port_qname,
    operation_name => l_operation_qname);
    dbms_output.put_line ('6');
    UTL_DBWS.SET_PROPERTY(l_call,'USERNAME',<username to access wsdl>);
    dbms_output.put_line ('7');
    UTL_DBWS.SET_PROPERTY(l_call,'PASSWORD',<password>);
    dbms_output.put_line ('8');
    utl_dbws.set_property(l_call,'OPERATION_STYLE', 'document');
    dbms_output.put_line ('9');
    soap_request := xmltype.createxml('<?xml version="1.0" encoding="UTF-8"?>
    <S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
    <S:Body>
    <ns2:sendAuthenticationResponse xmlns:ns2="http://webservice.airclic.com/">
    <authenticationResponse>
    <correlationId>4646735802698040711:[email protected]</correlationId>
    <success>true</success>
    <username>changlanih</username>
    <password>abcd1234</password>
    <firstName>hero</firstName>
    <lastName>changlani</lastName>
    <email>[email protected]</email>
    <active>true</active>
    <timeZone>eastern</timeZone>
    <group>Northeast</group>
    <role>Service Manager</role>
    </authenticationResponse>
    </ns2:sendAuthenticationResponse>
    </S:Body>
    </S:Envelope>');
    l_result := UTL_DBWS.invoke ( l_call,soap_request);
    UTL_DBWS.release_call (call_handle => l_call);
    UTL_DBWS.release_service (service_handle => l_service);
    result_output := l_result.getstringval;
    dbms_output.put_line('web svc output ===> ' || result_output);
    END;
    Following is the error from pl/sql code
    1
    2
    3
    4
    DECLARE
    ERROR at line 1:
    ORA-29532: Java call terminated by uncaught Java exception: java.lang.IllegalAccessException: error.build.wsdl.model: oracle.j2ee.ws.common.tools.api.WsdlValidationException:
    Failed to read WSDL from https://webservice.mp.b.airclic.com/webservice/product/fieldservice/v1/Webservice?WSDL:
    HTTP connection error code is 401
    ORA-06512: at "SYS.UTL_DBWS", line 193
    ORA-06512: at "SYS.UTL_DBWS", line 190
    ORA-06512: at line 20
    Notes
    The program fails at following line of code -
    l_service := UTL_DBWS.create_service (
    wsdl_document_location => URIFACTORY.getURI(l_wsdl_url),
    service_name => l_service_qname);
    Web services are SSL.
    The WSDL is at https location and needs username/password for access. The username/password to access WSDL are set using UTL_DBWS.SET_PROPERTY
    To access the SSL site, I have imported the CA in Oracle Wallet, JVM home and JDK home.
    Can anyone tell me what am I doing wrong here. I am not able to even establish connection to web service host.
    This is very frustrating - Oracle has no examples on how to access a SSL Web Service (that needs authentication) from Database.
    This is effecting our project deadlines ......... any help would be greatly appreciated.
    Thanks.

    Hi,
    I presume your Web Service needs HTTP (BASIC?) Authentication.
    All this needs is setting the following 2 properties, which as can be seen, you are setting....
    UTL_DBWS.set_property(l_call, 'USERNAME', '<username>');
    UTL_DBWS.set_property(l_call, 'PASSWORD', '<pwd>');
    This should work as long as your DBWS Callout Utility was downloaded from OTN after June 2008, and it's version is atleast 10.1.3.1.
    Following is a sample code snippet that was tested successfully for this :
    Declare
    l_service UTL_DBWS.service;
    l_call UTL_DBWS.call;
    l_result sys.XMLTYPE;
    l_request sys.XMLTYPE;
    BEGIN
    l_service := UTL_DBWS.create_service(null);
    l_call := UTL_DBWS.create_call(l_service);
    UTL_DBWS.set_target_endpoint_address(l_call, 'http://xxx.oracle.com:8888/basic/MyWebService1SoapHttpPort');
    UTL_DBWS.set_property(l_call, 'USERNAME', 'username');
    UTL_DBWS.set_property(l_call, 'PASSWORD', 'pwd');
    UTL_DBWS.set_property(l_call, 'OPERATION_STYLE', 'document');
    UTL_DBWS.set_property(l_call, 'SOAPACTION_USE', 'true');
    UTL_DBWS.set_property(l_call, 'SOAPACTION_URI', 'http://xxx.oracle.com:8888/basic/MyWebService1SoapHttpPort');
    l_request := XMLTYPE('<Z_CENTRICITY_GET_DOCLIST
    xmlns:urn="urn:sap-com:document:sap:rfc:functions">' ||
    '<I_INCLUDE_OLD_VERSIONS></I_INCLUDE_OLD_VERSIONS>' ||
    '<I_INSTITUTION>0001</I_INSTITUTION>' ||
    '<I_PATIENT_NR>0000000181</I_PATIENT_NR>' ||
    '</Z_CENTRICITY_GET_DOCLIST>');
    l_result := UTL_DBWS.invoke(l_call, l_request);
    UTL_DBWS.release_call (call_handle => l_call);
    UTL_DBWS.release_service (service_handle => l_service);
    EXCEPTION
    WHEN OTHERS THEN
    dbms_output.put_line(sqlcode || ' ' || sqlerrm);
    END;
    Hope this helps,
    Yogesh

  • Using utl_dbws to call web service

    We're calling a web service using utl_dbws and getting a response but the problem is the parameters. I haven't been able to find much documentation about how to use the utl_dbws package and have only one example to work from so could do with some expert help.
    The following code calls the webservice:
    procedure call_web_service(p_application_key in number,
    out_success_message out varchar2)
    is
    v_service utl_dbws.service;
    v_call utl_dbws.call;
    v_service_qname utl_dbws.qname;
    v_port_qname utl_dbws.qname;
    v_operation_qname utl_dbws.qname;
    v_string_type_qname utl_dbws.qname;
    v_return anydata;
    v_send_data anydata;
    v_return_string varchar2 (100);
    v_return_length number;
    v_parameter_string varchar2(32767);
    v_params utl_dbws.anydata_list;
    v_interview_xml xmltype;
    v_policy_number varchar2(14);
    -- return parameters
    v_interviewId varchar2(1000);
    v_statusType varchar2(1000);
    v_error_reason varchar2(1000);
    begin
    message_handler.set_module_name('ostp_to_xpb.call_web_service');
    message_handler.set_current_process('retrieve generated xml');
    begin
         select upload_xml, extractvalue(upload_xml, '/interview/externalReferenceNumber') policy_number
         into v_interview_xml, v_policy_number
              from xpb_upload_data
         where application_key = p_application_key
              and extractvalue(upload_xml, '/interview/externalReferenceNumber') is not null;
    --dbms_output.put_line('xml retrieved');
         exception
         when no_data_found then     
              v_success_message := 'No xml found for application_key = '||p_application_key;
              raise v_procedure_error;
         end;
         message_handler.set_current_process('call web service');
    -- create service
    v_service_qname := utl_dbws.to_qname (null, 'xpertBridge');
    v_service := utl_dbws.create_service (v_service_qname);
    -- create call
    v_port_qname := utl_dbws.to_qname (null, 'xpertBridgePort');
    v_operation_qname :=
    utl_dbws.to_qname
    ('http://m0154ukdox1/xpertBridgeEDSLV/services/xpertBridge',
    'orcaAppUpload'
    v_call := utl_dbws.create_call (v_service, v_port_qname, v_operation_qname);
    -- set endpoint
    utl_dbws.set_target_endpoint_address
    (v_call,
    'http://m0154ukdox1/xpertBridgeEDSLV/services/xpertBridge'
    -- set type of input and output parameters
    v_string_type_qname :=
    utl_dbws.to_qname ('http://www.w3.org/2001/XMLSchema', 'string');
    utl_dbws.add_parameter (v_call,
    'orcaXml',
    v_string_type_qname,
    'ParameterMode.IN'
    utl_dbws.add_parameter (v_call,
    'interviewId',
    v_string_type_qname,
    'ParameterMode.OUT'
    utl_dbws.add_parameter (v_call,
    'status',
    v_string_type_qname,
    'ParameterMode.OUT'
    utl_dbws.add_parameter (v_call,
    'errorReason',
    v_string_type_qname,
    'ParameterMode.OUT'
    utl_dbws.set_return_type (v_call, v_string_type_qname);
    -- convert xmltype to string for call
    select xmlserialize(document v_interview_xml)
    into v_parameter_string
    from dual;
    v_params (1) := anydata.convertvarchar(v_parameter_string);
    -- call
    v_return := utl_dbws.invoke (v_call, v_params);
    -- values which can be returned are Success / MessageError / ApplicationError
    v_return_string := v_return.accessvarchar2;
    dbms_output.put_line ('Message returned is: ' || nvl(v_return_string, 'No success message returned'));
    -- retrieve out parameters
    v_interviewId := v_params(2).accessvarchar2;
    dbms_output.put_line ('Message returned is: ' || nvl(v_interviewId, 'No interviewId returned'));
    v_statusType := v_params(3).accessvarchar2;
    dbms_output.put_line ('Message returned is: ' || nvl(v_statusType, 'No status type returned'));
    v_error_reason := v_params(4).accessvarchar2;
    dbms_output.put_line ('Message returned is: ' || nvl(v_error_reason, 'No error reason returned'));
    -- release call
    utl_dbws.release_call ( v_call );
    -- release services
    utl_dbws.release_service ( v_service );
    message_handler.set_module_finish;
    exception
    when others then
    out_success_message := message_handler.formatted_error_message;
    end call_web_service;
    Here is an excerpt from the WSDL relating to the call being made:
         <xs:element name="orcaAppUpload">
                        <xs:annotation>
                             <xs:documentation xml:lang="en">Message payload XML</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                             <xs:sequence>
                                  <xs:element name="orcaXml" type="xs:string"/>
                             </xs:sequence>
                        </xs:complexType>
                   </xs:element>
                   <xs:element name="orcaAppUploadResponse">
                        <xs:complexType>
                             <xs:sequence>
                                  <xs:element name="interviewId" type="xs:string">
                                       <xs:annotation>
                                            <xs:documentation xml:lang="en">Interview identifier used to access the interview from UI</xs:documentation>
                                       </xs:annotation>
                                  </xs:element>
                                  <xs:element name="status" type="tns:StatusType"/>
                                  <xs:element name="errorReason" type="xs:string" minOccurs="0">
                                       <xs:annotation>
                                            <xs:documentation xml:lang="en">Only included if an error has occured </xs:documentation>
                                       </xs:annotation>
                                  </xs:element>
                             </xs:sequence>
                        </xs:complexType>
                   </xs:element>
                   <xs:simpleType name="StatusType">
                        <xs:restriction base="xs:string">
                             <xs:enumeration value="Success"/>
                             <xs:enumeration value="MessageError">
                                  <xs:annotation>
                                       <xs:documentation xml:lang="en">MessageError arises if the request payload was
    rejected by xpertBridge. This might be because it does not validate against the
    expected schema. Alternatively, a business rule is not satisfied.</xs:documentation>
                                  </xs:annotation>
                             </xs:enumeration>
                             <xs:enumeration value="ApplicationError">
                                  <xs:annotation>
                                       <xs:documentation xml:lang="en">ApplicationError would indicate application or system
    error or exception occured in xpertBridge while processing the request.</xs:documentation>
                                  </xs:annotation>
                             </xs:enumeration>
                        </xs:restriction>
                   </xs:simpleType>
              </xs:schema>
         <wsdl:message name="orcaAppUploadReq">
              <wsdl:part name="orcaAppUpload" element="tns:orcaAppUpload"/>
         </wsdl:message>
         <wsdl:message name="orcaAppUploadResp">
              <wsdl:part name="orcaAppUploadResponse" element="tns:orcaAppUploadResponse"/>
         </wsdl:message>
         <wsdl:portType name="xpertBridgePort">
              <wsdl:operation name="orcaAppUpload">
                   <wsdl:documentation>Upload (typically paper) application from ORCA/Ingenium</wsdl:documentation>
                   <wsdl:input message="tns:orcaAppUploadReq"/>
                   <wsdl:output message="tns:orcaAppUploadResp"/>
              </wsdl:operation>
         </wsdl:portType>
    etc.
    The error being returned is the following:
    ostp_to_xpb.call_web_service.call web service.ORA-29532: Java call terminated by uncaught Java exception: unexpected element name: expected=interviewId, actual=status
    Initially I started the params at params(0) but when I received the response above I thought it might solve the problem by starting at 1 - try anything :-) but still had the same response.
    I'm now out of ideas!

    UTL_DBWS is not part of XDB, XDB is more about being the web service, rather than calling a web service. Here's an example of using UTL_HTTP to test a XML DB Database Native Web Service which may help
    SQL*Plus: Release 11.2.0.1.0 Production on Wed Jun 17 08:23:14 2009
    Copyright (c) 1982, 2009, Oracle.  All rights reserved.
    SQL> spool password.log
    SQL> --
    SQL> connect sys/oracle as sysdba
    Connected.
    SQL> --
    SQL> def USERNAME=DBNWS
    SQL> --
    SQL> def PASSWORD=DBNWS
    SQL> --
    SQL> def HOSTNAME=&1
    SQL> --
    SQL> DROP USER &USERNAME CASCADE
      2  /
    old   1: DROP USER &USERNAME CASCADE
    new   1: DROP USER DBNWS CASCADE
    User dropped.
    SQL> grant connect, resource to &USERNAME identified by &PASSWORD
      2  /
    old   1: grant connect, resource to &USERNAME identified by &PASSWORD
    new   1: grant connect, resource to DBNWS identified by DBNWS
    Grant succeeded.
    SQL> begin
      2    dbms_network_acl_admin.drop_acl('localhost.xml');
      3  end;
      4  /
    PL/SQL procedure successfully completed.
    SQL> begin
      2    dbms_network_acl_admin.create_acl('localhost.xml', 'ACL for &HOSTNAME', '&USERNAME', true, 'connect');
      3    dbms_network_acl_admin.assign_acl('localhost.xml', '&HOSTNAME');
      4  end;
      5  /
    old   2:   dbms_network_acl_admin.create_acl('localhost.xml', 'ACL for &HOSTNAME', '&USERNAME', true, 'connect');
    new   2:   dbms_network_acl_admin.create_acl('localhost.xml', 'ACL for localhost', 'DBNWS', true, 'connect');
    old   3:   dbms_network_acl_admin.assign_acl('localhost.xml', '&HOSTNAME');
    new   3:   dbms_network_acl_admin.assign_acl('localhost.xml', 'localhost');
    PL/SQL procedure successfully completed.
    SQL> COMMIT
      2  /
    Commit complete.
    SQL> GRANT XDB_WEBSERVICES TO &USERNAME
      2  /
    old   1: GRANT XDB_WEBSERVICES TO &USERNAME
    new   1: GRANT XDB_WEBSERVICES TO DBNWS
    Grant succeeded.
    SQL> GRANT XDB_WEBSERVICES_OVER_HTTP TO &USERNAME
      2  /
    old   1: GRANT XDB_WEBSERVICES_OVER_HTTP TO &USERNAME
    new   1: GRANT XDB_WEBSERVICES_OVER_HTTP TO DBNWS
    Grant succeeded.
    SQL> connect &USERNAME/&PASSWORD
    Connected.
    SQL> --
    SQL> create or replace function GET_SQRT (INPUT_VALUE number) return number
      2  as
      3  begin
      4    return SQRT(2);
      5  end;
      6  /
    Function created.
    SQL> select GET_SQRT(2)
      2    from dual
      3  /
    GET_SQRT(2)
    1.41421356
    SQL> VAR URL VARCHAR2(4000)
    SQL> --
    SQL> BEGIN
      2    :url :=   'http://&USERNAME:&PASSWORD@&HOSTNAME:' || dbms_xdb.getHttpPort() || '/orawsv/&USERNAME/GET_SQRT';
      3  end;
      4  /
    old   2:   :url :=   'http://&USERNAME:&PASSWORD@&HOSTNAME:' || dbms_xdb.getHttpPort() || '/orawsv/&USERNAME/GET_SQRT';
    new   2:   :url :=   'http://DBNWS:DBNWS@localhost:' || dbms_xdb.getHttpPort() || '/orawsv/DBNWS/GET_SQRT';
    PL/SQL procedure successfully completed.
    SQL> print url
    URL
    http://DBNWS:DBNWS@localhost:80/orawsv/DBNWS/GET_SQRT
    SQL> --
    SQL> set long 100000 pages 0 lines 256
    SQL> --
    SQL> select     httpuritype( :url || '?wsdl' ).getXML() from dual
      2  /
    <definitions name="GET_SQRT" targetNamespace="http://xmlns.oracle.com/orawsv/DBNWS/GET_SQRT" xmlns="http://schemas.xmlsoap.org/wsdl/
    " xmlns:tns="http://xmlns.oracle.com/orawsv/DBNWS/GET_SQRT" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://
    schemas.xmlsoap.org/wsdl/soap/">
      <types>
        <xsd:schema targetNamespace="http://xmlns.oracle.com/orawsv/DBNWS/GET_SQRT" elementFormDefault="qualified">
          <xsd:element name="SNUMBER-GET_SQRTInput">
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element name="INPUT_VALUE-NUMBER-IN" type="xsd:double"/>
              </xsd:sequence>
            </xsd:complexType>
          </xsd:element>
          <xsd:element name="GET_SQRTOutput">
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element name="RETURN" type="xsd:double"/>
              </xsd:sequence>
            </xsd:complexType>
          </xsd:element>
        </xsd:schema>
      </types>
      <message name="GET_SQRTInputMessage">
        <part name="parameters" element="tns:SNUMBER-GET_SQRTInput"/>
      </message>
      <message name="GET_SQRTOutputMessage">
        <part name="parameters" element="tns:GET_SQRTOutput"/>
      </message>
      <portType name="GET_SQRTPortType">
        <operation name="GET_SQRT">
          <input message="tns:GET_SQRTInputMessage"/>
          <output message="tns:GET_SQRTOutputMessage"/>
        </operation>
      </portType>
      <binding name="GET_SQRTBinding" type="tns:GET_SQRTPortType">
        <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
        <operation name="GET_SQRT">
          <soap:operation soapAction="GET_SQRT"/>
          <input>
            <soap:body parts="parameters" use="literal"/>
          </input>
          <output>
            <soap:body parts="parameters" use="literal"/>
          </output>
        </operation>
      </binding>
      <service name="GET_SQRTService">
        <documentation>Oracle Web Service</documentation>
        <port name="GET_SQRTPort" binding="tns:GET_SQRTBinding">
          <soap:address location="http://localhost:80/orawsv/DBNWS/GET_SQRT"/>
        </port>
      </service>
    </definitions>
    SQL> set serveroutput on
    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> --
    SQL>
    SQL>

  • KEY LOOKUP Operator using TCL

    Hi,
    I am trying to create a key lookup operator using tcl.
    OMBALTER MAPPING 'TESTMAP' ADD KEY_LOOKUP OPERATOR 'INSTITUTION_CHARACTERISTIC_DIM'\
    SET PROPERTIES (BOUND_NAME,CREATE_NO_MATCH_ROW, LOOKUP_CONDITION)VALUES
    ('INSTITUTION_CHARACTERISTIC_DIM','true','OUTGRP1.INSTITUTION_CHAR_SRCKEY
    = INGRP1.INST_CHAR_SRCKEY')
    and then adding an attribute to the INGRP
    OMBALTER MAPPING 'TESTMAP'ADD ATTRIBUTE 'LAST_ACTIVITY_DATE' OF GROUP 'INGRP1' OF OPERATOR 'INSTITUTION_CHARACTERISTIC_DIM'
    This is creating a key lookup operator by the name
    INSTITUTION_CHARACTERISTIC_DIM, and i can see the Bound Name in the
    properties window, but when i double click and open the key lookup, i
    dont see the result table under the LOOK UP tab.Because of this, the
    attributes dont get added in the OUTGRP of the key lookup.
    Am i missing some important property of a key look up?
    can some one please help me with this...
    Thanks in advance...

    Hi,
    you have to bind the lookup operator to the table:
    OMBALTER MAPPING 'MAP_LOOKUP' ADD KEY_LOOKUP OPERATOR 'MY_LOOKUP' BOUND TO TABLE '/MY_PROJECT/MY_DB/DIM_CUSTOMERS'
    OMBALTER MAPPING 'MAP_LOOKUP' MODIFY OPERATOR 'MY_LOOKUP' SET PROPERTIES (CREATE_NO_MATCH_ROW, LOOKUP_CONDITION)VALUES ('true','OUTGRP1.ID_CUSTOMER=INGRP1.ID_CUSTOMER')
    OMBALTER MAPPING 'MAP_LOOKUP' ADD ATTRIBUTE 'ID_CUSTOMER' OF GROUP 'INGRP1' OF OPERATOR 'MY_LOOKUP'Regards,
    Carsten.

  • 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;
    /

  • Problem with authentication using UTL_DBWS

    Hi,
    I'm trying to call out to a web service from a PL/SQL procedure using UTL_DBWS. I am getting the following error when executing the procedure:
    ORA-29532: Java call terminated by uncaught Java exception: javax.xml.rpc.soap.SOAPFaultException: ARERR [149] A user name must be supplied in the control record
    This is despite the fact that I have set the USERNAME property using utl_dbws.set_property. I am 99% sure that the problem is within my Oracle call, becuase I have used a web services utility (SoapSonar) to successfully call the web service, and I have also been able to recreate the error message using the same utility by removing the username information from the xml message header. I have also been able to successfully call the web service if I allow anonymous use of the web service (unfortuantely I need to use the security/authentication for this project).
    I have used utl_dbws.get_property to verify that the USERNAME property is being set correctly, but it still seems that the username is not being included in the header when I call the web service with UTL_DBWS.invoke.
    Does anyone have any suggestions?
    Thanks,
    Jason

    Hi,
    I'm having the same issue using UTL_DBWS. Calls to services that don't require authentication seem to work well using this package but I can't get the basic authentication calls working. When I examine the HTTP header it missing the "Authorization: Basic <base64-encoded-string>" line that I'd expect to see.
    I'm using the utl_dbws.set_property procedure to set the USERNAME and PASSWORD properties.
    Anyone have any ideas how to overcome this problem?
    Cheers,
    Anand.

  • How to set endpoint address using UTL_DBWS

    Hi,
    I have been struggling to invoke a web service in the Oracle 10g database using UTL_DBWS. Now I reached a point where I need to set an endpoint address using UTL_DBWS to complete the invoking process, I try to use UTL_DBWS.Set_Target_Endpoint_Address to do this, but SQL*Plus is returning an error saying Set_Target_Endpoint_Address must be declared.
    Am I calling the wrong function? If so which function should I call to set endpoint address in UTL_DBWS? I have all the necessary jar files installed and the right grants to access this package.
    any hint would be appreciated.
    Thanks.

    Did you try using 'UTL_SMTP.WRITE_DATA'?
    Like:
    DECLARE
    con UTL_SMTP.CONNECTION;
    BEGIN
    con := UTL_SMTP.OPEN_CONNECTION('alpha.beta.com');
    UTL_SMTP.HELO(con, 'gamma.com');
    UTL_SMTP.MAIL(con, '[email protected]');
    UTL_SMTP.RCPT(con, '[email protected]');
    UTL_SMTP.OPEN_DATA(con);
    UTL_SMTP.WRITE_DATA(con,'Importance: HIGH'||UTL_TCP.CRLF);
    END;I have not tested the code. I am not sure if it is going to work in your case.

  • Using UTL_DBWS to contact IIS hosted Web Service

    Hello-
    A generous No-Prize to anyone with insight on this issue...
    I am using UTL_DBWS to contact an IIS hosted web service, relevant code here:
    FUNCTION call_gnr ( p_name IN varchar2 ) return varchar2 IS
    l_wsdl_url varchar2 ( 1024 ) := 'http://localhost/GNRD/GNRD.dll?Handler=GenGNRDWSDL';
    l_service_name varchar2 ( 200 ) := 'GNRDService';
    l_port varchar2 ( 200 );-- := 'GNRDServiceSoap';
    l_operation_name varchar2 ( 200 ) := 'Search';
    l_service utl_dbws.service;
    l_call utl_dbws.call;
    l_xml xmltype;
    l_xml_result xmltype;
    BEGIN
    l_service := utl_dbws.create_service (
    wsdl_document_location => urifactory.getURI(l_wsdl_url),
    service_name => l_service_name );
    l_call := utl_dbws.create_call (
    service_handle => l_service,
    port_name => l_port,
    operation_name => l_operation_name );
    l_xml := xmltype.createXML(
    '<urn:Search xmlns:urn="urn:GNRDService">' ||
    '<id>1</id>' ||
    '<name>' || p_name || '</name>' ||
    '<maxReply>1000</maxReply>' ||
    '<minPercent>1</minPercent>' ||
    '</urn:Search>' );
    l_xml_result := utl_dbws.invoke (
    call_handle => l_call, request => l_xml );
    utl_dbws.release_call ( call_handle => l_call );
    utl_dbws.release_service ( service_handle => l_service );
    return l_xml_result.getstringval;
    END call_gnr;
    This works like a charm a few times in a row, but once I get a few simultaneous sessions going, I get the following error:
    ORA-29532: Java call terminated by uncaught Java exception: java.lang.IllegalAccessException: error.build.wsdl.model: oracle.j2ee.ws.common.tools.api.WsdlValidationException: WSDLException: faultCode=OTHER_ERROR: Failed to read WSDL from http://localhost/GNRD/GNRD.dll?Handler=GenGNRDWSDL: HTTP connection error code is 403
    ORA-06512: at "SYS.UTL_DBWS", line 193
    ORA-06512: at "SYS.UTL_DBWS", line 190
    Checking the stack trace in my Oracle dump file yields the following:
    ServiceProxy.get(-1261915448) = oracle.jpub.runtime.dbws.DbwsProxy$ServiceProxy@73f04687
    ServiceFacotory: oracle.j2ee.ws.client.ServiceFactoryImpl@3c74ef49
    WSDL: http://localhost/GNRD/GNRD.dll?Handler=GenGNRDWSDL
    ERROR: error.build.wsdl.model: oracle.j2ee.ws.common.tools.api.WsdlValidationException: WSDLException: faultCode=OTHER_ERROR: Failed to read WSDL from http://localhost/GNRD/GNRD.dll?Handler=GenGNRDWSDL: HTTP connection error code is 403
    error.build.wsdl.model: oracle.j2ee.ws.common.tools.api.WsdlValidationException: WSDLException: faultCode=OTHER_ERROR: Failed to read WSDL from http://localhost/GNRD/GNRD.dll?Handler=GenGNRDWSDL: HTTP connection error code is 403
         at oracle.j2ee.ws.client.dii.ServiceInfoBuilder.getModel(ServiceInfoBuilder.java:180)
         at oracle.j2ee.ws.client.dii.ServiceInfoBuilder.getModel(ServiceInfoBuilder.java:178)
         at oracle.j2ee.ws.client.dii.ServiceInfoBuilder.getModel(ServiceInfoBuilder.java:160)
         at oracle.j2ee.ws.client.dii.ServiceInfoBuilder.buildServiceInfo(ServiceInfoBuilder.java:99)
         at oracle.j2ee.ws.client.dii.ConfiguredService.<init>(ConfiguredService.java:54)
         at oracle.j2ee.ws.client.ServiceFactoryImpl.createService(ServiceFactoryImpl.java:43)
         at oracle.jpub.runtime.dbws.DbwsProxy$ServiceProxy.<init>(Unknown Source)
         at oracle.jpub.runtime.dbws.DbwsProxy$ServiceProxy.<init>(Unknown Source)
         at oracle.jpub.runtime.dbws.DbwsProxy.createService(Unknown Source)
    CAUSE:
    oracle.j2ee.ws.common.tools.api.WsdlValidationException: WSDLException: faultCode=OTHER_ERROR: Failed to read WSDL from http://localhost/GNRD/GNRD.dll?Handler=GenGNRDWSDL: HTTP connection error code is 403
         at oracle.j2ee.ws.client.dii.ServiceInfoBuilder.getModel(ServiceInfoBuilder.java:180)
         at oracle.j2ee.ws.client.dii.ServiceInfoBuilder.getModel(ServiceInfoBuilder.java:178)
         at oracle.j2ee.ws.client.dii.ServiceInfoBuilder.getModel(ServiceInfoBuilder.java:160)
         at oracle.j2ee.ws.client.dii.ServiceInfoBuilder.buildServiceInfo(ServiceInfoBuilder.java:99)
         at oracle.j2ee.ws.client.dii.ConfiguredService.<init>(ConfiguredService.java:54)
         at oracle.j2ee.ws.client.ServiceFactoryImpl.createService(ServiceFactoryImpl.java:43)
         at oracle.jpub.runtime.dbws.DbwsProxy$ServiceProxy.<init>(Unknown Source)
         at oracle.jpub.runtime.dbws.DbwsProxy$ServiceProxy.<init>(Unknown Source)
         at oracle.jpub.runtime.dbws.DbwsProxy.createService(Unknown Source)
    Caused by: oracle.j2ee.ws.common.tools.api.WsdlValidationException: WSDLException: faultCode=OTHER_ERROR: Failed to read WSDL from http://localhost/GNRD/GNRD.dll?Handler=GenGNRDWSDL: HTTP connection error code is 403
         at oracle.j2ee.ws.common.processor.modeler.wsdl.WSDLModeler.buildModel(WSDLModeler.java:166)
         at oracle.j2ee.ws.common.processor.config.ModelInfo.buildModel(ModelInfo.java:171)
         at oracle.j2ee.ws.client.dii.ServiceInfoBuilder.getModel(ServiceInfoBuilder.java:175)
         ... 8 more
    java.lang.IllegalAccessException: error.build.wsdl.model: oracle.j2ee.ws.common.tools.api.WsdlValidationException: WSDLException: faultCode=OTHER_ERROR: Failed to read WSDL from http://localhost/GNRD/GNRD.dll?Handler=GenGNRDWSDL: HTTP connection error code is 403
         at oracle.jpub.runtime.dbws.DbwsProxy.createService(Unknown Source)
    I'm totally stumped. Why do I suddenly get an HTTP connection error code 403 after a dozen valid calls? Any help appreciated.
    Dave

    Hello
    I think that something has changed in your environment between the moment the system was working and now that you get the HTTP-403 error.
    As you probably know the DB call is doing a simple HTTP call, so I believe the issue is coming from the URL that you are using that is probably now invalid.
    Could you take the furl URLs (WSDL and endpoint) and see from the server what will be the HTTP call result ? (directly from a browser or telnet session)
    Regards
    Tugdual Grall

  • Consuming Web Services using UTL_DBWS

    Hi,
    I am trying to call a web service using UTL_DBWS package.
    But I am getting this error:
    ORA-29532: Java call terminated by uncaught Java exception: [failed to localize] No Deserializer found!
    It is failing at this point:
    l_result := sys.UTL_DBWS.invoke (
    call_handle => l_call,
    input_params => l_input_params);
    Is this a problem with database or Web Service? How to resolve this?

    No awnsers???
    I'm having the same problem here....

  • Calling a web service using UTL_DBWS

    Hello,
    I am trying to call a web service froma PL/SQL procedure using UTL_DBWS. I've been able to use a different method to determine that the web service is working correctly, so I know my problem is somewhere within my UTL_DBWS call. It seems like my call to the web service is not authenticating correctly. What I would like to do is be able to take a look at the XML header that is created by UTL_DBWS based on the parameters I have supplied, in order to ensure that everything is correct. Does anyone know a way to do this?
    Thanks,
    Jason

    Hello,
    I am trying to call a web service froma PL/SQL procedure using UTL_DBWS. I've been able to use a different method to determine that the web service is working correctly, so I know my problem is somewhere within my UTL_DBWS call. It seems like my call to the web service is not authenticating correctly. What I would like to do is be able to take a look at the XML header that is created by UTL_DBWS based on the parameters I have supplied, in order to ensure that everything is correct. Does anyone know a way to do this?
    Thanks,
    Jason

  • Sharepoint 2013 copy/move operation using Content and Structure fails

    Hi,
    We had a recent upgrade from SP2010 to SP2013 environment. After the migration, we realized that the
    copy/move operations using Manage content and structure(sitemanager.aspx) is not working as expected, neither does this give any error nor is it stuck. In fact if I check the content and structure log I find the message as
    succeeded but file/item is not copied to the target. 
    The strange thing is that if I am performing this operation with Full Control permission level it
    does not work but if I do the operation as Site collection admin it works without problem. I know if sub-sites are to moved then one should be site col admin but in this case I am trying to move just documents or pages.
    Any help will be greatly appreciated.
    Thanks

    Hi Vineet,
    According to your description, my understanding is that copy/move operation using Content and Structure cannot work in SharePoint.
    I recommend to check if there are any custom fields in the source list/library and target list/library. If yes, delete the custom fields to see if the issue still occurs.
    Here is a similar thread for you to take a look:
    http://social.technet.microsoft.com/Forums/en-US/56d803d7-8573-4c29-9f6b-c63023941f44/manage-content-and-structure-cannot-move-or-copy-items?forum=sharepointgeneralprevious
    To copy or move files/items between sites, we need to have
    appropriate permissions on both sites.
    I recommend to check if the user has full control on both sites.
    Best regards.
    Thanks
    Victoria Xia
    TechNet Community Support

  • How to perform merge operation using Data services designer?

    I am new here and new to Data Services Desinger as well.
    And currently, I want to do a merge operation using query transform or table comparison transform. But sadly, neither one of them is giving me what I want.
    So, wonder if you could help clarify if either one of them could achieve MERGE operation between and source and target tables?
    if positive, then how?
    PS:
    by MERGE, i mean, if data exists in target table, then only do update, else, do insert. same with the standard MERGE operation of oracle.
    If you need any more info, let me know!
    Thanks in advance.

    You can do this.
    You don't need the Tabe_Comparison transform actually.
    Just query the data you need and output the flow from your query to your target table.
    Then, you'll have to check the "Auto correct load" option: this will insert new lines and updates old ones. One checked, you can ckeck the "Auto correct load" checkbox.
    By default, BODS will know a line already exists based uppon the primary key columns of your target table. If you want to change the columns used to determine if a line should be inserted or updated, use the "Use input key" checkbox (and define some PK column in your query).
    Hope this helps
    Guillaume

  • APEX 3.0 Web Service OWS-04052 unrecognized operation SOAP Envelop

    Hey,
    I run into a problem with WebServices. Short, I implemented a WebService with JDeveloper and now I would like to create ws references in APEX. The ws is working 100% correct so the problem is, that APEX creates a soap envelop which is not 100% correct...
    So blabla here it is what APEX generates for 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>
    <ns1:projectId
    xmlns:ns1="http://impl.planning.services.model.azima.promatis.com/">2</ns1:projectId>
    </SOAP-ENV:Body>
    </SOAP-ENV:Envelope>
    Now the request which should be sended: (from EM Console)
    <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    <soap:Body xmlns:ns1="http://impl.planning.services.model.azima.promatis.com/">
    <ns1:getAllElementsOfProject>
    <ns1:projectId>2</ns1:projectId>
    </ns1:getAllElementsOfProject>
    </soap:Body>
    </soap:Envelope>
    Compare and you will see that the operation info is missing. So it's almost the same but the operation 'getAllElementsOfProject' isn't in the request.
    If it helps I could also send the wsdl if requiered for help.
    So I run into the following error:
    <?xml version="1.0" encoding="UTF-8"?>
    <env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns0="http://impl.planning.services.model.azima.promatis.com/"><env:Body><env:Fault><faultcode>env:Client</faultcode><faultstring>Caught exception while handling request: unrecognized operation: {http://impl.planning.services.model.azima.promatis.com/}projectId</faultstring></env:Fault></env:Body></env:Envelope>
    From Response
    2007-05-22 16:41:01.765 WARNING OWS-04052 Bestimmen der Vorgangs-ID aus SOAP-Nachricht nicht m÷glich.
    In OC4J (sorry german - means that operation-id couldn't be identified)
    Do you have any ideas how I could configure this? Before you try to say: make it manually, I won't, because it have to worked automatically!
    Thanks
    Frank

    Ok I tried it with new Version JAX-WS 2.0.1. There is a new annotation where the type of the Enpoint or WebService itseld can be set:
    @BindingType( value=SOAPBinding.SOAP11HTTP_BINDING )
    So I tried now with SOAP 1.1 but APEX still don't put the operation name in the SOAP request envelope...
    Now do anyone out there have a clue what else could be wrong? Did I maybe forget an annotation parameter somewhere or something else? So I do it something like this:
    @Stateless
    @WebService( name="XXX" )
    @BindingType( value=SOAPBinding.SOAP11HTTP_BINDING )
    public class XXXImpl implements Ixxx {
    @EJB Ia a;
    @EJB Ib b;
    @WebMethod( operationName="foo" )
    public ADaoObjectWithNoComplexAttributes foo( Long someId ) {
    // do it!
    return theDao;
    I am appreciate for any help!
    Thanks
    Message was edited by:
    promatis

Maybe you are looking for

  • How do I get my HP M1217nfw LaserJet printer to work with Mountain Lion

    I have an HP LaserJet M1217nfw printer and a new Mac Mini with Mountain Lion. I need to print wirelessly. I updated the printer's firmware, but still get an error message saying "You need to install software to use this printer.To install the softwar

  • Adobe Flash Security Update Question Version 9 and 10

    How are you? So I was checking out a security website at the Washington Post when I came upon this article http://voices.washingtonpost.com/securityfix/2009/02/adobeissues_security_updatef.html#comments In the article it detailed that Adobe issued a

  • Memory leak using 10.2.0.3 OCI client on Solaris

    Hi, We are using OCI client libraries to connect our C++ program to the Oracle Database. The program does a lot of selects, inserts and SP calls. Oracle client and Oracle server both are 10.2.0.3. We have been observing a memory leak of 4M bytes in t

  • USER_COMMAND logic

    I have below code {MODULE user_command_0100 INPUT.   DATA : ok_code LIKE sy-ucomm,          save_ok LIKE ok_code,          output LIKE ok_code.   ok_code = sy-ucomm.   save_ok = ok_code.   CLEAR ok_code.   CASE save_ok.     WHEN '&F03' OR '&F15' OR '

  • Filed enable in selection screen

    Hi guru, My Problem is i have created one screen through se51  i have put one table control when i press display button data will come in table control only in display mode but i want if i click on edit button then filed display in change mode then h