cancel
Showing results for 
Search instead for 
Did you mean: 

Publsihing Webservices to Service Registry

Former Member
0 Kudos

Hello,

I would like to deploy a webservice I created using session beans in NWDS to the Service Registry of NW 7.1

What I did so far is deploying my EAR-Archive to the SAP Instance I registered under Window>Properties>SAP AS Server.

But will the Webservice be registered in Service Registry automatically?

Can you recommend a tutorial for working wth NWDS and Service Registry?

regards

Daniel

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

You can use the WSDL generated to publish in the registry

Former Member
0 Kudos

Hello,

deploying the webservice to NW 7.1 worked with the help.sap.com tutorial. I have the wsdl file now. Thank you.

But what do you mean with publish in registry? Where do I do that?

I only find information about how to consume services from Service Registry but no Information about how to actually rergister them.

Maybe you could be so kind and provide me with a page again?

Thank you ver much.

regards

Daniel

edit: Maybe this pdf is about the rules you mentioned? http://www.sdn.sap.com/irj/scn/index?rid=/library/uuid/102c7743-c904-2c10-bfa1-fef093e786ec&override...

But how do I open the "Service Registry" Menu in Browser. It is not stated there. In NWA I only get the menu "Service Registry Configuration"?

Edited by: Daniel Gerne on Dec 3, 2009 11:36 AM

Former Member
0 Kudos

Hi Daniel,

The url of the Service Registry is

http://hostname:port/sr

Regards, Gilles.

Former Member
0 Kudos

Hello Gilles,

I found it thank you.

Unfortunately I will get an exception when testing the webservice. I cannot understand the reason. I will get this exception even when testing a simple HelloWorld Method. Is there something wrong with the entityManager even when it is not used in Hello World?


<?xml version="1.0" encoding="UTF-8"?>
<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:Server</faultcode>
      <faultstring>javax.ejb.EJBException: Exception in getMethodReady() for stateless bean sap.com/EmployeeEar*annotation|EmployeeEjb.jar*annotation|EmployeeServicesBean; nested exception is: com.sap.engine.services.ejb3.util.pool.PoolException: javax.ejb.EJBException: Cannot perform injection over bean instance com.sap.demo.session.EmployeeServicesBean@2f85b513 for bean sap.com/EmployeeEar*annotation|EmployeeEjb.jar*annotation|EmployeeServicesBean; nested exception is: com.sap.engine.lib.injection.InjectionException: Injection on field eManager of instance com.sap.demo.session.EmployeeServicesBean@2f85b513 failed. Could not get a value to be injected from the factory.</faultstring>
      <detail>
        <yq1:com.sap.engine.interfaces.webservices.runtime.RuntimeProcessException xmlns:yq1="http://sap-j2ee-engine/client-runtime-error">
          <!-- javax.ejb.EJBException: Exception in getMethodReady() for stateless bean sap.com/EmployeeEar*annotation|EmployeeEjb.jar*annotation|EmployeeServicesBean; nested exception is: com.sap.engine.services.ejb3.util.pool.PoolException: javax.ejb.EJBException: Cannot perform injection over bean instance com.sap.demo.session.EmployeeServicesBean@2f85b513 for bean sap.com/EmployeeEar*annotation|EmployeeEjb.jar*annotation|EmployeeServicesBean; nested exception is: com.sap.engine.lib.injection.InjectionException: Injection on field eManager of instance com.sap.demo.session.EmployeeServicesBean@2f85b513 failed. Could not get a value to be injected from the factory. -->
        </yq1:com.sap.engine.interfaces.webservices.runtime.RuntimeProcessException>
      </detail>
    </SOAP-ENV:Fault>
  </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

What I tried to achieve is doing the Sample Application from the book Java Programming for SAP NetWeaver, that describes an Employee Application. In the Tutorial the attribute Entity Manager is never instantiated. I think this can't be right.

Should I call the constructor in a standard-constructor?

regards

Daniel

edit: the book says that with the PersistenceContext anotation the server should instantiate the Interface as needed. But the exception says that this injection from factory method would not work.

Edited by: Daniel Gerne on Dec 3, 2009 4:23 PM

Former Member
0 Kudos

Another Webservice I implemented completely without entityManagers worked fine.

I think I will have to continue checking into Java Persistence.

Thank you so far for support.

Answers (1)

Answers (1)

Former Member
0 Kudos

Hi Daniel,

The web service are automatically published with a rule

in NWA, goto SOA Management -> Application and Communication Scenario -> Publication rules.

There is a default rule there. All web services are published to the Service Registry.

Regards, Gilles.

Former Member
0 Kudos

Hello,

thank you for anwering.

I think my menu structure looks a little different.

SOA Management -> Technical Configuration

SOA Management -> Business Administration

SOA Management -> Log and Traces

SOA Management -> Monitoring

In SOA Management -> "Business Administration" there is "Publication Restrictions". Did you mean that?

Former Member
0 Kudos

Hello,

I have another Question as well about the tutorial https://cw.sdn.sap.com/cw/docs/DOC-30179 shows how to create Webservices step by step.

First I need to create a VI.

In these steps the Views "J2EE Explorer" and "EJB Explorer" are displayed.

I do not have neither of them. I am on SAP NetWeaver 7.1 Composition Environment SP05 PAT0000

Are there public update sites so I may download the missing features?

regards

Daniel

Former Member
0 Kudos

Hi,

Your link is about 7.0.

The documentation for CE 7.1 is there,

http://help.sap.com/saphelp_nwce10/Helpdata/EN/46/78955dcb496ef0e10000000a1553f6/content.htm

Regards, Gilles.