(261680070) Q SYNCH-11 How do my web service methods accees EJBs and java classes?

A<SYNCH-11> How do my web service methods accees EJBs and java classes?
A<SYNCH-11> It is simple to use java classes, just do it as you would ordinarily.
The .jws file really contains a simple class so you can program with it in the same
way that you would use a regular Java class.
To use an EJB you can go and access it directly as you would with any EJB remote
client (lookup home stub, create, etc) or if the EJB is deployed to WLS you can use
a control to provide a very simple wrapper to the EJB. We will see this in detail
on Thursday in the ADVC module.

Futher information about the possibility of callback:
It may be possible for a synchronous only web service (i.e. MS .net) to even paticipant
in the callback functionality of asynchronous web services. If the client implements
the appropriate methods for the callback but listens for them on a different port
or binding than the SOAP request, then web service may be able to build a response
if the client's "callback URL" is submitted as the beginning part of a conversation.
Watch the BEA developer forum (http://dev2dev.bea.com) for more information about
this approach and other tips and techniques for building web services.
"Adam FitzGerald" <[email protected]> wrote:
>
Q<SYNCH-03> I heard that MS .net only implements synchrnonus method? If
this is true.
Does it means my async methods will only work with J2EE clients?
A<SYNCH-03> I do not know the limitations of .net but let me point out that
is very
difficult to provide asynchronous web service method invocation (this is
different
from an asynchronous web service). HTTP as a general communication protocol
is based
on a request and response paradigm so your client libraries will mostly
likely be
expecting a response even if it is empty (check the asynchronous example
from today
to see that the start method still returns an empty response). You must
distinguish
this from the notion of an asynchronous web service which is a business
operation
that occurs on the server whose return value/result is not directly associated
with
building response to the client. An asynchronous web service can (and generally
will)
be started and stopped with web service operations that are invoked synchronously.
Thus MS .net clients can still be client to WLS hosted web services.

Similar Messages

  • Calling a web service from a stand alone java class

    I need to invoke a web service from stand alone java class- Please let me know how to acheive this.
    Thanks

    Hi jazz123,
    There's an example in the [*Java Web Services Tutorial*|http://java.sun.com/webservices/docs/2.0/tutorial/doc/] : see Chapter 1: Building Web Services with JAX-WS - A Simple JAX-WS Client.

  • Running web service in session bean or Java class

    Hi All ,
    I have wsdl file published on server which i can access from WebService Navigator. I have created this file using create web service option by right clicking on session bean. I want to execute this webservice in other session bean which is in other Track. How can i achieve this?
    Thanks in advance
    Regards
    Ravi Shankar

    Hi Ravi,
    1ce the service is published ..you can execute the service by making the instance out of it or the other option is you can use jaxrpc or saajapi for dealing with SOAP api directly

  • Java Web Service Access SOP Header and SOAP Body

    Hi
    I am newbie to Web Service. I had a Java class and I converted it to Web Service(LoginWebService has methods login, register).
    Now my client is accessing my web services and calling methods login and register.
    Now I want to add few values in SOAP header in client side.
    My Questions:
    1. How can I access the SOAP headers and SOAP Body in my Server Web Service method implementations?
    2. Is there any API that I have to use?
    3. Does anyone have any sample code for these things?
    Thanks

    Seems like the exception handling logic is not sound - but your posting is difficult to read. Please use the *\* tag to mark and end source code snippets.
    Have a look at the sample code in {message:id=4205205} - does a SOAP call using PL/SQL only.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               

  • Web Service from an EJB with an Java Bean: createSAXParseException

    Hi I am using Together to develop Web Services from an EJB+a Java Bean.
    I used the Trader Example, which includes an EJB + a Java Bean.
    Running the utility "ant" I get the following exception:
    "C:\bea\jdk131\jre\lib\rt.jar;C:\bea\jdk131\lib\rt.jar;c:\bea\wlserver6.1\lib\weblogic.jar;C:\Programme\Together5.5\lib\javax.jar;;"
    org.apache.tools.ant.Main
    WLS61: Error at line:6 col:12 ':' Already got a ':' in name
    WLS61:      at weblogic.xml.babel.baseparser.SAXElementFactory.createSAXParseException(SAXElementFactory.java:60)
    WLS61:      at weblogic.xml.babel.parsers.StreamParser.<init>(StreamParser.java:45)
    WLS61:      at weblogic.xml.babel.parsers.BabelXMLEventStream.startDocument(BabelXMLEventStream.java:28)
    WLS61:      at weblogic.soap.WebServiceProxy.getXMLStream(WebServiceProxy.java:600)
    WLS61:      at weblogic.soap.WebServiceProxy.getXMLStream(WebServiceProxy.java:577)
    WLS61:      at weblogic.soap.WebServiceProxy.getServiceFrom(WebServiceProxy.java:225)
    WLS61:      at weblogic.ant.taskdefs.ejb.WSGenHelper.writeClientJar(WSGenHelper.java:1125)
    WLS61:      at weblogic.ant.taskdefs.ejb.WSGenHelper.writeWSDL(WSGenHelper.java:1285)
    WLS61:      at weblogic.ant.taskdefs.ejb.WSGenHelper.saveDescriptors(WSGenHelper.java:1418)
    WLS61:      at weblogic.ant.taskdefs.ejb.WSGenHelper.output(WSGenHelper.java:1486)
    WLS61:      at weblogic.ant.taskdefs.ejb.WSGenHelper.doit(WSGenHelper.java:1520)
    WLS61:      at weblogic.ant.taskdefs.ejb.WSGen.execute(WSGen.java:93)
    WLS61:      at org.apache.tools.ant.Target.execute(Target.java:153)
    WLS61:      at org.apache.tools.ant.Project.runTarget(Project.java:898)
    WLS61:      at org.apache.tools.ant.Project.executeTarget(Project.java:536)
    WLS61:      at org.apache.tools.ant.Project.executeTargets(Project.java:510)
    WLS61:      at org.apache.tools.ant.Main.runBuild(Main.java:421)
    WLS61:      at org.apache.tools.ant.Main.main(Main.java:149)
    WLS61: Buildfile: build.xml
    WLS61:
    WLS61: wsgen:
    WLS61:
    WLS61: BUILD SUCCESSFUL
    WLS61:
    WLS61: Total time: 7 seconds
    WLS61: Finished with 19 Errors, 0 Warnings.

    Hi,
    try these links
    http://www.baigzeeshan.com/2010/11/creating-webservice-from-java-class-in.html
    http://www.baigzeeshan.com/2010/11/calling-webservice-in-oracle-adf-by.html
    Hope it help,
    Zeeshan

  • Strange about invoking web service method declared “string  method(void)”;

    Dear forum readers
    I’m experimenting with OpenESB and web services. I’ve create a simple web service using NetBeans 6.1. The method consists of a single method, getTime, that is declared:
    String getTime()
    My current experiment is to invoke this method from a BPEL-process using the “Invoke” process object. The strange thing is that it seems like I have to provide a “dummy” inbound variable from the BPEL-designer even though the method doesn’t take any parameters. I include a snippet from the BPEL process below which includes the section where I set the dummy GetTimeIn-variable and then invokes the WS method getTime().
    <assign name="Assign2">
    <copy>
    <from>'DummyValue'</from>
    <to variable="GetTimeIn" part="parameters"/>
    </copy>
    </assign>
    <invoke name="Invoke1" partnerLink="PartnerLink1" operation="getTime" xmlns:tns="http://ws/" portType="tns:MyWebService" outputVariable="GetTimeOut" inputVariable="GetTimeIn"/>
    If I don’t initiate the dummy variable or remove it altogether, I can’t successfully call the method. If I include the dummy in-parameter the call works just fine and I get back the current time as a string.
    I must admit that I’m still a rookie to web services, especially when calling them from a BPEL-process, so it may be a very trivial reason for this behaviour. Anyway, any help on this matter would be greatly appreciated.
    Regards, Ola

    Thank you both for the response. Regarding Rennay’s posting I have an additional question. When I create a new web service I don't have the "Document Literal" option nor a "Concrete Configuration" tab. I've created the web service using the "Web Application" project type and then adding a web service using the "Web Service..." wizard. This wizard doesn't have the configuration properties you mention, but if I add a WSDL-file to a BPEL-project the wizard has the properties you mention.
    Is it possible to create a web service, programmed as an ordinary Java-class, from an existing WSDL-file? In that case it may solve the problem with the “Document Literal” property. Currently I don’t know any other way to create such a web-service other than the through the web service wizard in a web application project. Of course, it’s possible to craft it from scratch but that’s to much work to be practical.
    Regards, Ola

  • How to add a new filter in an existing web service method (BIWS - WEBI document)

    Hello Experts, we have 7 web service query's connected to a dashboard. Basically it is one WSDL URL and 7 Get Methods...Web service queries are BIWS (via WEBI document instance). There are filters setup for each of these web service methods.
    Recently there was a request to add 2 new fields to the webi document and also the 2 fields need to be included as filters in the 7 methods. I know there is an option to edit the method, but when i edit the method, i cannot find the 2 new fields in list to set as filters.Can anybody help me understand how to add filters to an existiing web service method? I do not want to delete the method and republish the block as web service.
    Any help will be great and points rewarded.
    Thank you
    Ann

    Hi Ann,
    The reason you are not able to see any of the new columns as a option to select in your web service block is because when you have published that block, they were not present. Add these two new objects in your block and publish it again. You will be prompted for duplication content. Select the highlighted block for duplicate and now you can see the new added objects in the filter option. Update and this will overwrite your published block. Please note, web services do appear to behave weirdly when used with dashboards so I request you to please try it in a separate test report first.
    Hope that helps.
    Regards,
    Tanisha

  • How to call Web Services (with javascript) in a view load event ?

    Hello to the expert community,
    I'm looking for a piece of javascript code allowing to call Web Services in a view load event ?
    Any ideas will be really appreciated.
    Regards.
    Have a nice week.

    Thank you for your answer, dongmei.
    It seems that the MethodResultTableDataProvider does not return the response of the web service as a value field if the WSDL contains only one result element.
    E.g. from WSDL of the USWeather Web Service which returns theGetWeatherReportResult string:
    <?xml version="1.0" encoding="utf-8"?>
    <wsdl:definitions xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns="http://www.webserviceX.NET" xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" targetNamespace="http://www.webserviceX.NET" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
      <wsdl:types>
        <s:schema elementFormDefault="qualified" targetNamespace="http://www.webserviceX.NET">
          <s:element name="GetWeatherReport">
            <s:complexType>
              <s:sequence>
                <s:element minOccurs="0" maxOccurs="1" name="ZipCode" type="s:string" />
              </s:sequence>
            </s:complexType>
          </s:element>
          <s:element name="GetWeatherReportResponse">
            <s:complexType>
              <s:sequence>
                <s:element minOccurs="0" maxOccurs="1" name="GetWeatherReportResult" type="s:string" />
              </s:sequence>
            </s:complexType>
          </s:element>
          <s:element name="string" nillable="true" type="s:string" />
        </s:schema>If I drag the web service method on the page and I should be able to select the response value in the Bind to Data dialog box. But there is no value field. Value fields only occur if the web service returns more than one value.
    The question is how can I get the response GetWeatherReportResult from the service.

  • How to create Web Service based on PI WSDL message

    Hi all,
    we have following scenario:
    Within PI (version 7.1) we set up a message type and inbound service interface. This service interface should send the PI message to a web service running on a SAP J2EE (version 7.01). As the PI message is sent as WSDL I thought it should be easy to build a web service on the SAP J2EE based on this WSDL from PI.
    Unfortunately, I have problems creating the Web Service.
    For my current project we integrated the NWDI to the SAP NetWeaver Developer Studio and I'm required to add the Web Service to an existing DC (Development Component) within the NWDI.
    What I tried so far is:
    - I created a Deployable Proxy Project and within this I created a Client Proxy Definition based on the WSDL from the PI. But I can't add this Proxy to the DCs of the NWDI and I don't know how to implement my own coding here in order execute specific functions.
    - I created a new class within the NWDI DC and a public method. Based on this I created a Virtual Interface and a Web Service Definition (WSD). Then I added this to a Web Service Deployment Descriptor. I uploaded this to the SAP J2EE. But I'm not able to access this and I don't know hoe to assign the WSDL here.
    I also tried here to create a client proxy based on this WSD as I thought I might assign the WSDL here. But I don't see the WSD in the list of Web Services uploaded to the SAP J2EE...
    Can you please advice me how to create a Web Service in such an environment?
    regards
    René Jurmann

    Hi Tahir,
    sorry that you needed to wait this long - but this is how I created the web service:
    The steps on how to create the web service in NetWeaver Developer studio are nearly the same as described in the blog http://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/5838. [original link is broken] [original link is broken] [original link is broken]
    Some steps I just skipped and some others I added. Some of the steps I did the way I described it as I needed to connect the web service with the SAP PI.
    Prerequisites:
    Add Java Perspective and J2EE Development Perspective to the open perspectives.
    Within "Window - Preferences - Web Services" check "Soap extensions visible in the virtual interface editor"
    The SDM of the corresponding SAP J2EE is configured within "Window - Preferences"
    Create a Development Component (DC) with type "J2EE -> EJB Module"
    The business logic of the web service will be implemented in an Enterprise Java Bean (EJB). So first the EJB component must be created:
         Choose "File -> New -> Other"
         In opening PopUp choose "Development Component -> Development Component Project"
         Select the Software Component for which you want to add the DC (e.g. "Local Development -> MyComponents")
         Choose now vendor, name and type:
              vendor is an alpha-numeric string of 20 characters starting with a letter - all in lower case
              name is an alpha-numeric string starting with a letter - all in lower case
              vendor and name concatenated must not be longer then 40 characters
              the name can be separated into different part using "/" as separator
              each part of the name must not be longer than 8 characters
              the type is "J2EE - EJB Module"
              you can specify a Caption as general description for the web service
    Create new EJB
    To create the EJB itself:
         In J2EE DC Explorer of J2EE Development Perspective expand new DC and right-click on folder "ejbModule"
         Choose "New - EJB" with following details:
              EJB Name: <name as for PI service Interface to be created - starting in upper case>
              EJB Project: <pre selected>
              Bean Type: Stateless Session Bean
              Default EJB Package: <corresponds to namespace in PI>
              generate default interfaces: Checked
    Regarding the "Default EJB Package" this should be created according the namespace in PI for which all PI objects will be created. This only applies if you have some naming conventions here.
    Example:
    Namespace in PI is:  http://company.net/pi/SOFTWARE_COMP/Application
    The corresponding package then is: net.company.pi.software_comp.application
    Implement coding for web service
    As the web service will be called via PI some transfer variables will be submitted. Most likely, those variables will not be standard type (e.g. String) but a complex type. Those types must be generated as Java classes. Below an example of a complex type I needed:
    Data Type
    net.company.pi.software_comp.application.types.MessageProcessingInformation
    Structure:
         Element name          Element type
         sendingSystemID          String
         interfaceID               String
         businessProcessVariantCode     String
         testIndicator               Boolean
    For every element described a public "get", "set" and "has" method must be created in the corresponding Java class:
    package net.company.pi.software_comp.application.types;
    import java.io.Serializable;
    public class MessageProcessingInformation implements Serializable {
         protected String sendingSystemID;
         protected String interfaceID;
         protected String businessProcessVariantCode;
         protected Boolean testIndicator;
         public String getSendingSystemID() {
              return sendingSystemID;
         public void setSendingSystemID(String value) {
              this.sendingSystemID = value;
         public boolean hasSendingSystemID() {
              if(sendingSystemID != null && !sendingSystemID.equals("")){
                   return true;
              return false;
    All Java classes representing complex types and all classes referenced here (used for sub-types) must implement java.io.Serializable. Java standard types which do not implement this class must not be used as sub-types.
    As soon as all data types are declared the real business logic can be implemented:
         In J2EE DC Explorer of J2EE Development Perspective expand DC - "ejb-jar.xml" - <Name> and double click on "ejbCreate"
         In detail view select folder "Business Methods" and click "Add"
         choose name of business method - this should be the same as the PI message type used for the service interface - starting lower case
         return type should be "void"
         add needed parameters fully qualified - including package (as specified in PI and created previously in DC)
         you can mark certain parameters as array if necessary
    Remark:
    It might be that after saving you get an error. This might be as the package name of one component is copied to the corresponding Java class at the very beginning (before the package declaration within the Java class). Simply delete the string here.
    It also might be, that the new business method is only defined in the remote interface class but not in the bean class. Just create an according method in the bean class.
    Within the newly created business method within the bean class you can now implement the business logic.
    Create a DC with type "J2EE -> Enterprise Application"
    In order to create the "real" web service and deploy it to the J2EE an Enterprise Application project has to be created. So create a new DC as for the EJB Module but choose as type "J2EE -> Enterprise Application".
    After the DC is created right click on the EJB DC and choose "Add to EAR Project". Choose the new DC.
    Create web service for EJB
    As soon as you implemented the business logic you can create the "real" web service. Therefore:
         Right click on the EJB name below "ejb-jar.xml"
         Choose "New - Web Service"
         Choose proper "Web Service Name" and "Configuration Name" (probably oriented at the EJB name)
         Copy the URL of the web service - you'll need it later for PI configuration
         on the second next screen use the same name for "Virtual Interface" and "Web Service Definition" (the name should be the name of the "Endpoint")
         the "EAR Project" should be preselected
    Unfortunately, the web service can't be used in its current configuration to be accessed by PI. Therefore the Virtual Interface must be changed. To do so, expand folder "Virtual Interfaces" and double click the virtual interface created.
    Within the detail view expand in tabs "Mapping" and "Types" the complete folder structure. For any "SOAP Extension" where a namespace can be defined use as namespace the corresponding namespace in PI (e.g. http://corpintra.net/pi/CBFC_GLOBAL_SAP_APPL/BillerDirect) but do not change any "Soap Extension" of a standard Java type. (if you don't have any naming convetions for namespaces in PI you can leave the SOAP Extension here. But then the namespace in PI should be set accordingly.)
    Probably it can be necessary on top level "Soap Extensions" in tab "Mapping" to leave "Use Namespaces for Parameters" unchecked. For some of my web services this parameter must be checked for others not - just try.
    If you can define a "New Name", "Local Name" or "Item Label" for a Soap Extension then use a name with starting upper case letter. (For Java Naming conventions most of the data type names will start with lower case letters.) Especially the method name must be renamed this way in order to stick to the PI namings.
    As a last point to change here check in tab "Mapping" all "Incoming Parameters" which you specified as array. Use for those as "New Name" a different name - do not just simply change from lower case to upper case. This is necessary as on PI we need to create two levels although here only one is specified.
    For any own sub-type declared as array the name within the coding should also differ from the corresponding Java Class name the type refers to.
    If all this is done you can deploy the web service to the J2EE:
         right click on "Enterprise Application" DC and choose "Development Component - Build..." and build all corresponding components
         right click on "Enterprise Application" DC and choose "Development Component - Deploy"
    Test the new web service via <J2EE URL>/wsnavigator/enterwsdl.html
    Create PI interface
    After the web service is created successfully the PI integration can be started.
    Therefore, within the Enterprise Services Builder create a data type according to the web service definition. All components defined on top-level for this data type should be declared as incoming parameter for the web service business method. Therefore it could be necessary to create some sub data types on PI first and add those to the "master" data type.
    Ensure that the names of the components correspond to the names defined in the web service (see virtual interface here). Those names must exactly be the same - including lower/upper case. Also take care for the ordering of the components.
    In case you need to include arrays following applies:
    The upper level is of occurrence "1:1". This has only one sub-entry with occurrence "1:n". The names for upper and sub-level must not equal.
    Based on the data type a message type is created. The name of the message type must be exactly the same as the name of the web service business method. (Hint: the name of the web service business method was most likely changed in the virtual interface. Then this name must correspond to the message type name.) Based on the message type an asynchronous inbound interface is to be created (which will be referred in the Integration Directory). The operation name for this interface (left panel) should be the same as the name for the web service business method.
    Create PI mappings and routings
    How to map (message mapping and operation mapping) from source to the web service message I wont explain here as this depends on the source message. The only important things here are:
         When creating the SOAP communication channel within the Integration Builder the "Target URL" is:
              <J2EE URL>/<Access URL as specified in web service creation>?wsdl&style=document
         The soap action is the name of the web service business method.
         Most likely the web service needs authentication to be executed.

  • How to call web service using J2SE 1.3?

    Dear All,
    i have developed a web service by jdev 10.1.3 (JAX-RPC with web service security
    enabled).
    i generate the ws proxy (jdev 10.1.3) and run it with wsclient_extended.jar (required JDK 1.4.1 or above??).
    but one of my client say he has to use J2SE 1.3.x (as OS=AIX 4.3 that without J2SE
    1.4.x ), could anyone tell me how can generate ws proxy (with supporting
    library) for jdk 1.3.x?
    if oracle don't have such library / tools, any third party tools / library available?
    thank you.
    lsp

    I'm found answer:
    Java and SAP Portal blog: How to call web service from java code example

  • How to call web services in WEB DYNPRO ABAP

    Hi ABAPER'S,
    Please let me know how to call web services in web dynpro.
    Thanks,
    Sandy.

    Hi Sandy,
    Please check this blog..
    /people/riyaz.sayyad/blog/2006/05/08/consuming-xi-web-services-using-web-dynpro-150-part-ii
    also cehck this...
    call the webservices in webdynpro ABAP.
    calling webservice in webdynpro component
    Re: Web Services in WDA.
    Cheers,
    Kris.
    Edited by: kissnas on May 24, 2011 11:37 AM

  • How to consume Web Service in ABAP WebDynpro

    Hi
    I want to know the entire details about how to consume Web Service in WebDynpro application.
    regards
    Piyush

    hI piyush,
    Have a look at this Blog by Thomas Jung.
    /people/thomas.jung/blog/2007/12/17/consuming-services-with-abap
    on consuming webservies thru webdynpro ABAP
    Cheers
    Mary

  • How to develop web services in OSB using Eclipse OEPE

    Hello,
    We have some live web services developed in SOA ESB using JDeveloper.
    We are now forced to migrate to OSB because of the reason that sometime next year ESB will be de-supported by Oracle.
    I am looking for some good documentation which explains how to create web services in OSB using Eclipse. Please help.
    I am installed Web logic + OEPE + OSB in my local machine already. All I need is to know how to start development.
    Thanks,

    Hi,
    You can start with this:
    http://docs.oracle.com/cd/E17904_01/doc.1111/e15866/tasks.htm
    Cheers,
    Vlad

  • How to create Web services to communicate InfoPath forms to Share Point lists ?

    How to create Web services to communicate InfoPath forms to Share Point lists ?

    Hi,  
     As per your posting and my understanding, you wanted to communicate your infopath with SharePoint list/library. Please refer the below link(s) which may help you to solve your issue.
    http://blogs.msdn.com/b/russmax/archive/2012/08/17/want-to-call-sharepoint-2010-web-services-within-browser-based-infopath-2010-forms.aspx
    http://jaliyaudagedara.blogspot.in/2011/03/submitting-data-to-sharepoint-2010-list.html
    or 
    http://blogs.msdn.com/b/infopath/archive/2007/03/26/submitting-to-a-sharepoint-list.aspx
    If you need more help please let usknow
    Sekar - Our life is short, so help others to grow
    Whenever you see a reply and if you think is helpful, click "Vote As Helpful"! And whenever you
    see a reply being an answer to the question of the thread, click "Mark As Answer

  • How to create web services in java?

    Hi,
    I am a newbie to java webservices. Can anybody tell me how to create web services in java?
    Any tutorial link or step by step doc would be useful.
    Appreciate your help in this regard.
    Thanks in advance.
    naymo01.

    Creating web services in Java appears to depend highly upon the server you intend to use.
    Here's a tutorial: http://java.sun.com/webservices/docs/1.6/tutorial/doc/index.html

Maybe you are looking for