cancel
Showing results for 
Search instead for 
Did you mean: 

SOAP Adapter S/MIME error

Former Member
0 Kudos

Hi all,

In PI I have created one scenario to expose a Web Service and one scenario to consume the same Web Service and I have tested them successfully. They work fine.

When I attempt to use message level security via their SOAP adapters and I chose the "Web Services Security" profile to Sign and Verify the messages, they still work fine.

However if I choose security profile "S/MIME" using the exact same configuration and certificates then the scenarios go in error.

This is what I get in the Adapter Response message:

<SAP:Error xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="">

<SAP:Category>XIServer</SAP:Category>

<SAP:Code area="INTERNAL">HTTP_RESP_STATUS_CODE_NOT_OK</SAP:Code>

<SAP:P1>500</SAP:P1>

<SAP:P2>Internal Server Error</SAP:P2>

<SAP:P3 />

<SAP:P4 />

<SAP:AdditionalText>java.lang.NullPointerException at java.util.Hashtable.put(Hashtable.java:393) at com.sap.aii.messaging.mo.MessageContext.setAttribute(MessageContext.java:96) at com.sap.aii.adapter.xi.ms.XIMessage.updateHeaders(XIMessage.java:4217) at com.sap.aii.adapter.xi.ms.XIMessage.getTransportHeaders(XIMessage.java:562) at com.sap.aii.af.ra.ms.impl.ServerConnectionImpl.request(ServerConnectionImpl.java:211) at com.sap.aii.af.ra.ms.impl.core.transport.http.MessagingServlet.doPost(MessagingServlet.java:332) 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:401) at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:266) at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:387) at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:365) at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:944) at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:266) at com.sap.engine.services.httpserver.server.Client.handle(Client.java:95) at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:175) 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)</SAP:AdditionalText>

<SAP:ApplicationFaultMessage namespace="" />

<SAP:Stack>HTTP response contains status code 500 with the description Internal Server Error Error while sending by HTTP (error code: 500, error text: Internal Server Error)</SAP:Stack>

<SAP:Retry>N</SAP:Retry>

</SAP:Error>

Anybody can tell me what is causing this? Any idea?

Is there anything that I have to do to configure S/MIME and to enable its use in the SOAP adapter?

Many thanks,

Aldo

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos
Former Member
0 Kudos

Surya,

I don't see anything that can help me resolve the problem in there...

Anyone has other ideas?

Many thanks,

Aldo

Former Member
0 Kudos

Anybody can help?? Any idea?

Former Member
0 Kudos

Hi aldo,

I think you are not changed the transport protocol..

Webservice security used for http transport protocol..

S/MIME security is used for SMTP transport protocol..

Using SOAP adapter you can able to send the data Both webservice and Mailserver.

For that only S/MIME and Webservice security is enabled..

Regards,

Prakasu

Former Member
0 Kudos

Hi Prakasu,

What you are saying makes sense, however for the Sender SOAP Adapter I cannot use SMTP.

How can I expose a WebService using SOAP and S/MIME if I can't use SMTP as transport protocol?

Can you tell me more about this?

Many thanks,

Aldo

Former Member
0 Kudos

Hi aldo,

S/MIME is the standard for signing e-mails.Not for Webservice.

For sender SOAP adater you cont use S/MIME.

SOAP Receiver adapter used Both purpose.For Webservice and sending mail to mailserver.

For Webservice Sender and Receiver SOAP adapter used Webservice security.

For Sending Mail using SOAP adapter that time S/MIME security is used.

SOAP Receiver adapter having 2 transport protocols.

In that Only for SMTP protocol only you should use S/MIME security.Not for Webservice.

Regards,

Prakasu

Former Member
0 Kudos

Prakasu,

If what you are saying is true, I still don't understand why in the Sender SOAP adapter you have an option to select S/MIME as a security profile...?

Thanks for the help so far.

Aldo

Former Member
0 Kudos

Prakasu,

Now I am sure that I need to use SMIME over HTTP. It is a requirement for my client.

I need to upload documents with SMIME using an HTTP POST. Content-Type in this case will be multipart/signed I guess.

It should be achievable with the SOAP adapter and I think that what you said above is not completely correct.

Anyone can guide me through this?

Many thanks,

Aldo

Answers (0)