5 Replies Latest reply on May 7, 2012 12:08 PM by Anuj Dwivedi--Oracle

    Integration Oracle Advance Queue with OSB

    user10683443
      We are doing integration for Oracle Advance Queue with OSB.
      I created an AQ adapter in Jdev and generate the WSDL and XSD.
      I imported both WSDL and XSD in OSB Project.

      When i am configuring the business service and selecting the WSDl i am not able to select Binding and ports, is it due to any issue in WSDL?

      Please help.

      Thanks,
      Mihir Panda
        • 1. Re: Integration Oracle Advance Queue with OSB
          Nakur
          Hi Mihir,

          Can you post the wsdl you're using?
          Furthermore, which version of OSB do you have installed?

          Thanks,
          Ronald
          1 person found this helpful
          • 2. Re: Integration Oracle Advance Queue with OSB
            user10683443
            Dear Ronald,

            Please find WSDL we are using OSB 11g

            <wsdl:definitions
            name="enq"
            targetNamespace="http://xmlns.oracle.com/pcbpel/adapter/aq/Applicatio90/Project4/enq"
            xmlns:jca="http://xmlns.oracle.com/pcbpel/wsdl/jca/"
            xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
            xmlns:tns="http://xmlns.oracle.com/pcbpel/adapter/aq/Applicatio90/Project4/enq"
            xmlns:opaque="http://xmlns.oracle.com/pcbpel/adapter/opaque/"
            xmlns:obj1="http://xmlns.oracle.com/xdb/APPS"
            xmlns:ph="http://xmlns.oracle.com/pcbpel/adapter/aq/headers/payloadheaders/"
            xmlns:plt="http://schemas.xmlsoap.org/ws/2003/05/partner-link/"
            >
            <plt:partnerLinkType name="Enqueue_plt" >
            <plt:role name="Enqueue_role" >
            <plt:portType name="tns:Enqueue_ptt" />
            </plt:role>
            </plt:partnerLinkType>
            <wsdl:types>
            <!-- Define AQ Headers = Payload Headers -->
            <schema attributeFormDefault="qualified" elementFormDefault="qualified"
            targetNamespace="http://xmlns.oracle.com/pcbpel/adapter/aq/headers/payloadheaders/"
            xmlns="http://www.w3.org/2001/XMLSchema"
            xmlns:obj1="http://xmlns.oracle.com/xdb/APPS" >
            <import namespace="http://xmlns.oracle.com/xdb/APPS" schemaLocation="xsd/APPS_WF_EVENT_T.xsd"/>
            <complexType name="enqHeaderCType" >
            <sequence>
            <!-- payload header -->
            <element name="PayloadHeader" type="obj1:WF_EVENT_T" />
            </sequence>
            </complexType>
            <element name="enqHeader" type="ph:enqHeaderCType" />
            </schema>
            <schema targetNamespace="http://xmlns.oracle.com/pcbpel/adapter/opaque/"
            xmlns="http://www.w3.org/2001/XMLSchema" >
            <element name="opaqueElement" type="base64Binary" />
            </schema>
            </wsdl:types>
            <wsdl:message name="Enqueue_msg">
            <wsdl:part name="opaque" element="opaque:opaqueElement"/>
            </wsdl:message>
            <wsdl:message name="Header_msg">
            <wsdl:part name="Header" element="ph:enqHeader"/>
            </wsdl:message>
            <wsdl:portType name="Enqueue_ptt">
            <wsdl:operation name="Enqueue">
            <wsdl:input message="tns:Enqueue_msg"/>
            </wsdl:operation>
            </wsdl:portType>
            </wsdl:definitions>
            • 3. Re: Integration Oracle Advance Queue with OSB
              Nakur
              Hi again,

              I made some adjustments to your wsdl. I added the binding part and its reference to the appropriate port.
              Now I reckon, you should be able to do your thing:

              <wsdl:definitions
              name="enq"
              targetNamespace="http://xmlns.oracle.com/pcbpel/adapter/aq/Applicatio90/Project4/enq"
              xmlns:jca="http://xmlns.oracle.com/pcbpel/wsdl/jca/"
              xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
              xmlns:tns="http://xmlns.oracle.com/pcbpel/adapter/aq/Applicatio90/Project4/enq"
              xmlns:opaque="http://xmlns.oracle.com/pcbpel/adapter/opaque/"
              xmlns:obj1="http://xmlns.oracle.com/xdb/APPS"
              xmlns:ph="http://xmlns.oracle.com/pcbpel/adapter/aq/headers/payloadheaders/"
              xmlns:plt="http://schemas.xmlsoap.org/ws/2003/05/partner-link/"
              xmlns:xs="http://www.w3.org/2001/XMLSchema"
              xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
              >
              <plt:partnerLinkType name="Enqueue_plt" >
              <plt:role name="Enqueue_role" >
              <plt:portType name="tns:Enqueue_ptt" />
              </plt:role>
              </plt:partnerLinkType>
              <wsdl:types>
              <!-- Define AQ Headers = Payload Headers -->
              <schema attributeFormDefault="qualified" elementFormDefault="qualified"
              targetNamespace="http://xmlns.oracle.com/pcbpel/adapter/aq/headers/payloadheaders/"
              xmlns="http://www.w3.org/2001/XMLSchema"
              xmlns:obj1="http://xmlns.oracle.com/xdb/APPS" >
              <import namespace="http://xmlns.oracle.com/xdb/APPS" schemaLocation="xsd/APPS_WF_EVENT_T.xsd"/>
              <complexType name="enqHeaderCType" >
              <sequence>
              <!-- payload header -->
              <element name="PayloadHeader" type="xs:string" />
              </sequence>
              </complexType>
              <element name="enqHeader" type="ph:enqHeaderCType" />
              </schema>
              <schema targetNamespace="http://xmlns.oracle.com/pcbpel/adapter/opaque/"
              xmlns="http://www.w3.org/2001/XMLSchema" >
              <element name="opaqueElement" type="base64Binary" />
              </schema>
              </wsdl:types>
              <wsdl:message name="Enqueue_msg">
              <wsdl:part name="opaque" element="opaque:opaqueElement"/>
              </wsdl:message>
              <wsdl:message name="Header_msg">
              <wsdl:part name="Header" element="ph:enqHeader"/>
              </wsdl:message>
              <wsdl:portType name="Enqueue_ptt">
              <wsdl:operation name="Enqueue">
              <wsdl:input message="tns:Enqueue_msg"/>
              </wsdl:operation>
              </wsdl:portType>
              <wsdl:binding name="Enqueue_Binding" type="tns:Enqueue_ptt">
                   <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
                        <wsdl:operation name="Enqueue">
                             <soap:operation soapAction="put_your_own_URI_here"/>
                             <wsdl:input>
                                  <soap:body use="literal"/>
                             </wsdl:input>
                        </wsdl:operation>
              </wsdl:binding>
              <wsdl:service name="EnqueueService">
                   <wsdl:port name="Enqueue_ptt" binding="tns:Enqueue_Binding">
                        <soap:address location="No Target Adress"/>
                   </wsdl:port>
              </wsdl:service>
              </wsdl:definitions>

              Good luck.
              Regards,
              Ronald
              • 4. Re: Integration Oracle Advance Queue with OSB
                user10683443
                Thanks Ronald.

                I will try the same

                Regards,
                Mihir Panda
                • 5. Re: Integration Oracle Advance Queue with OSB
                  Anuj Dwivedi--Oracle
                  Mihir,

                  Please post OSB related questions in SOA forum -

                  SOA Suite
                  I imported both WSDL and XSD in OSB Project.
                  You need to import JCA file as well and generate the business service from JCA file.

                  Regards,
                  Anuj
                  1 person found this helpful