EJB 3.0 Web Service

Hi!
I tried to create a Web Service (through wizard) from existing EJB 3.0 Session Bean. Basicly, the wizard just added @WebService annotation to my existing code...
Now, the problem is that simple methods like:
@WebMethod
public String helloWorld() {
  return "Hello World!";
}works fine. Expect that if I use Local Interface for this Session Bean, the WSDL shows two helloWorld methods (and one is with exclamation icon showing some kind of problem with multiple methods with same name - but it is not true, I have one and the other one is just interface).
But, when I want to expose my real business service methods like:
@WebMethod
public List<Employee> getEmployees() {
  return (List<Employee>)q.getResultList();
}it doesn't work (the Web Service create wizard finishes ok but service doesn't work)! When I try "Test Web Service" (from Session Bean context-menu) or "Show WSDL for Web Service annotations" the error is thrown (Null pointer exception in WSDL).
Basically, it looks to me that Web Service cannot use EJB Entities as parameters or results. Is this correct? I saw some examples on EJB 3.0 web services and there are entities routinely used as both input and output parameters.
Can someone, please, explain me what I'm doing wrong here.
Thanks in advance,
Pedja
P.S. In Web Service wizard, only SOAP 1.1 is enabled. How can I choose SOAP 1.2? And what EJB 3.0 bindings are in same context (SOAP 1.2 or EJB 3.0 bindings?)?

Hi Frank,
Most of those problems are resolved (NPE was due to Timestamp field, and two methods with the same name in WSDL because of not choosing to generate SEI in wizard, so the generated WSDL had one method from the Session bean and the other from it's Local interface). But, the errors should DEFINITELY be more descriptive.
Does the wizard work correctly? I noticed plenty of "bug like" details. For example, if I choose to create asynchronous web service, later when I go to Properties the "Asynchronous Web Service" checkbox isn't checked. Also, the @WebMethod annotations are sometimes generated and sometimes not (even if the method is checked to be exposed).
I am also getting these exceptions when I create a proxy for the asynchronous web service (I selected "Generate asynchronous methods for all operations"), could be I'm doing something wrong:
WARNING: The parameter/return type "java.util.concurrent.Future" in the method
"public abstract java.util.concurrent.Future<?>
view.proxy.MyAsyncWebService1.queryDepartmentFindAllAsync(javax.xml.ws.AsyncHandler<view.proxy.types.QueryDepartmentFindAllResponse>)"
is not supported. This method will not be exposed.
WARNING: The parameter/return type "java.util.concurrent.Future" in the method
"public abstract java.util.concurrent.Future<?>
view.proxy.MyAsyncWebService1.returnEmployeeAsync(javax.xml.ws.AsyncHandler<view.proxy.types.ReturnEmployeeResponse>)"
is not supported. This method will not be exposed.
Exception in thread "main" java.lang.NullPointerException
     at com.sun.xml.bind.v2.runtime.Coordinator.popCoordinator(Coordinator.java:122)
     at com.sun.xml.bind.v2.runtime.XMLSerializer.close(XMLSerializer.java:823)
     at com.sun.xml.bind.v2.runtime.MarshallerImpl.write(MarshallerImpl.java:310)
     at com.sun.xml.bind.v2.runtime.MarshallerImpl.marshal(MarshallerImpl.java:230)
     at javax.xml.bind.helpers.AbstractMarshallerImpl.marshal(AbstractMarshallerImpl.java:87)
     at oracle.j2ee.ws.common.databinding.runtime.jaxb20.Jaxb20Serializer.serialize(Jaxb20Serializer.java:218)
     at oracle.j2ee.ws.common.databinding.runtime.SerializerBase.serializeSequenceWrapper(SerializerBase.java:80)
     at oracle.j2ee.ws.client.jaxws.SoapRequestorSerializer.populateSoapMessage(SoapRequestorSerializer.java:89)
     at oracle.j2ee.ws.client.jaxws.WsClientProxyInvocationHandler.invoke(WsClientProxyInvocationHandler.java:184)
     at $Proxy11.returnEmployee(Unknown Source)
     at MyAsyncWebService1SoapHttpPortClient.main(MyAsyncWebService1SoapHttpPortClient.java:22)
Process exited with exit code 1.Can anyone throw some light on this?
Thanks,
Pedja

Similar Messages

  • Article written on EJB 3.0 , web services develop n deploy on JBOSS AS

    Dear Friends
    I would like to announce the article written on EJB 3.0 , web services development and deployment on JBOSS AS at the following location http://jamessmithjava.100webcustomers.com/index.html , I think this would help developers to increase interest on JBoss as well as EJBs
    Regards
    James
    [email protected]
    http://tech.groups.yahoo.com/group/james_smithjava

    Dear Friends
    I would like to announce the article written on EJB 3.0 , web services development and deployment on JBOSS AS at the following location http://jamessmithjava.100webcustomers.com/index.html , I think this would help developers to increase interest on JBoss as well as EJBs
    Regards
    James
    [email protected]
    http://tech.groups.yahoo.com/group/james_smithjava

  • EJB exposed as web services

    I am very new to web services.
    I understand that a Stateless bean can be exposed using RPC style web services.
    But I want to know if a stateless session bean can be accessed by EJB client and Web service client (java or non-java) simultaneously. ?
    i.e. 1. Can same bean serve two types of client simultaneously.(java and non-java client)
    2. Does this web service accept complex java object as input parameters. and how?

    Hi Patrik,
    > Exception raised from invocation of public void com.sap.sia.serviceMonitor.ServiceMonitorBean.initPostConstruct() method on bean instance com.sap.sia.serviceMonitor.ServiceMonitorBean@5a8ab489 ... ; nested exception is: java.lang.NullPointerException
    The NPE occurs in the bean code, in the initPostConstruct() method or some other method it calls. Unfortunately, its stack trace is not available above, but you should be able to find it in the defaultTrace file.
    HTH!
    \-- Vladimir

  • Overloaded ejb methods as web service

    I implemented an ejb as a web service. The ejb has 4 overloaded methods. When I looked at the generated wsdl, only one signature was exposed as a web service. Is there a way to make all 4 overloaded methods available to the web service ?

    Hi Sandy,
    The WLS 6.1 docs clear states that method overloading is not supported with WebLogic
    Web Services:
    http://e-docs.bea.com/wls/docs61/webServices/develop.html#1034539
    However, you might be able to simulate something similar by passing a org.w3c.dom.DocumentFragment
    to the method. For example,
    public org.w3c.dom.DocumentFragment overloadedMethod(org.w3c.dom.DocumentFragment
    variableArgs)
    This allows you to use the flexibility of XML to provide various input and output
    parameters for the method. In the method's implementation, you determine which
    arguments have been passed by parsing the variableArgs node. For quasi type safety,
    you could use the xsi:type attribute to associate data types with fragment elements.
    Note that you will need to use literal XML encoding to do this.
    HTH,
    Mike Wooten
    Sandy <[email protected]> wrote:
    I implemented an ejb as a web service. The ejb has 4 overloaded methods.
    When I looked at the generated wsdl, only one signature was exposed
    as a web service. Is there a way to make all 4 overloaded methods available
    to the web service ?

  • EJB 3.0 Web service fail to deploy when ws result is on a diff lib project

    I'm trying to develop a web service using EJB 3.0 with annotations. I'm using Netbeans 5.5 EE.
    The web service should returns an object declared on another Netbeans project.
    ( a library.jar).
    Netbeans compiles everything alright, although when I deploy the application into Glassfish it complains with an error saying that wsdl file for the web service wasn't found.
    If I move the returning object class into the same ejb project as the web service it works fine.
    So, can anybody explain what is happening ? Is it a bug of Netbeans, Glassfish, EJB 3.0, JAX-WS or newbie programmer ?

    I'm trying to develop a web service using EJB 3.0 with annotations. I'm using Netbeans 5.5 EE.
    The web service should returns an object declared on another Netbeans project.
    ( a library.jar).
    Netbeans compiles everything alright, although when I deploy the application into Glassfish it complains with an error saying that wsdl file for the web service wasn't found.
    If I move the returning object class into the same ejb project as the web service it works fine.
    So, can anybody explain what is happening ? Is it a bug of Netbeans, Glassfish, EJB 3.0, JAX-WS or newbie programmer ?

  • EJB 3.0 Web Services - Custom Request/Response Wrappers

    Hi All,
    I'm having an issue using Document Literal Wrapped web services with EJB 3.0. I have declared a service endpoint interface(SEI) in one jar file, along with custom wrapper classes for the requests and responses. The wrappers have the XML content customized a bit (different type names, etc.), but should be compatible with the @RequestWrapper and @ResponseWrapper annotations. The implementation is in an EJB jar file that includes the jar with the SEI in it. My issue is that the wrapper classes I declared are not being used, and instead new ones are being generated. Is it even possible for it to use supplied wrappers, or does it have to generate its own (and if so, is it in any way possible to specify the XML types it generates). I've tested this with wsgen, and I get the same result (new wrapper classes, the ones I supplied ignored) as when I deploy it. Here is the output from wsgen:
    Note: ap round: 1
    [ProcessedMethods Interface: com.company.IngestorService]
    [should process method: ingestProductDirectory hasWebMethods: false ]
    [endpointReferencesInterface: true]
    [declaring class has WebSevice: true]
    [returning: true]
    [WrapperGen - method: ingestProductDirectory(java.lang.String,java.lang.String)]
    [method.getDeclaringType(): com.company.IngestorService]
    [requestWrapper: com.company.IngestProductDirectoryRequest]
    [should process method: datatypes hasWebMethods: false ]
    [endpointReferencesInterface: true]
    [declaring class has WebSevice: true]
    [returning: true]
    [WrapperGen - method: datatypes()]
    [method.getDeclaringType(): com.company.IngestorService]
    [requestWrapper: com.company.DatatypesRequest]
    com\company\DatatypesRequest.java
    com\company\DatatypesResponse.java
    com\company\IngestProductDirectoryRequest.java
    com\company\IngestProductDirectoryResponse.java
    Note: ap round: 2
    I note that is says "hasWebMethods: false". Could that be an issue? Could it not be seeing my methods as web methods. The SEI and the implementation class are in different jar files and different packages. Could this be an issue?
    Here is the web service interface:
    @WebService(
    name = "IngestorService",
    targetNamespace = "http://company.com/"
    @SOAPBinding(
    style = SOAPBinding.Style.DOCUMENT,
    parameterStyle = SOAPBinding.ParameterStyle.WRAPPED
    public interface IngestorService
    @WebMethod(
    action = "http://company.com/ingestProductDirectory"
    @WebResult(
    name = "response",
    targetNamespace = ""
    @RequestWrapper(
    className = "com.company.IngestProductDirectoryRequest"
    @ResponseWrapper(
    className = "com.company.IngestProductDirectoryResponse"
    public void ingestProductDirectory(
    @WebParam(
    name = "sourceDirectory",
    targetNamespace = ""
    String sourceDirectory,
    @WebParam(
    name = "datatype",
    targetNamespace = ""
    String datatype);
    @WebMethod(
    operationName = "datatypes",
    action = "http://company.com/datatypes"
    @WebResult(
    name = "datatypes",
    targetNamespace = ""
    @RequestWrapper(
    localName = "DatatypesRequest",
    className = "com.company.DatatypesRequest"
    @ResponseWrapper(
    localName = "DatatypesResponse",
    className = "com.company.DatatypesResponse"
    public List datatypes();
    Here are the datatype request and response wrappers:
    @XmlAccessorType(XmlAccessType.FIELD)
    @XmlType(
    name = "DatatypesRequest"
    public class DatatypesRequest
    DatatypesResponse.java:
    @XmlAccessorType(XmlAccessType.PROPERTY)
    @XmlType(
    name = "DatatypesResponse",
    propOrder =
    "datatypes"
    public class DatatypesResponse
    private List<String> _datatypes;
    @XmlElementWrapper(
    name = "datatypes",
    required = true,
    nillable = false
    @XmlElement(
    name = "datatype",
    required = false
    public List<String> getDatatypes() {
    if (_datatypes == null) {
    _datatypes = new ArrayList<String>();
    return _datatypes;
    Any help would be greatly appreciated. Thanks.

    I have been trying to do the same... and it seems to be impossible... (or completly undocumented).
    It seems that OC4J 10.3.x is ... no exactly fully EJB3/J2EE5 compliant...
    Or something like that:
    http://blogs.infosupport.com/berte/archive/2005/09/09/1117.aspx
    IMHO... OC4J 10.3.x is still a preview for OC4J 11...
    OC4J 10.3.x is kind of a J2EE4/5 hybrid... if you start digging in the documentation, you will find out that the only
    way to have WS-Security is going back to J2EE4 http://www.oracle.com/technology/products/jdev/howtos/1013/wssecure/10gwssecurity_howto.html
    (of course, I hope you probe me wrong)
    Message was edited by:
    luxspes

  • EJB 3.0 web services security (WS-Security)

    How do I enable WS-Security on EJB 3.0 based web services? Since only the @WebService annotation is required to expose a EJB 3.0 bean as a web service, how do I configure options that were previously in oracle-webservices.xml under the <security> tag?

    I have been trying to do the same... and it seems to be impossible... (or completly undocumented).
    It seems that OC4J 10.3.x is ... no exactly fully EJB3/J2EE5 compliant...
    Or something like that:
    http://blogs.infosupport.com/berte/archive/2005/09/09/1117.aspx
    IMHO... OC4J 10.3.x is still a preview for OC4J 11...
    OC4J 10.3.x is kind of a J2EE4/5 hybrid... if you start digging in the documentation, you will find out that the only
    way to have WS-Security is going back to J2EE4 http://www.oracle.com/technology/products/jdev/howtos/1013/wssecure/10gwssecurity_howto.html
    (of course, I hope you probe me wrong)
    Message was edited by:
    luxspes

  • Error during JNDI lookup Accessing Remote EJB (access to web service restricted using declarative security model)

    Hello everyone,
    I developed a Web Service prototype accessing remote EJB using the EJB
    control with special syntax in the jndi-name attribute: @jws:ejb
    home-jndi-name="t3://10.10.245.70:7131/AccountDelegatorEJB"
    Everything works fine, but I get an error when I restrict access to my web
    service with a declarative security model by implementing steps provided in
    help doc:
    - Define the web resource you wish to protect
    - Define which security role is required to access the web resource
    - Define which users are granted the required security role
    - Configure WebLogic Server security for my web service(Compatibility
    Security/Users)
    I launch the service by entering the address in a web browser. When prompted
    to accept the digital certificate, click Yes, when prompted for network
    authentication information, enter username and password, navigate to the
    Test Form tab of Test View, invoke the method by clicking the button and I
    get the following exception:
    <error>
    <faultcode>JWSError</faultcode>
    <faultstring>Error during JNDI lookup from
    jndi:t3://10.10.245.70:7131/AccountDelegatorEJB[Lookup failed for
    name:t3://10.10.245.70:7131/AccountDelegatorEJB]</faultstring>
    <detail>
    <jwErrorDetail> weblogic.jws.control.ControlException: Error during JNDI
    lookup from jndi:t3://10.10.245.70:7131/AccountDelegatorEJB[Lookup failed
    for name:t3://10.10.245.70:7131/AccountDelegatorEJB] at
    weblogic.knex.control.EJBControlImpl.acquireResources(EJBControlImpl.java:27
    8) at
    weblogic.knex.context.JwsInternalContext.acquireResources(JwsInternalContext
    .java:220) at
    weblogic.knex.control.ControlHandler.invoke(ControlHandler.java:260) at
    ibas.AccountControl.getTransactionHistory(AccountControl.ctrl) at
    ibas.GetSecure.retrieveVisaHistoryTxn(GetSecure.jws:64) </jwErrorDetail>
    </detail>
    </error>
    I have a simple Hello method as well in my WebService (which is also
    restricted) and it works fine, but remote EJB access doesn't. I tested my
    prototype on Weblogic 7.2 and 8.1 platforms - same result.
    Is that a bug or I am missing some additional configuration in order to get
    that working. Has anyone seen similar behavior? Is there a known resolution?
    Or a suggested way to work around the problem?
    Thank you.
    Andre

    Andre,
    It would be best if this issue is handled as an Eval Support case. Please
    BEA Customer Support at http://support.beasys.com along with the required
    files, and request that an Eval support case be created for this issue.
    Thanks
    Raj Alagumalai
    WebLogic Workshop Support
    "Andre Shergin" <[email protected]> wrote in message
    news:[email protected]...
    Anurag,
    I removed "t3", still get an error but a different one (Unable to create
    InitialContext:null):
    <error>
    <faultcode>JWSError</faultcode>
    <faultstring>Error during JNDI lookup from
    jndi://secuser1:[email protected]:7131/AccountDelegatorEJB[Unable to
    create InitialContext:null]</faultstring>
    <detail>
    <jwErrorDetail> weblogic.jws.control.ControlException: Error during JNDI
    lookup from
    jndi://secuser1:[email protected]:7131/AccountDelegatorEJB[Unable to
    create InitialContext:null] at
    weblogic.knex.control.EJBControlImpl.acquireResources(EJBControlImpl.java:27
    8) at
    weblogic.knex.context.JwsInternalContext.acquireResources(JwsInternalContext
    .java:220) at
    weblogic.knex.control.ControlHandler.invoke(ControlHandler.java:260) at
    ibas.AccountControl.getTransactionHistory(AccountControl.ctrl) at
    ibas.GetVisaHistoryTransactions.getVisaHistoryTxn(GetVisaHistoryTransactions
    .jws:67) </jwErrorDetail>
    </detail>
    </error>
    Note: inter-domain communication is configured properly. The Web Service to
    remote EJB works fine without a declarative security.
    Any other ideas?
    Thank you for your help.
    Andre
    "Anurag" <[email protected]> wrote in message
    news:[email protected]...
    Andre,
    It seems you are using the URL
    jndi:t3://secuser1:[email protected]:7131/AccountDelegatorEJB
    whereas you should not be specifying the "t3:" protocol.
    The URL should be like
    jndi://secuser1:[email protected]:7131/AccountDelegatorEJB
    Please do let me know if you see any issues with this.
    Note that this will only allow you to access remote EJBs in the same WLS
    domain. For accessing EJBs on another domain, you need to configure
    inter-domain communication by
    following a few simple steps as mentioned at
    http://e-docs.bea.com/wls/docs81/ConsoleHelp/jta.html#1106135. This link has
    been provided in the EJB Control Workshop documentation.
    Regards,
    Anurag
    "Andre Shergin" <[email protected]> wrote in message
    news:[email protected]...
    Raj,
    I tried that before, it didn't help. I got similar error message:
    <error>
    <faultcode>JWSError</faultcode>
    <faultstring>Error during JNDI lookup from
    jndi:t3://secuser1:[email protected]:7131/AccountDelegatorEJB[Lookup
    failed for
    name:t3://secuser1:[email protected]:7131/AccountDelegatorEJB]</faultstr
    ing>
    <detail>
    <jwErrorDetail> weblogic.jws.control.ControlException: Error during JNDI
    lookup from
    jndi:t3://secuser1:[email protected]:7131/AccountDelegatorEJB[Lookup
    failed for
    name:t3://secuser1:[email protected]:7131/AccountDelegatorEJB] at
    weblogic.knex.control.EJBControlImpl.acquireResources(EJBControlImpl.java:27
    8) at
    weblogic.knex.context.JwsInternalContext.acquireResources(JwsInternalContext
    .java:220) at
    weblogic.knex.control.ControlHandler.invoke(ControlHandler.java:260) at
    ibas.AccountControl.getTransactionHistory(AccountControl.ctrl) at
    ibas.GetSecure.retrieveVisaHistoryTxn(GetSecure.jws:64) </jwErrorDetail>
    </detail>
    </error>
    Anything else should I try?
    P.S. AccountDelegatorEJB, the remote EJB my Web Service calls is NOTaccess
    restricted.
    I hope there is a solution.
    Thanks,
    Andre
    "Raj Alagumalai" <[email protected]> wrote in message
    news:[email protected]...
    Andre,
    Can you try using the following url with username and password
    jndi://username:password@host:7001/my.resource.jndi.object ?
    once you add webapp level security, the authenticated is the user who
    invokes the EJB.
    http://e-docs.bea.com/workshop/docs81/doc/en/workshop/guide/controls/ejb/con
    CreatingANewEJBControl.html?skipReload=true
    has more info on using remote EJB's.
    Hope this helps.
    Thanks
    Raj Alagumalai
    WebLogic Workshop Support
    "Alla Resnik" <[email protected]> wrote in message
    news:[email protected]...
    Hello everyone,
    I developed a Web Service prototype accessing remote EJB using the EJB
    control with special syntax in the jndi-name attribute: @jws:ejb
    home-jndi-name="t3://10.10.245.70:7131/AccountDelegatorEJB"
    Everything works fine, but I get an error when I restrict access to my
    web
    service with a declarative security model by implementing steps
    provided
    in
    help doc:
    - Define the web resource you wish to protect
    - Define which security role is required to access the web resource
    - Define which users are granted the required security role
    - Configure WebLogic Server security for my web service(Compatibility
    Security/Users)
    I launch the service by entering the address in a web browser. Whenprompted
    to accept the digital certificate, click Yes, when prompted for
    network
    authentication information, enter username and password, navigate tothe
    Test Form tab of Test View, invoke the method by clicking the buttonand
    I
    get the following exception:
    <error>
    <faultcode>JWSError</faultcode>
    <faultstring>Error during JNDI lookup from
    jndi:t3://10.10.245.70:7131/AccountDelegatorEJB[Lookup failed for
    name:t3://10.10.245.70:7131/AccountDelegatorEJB]</faultstring>
    <detail>
    <jwErrorDetail> weblogic.jws.control.ControlException: Error during
    JNDI
    lookup from jndi:t3://10.10.245.70:7131/AccountDelegatorEJB[Lookupfailed
    for name:t3://10.10.245.70:7131/AccountDelegatorEJB] at
    weblogic.knex.control.EJBControlImpl.acquireResources(EJBControlImpl.java:27
    8) at
    weblogic.knex.context.JwsInternalContext.acquireResources(JwsInternalContext
    .java:220) at
    weblogic.knex.control.ControlHandler.invoke(ControlHandler.java:260)at
    ibas.AccountControl.getTransactionHistory(AccountControl.ctrl) at
    ibas.GetSecure.retrieveVisaHistoryTxn(GetSecure.jws:64)</jwErrorDetail>
    </detail>
    </error>
    I have a simple Hello method as well in my WebService (which is also
    restricted) and it works fine, but remote EJB access doesn't. I testedmy
    prototype on Weblogic 7.2 and 8.1 platforms - same result.
    Is that a bug or I am missing some additional configuration in order
    to
    get
    that working. Has anyone seen similar behavior? Is there a knownresolution?
    Or a suggested way to work around the problem?
    Thank you.
    Andre

  • Exposing EJB interfaces as Web Service

    Hi all,
    I created a prototype using EJBs and Web Services and found out that JDeveloper only allows to expose as Web
    Services the Remote interfaces of EJBs and not the Local ones.
    Assuming I have included Local and Remote interfaces for each of my EJBs exposed, my questions is, after deploying the application on OC4J 10g are the Web Services accessing the EJBs through the Local interface (I assume it should) but then why I am only allowed to expose the Remote one as Web Service?
    TIA,
    Best Regards,
    Giovanni

    Hi,
    no, inbound interfaces can only call web services
    that are exposed on some other web servers
    only outobund XI interfaces can be exposed as web services
    (in this case XI acts as a web server)
    and other applicaitons can call this outbound interface
    Regards,
    michal

  • JCO in a EJB used as Web Service

    Hi All,
    I'm trying to use JCO in a Web Service. What happens is that as soon as I try to call -any- JCO method I get an error: Exception in method getObjects.I can't even seem to catch this error within Java for a personalized message. I can't find an error in  "dev_jrfc.trc" either.
    To use JCO I referenced sapjco.jar as an external JAR in the Libraries from the Java Build Path. 
    Calling the JCO in a Web Dynpro environment doesn't give problems.
    Does anyone know the reason for this and can help?
    Thanks,
    Jeschael
    Detailed error:
    HTTP/1.1 500 Internal Server Error
    Connection: close
    Server: SAP J2EE Engine/7.00
    Content-Type: text/xml; charset=UTF-8
    Date: Thu, 22 Feb 2007 10:07:33 GMT
    <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Client</faultcode><faultstring>Exception in method getObjects.</faultstring><detail><ns1:com.sap.engine.services.ejb.exceptions.BaseEJBException xmlns:ns1='http://sap-j2ee-engine/client-runtime-error'>Exception in method getObjects.</ns1:com.sap.engine.services.ejb.exceptions.BaseEJBException></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
    Message was edited just after posting by :
            J.V. Lebbink
    "JCO function" changed in "JCO method"

    Hi, Jeschael!
    I suppose you already tried out calling R/3 FM via JCo in a simple test class, which - without any surrounding - just executes the JCo-call and outputs the returned values or any exception.
    What was the result of this? The above mentioned exceptions while creating the client? For debugging the Web Service, you simply have to set a breakpoint in your EJBs method and start via NWDS a remote debugging session. As soon as the Web Service call is executed, the NWDS should open and execution should stop at breakpoint.
    Another thing is: Did you already consider using Enterprise Connector for accessing R/3 functions? It' s much more comfortable enabling type-secure and stable usage of R/3 FMs.
    Regards,
    thomas

  • Stateless EJB expose as web service

    I use JDeveloper 10.1.3.0.4 created the folllowing EJB:
    BMP: ProductEntityEJB
    Stateless session bean: ProductSessionEJB
    After i generated session bean web service via web service wizard and
    deploy the web service by the generated deployment file,
    the error occurred:
    ---- Deployment started. ---- 2006&#24180;3&#26376;29&#26085; &#19979;&#21320;02:41:16
    Target platform is Standalone OC4J 10g 10.1.3 (oc4j).
    Wrote EJB JAR file to C:\JCo\JDeveloper Workspace\JDevFYP\JDevFYPWS\EjbWebServices.jar
    Wrote EAR file to C:\JCo\JDeveloper Workspace\JDevFYP\JDevFYPWS\JDevFYP-JDevFYPWS-EJB-WS.ear
    Uploading file JDevFYP-JDevFYPWS-EJB-WS.ear ...
    Application Deployer for JDevFYP-JDevFYPWS-EJB-WS STARTS.
    Copy the archive to C:\SAP\JSF\jdevstudio1013\j2ee\home\applications\JDevFYP-JDevFYPWS-EJB-WS.ear
    Initialize C:\SAP\JSF\jdevstudio1013\j2ee\home\applications\JDevFYP-JDevFYPWS-EJB-WS.ear begins...
    Unpacking JDevFYP-JDevFYPWS-EJB-WS.ear
    Done unpacking JDevFYP-JDevFYPWS-EJB-WS.ear
    Initialize C:\SAP\JSF\jdevstudio1013\j2ee\home\applications\JDevFYP-JDevFYPWS-EJB-WS.ear ends...
    Starting application : JDevFYP-JDevFYPWS-EJB-WS
    Initializing ClassLoader(s)
    Initializing EJB container
    Loading connector(s)
    Starting up resource adapters
    Processing EJB module: EjbWebServices.jar
    application : JDevFYP-JDevFYPWS-EJB-WS is in failed state
    Operation failed with error:
         Missing class: fypws.bean.product.ProductSessionEJBBean
         Dependent class: com.evermind.server.ejb.deployment.BeanDescriptor
         Loader: oc4j:10.1.3
         Code-Source: /C:/SAP/JSF/jdevstudio1013/j2ee/home/lib/oc4j-internal.jar
         Configuration: <code-source> in META-INF/boot.xml in C:\SAP\JSF\jdevstudio1013\j2ee\home\oc4j.jar
    This load was initiated at JDevFYP-JDevFYPWS-EJB-WS.root:0.0.0 using the Class.forName() method.
    The missing class is available from the following locations:
         1. Code-Source: /C:/SAP/JSF/jdevstudio1013/j2ee/home/applications/ejb1/ejb1.jar (from <ejb> in C:\SAP\JSF\jdevstudio1013\j2ee\home\applications\ejb1)
         This code-source is available in loader ejb1.root:0.0.0.
    Deployment failed
    Elapsed time for deployment: 2 seconds
    #### Deployment incomplete. #### 2006&#24180;3&#26376;29&#26085; &#19979;&#21320;02:41:18
    How can i solve it??

    Can you try and see if installing JDeveloper into a directory with no spaces in it (i.e not in \JDeveloper Workspace\) solves the problem?

  • Test web service proxy using EJB session bean client...

    Hello!
    I am following this blog /people/abdelmorhit.elrhazi/blog/2009/10/30/how-to-consume-an-inbound-backend-web-service-in-nwdsjboss-environment to create a EJB session bean client to access the web service proxy...
    The blog is not very clear. Where should I be deploying the web service proxy and the EJB session bean (web service client) ? on the PI 7.1 ?
    How to find out the URL for the wsdl ?
    Thanks

    > The blog is not very clear. Where should I be deploying the web service proxy and the EJB session bean (web service client) ? on the PI 7.1 ?
    "To deploy your web service proxy and session bean, right click on your JBoss server in the Servers view, and click on Add Remove Projects, add you ear file and click finish."
    You need a JBoss server.

  • EJB as Web Service

    Hi All
    I have deployed an EJB as a web service in WebAS. Now when i try to test this WS in NWDS, am getting an error which says   :::
    An error has occurred.Maybe the request is not accepted by the server :
    Exception in method src.SummitCreateOrderLocalLocalObjectImpl0.createOrder(java.lang.String,java.lang.String,java.lang.String)
    the log files shows me the following error  :::
    #1.5#001321F6B2E000570000005400000E0400040F66BD1C56DE#1142833837148#com.sap.engine.services.ejb#sap.com/bhupeshEAR#com.sap.engine.services.ejb#Guest#2####748289c0b7d511dab8d7001321f6b2e0#SAPEngine_Application_Thread[impl:3]_8##0#0#Error##Java###null
    [EXCEPTION]
    #1#com.sap.engine.services.ejb.exceptions.BaseEJBException: Exception in method src.SummitCreateOrderLocalLocalObjectImpl0.createOrder(java.lang.String,java.lang.String,java.lang.String).
         at src.SummitCreateOrderLocalLocalObjectImpl0.createOrder(SummitCreateOrderLocalLocalObjectImpl0.java:144)
         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:324)
         at com.sap.engine.services.webservices.runtime.EJBImplementationContainer.invokeMethod(EJBImplementationContainer.java:126)
         at com.sap.engine.services.webservices.runtime.RuntimeProcessor.process(RuntimeProcessor.java:157)
         at com.sap.engine.services.webservices.runtime.RuntimeProcessor.process(RuntimeProcessor.java:79)
         at com.sap.engine.services.webservices.runtime.servlet.ServletDispatcherImpl.doPost(ServletDispatcherImpl.java:92)
         at SoapServlet.doPost(SoapServlet.java:51)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
         at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:390)
         at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:264)
         at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:347)
         at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:325)
         at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:887)
         at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:241)
         at com.sap.engine.services.httpserver.server.Client.handle(Client.java:92)
         at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:148)
         at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33)
         at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41)
         at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
         at java.security.AccessController.doPrivileged(Native Method)
         at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:100)
         at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170)
    Caused by: java.lang.NoClassDefFoundError: mypackage/forms/orders/ContextInitializer
         at src.SummitCreateOrderBean.createOrder(SummitCreateOrderBean.java:58)
         at src.SummitCreateOrderLocalLocalObjectImpl0.createOrder(SummitCreateOrderLocalLocalObjectImpl0.java:135)
         ... 25 more
    Can the issue be it's not able to find the class ContextInitializer?If that is the case then that class is present in a jar which is in classpath.
    Please help me on this.
    Thanks...
    Bhupesh

    Hello Bhupesh,
    A Classpath has to be defined for a server process to avoid the exception "NoClassDefFoundError"
    Refer to the below url for more clarity
    http://help.sap.com/saphelp_erp2005/helpdata/en/06/24d17099f2f245822fce0ba1ab4065/frameset.htm
    Thanks,
    Preethika

  • Doc for 10g Web Services for EJBs

    I'm trying to determine if any documentation exists for 10gAS that discusses how to publish a statless session bean as a web service. The only thing I'm found so far is a tutorial called "Expose a Stateless Session EJB as a Web Service Endpoint through JAX-RPC interface", but I've found it lacking in detail and possibly incorrect. For example, it mentions a wsadmin tool that I don't see in the 10gAS release and it discusses how files like mapping.xml and webservices.xml can be created by JDeveloper. However, the 10g JDeveloper I downloaded doesn't see to support this.

    Unfortunately the doc is the how-tos right now. However, there are a couple of pointers - this article by Anirban Chatterjee - http://otn.oracle.com/tech/webservices/htdocs/j2ee14/jsr109.html - describes the configuration behind it.
    The JDeveloper interface is on the cusp of being released - it is just going through QA. I have written a tutorial on what it looks like here:
    http://otn.oracle.com/tech/webservices/htdocs/series/jaxrpc1/index.html
    But this tutorial is not linked publicly yet because it isn't released ... when the extension becomes available this link will be hooked up publicly. Please treat it as a preview right now.
    Could you describe the errors that you are encountering. There are a number of bugs that we have been collecting with the preview and we hope to do a refresh soon. It would be good to know if yours is a known one or not.
    Mike.

  • Public EJB vs Web Service

    Hello all:
    I'm newbie in J2EE and I'm trying to design a J2EE plattform for two applications. Both applications are J2EE, with J2SE clients. One of the applications (App2) has business tasks as "validateClient()", task that must be used by the other J2EE application (App1).
    Two applications will run in an intranet, but in different application servers.
    What is the best practice?
    2) [App1 client] -> [App1 private EJB] -> [App2 public EJB]
    3) [App1 client] -> [App1 private EJB] -> [App2 public Web Service] -> [App2 private EJB]
    What do you think? I think option 2 is more scalable, but it could decrease the performance.
    Thanks in advance: Carlos

    Hi,
    The main role of WebService is to be used by other technologies than J2EE.
    Session Facade could be the best performance choice.
    Regards,
    Sebastien Degardin

Maybe you are looking for

  • How to access Apex environments that exist in multiple SID's on same Server

    HI, I've got a Linux Server which has 3 11gr2 Development instances (SID's), in each instance I'd like to setup Apex environment (I know Apex comes with the 11gr2 DB). How can I access a specific Apex environment (on one of the SID's) when all the da

  • Safari 6.0 Search / Address Bar

    Hi Under Safari preferences you can select your search engine, but how can one localize the search? E.g. for South Africa: use google.co.za, not .com. Cheers, Mike

  • ASM Disk got full

    Hi, I have a standalone database 10.2.0.1 on windows. The datafiles and the archive files are on ASM. The disk on which archive is has got full due to which i am not able to open the database (it is in mount state). Also my asmcmd is not running. EM

  • RFC Error : Commit fault: com.sap.aii.af.rfc.afcommunication

    Hi , I am having a problem in a RFC to File scenario. My Sender RFC is working fine and is showing the status green in the CC Monitoring in AdapterEngine under Component Monitoring. But we are trying to trigger the data to the RFC we are getting the

  • Where can I find the IBA feedback menu?

    I am trying to insert a recording from keynote into iauthor. I can hear it. Anyone have suggestions?