Generating Web Service from PL/SLQL procedures using ODSI

1) Is there a way for us to generate REST based web services from PL/SQL procedures using Oracle data services Integrator? If Yes, Can you please point me to any available documentation
2) I am trying to create a phyiscal data source based on PL/SQL procedures in the hope of turning these data sources into web services. I created a JDBC connection in web logic server console and am trying to view the packages under APPS but ODSI always crashes after selecting APPS. Is there a way to resolve this?
Thanks
Bhanu

Hi..
We came accross this problem a while back (I think it was us that the patch was created for). The patch was released under CR369707.
Additionally it took us a while to figure out how to use it correctly.. Here's the info for it from a mail i receievd from our support contact..
Here is more information from engineering on the patch:
This is patch for filtering Stored Procedures in the New Physical Data Service Wizard. It is a partial fix to the problem. It just does filtering - it still retrieves all the jdbc metadata for everything that matches the filter. Ideally, the wizard would let you explore the stored procedures - retrieving the name only - and once you selected a stored procedure, it would retrieve the argument types (which is the expensive part).
Copy these two files to a safe place
<bea_home>\<aldsp_home>\eclipse-plugins\dsp\eclipse\plugins\com.bea.dsp.ide.external_10.3.0\dsp-ide-ldshredder.jar
<bea_home>\<aldsp_home>\eclipse-plugins\dsp\eclipse\plugins\com.bea.dsp.ide.import_metadata_10.3.0.jar
Replace the files with the ones provided in the patch (which I sent you be eMail recently).
Creating Relational Database Physical Data Services -> Stored Procedures will be affected as follows :
The Search field used to represent a pattern for the stored procedures only, and this patterns were applied against every schema visible to ALDSP. The patch allows you to also specify a list of catalogue patterns (useful only when applicable), a list of schema patterns and a list of procedure name patterns. These lists are separated by the pipe symbol, and the lists themselves are command-separated. The catalogue and schema patterns are regular expressions, the procedure pattern is for a database 'like' clause. For, Oracle, the catalogue patterns are not applicable.
Example:
|ODM1,ODM2|B% // look in schemas containing the strings ODM1 or ODM2 for procedures that start with B
// possible results would be MY_ODM1.BUILDER, ODM2.BOTTOM
|^ODM$|B%D // look in the ODM schema for procedures that start with B and end with D.
Also - if there is a search string in the Search box, that search string will be applied to the schema when you click on the + to expand it in the Tree.
Note that once a schema has been 'explored' - either by a search, or by expanding it in the tree, further searches will not update it's children. You would need to quit the wizard and restart.
Once you get the patch if you have issues let me know..

Similar Messages

  • Have problem when generate Web Service from bapi function

    Dear all,
    Please kindly help me about generating Web Service from BAPI function, It does not success only this attached function.
    I have done so many function without any problems.
    I found 1 case that I use specific variable to be an import/ export then, it can't create as well.
    As for this one, I try so many changes but I can't success it as well.
    This is my function on R/3 4.6C, Dot net connector 2.0, Dot net Frame Work 1.1.
    FUNCTION Z_BAPI_ATTACHMENT_CREATE.
    ""Local interface: Type: Remote-enabled module
    *"  IMPORTING
    *"     VALUE(P_BOTYPE) LIKE  BORIDENT-OBJTYPE
    *"     VALUE(P_BO_ID) LIKE  BORIDENT-OBJKEY
    *"     VALUE(P_MSGTYP) LIKE  SOFM-DOCTP
    *"     VALUE(P_DOCTY) LIKE  BORIDENT-OBJTYPE
    *"     VALUE(P_RELTYP) LIKE  BRELTYP-RELTYPE
    *"     VALUE(P_FNAME) LIKE  RLGRAP-FILENAME
    *"     VALUE(P_OBJDES) TYPE  SO_OBJ_DES
    *"  EXPORTING
    *"     VALUE(RETURNMESSAGE) TYPE  CHAR50
    INCLUDE : <cntn01>.
    P_BOTYPE  TYPE  BORIDENT-OBJTYPE DEFAULT 'BUS2105'
    P_BO_ID   TYPE  BORIDENT-OBJKEY
    P_MSGTYPE TYPE  SOFM-DOCTP DEFAULT 'URL'
    P_DOCTY   TYPE  BORIDENT-OBJTYPE DEFAULT 'MESSAGE'
    P_RELTYP  TYPE  BRELTYP-RELTYPE DEFAULT 'ATTA'
    P_FNAME   TYPE  RLGRAP-FILENAME
    P_OBJDES  TYPE  SO_OBJ_DES
    TYPES: BEGIN OF ty_message_key,
    foltp TYPE so_fol_tp,
    folyr TYPE so_fol_yr,
    folno TYPE so_fol_no,
    doctp TYPE so_doc_tp,
    docyr TYPE so_doc_yr,
    docno TYPE so_doc_no,
    fortp TYPE so_for_tp,
    foryr TYPE so_for_yr,
    forno TYPE so_for_no,
    END OF ty_message_key.
    DATA : lv_message_key TYPE ty_message_key.
    DATA : lo_message TYPE swc_object.
    DATA : lt_doc_content TYPE STANDARD TABLE OF soli-line
    WITH HEADER LINE.
    First derive the Attachment's ( MESSAGE )document type.
    p_docty = 'MESSAGE'.
    CASE p_reltyp.
    In case of URls
      WHEN 'URL'.
        p_msgtyp = 'URL'.
    In case of Notes / Private Notes
      WHEN 'NOTE' OR 'PNOT'.
        p_msgtyp = 'RAW'.
      WHEN 'ATTA'.
    Take given parameter e.g. 'DOC', 'PDF' etc.
    P_MSGTYP = 'EXT'.
      WHEN OTHERS.
    ....exit
        EXIT.
    ENDCASE.
    Create an initial instance of BO 'MESSAGE' - to call the
    instance-independent method 'Create'.
    swc_create_object lo_message 'MESSAGE' lv_message_key.
    define container to pass the parameter values to the method call
    in next step.
    swc_container lt_message_container.
    Populate container with parameters for method
    swc_set_element lt_message_container 'DOCUMENTTITLE' p_objdes.
    swc_set_element lt_message_container 'DOCUMENTLANGU' 'E'.
    swc_set_element lt_message_container 'NO_DIALOG' 'X'.
    swc_set_element lt_message_container 'DOCUMENTNAME' p_docty.
    swc_set_element lt_message_container 'DOCUMENTTYPE' p_msgtyp.
    In case of URLs..it should be concatenated with &KEY& in the begining.
    CASE p_msgtyp.
      WHEN 'URL'.
      lt_doc_content = '&KEY&http://www.rmtiwari.com' .
        CONCATENATE '&KEY&' p_fname INTO lt_doc_content.
        APPEND lt_doc_content.
    In case of Notes or Private Notes, get the data from files on appl
    server or from wherever(? - remember background).
      WHEN 'RAW'.
        lt_doc_content = p_fname.
        APPEND lt_doc_content.
    In case of PC File attachments
      WHEN OTHERS.
        OPEN DATASET p_fname FOR INPUT IN BINARY MODE.
        IF sy-subrc EQ 0.
          DO.
            READ DATASET p_fname INTO lt_doc_content.           "2 of 27
            IF sy-subrc EQ 0.
              APPEND lt_doc_content.
            ELSE.
              EXIT.
            ENDIF.
          ENDDO.
          CLOSE DATASET p_fname.
        ENDIF.
    ENDCASE.
    'DocumentContent' is a multi-line element ( itab ).
    swc_set_table lt_message_container 'DocumentContent' lt_doc_content.
    Size is required in case of File attachments
    DATA : lv_doc_size TYPE i.
    DATA : l_file_lines TYPE i.
    DESCRIBE TABLE lt_doc_content LINES l_file_lines.
    READ TABLE lt_doc_content INDEX l_file_lines.
    lv_doc_size = ( 255 * ( l_file_lines - 1 ) ) +
    STRLEN( lt_doc_content ).
    swc_set_element lt_message_container 'DOCUMENTSIZE' lv_doc_size .
    Refresh to get the reference of create 'MESSAGE' object for attachment
    swc_refresh_object lo_message.
    swc_call_method lo_message 'CREATE' lt_message_container.
    Get Key of new object
    swc_get_object_key lo_message lv_message_key.
    Now we have attachment as a business object instance. We can now
    attach it to our main business object instance.
    Create main BO object_a
    data: LO_IS_OBJECT_A type SIBFLPORB. "type SIBFLPORB is unknown, so I
    DATA: lo_is_object_a TYPE borident.
    lo_is_object_a-objkey = p_bo_id.
    lo_is_object_a-objtype = p_botype.
    LO_IS_OBJECT_A-CATID = 'BO'.
    Create attachment BO object_b
    data: LO_IS_OBJECT_B type SIBFLPORB. "type SIBFLPORB is unknown
    DATA: lo_is_object_b TYPE borident.
    lo_is_object_b-objkey = lv_message_key.
    lo_is_object_b-objtype = p_docty.
    LO_IS_OBJECT_B-CATID = 'BO'.
    *TRY.
    *CALL METHOD CL_BINARY_RELATION=&gtCREATE_LINK
    EXPORTING
    IS_OBJECT_A = LO_IS_OBJECT_A
    IS_OBJECT_B = LO_IS_OBJECT_B
    IP_RELTYPE = P_RELTYP.
    CALL FUNCTION 'BINARY_RELATION_CREATE'
      EXPORTING
        obj_rolea    = lo_is_object_a
        obj_roleb    = lo_is_object_b
        relationtype = p_reltyp
      EXCEPTIONS
        OTHERS       = 1.
    Check if everything OK...who cares!!
    COMMIT WORK.
    if sy-subrc = 0.
      RETURNMESSAGE = 'S-Success'.
    else.
      RETURNMESSAGE = 'E-Error'.
    endif.
    ENDFUNCTION.
    Thanks in advance,
    Benjawan
    Edited by: Nitipat Chadchavalpanichaya on Oct 20, 2008 9:02 AM

    There is no any error message show up. It just the class
    Z_BAPI_ATTACHMENT_CREATE  doesn't create autometically as normal. I showed you as below.
    That means I can't call class z_bapi_attachment_create.
    ' <autogenerated>
    '     This code was generated by a SAP. NET Connector Proxy Generator Version 2.0
    '     Created at 21/10/2551
    '     Created from Windows
    '     Changes to this file may cause incorrect behavior and will be lost if
    '     the code is regenerated.
    ' </autogenerated>
    Imports System
    Imports System.Text
    Imports System.Collections
    Imports System.ComponentModel
    Imports System.Runtime.InteropServices
    Imports System.Xml.Serialization
    Imports System.Web.Services
    Imports System.Web.Services.Description
    Imports System.Web.Services.Protocols
    Imports SAP.Connector
      '@ <summary>
      '@ Client SAP proxy class
      '@ </summary>
      <WebServiceBinding(Name:="dummy.Binding", Namespace:="urn:sap-com:document:sap:rfc:functions")> _
      Public Class PRAttachment
        Inherits SAPClient
        '@ <summary>
        '@ Initializes a new PRAttachment.
        '@ </summary>
        Public Sub New()
        End Sub
        '@ <summary>
        '@ Initializes a new PRAttachment with a new connection based on the specified connection string.
        '@ </summary>
        '@ <param name="connectionString">A connection string (e.g. RFC or URL) specifying the system where the proxy should connect to.</param>
        Public Sub New(ByVal ConnectionString As String)
          MyBase.New(ConnectionString)
        End Sub
        '@ <summary>
        '@ Initializes a new PRAttachment and adds it to the given container.
        '@ This allows automated connection mananged by VS component designer:
        '@ If container is disposed, it will also dispose this SAPClient instance,
        '@ which will dispose a contained connection if needed.
        '@ </summary>
        '@ <param name="Cont">The container where the new SAPClient instance is to be added.</param>
        Public Sub New(ByVal Cont As Container)
          MyBase.New(Cont)
        End Sub
      End Class

  • I generated web service from function module.Where can I find .wsdl file ?

    Hi,
    I generated web service from function module.
    Where can I find .wsdl file ?
    I want to use .wsdl file in .Net application.
    Thanks.

    Hii Cemil Bozlagan,
      All Remote enabled Function Modules in Web AS 6.20 and Above are available as Webservices and the WSDL documents are available in the web service repository at
    [http://<host>:<port>/sap/bc/bsp/sap/webservicebrowser/search.html]
    Find the respective BAPI.
    Click on the WSDL link in the browser and download the WSDL document and use it as per the requirement
    Regards,
    Varun

  • Creating web service from pl/sql procedure

    Hello.
    I need to create a web service from pl/sql procedure and i chose JDeveloper for this implementation. I have wsdl, but I never created web services. So, I created web service with document/literal message format.
    But I have several troubles:
    1. All element names have lower case letters.
    2. The SOAP envelope must begin from words soapenv:Envelope but i have soap:Envelope.
    3. And operation name has tail like "Element".
    I know bad way for implement 1 and 3 points. It's a modification of java_wsdl_mapping.xml and wsdl files. But if I want to add new method to my service all changes will be cleaned. It's not critical but inconvenient to support.
    But for point 3 i have no ideas.
    This task is very important for me. Can somebody help me?
    JDeveloper 10.1.3.3
    Regards,
    Aleksey

    http://www.oracle.com/technology/obe/obe1013jdev/10131/wsfromplsqlpackage/devwsfrom%20plsql.htm
    Frank

  • Error when trying to create a web service from a wsdl file using jdeveloper

    Hello,
    I'm using the latest jdeveloper and jdk 6 update 20 on solaris sparc 10.
    When I'm trying to create a web service from a wsdl on the java EE 1.5 platform i get the following error:
    Validation failed:
    java.lang.NoSuchMethodException: com.sun.tools.xjc.generator.annotation.spec.XmlElementRefWriter.required(boolean)
    I've tried the endorsed mechanism with the latest jaxws-api.jar and jaxb-api.jar packages with no help.
    It works fine when i use the java EE 1.4 platform....
    The full Error description:
    oracle.jdeveloper.webservices.model.WebServiceException: Error creating model from wsdl "file:/vobs/NMS/NorthBoundIF/MTOSI/MTOSI_Documentation/DDPs/ResourceTroubleManagement/IIS/wsdl/AlarmRetrieval/AlarmRetrievalHttp.wsdl": java.lang.NoSuchMethodException: com.sun.tools.xjc.generator.annotation.spec.XmlElementRefWriter.required(boolean)
    +     at oracle.jdeveloper.webservices.model.java.JavaWebService.createPortTypes(JavaWebService.java:1635)+
    +     at oracle.jdeveloper.webservices.model.WebService.createServiceFromWSDL(WebService.java:2846)+
    +     at oracle.jdeveloper.webservices.model.WebService.createServiceFromWSDL(WebService.java:2611)+
    +     at oracle.jdeveloper.webservices.model.java.JavaWebService.setDescription(JavaWebService.java:745)+
    +     at oracle.jdevimpl.webservices.wizard.jaxrpc.topdown.TDJaxWsSpecifyWsdlPanel.setDescription(TDJaxWsSpecifyWsdlPanel.java:364)+
    +     at oracle.jdevimpl.webservices.wizard.jaxrpc.common.SpecifyWsdlPanel.buildModel(SpecifyWsdlPanel.java:1109)+
    +     at oracle.jdevimpl.webservices.wizard.jaxrpc.common.SpecifyWsdlPanel$5.run(SpecifyWsdlPanel.java:661)+
    +     at oracle.ide.dialogs.ProgressBar.run(ProgressBar.java:655)+
    +     at java.lang.Thread.run(Thread.java:619)+
    Caused by: oracle.jdeveloper.webservices.tools.WsdlValidationException: Error creating model from wsdl "file:/vobs/NMS/NorthBoundIF/MTOSI/MTOSI_Documentation/DDPs/ResourceTroubleManagement/IIS/wsdl/AlarmRetrieval/AlarmRetrievalHttp.wsdl": java.lang.NoSuchMethodException: com.sun.tools.xjc.generator.annotation.spec.XmlElementRefWriter.required(boolean)
    +     at oracle.jdevimpl.webservices.tools.wsa.WsaAdaptor.newWsdlValidationException(WsaAdaptor.java:825)+
    +     at oracle.jdevimpl.webservices.tools.wsa.WsaAdaptor.getSeiInfo(WsaAdaptor.java:515)+
    +     at oracle.jdeveloper.webservices.tools.WebServiceTools.getSeiInfo(WebServiceTools.java:523)+
    +     at oracle.jdeveloper.webservices.model.java.JavaWebService.getSeiInfo(JavaWebService.java:1741)+
    +     at oracle.jdeveloper.webservices.model.java.JavaWebService.createPortTypes(JavaWebService.java:1496)+
    +     ... 8 more+
    Caused by: oracle.j2ee.ws.common.tools.api.ValidationException: Error creating model from wsdl "file:/vobs/NMS/NorthBoundIF/MTOSI/MTOSI_Documentation/DDPs/ResourceTroubleManagement/IIS/wsdl/AlarmRetrieval/AlarmRetrievalHttp.wsdl": java.lang.NoSuchMethodException: com.sun.tools.xjc.generator.annotation.spec.XmlElementRefWriter.required(boolean)
    +     at oracle.j2ee.ws.tools.wsa.jaxws.JaxwsWsdlToJavaTool.getJAXWSModel(JaxwsWsdlToJavaTool.java:664)+
    +     at oracle.j2ee.ws.tools.wsa.WsdlToJavaTool.createJAXWSModel(WsdlToJavaTool.java:475)+
    +     at oracle.j2ee.ws.tools.wsa.Util.getJaxWsSeiInfo(Util.java:1357)+
    +     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)+
    +     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)+
    +     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)+
    +     at java.lang.reflect.Method.invoke(Method.java:597)+
    +     at oracle.jdevimpl.webservices.tools.wsa.Assembler$2$1.invoke(Assembler.java:218)+
    +     at $Proxy34.getJaxWsSeiInfo(Unknown Source)+
    +     at oracle.jdevimpl.webservices.tools.wsa.WsaAdaptor.getSeiInfo(WsaAdaptor.java:505)+
    +     ... 11 more+
    Caused by: java.lang.RuntimeException: java.lang.NoSuchMethodException: com.sun.tools.xjc.generator.annotation.spec.XmlElementRefWriter.required(boolean)
    +     at com.sun.tools.xjc.generator.bean.field.AbstractField.getMRequired(AbstractField.java:186)+
    +     at com.sun.tools.xjc.generator.bean.field.AbstractField.annotateReference(AbstractField.java:209)+
    +     at com.sun.tools.xjc.generator.bean.field.AbstractField.annotate(AbstractField.java:164)+
    +     at com.sun.tools.xjc.generator.bean.field.AbstractFieldWithVar.createField(AbstractFieldWithVar.java:75)+
    +     at com.sun.tools.xjc.generator.bean.field.SingleField.<init>(SingleField.java:89)+
    +     at com.sun.tools.xjc.generator.bean.field.SingleField.<init>(SingleField.java:76)+
    +     at sun.reflect.GeneratedConstructorAccessor53.newInstance(Unknown Source)+
    +     at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)+
    +     at java.lang.reflect.Constructor.newInstance(Constructor.java:513)+
    +     at com.sun.tools.xjc.generator.bean.field.GenericFieldRenderer.generate(GenericFieldRenderer.java:64)+
    +     at com.sun.tools.xjc.generator.bean.field.DefaultFieldRenderer.generate(DefaultFieldRenderer.java:75)+
    +     at com.sun.tools.xjc.generator.bean.BeanGenerator.generateFieldDecl(BeanGenerator.java:751)+
    +     at com.sun.tools.xjc.generator.bean.BeanGenerator.generateClassBody(BeanGenerator.java:539)+
    +     at com.sun.tools.xjc.generator.bean.BeanGenerator.<init>(BeanGenerator.java:241)+
    +     at com.sun.tools.xjc.generator.bean.BeanGenerator.generate(BeanGenerator.java:181)+
    +     at com.sun.tools.xjc.model.Model.generateCode(Model.java:286)+
    +     at com.sun.tools.xjc.api.impl.s2j.SchemaCompilerImpl.bind(SchemaCompilerImpl.java:251)+
    +     at com.sun.tools.xjc.api.impl.s2j.SchemaCompilerImpl.bind(SchemaCompilerImpl.java:85)+
    +     at oracle.j2ee.ws.common.tools.databinding.jaxb20.JAXB20TypeGenerator.generateJavaTypes(JAXB20TypeGenerator.java:117)+
    +     at oracle.j2ee.ws.tools.wsa.SchemaTool.genValueTypes(SchemaTool.java:186)+
    +     at oracle.j2ee.ws.tools.wsa.jaxws.JaxwsWsdlToJavaTool.getJAXWSModel(JaxwsWsdlToJavaTool.java:647)+
    +     ... 20 more+
    Caused by: java.lang.NoSuchMethodException: com.sun.tools.xjc.generator.annotation.spec.XmlElementRefWriter.required(boolean)
    +     at java.lang.Class.getMethod(Class.java:1605)+
    +     at com.sun.tools.xjc.generator.bean.field.AbstractField.getMRequired(AbstractField.java:184)+
    +     ... 40 more+
    Thanks,
    Roy.

    Guys,
    You are asking about an issue that was a pain in the nick for me few months ago. The problem is that you won't find mych help here as I figured out that Apex geeks here either did not do much webservices or ended up hating it as i do :) . This is an error that can be due many different reason, let me ask you this:
    1- Does your the other system you are trying to call through webservices using HTTPS ?
    2- If yes, did you create a valid oracle wallet for that https connection ?
    3- Make sure you are using the correct URL ( am sure you do, just double check )
    4- If using a proxy, then you have to define that in the web service reference creation page
    provide more info and I hope I can help you with this,
    Sam
    Please reward good answers by marking them correct or helpful!

  • Error while generating Web Service from a function module.

    Hi Experts,
    I am trying to create a web service from function module by doing the steps as mentioned in the below document:
    http://www.sdn.sap.com/irj/scn/index;jsessionid=(J2EE3417800)ID1146834250DB10778842957931285337End?rid=/library/uuid/80fa3dff-ce76-2a10-3f94-f3df8f2db5a2&overridelayout=true
    When i save it as an local object instead of generating the Web Service it gives me the below error:
    "Error during activation of Web Service"
    Kindly let me know what needs to be done inorder to resolve this issue.
    I have a feeling that this error may be with respect to some authorizations, in that case how do we resolve it
    Helpful Inputs Awaited.!!!
    Thanks
    Dhwani

    Hi Dhawani,
    Hi Pavan,
    Can you please elaborate...how this will help??
    Thanks
    Dhwani
    I dont know the specific reason but internally there may some inconsistancy but i faced the same error and i tried with saving it in the package.
    Thanks

  • Calling a Web Service from PL/SQL Procedure

    How can you call a web service from a pl/sql package , also is it valid to call a web service from pl/sql according to Fusion Standards..

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

  • Generating web service from session bean

    Hi
    I have a session bean in one project which has a service-endpoint defined.
    My web services are in another project entirely, within the same workspace if that helps any.
    When I generate the web service from the EJB JDev turns the business tier project into a web project,
    I don't see any options to include the web service in the web project.
    I've reversed all of the changes, but wonder if I shouldn't redo it and copy the mapping file and configuration
    across to the web project and reverse the changes in the business tier.
    This is a workaround that I'm hoping to avoid, as I'm doing the "howto" for this in our project.
    How is this normally done?

    I tried generating the web servioce from WSDL, in the web project.
    I tested and the web service works fine.
    Then I changed the config file to point to the ejb, but the server won't start up....
    *08/09/17 10:58:40 WARNING: Application.setConfig Application: current-workspace-app is in failed state as initialization failed.*
    This is the webservices.xml bit I updated...
         <ejb-link>SomeOrOtherEjbName</ejb-link> The bit I found in webservices.xml when the service is in the business tier.
    <!-- <servlet-link>SomeOrOtherWebServiceSoapHttpPort</servlet-link> --> The service that works in the web tier.

  • Parameter names change when generating web service from WSDL

    Hi,
    I have a problem with BEAs web services that I'm hoping someone can help me with.
    I have a
    WSDL file, and from that I want to generate a web service implementation and a
    web service
    client. In the WSDL file, I have a message defined like this:
    <message name="someRequest">
    <part xmlns:partns="http://www.w3.org/2001/XMLSchema" type="partns:base64Binary"
    name="data"/>
    </message>
    I generate the server using the server using the wsdl2service Ant task, I implement
    the necessary classes, and I deploy it. When I access the deployed web service,
    the parameter name has changed, from "data" to "bytes". If I access the WSDL file
    of the deployed web service, it says:
    <message name="someRequest">
    <part xmlns:partns="http://www.w3.org/2001/XMLSchema" type="partns:base64Binary"
    name="bytes"/>
    </message>
    This happens for all parameters, string parameters are renamed to "string", base64Binary
    parameters are renamed to "bytes", etc...
    This poses a problem to me, because if I generate a web service client from the
    original WSDL file, it will not be able to talk to my web service. Is there any
    way of forcing a web service generated from a WSDL file to keep the parameter
    names of the original WSDL file?
    Any help in this is greatly appreciated.
    Regards,
    Petter

    From a quick look of your WSDL, it seams that you are mixing document-literal-bare and document-literal-wrapped flavor of web services. WSA may be able to do a better job at working around this mixed flavors than JDeveloper.
    If you have hand crafted this WSDL, I would recomend that you spend some time looking at the way WSDL are generated, with the java-first mode (or bottom-up), then author the WSDL you need for the final service.
    Here are sample of bare-style :
    <xsd:element name="getPupilAddressResponse" type="xsd:string"/>
    <xsd:element name="getPupilAddressRequest" type="xsd:int"/>
    Wrapped will looks like that:
    <xsd:element name="getSENLevelResponse">
    <xsd:complexType>
    <xsd:sequence maxOccurs="1" minOccurs="1">
    <xsd:element name="LevelDetails" type="tns:SENLevelRecord"/>
    <xsd:element name="RecordCount" type="xsd:int">
    </xsd:element>
    </xsd:sequence>
    </xsd:complexType>
    </xsd:element>
    Hope this helps,
    Eric

  • Publish SQL as a WEB Service from Database (10.2) using OC4J (without JDev)

    Hi,
    I have been successfull in Publishing Web Service using SQL (DML) using :
    1. Oracle Express Db 10.2
    2. OC4J 10.1.3
    Any Help Will be appreciated........ :)
    NOTE: Oracle Documentation on Application Server SUCKS (Too Many Errors prints and Wrong Information in the Web Servises area including JAR file paths)
    I can only use One parameter in the QUERY and a Second Parameter gives an Error.
    java -jar ${ORACLE_HOME}/webservices/lib/wsa.jar -sqlAssemble -appName query -dataSource jdbc/OracleCoreDS -sqlstatement "updtProdTyp=update PRODUCT_TYPES SET NAME = :{newname VARCHAR} where NAME = :{oldname VARCHAR}" -dbConnection jdbc:oracle:thin:@localhost:1521:XE -dbUser store/store
    INFO: [WSADBPlugin] endpoint setInterface: oracle.generated.SqlStmts, setImplementation: oracle.generated.SqlStmtsUser
    INFO: java oracle.jpub.Doit -user=store/store -url=jdbc:oracle:thin:@localhost:1521:XE -dir=./src/server -codegen=jdbc -style=oracle/j2ee/ws/tools/wsa/db/webservices-common -style=oracle/j2ee/ws/tools/wsa/db/webservices10 -style=oracle/j2ee/ws/tools/wsa/db/webservices10literal -outarguments=return -datasource=jdbc/OracleCoreDS -sqlstatement.updtProdTyp=update PRODUCT_TYPES SET NAME = :{newname VARCHAR} where NAME = :{oldname VARCHAR} -sqlstatement.class=SqlStmts -package=oracle.generated -plsqlfile=SqlStmts_plsql_wrapper.sql,SqlStmts_plsql_dropper.sql -plsqlpackage=SqlStmts_plsql_wrapper -connscope=method -sqlj -d=./war/WEB-INF/classes -C-g
    INFO: SqlStmtsBase
    /usr/lib/oracle/xe/app/OC4J/D_My_Apps/src/server/oracle/generated/SqlStmtsUser.java:8: oracle.generated.SqlStmtsUser is not abstract and does not override abstract method updtProdTypiSS(java.lang.String[],java.lang.String[]) in oracle.generated.SqlStmts
    public class SqlStmtsUser extends SqlStmtsBase implements SqlStmts, java.rmi.Remote
    ^
    /usr/lib/oracle/xe/app/OC4J/D_My_Apps/src/server/oracle/generated/SqlStmtsUser.java:22: cannot find symbol
    symbol : method _getProdTypBeans(java.lang.String,java.sql.Connection)
    location: class oracle.generated.SqlStmtsBase
    __jRt_0 = super._getProdTypBeans(__jRt_2, __onnScopeMethod);
    /usr/lib/oracle/xe/app/OC4J/D_My_Apps/src/server/oracle/generated/SqlStmtsUser.java:85: cannot find symbol
    symbol : method _getProdTyp(java.lang.String,java.sql.Connection)
    location: class oracle.generated.SqlStmtsBase
    __jRt_0 = super._getProdTyp(__jRt_8, __onnScopeMethod);
    ^
    /usr/lib/oracle/xe/app/OC4J/D_My_Apps/src/server/oracle/generated/SqlStmtsUser.java:128: _updtProdTyp(java.lang.String,java.lang.String,java.sql.Connection) in oracle.generated.SqlStmtsBase cannot be applied to (java.lang.String,java.sql.Connection)
    __jRt_0 = super._updtProdTyp(__jRt_10, __onnScopeMethod);
    ^
    /usr/lib/oracle/xe/app/OC4J/D_My_Apps/src/server/oracle/generated/SqlStmtsUser.java:145: cannot find symbol
    symbol : method _updtProdTypiS(java.lang.String[],java.sql.Connection)
    location: class oracle.generated.SqlStmtsBase
    __jRt_0 = super._updtProdTypiS(__jRt_12, __onnScopeMethod);
    ^
    6 errors
    INFO: NEW DBWS runtimeProperties set databaseJndiName: jdbc/OracleCoreDS
    INFO: User classpath is :/usr/lib/oracle/xe/app/OC4J/D_My_Apps/./war/WEB-INF/classes
    INFO: Checking for JSR-181 Annotations capabilities in current JVM...
    INFO: Found JSR-181 Annotations capabilities. Checking for JSR-181 Annotations Processor...
    INFO: Found JSR-181 Annotations processor. JSR-181 Annotations (if any) will be processed
    INFO: No JSR-181 annotations found in specified class oracle.generated.SqlStmtsUser
    FINE: ValueTypeModeler.log [creating model: query]
    FINE: ValueTypeModeler.log [creating port: oracle.generated.SqlStmts]
    FINE: MethodModeler.log [creating operation: updtProdTyp]
    FINE: MethodModeler.log [creating operation: updtProdTypiSS]
    WARNING: Problem validating implementation class. Access modifier problem detected for the implementation class oracle.generated.SqlStmtsUser: int updtProdTyp( java.lang.String, java.lang.String ) is defined with access modifiers that make it an unsuitable implementation of the interface method: The method cannot be 'abstract'.
    Thu Mar 30 14:17:34
    Thanks
    ====================================

    I don't have the problem with the second arugument, using essentially the same command as yours. Could you make sure you clean up the following subdirectories and retry:
    ear query.ear src war
    My guess is that the leftover subdirectories in your previous run are playing game with you. You can simplify leftover management by specifying -output setting.

  • Problem consuming Web Service from ECC 6.0 using dual certificates

    Hi, I am trying to consume a secure web service on ECC 6.0 - so far without much luck.
    When I try to connect to the ws server, it seems there are three certificates in action: a CICS certificate for establishing the SSL connection, a 'root' certificate from the PKI certificate issuer, and a private certificate issued by the above issuer (please forgive me if a have the syntax wrong - certificates are not my primary line of work). So, using Trust Manager (STRUST), I have created a PSE named 'OES' and imported all three certificates into it.
    In SOAMANAGER I have set up the end-point using the WSDL-file and set the following parameters:
    - Authentication Method = X.509 Client Certificate
    - Trustworthiness Method = Holder of Key
    - Issuer = <issuer from the root certificate>
    - Name of Attester = <blank>
    - Validity of SAML Assertion = 180
    - Caching of SAML Assertions = False
    - Attester System Destination = <blank>
    - Name of Attester = <blank>
    - User = SRxxxWS
    - Password = <blank>
    - Client PSE = OES
    When I try to consume the web service, I can see in the log files that the CICS certificat is used for establishing the SSL connection but all I receive back is an HTTP 403 "Client Authentication Error". If I remove the CICS certificate from the PSE, the connection is not made.
    How do I make the client certificate available for the connection? Have I approached the problem from the wrong side? Has anybody experienced something similar? Any help will be highly appreciated.
    Thanks,
    Bo

    Hi,
    I am not Certificate expert either but you can get plenty of help from "Security" forum on SDN. I can help you bit with some related SAP notes and forum answers:
    See following notes :
    1324884 - Analysis of ABAP Web Service SOA Configuration
    1318906 - Trace analysis of SSL problems
    1319507 - Overview: Analysis of ABAP Web Service Configuration
    See this forum discussed about consuming secured ws in webdynbpro:
    Problem in Calling Secure Webservice.
    Articles:
    http://www.sdn.sap.com/irj/scn/index?rid=/library/uuid/92914af6-0d01-0010-3081-ded3a41be8f2&overridelayout=true -
    Web Services Security Configuration Guide (discussed IBM and NW WS security but you can find some examples and hints there)
    Regards,
    Gourav

  • Is there any script in S1AS which generates Web services from ejbs in jar?

    I'm porting a J2EE app from WebLogic to S1AS7. The ISV uses Ant/XDoclet to do some code generation and build. One of targets in the build scripts is to take as input an EJB JAR file and create all the needed web service components and package them into a deployable EAR file using WebLogic's servicegen Ant task
    (http://edocs.bea.com/wls/docs81/webserv/assemble.html#1052126).
    Is there anything similar in S1AS?
    A quick response is greatly appreciated.
    Thanks
    Kishore

    We had looked into doing something similar, and this post is the closest we found.
    https://community.qualys.com/thread/11816
    Basically you will need a middle-man between Qualys and ConfigMgr to house the data. This may be a new database, or a whole seperate platform. I expect this could easily be done with SQL and SSRS.
    Also note, database edits to the ConfigMgr database are
    not supported  by Microsoft, I would recommend using a central system to pull data from Qualys and ConfigMgr without modifying either.
    Daniel Ratliff | http://www.PotentEngineer.com

  • Invocation of Netweaver generated Web Service from XI

    Hi,
    I have defined a webservice for a stateless session bean using the developer studio. From the wsdl I have imported the message interface as external definition. I have defined mappings on the respective message type. Now I would like to call my service using the SOAP receiver adapter.
    Could anybody tell me which URL has to be quoted there. I retrieve the wsdl from the following address:
    http://myhost:50000/AddressService/AddressConfig?wsdl
    Since the webservice is RPC like, is it valid to invoke it using the SOAP receiver adapter?
    Kind regards,
    Heiko

    Hi Naveen,
               Do you have an answer for this ....
    Hi Friends,
    I have a question regarding publishing a WSDL created via XI (Integration Directory) to a UDDI Server of SAP WAS JAVA 640. Can I publish the WSDL generated from XI in the UDDI Server provided as a part of SAP WAS 640 ? I know that the WSDL will be specific for a client( sender) but I feel that its better than emailing the WSDL to the client after generating it in the integration directory. Any relevant documents, links explaining how to do that will be appreciated.
    The above question was asked by Siva Maranani before. His question was as below .
    "I know that whenever a webservice is developed using NDS it can be deployed in WebAs and the same can be registered in UDDI ( webAs acting as UDDI registry).
    Now my requirement is to register a WSDL file (which describes) for an external webservice. Can WebAs be used as a UDDI registry..?
    I like to know if this is possible or not..? if yes.. how..?"
    Waiting for the reply...
    Thanks & Regards,
    Mathew

  • Problems generating multiple services from the same EAR using servicegen

    I have a single EJB JAR that contains multiple stateless session beans. I
    want to expose each of these individually as a service. So I have defined
    the following in my build file:
    <servicegen destEar="${ear.file}" warName="${war.file.name}"
    contextURI="web_services">
    <service ejbJar="${ejbc.jar.file}"
    targetNamespace="http://www.acme.com/xauto" serviceName="AService"
    serviceURI="/AService" includeEJBs="AService" generateTypes="True"
    expandMethods="True"/>
    <service ejbJar="${ejbc.jar.file}"
    targetNamespace="http://www.acme.com/xauto" serviceName="BService"
    serviceURI="/BService" includeEJBs="BService" generateTypes="True"
    expandMethods="True"/>
    <service ejbJar="${ejbc.jar.file}"
    targetNamespace="http://www.acme.com/xauto" serviceName="CService"
    serviceURI="/CService" includeEJBs="CService" generateTypes="True"
    expandMethods="True"/>
    <service ejbJar="${ejbc.jar.file}"
    targetNamespace="http://www.acme.com/xauto" serviceName="DService"
    serviceURI="/DService" includeEJBs="DService" generateTypes="True"
    expandMethods="True"/>
    <service ejbJar="${ejbc.jar.file}"
    targetNamespace="http://www.acme.com/xauto" serviceName="EService"
    serviceURI="/EService" includeEJBs="EService" generateTypes="True"
    expandMethods="True"/>
    </servicegen>
    I execute the task and it runs without issue. However, when I attempt to
    deploy the EAR I get some odd results (there are multiple jars listed all
    with my original name and then a number appended, for example MyApp.ear2).
    The deployment fails because each of these JARs contains the same session
    beans.
    So, I'm wondering if my only option is to package each session bean in a
    separate EJB JAR or if there is another way I could get this to work.
    Thanks,
    Rob

    Thanks, Neal. I'll do as you suggest.
    Just a little feature enhancement request, as well. It would be nice if the
    option existed to break out the webservices for all the session beans in a
    ejb rather than creating one all-encompassing interface of all the methods.
    I think this would be a useful feature.
    Thanks, again,
    Rob
    "Neal Yin" <[email protected]> wrote in message
    news:[email protected]...
    I am not sure what can cause this. But I will make servicegen check for
    duplicate.
    For now, in order to make sure your automatic build process, you can use
    ant's build in task "jar" to update your application.xml with a correctone
    after servicegen.
    -Neal
    "Rob Moore" <[email protected]> wrote in message
    news:[email protected]...
    Neal,
    After discussing this issue with a coworker, I found that when he buildsthe
    ear on his machine using the servicegen entries I specified previously,the
    application.xml is generated correctly. Mine, as you guessed, puts in
    multiple module entries all containing references to the same jar. I'm
    puzzled because we are apparently running in the same environment. Anyidea
    what might be causing it?
    Thanks,
    Rob
    "Neal Yin" <[email protected]> wrote in message
    news:[email protected]...
    Hi Rob,
    There is something wrong during generating application.xml for the
    ear.
    After servicegen, if you open generated application.xml, you probablycan
    see duplicate entries for one module. Please go ahead delete thoseredundant
    entries. Let me know if this works.
    -Neal
    "Rob Moore" <[email protected]> wrote in message
    news:[email protected]...
    I have a single EJB JAR that contains multiple stateless session
    beans.
    I
    want to expose each of these individually as a service. So I havedefined
    the following in my build file:
    <servicegen destEar="${ear.file}" warName="${war.file.name}"
    contextURI="web_services">
    <service ejbJar="${ejbc.jar.file}"
    targetNamespace="http://www.acme.com/xauto" serviceName="AService"
    serviceURI="/AService" includeEJBs="AService" generateTypes="True"
    expandMethods="True"/>
    <service ejbJar="${ejbc.jar.file}"
    targetNamespace="http://www.acme.com/xauto" serviceName="BService"
    serviceURI="/BService" includeEJBs="BService" generateTypes="True"
    expandMethods="True"/>
    <service ejbJar="${ejbc.jar.file}"
    targetNamespace="http://www.acme.com/xauto" serviceName="CService"
    serviceURI="/CService" includeEJBs="CService" generateTypes="True"
    expandMethods="True"/>
    <service ejbJar="${ejbc.jar.file}"
    targetNamespace="http://www.acme.com/xauto" serviceName="DService"
    serviceURI="/DService" includeEJBs="DService" generateTypes="True"
    expandMethods="True"/>
    <service ejbJar="${ejbc.jar.file}"
    targetNamespace="http://www.acme.com/xauto" serviceName="EService"
    serviceURI="/EService" includeEJBs="EService" generateTypes="True"
    expandMethods="True"/>
    </servicegen>
    I execute the task and it runs without issue. However, when I
    attempt
    to
    deploy the EAR I get some odd results (there are multiple jars
    listed
    all
    with my original name and then a number appended, for exampleMyApp.ear2).
    The deployment fails because each of these JARs contains the samesession
    beans.
    So, I'm wondering if my only option is to package each session bean
    in
    a
    separate EJB JAR or if there is another way I could get this to
    work.
    >>>>
    Thanks,
    Rob

  • Calling a Web Service from Oracle Stored procedure

    I am getting the following error when running this example. Does anyone know what did I miss.
    Error: HTTPClient.HTTPConnection java.lang.NoClassDefFoundError: HTTPClient.HTTPConnection at oracle.soap.transport.http.OracleSOAPHTTPConnection.getHTTPConnection(Ljava.net.URL;)LHTTPClient.HTTPConnection;(OracleSOAPHTTPConnection.java:1122) at oracle.soap.transport.http.OracleSOAPHTTPConnection.post(Ljava.net.URL;Lorg.apache.soap.transport.TransportMessage;)Lorg.apache.soap.transport.TransportMessage;(OracleSOAPHTTPConnection.java:877) at oracle.soap.transport.http.OracleSOAPHTTPConnection.send(Ljava.net.URL;Ljava.lang.String;Ljava.util.Hashtable;Lorg.apache.soap.Envelope;Lorg.apache.soap.encoding.SOAPMappingRegistry;Lorg.apache.soap.rpc.SOAPContext;)V(OracleSOAPHTTPConnection.java:713) at org.apache.soap.rpc.Call.invoke(Ljava.net.URL;Ljava.lang.String;)Lorg.apache.soap.rpc.Response;(Call.java:253) at oracle.otnsamples.wsclient.CreditAgencyServiceStub.authorizeCustomer(Ljava.lang.String;)Ljava.lang.String;(Unknown Source) at jsp_servlet.__products._jspService(Ljavax.servlet.http.HttpServletRequest;Ljavax.servlet.http.HttpServletResponse;)V(__products.java:191) at weblogic.servlet.jsp.JspBase.service(Ljavax.servlet.ServletRequest;Ljavax.servlet.ServletResponse;)V(JspBase.java:33) at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run()Ljava.lang.Object;(ServletStubImpl.java:971) at weblogic.servlet.internal.ServletStubImpl.invokeServlet(Ljavax.servlet.ServletRequest;Ljavax.servlet.ServletResponse;Lweblogic.servlet.internal.FilterChainImpl;)V(ServletStubImpl.java:402) at weblogic.servlet.internal.ServletStubImpl.invokeServlet(Ljavax.servlet.ServletRequest;Ljavax.servlet.ServletResponse;)V(ServletStubImpl.java:305) at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run()Ljava.lang.Object;(WebAppServletContext.java:6350) at weblogic.security.acl.internal.AuthenticatedSubject.doAs(Lweblogic.security.subject.AbstractSubject;Ljava.security.PrivilegedAction;)Ljava.lang.Object;(AuthenticatedSubject.java:317) at weblogic.security.service.SecurityManager.runAs(Lweblogic.security.acl.internal.AuthenticatedSubject;Lweblogic.security.acl.internal.AuthenticatedSubject;Ljava.security.PrivilegedAction;)Ljava.lang.Object;(SecurityManager.java:118) at weblogic.servlet.internal.WebAppServletContext.invokeServlet(Lweblogic.servlet.internal.ServletRequestImpl;Lweblogic.servlet.internal.ServletResponseImpl;)V(WebAppServletContext.java:3635) at weblogic.servlet.internal.ServletRequestImpl.execute(Lweblogic.kernel.ExecuteThread;)V(ServletRequestImpl.java:2585) at weblogic.kernel.ExecuteThread.execute(Lweblogic.kernel.ExecuteRequest;)V(ExecuteThread.java:197) at weblogic.kernel.ExecuteThread.run()V(ExecuteThread.java:170) at java.lang.Thread.startThreadFromVM(Ljava.lang.Thread;)V(Unknown Source)
    Thanks
    Sanjeev

    Sanjeev,
    I don't have an answer for you, just a couple of suggestions.
    1. Have you tried the Sample Code?
    2. Use the [ code ] and [ /code ] tags (without the spaces, of-course) to format your stack trace ...
    like this!Good Luck,
    Avi.

Maybe you are looking for

  • Mail won't receive since i've updated to iLife 06

    i guess my subject says it all. i update iLife on one of my macs last week and since then i have not been able to receive any mail on that computer. my iBook, which i did not update the software on, has been popping mail just fine. so frustrating! ma

  • HDCP problems

    Updated Apple TV software today and am having problems with HDCP. Now I'm constantly getting this message "This content requires HDCP for playback. HDCP isn't supported by your HDMI connection." I've followed all the advice here http://support.apple.

  • Adobe Exchange for After Effects?

    The old Adobe exchange is gone. I tried to download the exchange extention, and it seems to work fine for photoshop and illustrator. It seems, howerver that there is no exchange for After Effects. What heppend to all those nice scripts and pixel bend

  • FaceTime on a mac while using iTunes

    Im using FaceTime on a mac and all the sound and the mic work perfectly but when i play music either on iTunes or through youtube my sound gets muted and the person I'm facetimeing with can't hear me.

  • EOS utility file name preference problem

    I have a EOS 7d and a Rebel  XSI for several years. I have had EOS Utility set up to put the DR_ prefix on files from the rebel and 7D_ prefix on that camera. This was done in the preferences Fine Name tab. Worked like a charm for several years. Now