Several operations to a WSDL or several WSDL

I need to expose some services of the OSB, (service1Request, service1Response, service2Request, service2Response...), these services are all them should be sent to the same service provider. What is the best solution: create a WSDL for each service or 1 WSDL for all services with several operations? Thank you

It depends on the Composition of Service strategy you follow, that generally group you a set of operations in a Service.
I've seen different organizations taking both approaches, i.e.

1. have a WSDL by operation

Benefits: More flexible with regard to changes to any operation. You can only change the affected WSDL and make sure that the rest of them are intact.
Disadvantages: If the number of operations to continue its growth, many WSDL file management will be an overhead projector

2. several operations as part of a WSDL.

Benefits: More flexible regarding now the WSDL files and versions of service (like AccountV1.wsdl, count V2.wsdl...) and more alignment to your SOA my point of view
Disadvantages: If an operation of the WSDL changes then the rest of the operations are (maybe not a features point of view, but the consumption of the new WSDL file) also affected as a new wsdl should be created.

When you think of SOA, you always talk about Services and not the operations, so finally a given operation should logically belong to a Service and all of the artifacts of the Service to be stored in one place, needs whether a design, WSDL, Code, unit tests, etc...

An example of such a service is as follows:
Account services with operations such as Add, Mod, Inq, etc...

So based on the strategy you want to use, consider the above and make a decision.

I hope this helps.

Thank you
Patrick

Tags: Fusion Middleware

Similar Questions

  • About the OPA 10.3 Siebel connector - AssessIO not found in WSDL

    Hello

    I installed 10.3 OPA and Siebel connector 10.3. When I tried to run AdminSmokeTestIO, I got the following error:

    Error service call 'Policy Automation Server IO determination', 'AssessIO' method in the step "to call evaluate IO." (SBL-RPR-00162)

    Operation 'AssessIO' of the Web Service 'http://oracle.com/determinations/server/siebel/io.DeterminationServerIO' port 'AdminSmokeTestIO' failed with the following explanation: 'no action for "http://oracle.com/determinations/server/10.3/rulebase/types/Assess/io" exists in the service 'odsAssessServiceGeneric103'.'. (SBL-EAI-04308).

    I checked server and Siebel server files WSDL determination determination, it does not AssessIO operation in her name.

    Please suggest me how to get AssessIO operation in the WSDL file.

    Published by: 899464 on November 28, 2011 04:55

    There is a fast reconfiguration that needs to be done to get siebel-determinations-server running on WebLogic.

    Unfortunately, this seems to have missed the documentation.

    Here's what you need to do:

    1 unzip the siebel-determinations - server.war

    2. edit the file WEB-INF/classes/config/application.properties:

    At about line 40, you will see a line indicating

    "" plugin.libraries = "."

    Change this so that the line is (a single line, without break of):

    plugin.libraries=com.oracle.determinations.server.plugins.IntegratedObjectCustomServicePlugin;com.oracle.determinations.bplan.BPlanReturnResultEventHandler
    

    3. Locate the file: bplan_ds_eventhandler.jar and io-custom - service.jar io-custom - service.jar WEB-INF/classes/plugins directory

    4. move these files in WEB-INF/classes/plugins WEB-INF/lib

    5 re - zip the web application for siebel-determinations - server.war (attention do not include additional directories, WEB - INF and META-INF must be at the top level of the .war file).

    See you soon
    Frank

  • Another pick operation

    How to add another operation in a mediator in the design... not in the source

    Published by: 929451 on April 22, 2012 23:59

    Well, if your mediator is based on a wsdl that everything you have to do is to add this operation in your wsdl and record everything. Hit refresh. And you should see the additional operation created in your mediator at design time.

    I hope this helps.

  • Error WSDLParser calling a web service

    Hello
    I have a flex application that loads the data using several web services. With one of these services I encounter the following error:

    TypeError: Error #1009: Impossibile access has a property o a UN metodo di UN oggetto null re.
    to mx.rpc.soap::WSDLParser/ http://www.adobe.com/2006/flex/mx/internal::parseMessage()
    to mx.rpc.soap::WSDLOperation/parseMessages()
    to mx.rpc.soap::Operation/ http://www.adobe.com/2006/flex/mx/internal::invokePendingCall()
    to mx.rpc.soap::Operation/send()
    function / http://adobe.com/AS3/2006/builtin::apply()
    at mx.rpc.soap.mxml::Operation/send()
    hand /: onPreventivoConfirm()
    hand / __sectionAreaPersonale_confermaPreventivo)
    at flash.events::EventDispatcher/flash.events:EventDispatcher::dispatchEventFunction()
    at flash.events::EventDispatcher/dispatchEvent()
    at mx.core::UIComponent/dispatchEvent()
    to AreaPersonale /: doConfermaPreventivo()
    to AreaPersonale / __buttonConferma_click)

    The service is declared as:

    < mx:WebService
    ID = "richiestaNoleggioService".
    Service = "CarRentalProcessExport1_CarRentalProcessHttpService."
    port = "CarRentalProcessExport1_CarRentalProcessHttpPort".
    WSDL = '[...] "/ wsdl/CarRentalProcessExport1_CarRentalProcessHttp_Service.wsdl.
    useProxy = "false".
    showBusyCursor = "true".
    Concurrency "multiple" = >
    < mx:operation
    name = "richiestaNoleggio".
    result = "richiestaNoleggioResult ()" "
    Fault = "richiestaNoleggioFault ()" >
    < mx:request >
    < idNoleggio > < / idNoleggio >
    < / mx:request >
    < / mx:operation >
    < / mx:WebService >

    It is the WSDL for the service:

    < wsdl:definitions
    name = "CarRentalProcessExport1_CarRentalProcessHttp_Service".
    targetNamespace =" http://CarRental/CarRentalProcessInterface/Binding" > "
    < location = "" CarRentalProcess.wsdl wsdl: import ""
    namespace =" http://CarRental/CarRentalProcessInterface" / > "
    < name of binding wsdl: Binding = "CarRentalProcessExport1_CarRentalProcessHttpBinding."
    Type = "Port_0:CarRentalProcess" >
    < style: = 'document soap binding '.
    transport =" http://schemas.xmlsoap.org/soap/http" / > "
    < name of wsdl: Operation = "richiestaNoleggio" >
    < soap: operation / >
    < name of wsdl: Input = "richiestaNoleggioRequest" >
    < use of soap: body = "literal" / >
    < / wsdl: Input >
    < / wsdl: Operation >
    < / wsdl: Binding >
    < wsdl:service name = "CarRentalProcessExport1_CarRentalProcessHttpService" >
    < wsdl: port
    Binding = "' this: CarRentalProcessExport1_CarRentalProcessHttpBinding" "
    name = "CarRentalProcessExport1_CarRentalProcessHttpPort" >
    < address soap:
    location =" http://wxp002:9080 / CarRentalWeb/sca/CarRentalProcessExport1" / > "
    < / wsdl: port >
    < / wsdl:service >
    < / wsdl:definitions >

    Call is made like this:

    richiestaNoleggioService.richiestaNoleggio.send (event.idNoleggio);

    Note that I'm able to correctly call this service with other guests, for example using soapUI.

    Thank you for attention
    Cosma Colanicchia

    Thanks batmitra... anyway, I just solved this problem. There were many things to correct, in order to make it work:

    (1) the call syntax, for this style of web service, must be
    var params: Object = new Object;
    params.idNoleggio = (value);
    richiestaNoleggioService.richiestaNoleggio.send (params);

    (2) the WSDL for the web service must declare out of service... This should be strictly required (in fact, this function does not return anything) but flex needs it to be explicitly set.

    Cosma

  • SOAP_API, UTL_HTTP, ORA-2000

    Hello

    Version of DB 11.2.0.3.0

    Oracle Linux 6.2 OS

    UTL_HTTP package

    I'm consuming a webservice to sample using UTL_HTTP and SOAP_API package borrowed from Tim Hall. Here's the code.

    CREATE OR REPLACE PACKAGE soap_api AS
    -- --------------------------------------------------------------------------
    -- Name         : https://oracle-base.com/dba/miscellaneous/soap_api.sql
    -- Author       : Tim Hall
    -- Description  : SOAP related functions for consuming web services.
    -- License      : Free for personal and commercial use.
    --                You can amend the code, but leave existing the headers, current
    --                amendments history and links intact.
    --                Copyright and disclaimer available here:
    --                https://oracle-base.com/misc/site-info.php#copyright
    -- Ammedments   :
    --   When         Who       What
    --   ===========  ========  =================================================
    --   04-OCT-2003  Tim Hall  Initial Creation
    --   23-FEB-2006  Tim Hall  Parameterized the "soap" envelope tags.
    --   25-MAY-2012  Tim Hall  Added debug switch.
    --   29-MAY-2012  Tim Hall  Allow parameters to have no type definition.
    --                          Change the default envelope tag to "soap".
    --                          add_complex_parameter: Include parameter XML manually.
    --   24-MAY-2014  Tim Hall  Added license information.
    -- --------------------------------------------------------------------------
    
    TYPE t_request IS RECORD (
      method        VARCHAR2(256),
      namespace     VARCHAR2(256),
      body          VARCHAR2(32767),
      envelope_tag  VARCHAR2(30)
    );
    
    TYPE t_response IS RECORD
    (
      doc           XMLTYPE,
      envelope_tag  VARCHAR2(30)
    );
    
    FUNCTION new_request(p_method        IN  VARCHAR2,
                         p_namespace     IN  VARCHAR2,
                         p_envelope_tag  IN  VARCHAR2 DEFAULT 'soap')
      RETURN t_request;
    
    
    PROCEDURE add_parameter(p_request  IN OUT NOCOPY  t_request,
                            p_name     IN             VARCHAR2,
                            p_value    IN             VARCHAR2,
                            p_type     IN             VARCHAR2 := NULL);
    
    PROCEDURE add_complex_parameter(p_request  IN OUT NOCOPY  t_request,
                                    p_xml      IN             VARCHAR2);
    
    FUNCTION invoke(p_request  IN OUT NOCOPY  t_request,
                    p_url      IN             VARCHAR2,
                    p_action   IN             VARCHAR2)
      RETURN t_response;
    
    FUNCTION get_return_value(p_response   IN OUT NOCOPY  t_response,
                              p_name       IN             VARCHAR2,
                              p_namespace  IN             VARCHAR2)
      RETURN VARCHAR2;
    
    PROCEDURE debug_on;
    PROCEDURE debug_off;
    
    END soap_api;
    /
    SHOW ERRORS
    
    
    CREATE OR REPLACE PACKAGE BODY soap_api AS
    -- --------------------------------------------------------------------------
    -- Name         : https://oracle-base.com/dba/miscellaneous/soap_api.sql
    -- Author       : Tim Hall
    -- Description  : SOAP related functions for consuming web services.
    -- License      : Free for personal and commercial use.
    --                You can amend the code, but leave existing the headers, current
    --                amendments history and links intact.
    --                Copyright and disclaimer available here:
    --                https://oracle-base.com/misc/site-info.php#copyright
    -- Ammedments   :
    --   When         Who       What
    --   ===========  ========  =================================================
    --   04-OCT-2003  Tim Hall  Initial Creation
    --   23-FEB-2006  Tim Hall  Parameterized the "soap" envelope tags.
    --   25-MAY-2012  Tim Hall  Added debug switch.
    --   29-MAY-2012  Tim Hall  Allow parameters to have no type definition.
    --                          Change the default envelope tag to "soap".
    --                          add_complex_parameter: Include parameter XML manually.
    --   24-MAY-2014  Tim Hall  Added license information.
    -- --------------------------------------------------------------------------
    
    g_debug  BOOLEAN := FALSE;
    
    PROCEDURE show_envelope(p_env     IN  VARCHAR2,
                            p_heading IN  VARCHAR2 DEFAULT NULL);
    
    
    
    -- ---------------------------------------------------------------------
    FUNCTION new_request(p_method        IN  VARCHAR2,
                         p_namespace     IN  VARCHAR2,
                         p_envelope_tag  IN  VARCHAR2 DEFAULT 'soap')
      RETURN t_request AS
    -- ---------------------------------------------------------------------
      l_request  t_request;
    BEGIN
      l_request.method       := p_method;
      l_request.namespace    := p_namespace;
      l_request.envelope_tag := p_envelope_tag;
      RETURN l_request;
    END;
    -- ---------------------------------------------------------------------
    
    
    
    -- ---------------------------------------------------------------------
    PROCEDURE add_parameter(p_request  IN OUT NOCOPY  t_request,
                            p_name     IN             VARCHAR2,
                            p_value    IN             VARCHAR2,
                            p_type     IN             VARCHAR2 := NULL) AS
    -- ---------------------------------------------------------------------
    BEGIN
      IF p_type IS NULL THEN
        p_request.body := p_request.body||'<'||p_name||'>'||p_value||'</'||p_name||'>';
      ELSE
        p_request.body := p_request.body||'<'||p_name||' xsi:type="'||p_type||'">'||p_value||'</'||p_name||'>';
      END IF;
    END;
    -- ---------------------------------------------------------------------
    
    
    
    -- ---------------------------------------------------------------------
    PROCEDURE add_complex_parameter(p_request  IN OUT NOCOPY  t_request,
                                    p_xml      IN             VARCHAR2) AS
    -- ---------------------------------------------------------------------
    BEGIN
      p_request.body := p_request.body||p_xml;
    END;
    -- ---------------------------------------------------------------------
    
    
    
    -- ---------------------------------------------------------------------
    PROCEDURE generate_envelope(p_request  IN OUT NOCOPY  t_request,
                                    p_env      IN OUT NOCOPY  VARCHAR2) AS
    -- ---------------------------------------------------------------------
    BEGIN
      p_env := '<'||p_request.envelope_tag||':Envelope xmlns:'||p_request.envelope_tag||'="http://schemas.xmlsoap.org/soap/envelope/" ' ||
                   'xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance" xmlns:xsd="http://www.w3.org/1999/XMLSchema">' ||
                 '<'||p_request.envelope_tag||':Body>' ||
                   '<'||p_request.method||' '||p_request.namespace||' '||p_request.envelope_tag||':encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">' ||
                       p_request.body ||
                   '</'||p_request.method||'>' ||
                 '</'||p_request.envelope_tag||':Body>' ||
               '</'||p_request.envelope_tag||':Envelope>';
    END;
    -- ---------------------------------------------------------------------
    
    
    
    -- ---------------------------------------------------------------------
    PROCEDURE show_envelope(p_env     IN  VARCHAR2,
                            p_heading IN  VARCHAR2 DEFAULT NULL) AS
    -- ---------------------------------------------------------------------
      i      PLS_INTEGER;
      l_len  PLS_INTEGER;
    BEGIN
      IF g_debug THEN
        IF p_heading IS NOT NULL THEN
          DBMS_OUTPUT.put_line('*****' || p_heading || '*****');
        END IF;
    
        i := 1; l_len := LENGTH(p_env);
        WHILE (i <= l_len) LOOP
          DBMS_OUTPUT.put_line(SUBSTR(p_env, i, 60));
          i := i + 60;
        END LOOP;
      END IF;
    END;
    -- ---------------------------------------------------------------------
    
    
    
    -- ---------------------------------------------------------------------
    PROCEDURE check_fault(p_response IN OUT NOCOPY  t_response) AS
    -- ---------------------------------------------------------------------
      l_fault_node    XMLTYPE;
      l_fault_code    VARCHAR2(256);
      l_fault_string  VARCHAR2(32767);
    BEGIN
      l_fault_node := p_response.doc.extract('/'||p_response.envelope_tag||':Fault',
                                             'xmlns:'||p_response.envelope_tag||'="http://schemas.xmlsoap.org/soap/envelope/');
      IF (l_fault_node IS NOT NULL) THEN
        l_fault_code   := l_fault_node.extract('/'||p_response.envelope_tag||':Fault/faultcode/child::text()',
                                               'xmlns:'||p_response.envelope_tag||'="http://schemas.xmlsoap.org/soap/envelope/').getstringval();
        l_fault_string := l_fault_node.extract('/'||p_response.envelope_tag||':Fault/faultstring/child::text()',
                                               'xmlns:'||p_response.envelope_tag||'="http://schemas.xmlsoap.org/soap/envelope/').getstringval();
        RAISE_APPLICATION_ERROR(-20000, l_fault_code || ' - ' || l_fault_string);
      END IF;
    END;
    -- ---------------------------------------------------------------------
    
    
    
    -- ---------------------------------------------------------------------
    FUNCTION invoke(p_request IN OUT NOCOPY  t_request,
                    p_url     IN             VARCHAR2,
                    p_action  IN             VARCHAR2)
      RETURN t_response AS
    -- ---------------------------------------------------------------------
      l_envelope       VARCHAR2(32767);
      l_http_request   UTL_HTTP.req;
      l_http_response  UTL_HTTP.resp;
      l_response       t_response;
    BEGIN
      generate_envelope(p_request, l_envelope);
      show_envelope(l_envelope, 'Request');
      l_http_request := UTL_HTTP.begin_request(p_url, 'POST','HTTP/1.1');
      UTL_HTTP.set_header(l_http_request, 'Content-Type', 'text/xml');
      UTL_HTTP.set_header(l_http_request, 'Content-Length', LENGTH(l_envelope));
      UTL_HTTP.set_header(l_http_request, 'SOAPAction', p_action);
      UTL_HTTP.write_text(l_http_request, l_envelope);
      l_http_response := UTL_HTTP.get_response(l_http_request);
      UTL_HTTP.read_text(l_http_response, l_envelope);
      UTL_HTTP.end_response(l_http_response);
      show_envelope(l_envelope, 'Response');
      l_response.doc := XMLTYPE.createxml(l_envelope);
      l_response.envelope_tag := p_request.envelope_tag;
      l_response.doc := l_response.doc.extract('/'||l_response.envelope_tag||':Envelope/'||l_response.envelope_tag||':Body/child::node()',
                                               'xmlns:'||l_response.envelope_tag||'="http://schemas.xmlsoap.org/soap/envelope/"');
      check_fault(l_response);
      RETURN l_response;
    END;
    -- ---------------------------------------------------------------------
    
    
    
    -- ---------------------------------------------------------------------
    FUNCTION get_return_value(p_response   IN OUT NOCOPY  t_response,
                              p_name       IN             VARCHAR2,
                              p_namespace  IN             VARCHAR2)
      RETURN VARCHAR2 AS
    -- ---------------------------------------------------------------------
    BEGIN
      RETURN p_response.doc.extract('//'||p_name||'/child::text()',p_namespace).getstringval();
    END;
    -- ---------------------------------------------------------------------
    
    
    
    -- ---------------------------------------------------------------------
    PROCEDURE debug_on AS
    -- ---------------------------------------------------------------------
    BEGIN
      g_debug := TRUE;
    END;
    -- ---------------------------------------------------------------------
    
    
    
    -- ---------------------------------------------------------------------
    PROCEDURE debug_off AS
    -- ---------------------------------------------------------------------
    BEGIN
      g_debug := FALSE;
    END;
    -- ---------------------------------------------------------------------
    
    END soap_api;
    /
    SHOW ERRORS
    show_envelope(l_envelope, 'Response');
      l_response.doc := XMLTYPE.createxml(l_envelope);
      l_response.envelope_tag := p_request.envelope_tag;
      l_response.doc := l_response.doc.extract('/'||l_response.envelope_tag||':Envelope/'||l_response.envelope_tag||':Body/child::node()',
                                               'xmlns:'||l_response.envelope_tag||'="http://schemas.xmlsoap.org/soap/envelope/"');
      check_fault(l_response);
      RETURN l_response;
    END;
    -- ---------------------------------------------------------------------
    
    
    
    -- ---------------------------------------------------------------------
    FUNCTION get_return_value(p_response   IN OUT NOCOPY  t_response,
                              p_name       IN             VARCHAR2,
                              p_namespace  IN             VARCHAR2)
      RETURN VARCHAR2 AS
    -- ---------------------------------------------------------------------
    BEGIN
      RETURN p_response.doc.extract('//'||p_name||'/child::text()',p_namespace).getstringval();
    END;
    -- ---------------------------------------------------------------------
    
    
    
    -- ---------------------------------------------------------------------
    PROCEDURE debug_on AS
    -- ---------------------------------------------------------------------
    BEGIN
      g_debug := TRUE;
    END;
    -- ---------------------------------------------------------------------
    
    
    
    -- ---------------------------------------------------------------------
    PROCEDURE debug_off AS
    -- ---------------------------------------------------------------------
    BEGIN
      g_debug := FALSE;
    END;
    -- ---------------------------------------------------------------------
    
    END soap_api;
    /
    SHOW ERRORS
    
    

    CREATE OR REPLACE FUNCTION MYTESTFUNCTION (p_int_1  IN  VARCHAR2
                                            )
      RETURN NUMBER
    AS
      l_request   soap_api.t_request;
      l_response  soap_api.t_response;
      l_return    VARCHAR2(32767);
      l_url          VARCHAR2(32767);
      l_namespace    VARCHAR2(32767);
      l_method       VARCHAR2(32767);
      l_soap_action  VARCHAR2(32767);
      l_result_name  VARCHAR2(32767);
    BEGIN
      l_url         := 'http://10.6.3.10:9090/appsTest/dynamicsAxservice/AxServices.svc';
      l_namespace   := 'xmlns="http://10.6.3.10:9090/appsTest/dynamicsAxservice/AxServices.svc/"';
      l_method      := 'ws_add';
      l_soap_action := 'http://10.6.3.10:9090/appsTest/dynamicsAxservice/AxServices.svc';
      l_result_name := 'return';
      l_request := soap_api.new_request(p_method       => l_method,
                                        p_namespace    => l_namespace);
      soap_api.add_parameter(p_request => l_request,
                             p_name    => 'int1',
                             p_type    => 'xsd:integer',
                             p_value   => p_int_1);
      l_response := soap_api.invoke(p_request => l_request,
                                    p_url     => l_url,
                                    p_action  => l_soap_action);
      l_return := soap_api.get_return_value(p_response  => l_response,
                                            p_name      => l_result_name,
                                            p_namespace => NULL);
      RETURN l_return;
    END;
    /
    
    
    
    

      <?xml version="1.0" encoding="utf-8" ?> 
    - <wsdl:definitions xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:tns="http://tempuri.org/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" targetNamespace="http://tempuri.org/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
    - <wsdl:types>
    - <s:schema elementFormDefault="qualified" targetNamespace="http://tempuri.org/">
    - <s:element name="test">
    - <s:complexType>
    - <s:sequence>
      <s:element minOccurs="0" maxOccurs="1" name="myVal" type="s:string" /> 
      </s:sequence>
      </s:complexType>
      </s:element>
    - <s:element name="testResponse">
    - <s:complexType>
    - <s:sequence>
      <s:element minOccurs="0" maxOccurs="1" name="testResult" type="s:string" /> 
      </s:sequence>
      </s:complexType>
      </s:element>
      </s:schema>
      </wsdl:types>
    - <wsdl:message name="testSoapIn">
      <wsdl:part name="parameters" element="tns:test" /> 
      </wsdl:message>
    - <wsdl:message name="testSoapOut">
      <wsdl:part name="parameters" element="tns:testResponse" /> 
      </wsdl:message>
    - <wsdl:portType name="AxServiceSoap">
    - <wsdl:operation name="test">
      <wsdl:input message="tns:testSoapIn" /> 
      <wsdl:output message="tns:testSoapOut" /> 
      </wsdl:operation>
      </wsdl:portType>
    - <wsdl:binding name="AxServiceSoap" type="tns:AxServiceSoap">
      <soap:binding transport="http://schemas.xmlsoap.org/soap/http" /> 
    - <wsdl:operation name="test">
      <soap:operation soapAction="http://tempuri.org/test" style="document" /> 
    - <wsdl:input>
      <soap:body use="literal" /> 
      </wsdl:input>
    - <wsdl:output>
      <soap:body use="literal" /> 
      </wsdl:output>
      </wsdl:operation>
      </wsdl:binding>
    - <wsdl:binding name="AxServiceSoap12" type="tns:AxServiceSoap">
      <soap12:binding transport="http://schemas.xmlsoap.org/soap/http" /> 
    - <wsdl:operation name="test">
      <soap12:operation soapAction="http://tempuri.org/test" style="document" /> 
    - <wsdl:input>
      <soap12:body use="literal" /> 
      </wsdl:input>
    - <wsdl:output>
      <soap12:body use="literal" /> 
      </wsdl:output>
      </wsdl:operation>
      </wsdl:binding>
    - <wsdl:service name="AxService">
    - <wsdl:port name="AxServiceSoap" binding="tns:AxServiceSoap">
      <soap:address location="http://10.6.3.10:9090/appsTest/dynamicsAxservice/AxService.asmx" /> 
      </wsdl:port>
    - <wsdl:port name="AxServiceSoap12" binding="tns:AxServiceSoap12">
      <soap12:address location="http://10.6.3.10:9090/appsTest/dynamicsAxservice/AxService.asmx" /> 
      </wsdl:port>
      </wsdl:service>
      </wsdl:definitions>
    
    
    

    I get the following error.

    SQL > SELECT MYTESTFUNCTION ('TEST') FROM DUAL;

    SELECT MYTESTFUNCTION ('TEST') OF DOUBLE

    *

    ERROR on line 1:

    ORA-20000: a: ActionNotSupported - the message with Action

    & apos; http://10.6.3.10:9090/appsTest/dynamicsAxservice/AxServices.svc' Cannot process at the

    the receiver due to a mismatch at the EndpointDispatcher ContractFilter. This is perhaps due to

    a contract mismatch (incompatible between sender and recipient shares) or a link/security

    incompatibility between the sender and the receiver.  Verify that the sender and receiver have the same

    contract and the same link (including safety requirements, for example, Message, Transport, None).

    ORA-06512: at "OPERATIONS. SOAP_API', line 130

    ORA-06512: at "OPERATIONS. SOAP_API', line 163

    ORA-06512: at "OPERATIONS. MYTESTFUNCTION', line 25

    Thank you for your support.

    Post edited by: saam001

    Hello

    Finally, it worked.

    I write the code of the other work to take advantage.

    CREATE OR REPLACE FUNCTION MYTESTFUNCTION(myvalParam  IN  varchar2)   RETURN varchar2
      AS
        l_request   soap_api.t_request;
        l_response  soap_api.t_response;
        l_return    VARCHAR2(32767);
        l_url          VARCHAR2(32767);
        l_namespace    VARCHAR2(32767);
        l_method       VARCHAR2(32767);
        l_soap_action  VARCHAR2(32767);
        l_result_name  VARCHAR2(32767);
      BEGIN
        l_url         := 'http://10.6.3.10:9090/appsTest/dynamicsAxservice/AxService.asmx';
        l_namespace   := 'xmlns="http://tempuri.org/"';
        l_method      := 'test';
        l_soap_action := 'http://tempuri.org/test';
        l_result_name := 'testResult';
        l_request := soap_api.new_request(p_method       => l_method,
                                          p_namespace    => l_namespace);
    
        soap_api.add_parameter(p_request => l_request,
                               p_name    => 'myVal',
                               p_type    => 'xsd:string',
                               p_value   => myvalParam);
    
         l_response := soap_api.invoke(p_request => l_request, p_url     => l_url, p_action  => l_soap_action);
    l_return := soap_api.get_return_value(p_response  => l_response, p_name => l_result_name, p_namespace => l_namespace);
    
      RETURN l_return;
    
      END;
    
    
    
    -
    
    -
    
    -
    
    -
    
    -
    
    -
    
    
    
    
    
    
    
    
    
    -
    
    -
    
    -
    
    
    
    
    
    
    
    
    
    
    
    
    
    -
    
    
    
    
    
    -
    
    
    
    
    
    -
    
    -
    
    
    
    
    
    
    
    
    
    -
    
    
    
    -
    
    
    
    -
    
    
    
    
    
    -
    
    
    
    
    
    
    
    
    
    -
    
    
    
    -
    
    
    
    -
    
    
    
    
    
    -
    
    
    
    
    
    
    
    
    
    -
    
    -
    
    
    
    
    
    -
    
    
    
    
    
    
    
    
    
  • Unable to appoint BPEL call variable activity with other variables output

    Hi all

    I tried to assign the result to an invoke activity to an output response BPEL activity variable. However I get Exception is thrown because the spec to the line is evaluated to be empty even if the output variable is clearly demonstrated in the trace stream. I am able to assign the output set variable to the variable response but when I try to assign the child element of the element of activity called the child element of the response output variable that it will fail.

    The activity to invoke calls an external reference link http that calls a proxy OSB service and returns details in XML format. I just a few tests now so I'll be back just static values to see if I could recover and use them as variables in BPEL, regardless of the input in activity variable.

    The HTTP Binding call will return:

    < IAMDetails >

    < ApplicationID > < / ApplicationID >

    < user name > < / UserID >

    < user name > < / username >

    < / IAMDetails >

    The XSD used for entry and exit for the HTTP binding are as follows:

    Scheme of entry:

    " < xs: Schema attributeFormDefault ="unqualified"elementFormDefault ="qualified"xmlns: XS =" http://www.w3.org/2001/XMLSchema "targetNamespace =" " http://www.w3schools.COM1 ">

    < xs: element name = "IAMDetailsReq" >

    < xs: complexType >

    < xs: SEQUENCE >

    < xs: ELEMENT type = "xs: String" name = "ApplicationID" / >

    < xs: ELEMENT type = "xs: String" name = "User name" / >

    < xs: ELEMENT type = "xs: String" name = "User name" / >

    < / xs: SEQUENCE >

    < / xs: complexType >

    < / xs: element >

    < / xs: Schema >

    Output schema:

    " < xs: Schema attributeFormDefault ="unqualified"elementFormDefault ="qualified"xmlns: XS =" http://www.w3.org/2001/XMLSchema "targetNamespace =" " http://www.w3schools.COM12 ">

    < xs: element name = "IAMDetails" >

    < xs: complexType >

    < xs: SEQUENCE >

    < xs: ELEMENT type = "xs: String" name = "ApplicationID" / >

    < xs: ELEMENT type = "xs: String" name = "User name" / >

    < xs: ELEMENT type = "xs: String" name = "User name" / >

    < / xs: SEQUENCE >

    < / xs: complexType >

    < / xs: element >

    < / xs: Schema >

    The WSDL for the http binding

    <?xml version="1.0" encoding="UTF-8"?>
    <wsdl:definitions
         name="qweerty"
         targetNamespace="http://xmlns.oracle.com/pcbpel/adapter/http/GenLetterSendEmail/Project2/qweerty"
         xmlns:msg_in="http://www.w3schools.com1"
         xmlns:tns="http://xmlns.oracle.com/pcbpel/adapter/http/GenLetterSendEmail/Project2/qweerty"
         xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
         xmlns:msg_out="http://www.w3schools.com12"
         xmlns:plt="http://schemas.xmlsoap.org/ws/2003/05/partner-link/"
        >
        <plt:partnerLinkType name="get_plt">
            <plt:role name="get_role">
                <plt:portType name="tns:get_ptt"/>
            </plt:role>
        </plt:partnerLinkType>
        <wsdl:types>
            <schema xmlns="http://www.w3.org/2001/XMLSchema">
                <import namespace="http://www.w3schools.com1" schemaLocation="xsd/IAMDetails.xsd"/>
            </schema>
            <schema xmlns="http://www.w3.org/2001/XMLSchema">
                <import namespace="http://www.w3schools.com12" schemaLocation="xsd/IAMDetails2.xsd"/>
            </schema>
        </wsdl:types>
        <wsdl:message name="IAMDetailsReq_msg_in">
            <wsdl:part name="IAMDetailsReq" element="msg_in:IAMDetailsReq"/>
        </wsdl:message>
        <wsdl:message name="IAMDetails_msg_out">
            <wsdl:part name="IAMDetails" element="msg_out:IAMDetails"/>
        </wsdl:message>
        <wsdl:portType name="get_ptt">
            <wsdl:operation name="get">
                <wsdl:input message="tns:IAMDetailsReq_msg_in"/>
                <wsdl:output message="tns:IAMDetails_msg_out"/>
            </wsdl:operation>
        </wsdl:portType>
    </wsdl:definitions>
    
    

    Here is the BPEL process

    <?xml version = "1.0" encoding = "UTF-8" ?>
    
    <process name="BPELProcess1"
                   targetNamespace="http://xmlns.oracle.com/GenLetterSendEmail/Project2/BPELProcess1"
                   xmlns="http://docs.oasis-open.org/wsbpel/2.0/process/executable"
                   xmlns:client="http://xmlns.oracle.com/GenLetterSendEmail/Project2/BPELProcess1"
                   xmlns:ora="http://schemas.oracle.com/xpath/extension"
                   xmlns:bpel="http://docs.oasis-open.org/wsbpel/2.0/process/executable"
             xmlns:ns1="http://xmlns.oracle.com/pcbpel/adapter/http/GenLetterSendEmail/Project2/asdasd"
             xmlns:ns2="http://xmlns.oracle.com/pcbpel/adapter/http/GenLetterSendEmail/Project2/qweerty"
             xmlns:bpelx="http://schemas.oracle.com/bpel/extension"
             xmlns:ns4="http://www.w3schools.com123"
             xmlns:ns3="http://www.w3schools.com12">
    
    
      <!--
        ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
         ORCHESTRATION LOGIC                                              
         Set of activities coordinating the flow of messages across the   
         services integrated within this business process                 
        ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
      -->
      <partnerLinks>
        <partnerLink name="asdasd" partnerLinkType="ns1:Request_Response_plt"
                     myRole="Request-Response_role"/>
        <partnerLink name="qweerty" partnerLinkType="ns2:get_plt"
                     partnerRole="get_role"/>
      </partnerLinks>
      <variables>
        <variable name="Receive1_Request-Response_InputVariable"
                  messageType="ns1:testing_msg_in"/>
        <variable name="Reply1_Request-Response_OutputVariable"
                  messageType="ns1:testing2_msg_out"/>
        <variable name="Invoke1_get_InputVariable"
                  messageType="ns2:IAMDetailsReq_msg_in"/>
        <variable name="Invoke1_get_OutputVariable"
                  messageType="ns2:IAMDetails_msg_out"/>
      </variables>
      <sequence name="main">
        <receive name="Receive1" createInstance="yes" partnerLink="asdasd"
                 portType="ns1:Request_Response_ptt" operation="Request-Response"
                 variable="Receive1_Request-Response_InputVariable"/>
        <invoke name="Invoke1" partnerLink="qweerty"
                portType="ns2:get_ptt" operation="get"
                inputVariable="Invoke1_get_InputVariable"
                outputVariable="Invoke1_get_OutputVariable"
                bpelx:invokeAsDetail="no"/>
        <assign name="Assign1">
          <copy>
            <from>$Invoke1_get_OutputVariable.IAMDetails/ns3:ApplicationID</from>
            <to>$Reply1_Request-Response_OutputVariable.testing2/ns4:response</to>
          </copy>
        </assign>
        <reply name="Reply1" variable="Reply1_Request-Response_OutputVariable"
               partnerLink="asdasd" portType="ns1:Request_Response_ptt"
               operation="Request-Response"/>
      </sequence>
    </process>
    
    

    The error response

    <error>faultName: {{http://docs.oasis-open.org/wsbpel/2.0/process/executable}selectionFailure}
    messageType: {{http://schemas.oracle.com/bpel/extension}RuntimeFaultMessage}
    </error>
    
    

    So for now, I am trying to assign ApplicationID to the response variable but it still isn't the assign activity. I'm not sure what the problem might be that my knowledge on BPEL is quite limited. Any help would be greatly appreciated. Thank you.

    Kind regards

    Mark

    You can try removing the attributeFormDefault and elementFormDefaults of the target schema elements...

  • XSD is not in a valid state.

    Hello

    my client has added more than 3 operations in the WSDL file existing, so what I've done, I have modified existing wsdl and xsd according to the new requirement, it is error xsd is not in a valid state for the proxy service when I consume the xsd .i have tried ways.even lats I checked each solution of element.no.

    a sad, this is 2 days back, I developed the service by updating the latest wsdl and xsd, it was working fine unfortunetly, I deleted any workspace.

    I am trying since yesterday, no solution, help me please to get out of this problem as soon as POSSIBLE.

    Thnks

    Bala

    HI Bala,

    Can you confirm that your changes are persisted in the MDS?

    You can try to remove the MDS artifacts for your service deployment and redeploy your service.

    Antonis

  • ADF Data Control WS - methods with 'Object' instead of native types

    Recently, we noticed a strange behavior during the integration of services SOA Suite with ADF Web Service data controls:

    -Consider a service, where the WSDL has the following operation:

    <wsdl:operation name="CreateEmployee">
      <wsdl:input message="inp1:requestCreateEmployeeMessage"/>
      <wsdl:output message="inp1:replyCreateEmployeeMessage"/>
    </wsdl:operation>
    

    - And the request message is:

    <wsdl:message name="requestCreateEmployeeMessage">
      <wsdl:part name="payload" element="inp1:CreateEmployeeRequest"/>
    </wsdl:message>
    

    - And the element in the message:

    <element name="CreateEmployeeRequest">
      <complexType>
      <sequence>
      <element name="EmployeeId" type="int" minOccurs="0"/>
      <element name="EmployeeName" type="string" minOccurs="0" nillable="true"/>
      <element name="Salary" type="decimal" minOccurs="0"/>
      </sequence>
      </complexType>
    </element>
    

    -If this service is added to a project ADF as a Web Service data control, the method in the control of data will be represented by:

    CreateEmployee(Object)
    

    -However, if you change the WSDL file, so that the element has the same EXACT name as the operation:

    <wsdl:message name="requestCreateEmployeeMessage">
      <wsdl:part name="payload" element="inp1:CreateEmployee"/>
    </wsdl:message>
    <element name="CreateEmployee">
      <complexType>
      <sequence>
      <element name="EmployeeId" type="int" minOccurs="0"/>
      <element name="EmployeeName" type="string" minOccurs="0" nillable="true"/>
      <element name="Salary" type="decimal" minOccurs="0"/>
      </sequence>
      </complexType>
    </element>
    

    -Then method of data control will be displayed as:

    CreateEmployee(Integer, String, BigDecimal)
    

    It's strange because the WSDL file is still valid, if the element root of the query has a different name of the operation (the SOA service was created using JDeveloper).

    In addition to this solution that I share, alternative would be:

    (1) create a proxy for the service and register the proxy under control data instead

    (2) to call the service, as shown here

    Is this a Bug?

    When you have an object as a parameter to a data control, you should also see a parameter created object that has simple types.

    For example, see the video here:

    https://blogs.Oracle.com/Shay/entry/calling_web_service_with_complex

  • The deployment of a composite error (Message part 'body' is not defined)

    Hi all
    I am trying to deploy a composite but I get the following error.

    BuildFile: C:\Oracle\MiddlewareJdev\jdeveloper\bin\ant-sca-compile.xml

    SCAC:
    [scac] Validation of the composites 'C:\JDeveloper\mywork\Sample\SampleDequeueBPEL\composite.xml '.
    [scac] /C:/JDeveloper/mywork/Sample/SampleDequeueBPEL/Outputftp.wsdl: error: part 'Message body' is not defined [element = EmpCollection
    [scac] If option BPELC "classpath" C:\Oracle\MiddlewareJdev\jdeveloper\jdev\extensions\oracle.sca.modeler.jar; C:\Oracle\MiddlewareJdev\jdeveloper\soa\modules\oracle. SOA.fabric_11.1.1\fabric-Runtime.jar; C:\Oracle\MiddlewareJdev\jdeveloper\soa\modules\oracle. SOA.mgmt_11.1.1\soa-infra-Mgmt.jar; C:\Oracle\MiddlewareJdev\oracle_common\modules\oracle.fabriccommon_11.1.1\fabric-common.jar; C:\Oracle\MiddlewareJdev\jdeveloper\soa\modules\oracle. SOA.bpel_11.1.1\orabpel.jar; C:\Oracle\MiddlewareJdev\jdeveloper\soa\modules\oracle. SOA.mediator_11.1.1\mediator_client.jar; C:\Oracle\MiddlewareJdev\oracle_common\modules\oracle.mds_11.1.1\mdsrt.jar; C:\Oracle\MiddlewareJdev\oracle_common\modules\oracle. ADF.model_11.1.1\adfbcsvc.jar; C:\Oracle\MiddlewareJdev\oracle_common\modules\oracle. ADF.model_11.1.1\adfbcsvc-share.jar; C:\Oracle\MiddlewareJdev\oracle_common\modules\commonj.sdo_2.1.0.jar; C:\Oracle\MiddlewareJdev\modules\org. Eclipse.persistence_1.1.0.0_2 - 1.jar; C:\Oracle\MiddlewareJdev\oracle_common\modules\oracle.webservices_11.1.1\wsclient.jar; C:\Oracle\MiddlewareJdev\oracle_common\modules\oracle. Web - common_11.1.1.jar. C:\JDeveloper\mywork\Sample\SampleDequeueBPEL\SCA-INF\classes
    [scac] C:\JDeveloper\mywork\Sample\SampleDequeueBPEL\composite.XML:21: error: SCAC-50012

    BUILD FAILED
    C:\Oracle\MiddlewareJdev\jdeveloper\bin\ant-SCA-compile.XML:272: Java returned: 1 check log file: C:\JDeveloper\mywork\Sample\SampleDequeueBPEL\SCA-INF\classes\scac.log to find errors

    Total time: 4 seconds

    It is a Dequeue for FTP integration. Dequeue have a payload message type which is transformed into Ftp message type. Here is the wsdl file I get the error message
    <wsdl:definitions
         name="Outputftp"
         targetNamespace="http://xmlns.oracle.com/pcbpel/adapter/ftp/Sample/SampleDequeueBPEL/Outputftp"
         xmlns:jca="http://xmlns.oracle.com/pcbpel/wsdl/jca/"
         xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
         xmlns:tns="http://xmlns.oracle.com/pcbpel/adapter/ftp/Sample/SampleDequeueBPEL/Outputftp"
         xmlns:plt="http://schemas.xmlsoap.org/ws/2003/05/partner-link/"
        >
      <plt:partnerLinkType name="Put_plt" >
        <plt:role name="Put_role" >
          <plt:portType name="tns:Put_ptt" />
        </plt:role>
      </plt:partnerLinkType>
        <wsdl:types>
          <schema targetNamespace="http://xmlns.oracle.com/pcbpel/adapter/ftp/Sample/SampleDequeueBPEL/Outputftp"
                  xmlns="http://www.w3.org/2001/XMLSchema" >
            <include schemaLocation="xsd/FileFTP.xsd" />
          </schema>
        </wsdl:types>
        <wsdl:message name="Put_msg">
            <wsdl:part name="body" element="EmpCollection"/>
        </wsdl:message>
        <wsdl:portType name="Put_ptt">
            <wsdl:operation name="Put">
                <wsdl:input message="tns:Put_msg"/>
            </wsdl:operation>
        </wsdl:portType>
    </wsdl:definitions>
    FTP XSD:
    <?xml version= '1.0' encoding= 'UTF-8' ?>
    <xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
        <xs:element name="EmpCollection">
            <xs:complexType>
                <xs:sequence>
                    <xs:element name="Emp" maxOccurs="unbounded" minOccurs="0">
                        <xs:complexType>
                            <xs:sequence>
                                <xs:element type="xs:string" name="name"/>
                                <xs:element type="xs:byte" name="id"/>
                                <xs:element type="xs:byte" name="dept"/>
                                <xs:element type="xs:string" name="address"/>
                            </xs:sequence>
                        </xs:complexType>
                    </xs:element>
                </xs:sequence>
            </xs:complexType>
        </xs:element>
    </xs:schema>
    Could someone help me on this. Thanks in advance.

    Thank you
    Gregory R

    Try...

    
    

    Also include the following in the xsd of ftp so...

    targetNamespace="http://xmlns.oracle.com/pcbpel/adapter/ftp/Sample/SampleDequeueBPEL/Outputftp"
    

    See you soon,.
    Vlad

  • Why is my proxy service returns the request as a reply message?

    Hi all

    I have a business service that inserts a record into DB and returns no response. So, I created a service proxy with custom WSDL file and forward the request to the company. And in my custom WSDL file I have different inputs and outputs, but when I call the proxy service I always get the message request an answer!
    What I am doing wrong?

    Here are the files:

    -----
    WSDL file
    <wsdl:definitions
    targetNamespace="http://xmlns.oracle.com/pcbpel/adapter/db/SMSService/InsertSMSRecord/ProxyService"
    name="SMSProxyService-concrete"
    xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
    xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
    xmlns:sms="http://xmlns.oracle.com/pcbpel/adapter/db/InsertSMSRecord"
    xmlns:tns="http://xmlns.oracle.com/pcbpel/adapter/db/SMSService/InsertSMSRecord/ProxyService">
         <wsdl:types>
              <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
                   <xsd:import
                        namespace="http://xmlns.oracle.com/pcbpel/adapter/db/InsertSMSRecord"
                        schemaLocation="../DBAdapter/InsertSMSRecord/xsd/InsertSMSRecord.xsd">
                   </xsd:import></xsd:schema></wsdl:types>
         <wsdl:message name="InsertSMSRecordInput_msg">
              <wsdl:part name="SMSRequestBody" element="sms:SMSRequest"/>
         </wsdl:message>
         <wsdl:message name="InsertSMSRecordOutput_msg">
              <wsdl:part name="SMSResponseBody" element="sms:SMSResponse"/>
         </wsdl:message>
         <wsdl:portType name="InsertSMSRecord_ptt">
              <wsdl:operation name="sendSMS">
                   <wsdl:input message="tns:InsertSMSRecordInput_msg"/>
                   <wsdl:output message="tns:InsertSMSRecordOutput_msg"/>
              </wsdl:operation>
         </wsdl:portType>
         <wsdl:binding name="sendSMS-binding" type="tns:InsertSMSRecord_ptt">
              <soap:binding style ="document" transport="http://schemas.xmlsoap.org/soap/http"/>
              <wsdl:operation name="sendSMS">
                   <soap:operation soapAction="sendSMS"/>
                   <wsdl:input>
                        <soap:body use="literal" parts="SMSRequestBody"/>
                   </wsdl:input>
                   <wsdl:output>
                        <soap:body use="literal" parts="SMSResponseBody"/>
                   </wsdl:output>
              </wsdl:operation>
         </wsdl:binding>
         <wsdl:service name="InsertSMSRecord-service">
              <wsdl:port name="InsertSMSRecord-port" binding="tns:sendSMS-binding">
                   <soap:address location="http://localhost:7001/SMSService/Proxy_Services/sendSMS"/>
              </wsdl:port>
         </wsdl:service>
    </wsdl:definitions>
    -----
    File InsertSMSRecord.XSD
    <?xml version = '1.0' encoding = 'UTF-8'?>
    <xs:schema
    targetNamespace="http://xmlns.oracle.com/pcbpel/adapter/db/InsertSMSRecord"
    xmlns="http://xmlns.oracle.com/pcbpel/adapter/db/InsertSMSRecord"
    elementFormDefault="qualified" attributeFormDefault="qualified"
    xmlns:xs="http://www.w3.org/2001/XMLSchema">
       <xs:element name="SMSRequest" type="SMSRequestType"/>
       <xs:complexType name="SMSRequestType">
          <xs:sequence>
             <xs:element name="SYSTEM_ID" type="xs:string" nillable="false"/>
             <xs:element name="USER_ID" type="xs:string" nillable="true"/>
             <xs:element name="PRIORITY" type="xs:int" nillable="true"/>
             <xs:element name="MESSAGE" type="xs:string" nillable="false"/>
             <xs:element name="MOBILE" type="xs:string" nillable="false"/>
             <xs:element name="LANGUAGE" type="xs:string" nillable="false"/>
             <xs:element name="SHORT_CODE" type="xs:string" nillable="true"/>
          </xs:sequence>
       </xs:complexType>
       <xs:element name="SMSResponse" type="SMSResponseType"/>
       <xs:complexType name="SMSResponseType">
          <xs:sequence>
               <xs:element name="Status" type="xs:string" nillable="true"/>
               <xs:element name="errorType" type="xs:string" nillable="true" minOccurs="0"/>
               <xs:element name="errorDescription" type="xs:string" nillable="true" minOccurs="0"/>
          </xs:sequence>
       </xs:complexType>
    </xs:schema> 
    -----

    And here is a sample of the input and the output I get:*.
    -----
    Entry
    <soapenv:Envelope
    xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
    xmlns:ins="http://xmlns.oracle.com/pcbpel/adapter/db/InsertSMSRecord">
       <soapenv:Header/>
       <soapenv:Body>
          <ins:SMSRequest>
             <ins:SYSTEM_ID>sfda</ins:SYSTEM_ID>
             <ins:USER_ID>test</ins:USER_ID>
             <ins:PRIORITY>5</ins:PRIORITY>
             <ins:MESSAGE>test</ins:MESSAGE>
             <ins:MOBILE>966503105515</ins:MOBILE>
             <ins:LANGUAGE>ENGLISH</ins:LANGUAGE>
             <ins:SHORT_CODE>SFDA</ins:SHORT_CODE>
          </ins:SMSRequest>
       </soapenv:Body>
    </soapenv:Envelope>
    -----
    Output
    <soapenv:Envelope
    xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
    xmlns:ins="http://xmlns.oracle.com/pcbpel/adapter/db/InsertSMSRecord">
       <soapenv:Header/>
       <soapenv:Body>
          <ins:SMSRequest>
             <ins:SYSTEM_ID>sfda</ins:SYSTEM_ID>
             <ins:USER_ID>test</ins:USER_ID>
             <ins:PRIORITY>5</ins:PRIORITY>
             <ins:MESSAGE>test</ins:MESSAGE>
             <ins:MOBILE>966503105515</ins:MOBILE>
             <ins:LANGUAGE>ENGLISH</ins:LANGUAGE>
             <ins:SHORT_CODE>SFDA</ins:SHORT_CODE>
          </ins:SMSRequest>
       </soapenv:Body>
    </soapenv:Envelope>
    -----

    Any help is appreciated...
    Thank you...

    In fact, this is how it works. You will need to replace the contents of $body with the XML response necessary. OSB returns the contents of $body as at the end of the treatment.

    . / * means everything inside the current node. So, if you specify 'body' in the variable field, then. / * means everything inside the variable 'body '.

    Kind regards
    Anuj

  • &amp; quot; Security for access to the url error &amp; quot;

    Hello
    I have two problems,
    an I get error of scripts cross-domain as indicated in the title of the message is to say "security to access the url error.
    I tried to access using webserice and http service requesta and a web service request. I kept getting the same error. I tried to put the crossdomain.xml file in the root of the server and he had no luck either. Any suggestions would be helpful.
    one of the operations in the wsdl file is called getlookupvalues, and it takes 4 parameters, database, username, password and lookupid. the lookupID is a GUID.
    When I tried to create a request to getlookupvalues with the above parameters that it kept giving me compile erros saying incompatible correlation of type guid and string. Think is because I am past the guid as a string. A way to pass a guid as a guid instead of a string?

    Thank you very much

    Aerts

    Sort the cross-domain problem using mx:Webservice, and not a httpservice.

  • missing namespace for the parameters in the web service call

    We try to call a web service developed by Java & XFire. The WSDL is valid for WS - I Basic Profile and it works very well with SoapUI. The query generated automatically by SoapUI is the following:

    "" "" "< soapenv:Envelope xmlns:soapenv = ' http://schemas.xmlsoap.org/soap/envelope/ ' xmlns: your =" http://www.example.org/test8/ " xmlns:tes1 =" http://www.example.org/test8 "> "
    < soapenv:Header / >
    < soapenv:Body >
    < your: parameters >
    < a >
    < tes1:id > 44444444444445 < / tes1:id >
    < tes1:b >
    < tes1:id >? < / tes1:id >
    < / tes1:b >
    < /a >
    < id >? < /ID >
    < / your: parameters >
    < / soapenv:Body >
    < / soapenv:Envelope >

    When we put this in Flex, what we are seeing is that the namespace for the parameters element is missing. We see it in the proxy logs. The server receives this message and parameters is not in namespace, so the server complains that the parameters is missing. We can reproduce this exact behavior by removing namespace in the query with SoapUI.

    The question is why flex removes namespace for the element parameters?

    We use the literal to the WSDL document, and I paste below. We have been stuck on this for over a week, so if anyone has any suggestions I would be eternally grateful. Thank you

    <? XML version = "1.0" encoding = "UTF-8"? >
    < wsdl:definitions
    ' xmlns:SOAP =' http://schemas.xmlsoap.org/wsdl/soap/ "
    ' xmlns:TNS =' http://www.example.org/test8/ '
    ' xmlns:WSDL =' http://schemas.xmlsoap.org/wsdl/ '
    "container =" http://www.w3.org/2001/XMLSchema "
    name = "test8".
    targetNamespace =" http://www.example.org/test8/" > "
    WSDL: < types >
    < xsd: Schema
    "targetNamespace =" http://www.example.org/test8/ "
    xmlns:Q1 =" http://www.example.org/test8" > "
    < xsd: import
    schemaLocation = "Test8.xsd."
    namespace =" http://www.example.org/test8" > "
    < / xsd: import >

    < xsd: complexType name = "fooRequestType" >
    < xsd: SEQUENCE >
    < xsd: ELEMENT
    name = "a".
    Type = "Q1:A" >
    < / xsd: element >
    < xsd: ELEMENT
    name = "id".
    Type = "xsd: String" >
    < / xsd: element >
    < / xsd: SEQUENCE >
    < / xsd: complexType >
    < xsd: complexType name = "fooResponseType" >
    < xsd: SEQUENCE >
    < xsd: ELEMENT
    name = "b".
    Type = "Q1:B" >
    < / xsd: element >
    < xsd: ELEMENT
    name = "id".
    Type = "xsd: String" >
    < / xsd: element >
    < / xsd: SEQUENCE >
    < / xsd: complexType >
    < / xsd: Schema >
    < / wsdl: types >
    < name of the WSDL: message = "fooRequest" >
    < wsdl: part
    name = "parameters".
    Type = "tns:fooRequestType" / >
    < / wsdl: message >
    < name of the WSDL: message = "fooResponse" >
    < wsdl: part
    name = "parameters".
    Type = "tns:fooResponseType" / >
    < / wsdl: message >
    < name of wsdl: portType = "Test8" >
    < name of wsdl: Operation = "foo" >
    < message wsdl: Input = "tns:fooRequest" / >
    < message wsdl: output = "tns:fooResponse" / >
    < / wsdl: Operation >
    < / wsdl: portType >
    < wsdl: Binding
    name = "Test8SOAP".
    Type = "tns:Test8" >
    < soap binding:
    style = "document".
    "transport =" http://schemas.xmlsoap.org/soap/http " / >
    < name of wsdl: Operation = "foo" >
    WSDL: input >
    < use of soap: body = "literal" / >
    < / wsdl: Input >
    < wsdl: output >
    < use of soap: body = "literal" / >
    < / wsdl: output >
    < / wsdl: Operation >
    < / wsdl: Binding >
    < wsdl:service name = "Test8" >
    < wsdl: port
    Binding = "tns:Test8SOAP."
    name = "Test8SOAP" >
    "" < soap: address location = ' http://www.example.org/test8 ' / >
    < / wsdl: port >
    < / wsdl:service >
    < / wsdl:definitions >

    the XSD containing A and B:

    <? XML version = "1.0" encoding = "UTF-8"? >
    "" "" "" < scheme xmlns = " http://www.w3.org/2001/XMLSchema" targetNamespace = ' http://www.example.org/test8 ' xmlns:tns = ' http://www.example.org/test8 ' elementFormDefault = "qualified" >

    < name complexType = 'A' >
    <>sequence
    < element
    name = "id".
    Type = "string" >
    < / item >
    < element
    name = "b".
    Type = "tns:B" >
    < / item >
    < / sequence >
    < / complexType >

    < complexType name = "B" >
    <>sequence
    < element
    name = "id".
    Type = "string" >
    < / item >
    < / sequence >
    < / complexType >
    < / schema >

    The solution seems to be that Flex doesn't support unwrapped no literal document. Flex only supports rpc literal or literal wrapped document. This seems to be because flex adds the name of the xml message method and in the unpacked literal document there is no message name in the soap message.

    It took a lot of time to understand this, partly because we did not know exactly what is wrapped meant (there is no option in Eclipse WTP for her, no way to verify no wrapped with a tool, etc.). If Flex said that she did not support unpacking literal document we would have saved ourselves a week or two.

  • More SOA BPEL to OSB

    I am trying to create a simple proof of concept that calls a process BPEL, OSB. I created a WSDL with an EchoService in OSB, I then created a link partner with the WSDL file. When you use the debug BPEL Console, I get an error:
    Error calling operation "echo" the provider "PartnerLink_1".
    -< message >
    -< input >
    -< echoRequest >
    -< part xmlns: xsi = "http://www.w3.org/2001/XMLSchema-instance" name = "echoString" >
    < echoString >
    Hello
    < / echoString >
    < / part >
    < / echoRequest >
    < / Entry >
    -< fault >
    -< invalidVariables xmlns = "http://schemas.oracle.com/bpel/extension" >
    -part name = "code" >
    < code >
    9710
    < code >
    < / part >
    -part name = "summary" >
    < Summary >
    Invalid xml document.
    According to the xml schemas, the xml document is not valid. The reason is: Error:cvc - elt.1: cannot find the declaration of element "echoString"

    Please make sure that the xml document is valid against your schemas.
    < / Summary >
    < / part >
    < / invalidVariables >
    < / failures >
    < / messages >

    = wsdl =.
    <? XML version = "1.0" encoding = "UTF-8"? >
    < wsdl:definitions xmlns:wsdl = "http://schemas.xmlsoap.org/wsdl/" xmlns:soap = "http://schemas.xmlsoap.org/wsdl/soap/" xmlns:http = "http://schemas.xmlsoap.org/wsdl/http/" xmlns: XS = "http://www.w3.org/2001/XMLSchema" xmlns:soapenc = "http://schemas.xmlsoap.org/soap/encoding/" xmlns:mime = "http://schemas.xmlsoap.org/wsdl/mime/" xmlns:tns = "http://new.webservice.namespace" targetNamespace = "http://new.webservice.namespace" >
    WSDL: < types >
    < xs: Schema targetNamespace = "http://new.webservice.namespace" elementFormDefault = "qualified" / >
    < / wsdl: types >
    < name of the WSDL: message = "EchoRequest" >
    < name of wsdl: part = "echoString" type = "xs: String" / >
    < / wsdl: message >
    < name of the WSDL: message = "EchoResponse" >
    < name of wsdl: part = 'Ar4"type =" xs: String "/ >
    < / wsdl: message >

    < name of wsdl: portType = "EchoServicePortType" >
    < name of wsdl: Operation = "echo" >
    < message wsdl: Input = "tns:EchoRequest" name = "EchoRequest" / >
    < message wsdl: output = "tns:EchoResponse" name = "EchoResponse" / >
    < / wsdl: Operation >
    < / wsdl: portType >

    < name of binding wsdl: Binding = "EchoServiceHttpBinding" type = "tns:EchoServicePortType" >
    < style: binding soap = transport "document" = "http://schemas.xmlsoap.org/soap/http" / >
    < name of wsdl: Operation = "echo" >
    < soap: operation soapAction = "" / >
    < name of wsdl: Input = "EchoRequest" >
    < use of soap: body = "literal" / >
    < / wsdl: Input >
    < name of wsdl: output = "EchoResponse" >
    < use of soap: body = "literal" / >
    < / wsdl: output >
    < / wsdl: Operation >
    < / wsdl: Binding >
    < wsdl:service name = "EchoServiceImpl" >
    < name of wsdl: port = "EchoServicePort" binding = "tns:EchoServiceHttpBinding" >
    < soap: address location = "http://mcarr-linux:7001 / / HelloWorld/WSDL/EchoProxyService" / >
    < / wsdl: port >
    < / wsdl:service >
    < / wsdl:definitions >

    = bpel =.
    <? XML version = "1.0" encoding = "UTF - 8"? >
    <!--
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    Oracle JDeveloper BPEL Designer

    Created the: Fri Oct 31 14:24:55 PDT 2008
    Author: MCAR
    Subject: Asynchronous BPEL process
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    ->
    < process name = "ProcessFileToWS".
    targetNamespace = "http://xmlns.oracle.com/ProcessFileToWS."
    xmlns = "http://schemas.xmlsoap.org/ws/2003/03/business-process/."
    queryLanguage = "http://www.w3.org/TR/1999/REC-xpath-19991116".
    expressionLanguage = "http://www.w3.org/TR/1999/REC-xpath-19991116".
    abstractProcess = "" enableInstanceCompensation = 'no '.
    xmlns:bpws = "http://schemas.xmlsoap.org/ws/2003/03/business-process/".
    xmlns:XP20 = "http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.Xpath20".
    xmlns:NS4 = "http://www.oracle.com/XSL/Transform/java/oracle.tip.esb.server.headers.ESBHeaderFunctions".
    xmlns:LDAP = "http://schemas.oracle.com/xpath/extension/ldap".
    container = "http://www.w3.org/2001/XMLSchema".
    xmlns:NS5 = "http://www.oracle.com/XSL/Transform/java/oracle.tip.xref.xpath.XRefXPathFunctions".
    xmlns:client = "http://xmlns.oracle.com/ProcessFileToWS".
    xmlns:ORA = "http://schemas.oracle.com/xpath/extension".
    xmlns:ns1 = "http://new.webservice.namespace".
    xmlns:NS3 = "http://xmlns.oracle.com/bpel/services/IdentityService/xpath".
    xmlns:ns2 = "http://xmlns.oracle.com/bpel/workflow/xpath".
    xmlns:bpelx = "http://schemas.oracle.com/bpel/extension".
    xmlns:ORCL = "http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.ExtFunc" >
    <!--
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    PARTNERLINKS
    List of services that participate in the BPEL process
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    ->
    <!--
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    VARIABLES
    List of messages and the XML documents used in the BPEL process
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    ->
    < partnerLinks >
    < partnerLink 'customer' = name typelienpartenaire = "client: ProcessFileToWS»
    myRole = "ProcessFileToWSProvider."
    partnerRole = "ProcessFileToWSRequester" / >
    < partnerLink myRole = "EchoServicePortType_Role" name = "ProcessFileToWS".
    partnerRole = "EchoServicePortType_Role."
    typelienpartenaire = "ns1:EchoServicePortType_PL" / >
    < / partnerLinks >
    < variables >
    <! - referring to the message as input during the initiation - >
    <! - referring to the message that will be sent to the applicant during Encore - >
    < variable name = "variableentree".
    messageType = "client: ProcessFileToWSRequestMessage" / >
    < variable name = "outputVariable.
    messageType = "client: ProcessFileToWSResponseMessage" / >
    < variable name = messageType "echoRequest" = "ns1:EchoRequest" / >
    < variable name = messageType "echoResponse" = "ns1:EchoResponse" / >
    < / variables >
    <!--
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    LOGIC OF ORCHESTRATION
    Set of activities, coordinate the flow of messages through the
    integrated within this business process services
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    ->
    < sequence name = 'hand' >
    <!-receive entries of applicant. (Note: this action maps to an operation defined in ProcessFileToWS.wsdl)->
    < name = partnerLink 'receiveInput' = 'customer '.
    portType operation = "client: ProcessFileToWS" = "open".
    variable = createInstance "variableentree" = "yes" / >
    <!--
    Asynchronous callback to the applicant. (Note: the location and the callback correlation id is handled seamlessly by using WS-addressing.)
    ->
    < assign the name = "Assign_1" >
    < copy >
    < variable from = part "variableentree" = "payload".
    Query = "/ client: ProcessFileToWSProcessRequest / client: entry" / >
    < variable = part of the "echoRequest" = "echoString" / >
    < / copy >
    < / assign >
    < name of appeal = portType "Invoke_1" = "ns1:EchoServicePortType."
    variableentree = "echoRequest" outputVariable = "echoResponse."
    partnerLink = operation 'ProcessFileToWS' = "echo" / >
    < assign the name = "Assign_2" >
    < copy >
    < variable from = part of the 'echoResponse' = 'Ar4' / >
    < variable = part of the 'outputVariable"="payload"/ >
    < / copy >
    < / assign >
    < name of appeal = partnerLink 'callbackClient' = 'customer '.
    portType operation = "client: ProcessFileToWSCallback" = "onResult".
    variableentree = "outputVariable" / >
    < / sequence >
    < / process >

    Try this wsdl for the service of your OSB. This requires that you run OSB on port 7021.

    It will create a service called Echo.

    see you soon
    James



    xmlns:TNS = "http://oracle.com/Echo/".
    xmlns:WSDL = "http://schemas.xmlsoap.org/wsdl/".
    container = "http://www.w3.org/2001/XMLSchema".
    name = 'Echo '.
    targetNamespace = "http://oracle.com/Echo/" >
































    transport = "http://schemas.xmlsoap.org/soap/http" / >












    name = "EchoSOAP" >



  • How to use multiple WSDL operations in BPEL process a receive activity?

    Is anyway to attach several WSDL operations with a single BPEL process? How?

    If you have your messages and the operations defined in your wsdl file, they will also be available to BPEL. So, for each onMessage branch, you can select a different wsdl operation which is available from the customer partnerlink. According to me, because now you have defined your BPEL process on a single XSD message and corresponding operation is generated. So now, open the wsdl file and add additional messages and operations before you create additional onMessage branches.

    Kind regards

    Melvin

    (it helps if you mark answers as useful or correct, it also gives us points ;))

    Published by: Melvin van der Kuijl August 21, 2011 22:44

  • WebService with several operations

    Is it possible to have a single statement of WebService with several operations?

    I see a tag of operations compared to a tag of operation but impossible to find good documentation about this.

    Looks like an ASP.NET WebService (end point defined by a WSDL document) may have several web methods/operations, and therefore the < mx:WebService > tag should support multiple < mx:operation > tags maybe inside a < mx:operations >?

    Is it how it works? Is there documentation on this or samples?

    I thank in advance
    George

    Ah, so easy it was hard for me to see.

    He thinks it was the mx:operations of Flex Builder drop down type ahead led me to get confused and go down the wrong path.

    Thanks for your reply,
    George

Maybe you are looking for