cancel
Showing results for 
Search instead for 
Did you mean: 

P4 Provider Service NetWeaver CE

Former Member
0 Kudos

Hi all,

I need to configure P4 over SSL on NetWeaver CE, on NW 7.0 the changes were done on Visual Administrator, how to make this changes on NetWeaver CE without Visual Administrator. I need configure it for Dispatcher Instance.

Using ConfigTool, I can change properties just for Java Instance, not for Dispatcher.

Best regards

Accepted Solutions (1)

Accepted Solutions (1)

thulasi_td
Employee
Employee
0 Kudos

Hi Isaias,

On NW CE version, there is no dispatcher node

Regards,

Thulasi

Former Member
0 Kudos

Hi,

In NetWeaver CE Dispatcher is replaced with ICM implementation for J2EE server.

Configurations for P4S port are in system profile. For exmaple:

icm/server_port_4 = PROT=P4SEC, PORT=5$(SAPSYSTEM)06

But you need also to configure SSL libraries. (.dll or .so files depending of your OS).

You may contact ICM responsibles for documentation regarding services's port related configurations.

Former Member
0 Kudos

Hi Thulasi,

I think that i've made the question on wrong way, the correct is what's the equivalent properties to dispatcher node, because CE doesn't have Dispatcher Node.

Best regards

Former Member
0 Kudos

Hi Tsvetko,

I've made this configuration previously, currently i've the https enabled on my NetWeaver CE.

But when I'm trying to connect using P4 over SSL, I'm getting the following error:

-


CODE TO CONNECT -


Context ctx = null;

Hashtable env = new Hashtable();

env.put(Context.INITIAL_CONTEXT_FACTORY, "com.sap.engine.services.jndi.InitialContextFactoryImpl");

env.put(Context.PROVIDER_URL, "ceserver:50006");

env.put("TransportLayerQueue", "ssl");

env.put(Context.SECURITY_PRINCIPAL, "Administrator");

env.put(Context.SECURITY_CREDENTIALS, "password");

env.put(Context.URL_PKG_PREFIXES, "com.sap.engine.services");

ctx = new InitialContext(env);

-


Feb 5, 2009 11:24:29 AM [1233840269296]:Error : Thread[main,5,main] ....com.sap.engine.services.rmi_p4.ConnectionManager: Connection manager failed to initialize: java.io.IOException: Can't get ServerSocket. Reason:No registered factory for protocol: "ssl" was found in this port manager factory store.

Exception in thread "main" com.sap.engine.services.jndi.persistent.exceptions.NamingException: Exception while trying to get InitialContext. [Root exception is com.sap.engine.interfaces.cross.DestinationException: cannot establish connection with any of the available instances:

ceserver:50006 Reason: java.lang.NullPointerException]

at com.sap.engine.services.jndi.InitialContextFactoryImpl.getInitialContext(InitialContextFactoryImpl.java:488)

at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:667)

at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:247)

at javax.naming.InitialContext.init(InitialContext.java:223)

at javax.naming.InitialContext.<init>(InitialContext.java:197)

at Main.main(Main.java:25)

Caused by: com.sap.engine.interfaces.cross.DestinationException: cannot establish connection with any of the available instances:

ceserver:50006 Reason: java.lang.NullPointerException

at com.sap.engine.interfaces.cross.Destination.getNextAvailableBroker(Destination.java:59)

at com.sap.engine.interfaces.cross.Destination.getRemoteBroker(Destination.java:35)

at com.sap.engine.services.jndi.InitialContextFactoryImpl.getInitialContext(InitialContextFactoryImpl.java:352)

... 5 more

I think that i need to register the port on way equivalent to Dispatcher configurations on 7.0 version.

Best regards

Former Member
0 Kudos

Hi,

Are you sure, that in your client path there are jar files needed for client:

sap.comtcjeclientlibimpl.jar;

sap.comtcloggingjavaimpl.jar;

sap.comtcexception~impl.jar.

Such NullPointerException happens, when instead of clientlib are used different projects in client classpath that does not include P4 library.

Regarding connection via P4S port, you also need a valid certificate generated and imported in client's VM.

Best Regards,

Tsvetko Trendafilov

Former Member
0 Kudos

Hi,

I've the files, i can call the EJB without ssl transport layer.

I've the valid certificate, I'm consuming Web Services over HTTPS without problem.

Thanks

Former Member
0 Kudos

Hi again,

So when you remove:

env.put("TransportLayerQueue", "ssl");

And change port to 50004

env.put(Context.PROVIDER_URL, "ceserver:50004");

You do not receive any NullPointerExceptions and program works fine?

But in SSL port it throws you NullPointerException?!?

Former Member
0 Kudos

Hi,

Yes, without transport layer and with 50004 port works fine and with SSL and 50006 the error occurs

Maybe a configuration must be done, similar to configurations of Dispatcher P4 Properties on 7.0 version. But I didn't find references to it. Unfortunately the CE document talk about Dispatcher P4 properties only.

Thanks

Former Member
0 Kudos

Interesting...

What version of NetWeaver CE you are using? I mean which SP.

You can try replacing property with "P4S://" prefix in host name.

env.put(Context.PROVIDER_URL, "P4S://ceserver:50006");

//env.put("TransportLayerQueue", "ssl");

Best regards,

Tsvetko Trendafilov

Former Member
0 Kudos

Hi,

I'm using CE 7.1 SP 5

I've tried it previously but without success.

Thanks

Former Member
0 Kudos

Also I found some interesitng tip:

"

  • If the adapters are to communicate using HTTPS, additional libraries to implement the SSL protocol are required. You can download the Java libraries iaik_jce.jar and iaik_ssl.jar from SAP Service Marketplace (service.sap.com) Software Distribution Center, under SAP Cryptographic Software, but ensure that you follow the regulations outlined there.

"

Could you try adding these libraries in client's classpath iaik_jce.jar and iaik_ssl.jar (if you haven't already done it).

Former Member
0 Kudos

Hi,

This tip solve the problem.

Best regards

Former Member
0 Kudos

I'm happy to read this

Answers (0)