HTTPS sender soap adapter

Hi,
I want to use HTTPS port for one of our SOAP -->RFC sync interface .
currently we are using  http://host:port/XISOAPAdapter/MessageServlet?channel=party:service:channel this url and its working fine,
Here  we want to use  HTTPS  ( HTTPS with client authentication as security level) ,but in our current PI system ( 7.31) is  not enabled https/ports.
Please let me know how we can enable  HTTPS  port ,let me know the process.
once HTTPS port is enabled  please let me know the process to use  HTTPS with client authentication as security level)
Thanks
Surya

Hi Surya,
Base on your requirement ports like 433, 4022 etc as per availability to Trading partners.
Port mapping should be done in the firewall configuration as your web dispatcher port(This information can be obtained from your basis team / will be managed at the installation time / netweaver administration.)
80* series is for ABAP ports and 50* series i sfor JAVA port.
Also check the below link for more information.
http://scn.sap.com/community/pi-and-soa-middleware/blog/2013/09/20/sender-soap-adapter-https-with-client-authentication
Thanks and Regards,
Naveen

Similar Messages

  • Special characters in sender soap adapter provoke HTTP 500 error

    Hi,
    SAP R3 is sending a SOAP message to PI through SOAP adapter.
    When the payload does NOT contain german characters like ü, it works fine.
    However, when the payload DOES contain special characters, the SOAP adapter replies with an HTTP 500 code error.
    If I use SoapUI to send the soap message, and setting UTF-8 as the encoding in the program options, it will go through fine. If I change to ISO-8859-1 it will fail.
    I'm thinking in two options:
    - Make sure that SAP R3 sends the message in UTF-8 format (I think this is happening currently), as if SoapUI works, then probably R3 is not using UTF-8.
    - Force the adapter to use UTF-8. Is this possible? In the sender SOAP adapter I've added AF_Modules/MessageTransformBean (type local EB), and then Transform.ContentType for parameter name and --> text/plain;charset=utf-8 for parameter value. The sender adapter will fail then for every message, with or without special characters.
    Anyway, in this link (http://help.sap.com/saphelp_nwpi71/helpdata/EN/a4/f13341771b4c0de10000000a1550b0/frameset.htm) it seems to say that the sender soap adapter cannot be extended with modules, so maybe that's the reason why it fails when trying to add a module.
    Thanks

    If I use SoapUI to send the soap message, and setting UTF-8 as the encoding in the program options, it will go through fine. If I change to ISO-8859-1 it will fail.
    I'm thinking in two options:
    Check the use of option 1 ..... the URL which SAP is using to send the data can containe the encoding information.
    Check this SAP note: https://service.sap.com/sap/support/notes/856597
    From the above note:
    Q: What character encoding is supported by the SOAP sender adapter?
    +you can supply the encoding information with the xmlenc variable in the request URL as in+
    Regards,
    Abhishek.

  • Enabling HTTPS with Client Authentication for Sender SOAP Adapter on PI7.1

    Hello All,
    We are currently building up a HTTPS message exchange with an external client.
    Our PI 7.1 recieved over HTTPS messages on an already configured Sender SOAP Adapter.
    The HTTPS (SSL) connectivity works fine and was completely configured on the ABAP Stack at Trust Manager (TC=STRUSTSSO2)
    Login to Message Servlet "com.sap.aii.adapter.soap.web.MessageServlet is required and works fine with user ID and password.
    Now we have to configure the addtional Client Authentication.
    At SOAP Adapter (Sender Communication Channel) under "HTTP Security Level"you are able to configure "HTTPS with Client Authentication".
    But what are the next steps to get this scenario successfully in place?
    Many thanks in advance!
    Jochen

    Hi Colleagues,
    following Steps still have to be done:
    - Mapping public key to technical user at Java Stack
      As preparation you have to activate value "ume.logon.allow.cert" with true under "com.sap.security.core.ume.service" under Config Tool. At NWA under Identity Management at for repecively technical user the public key certificate
    - Be sure CA root certivicate at Database under STRUSTSSO2
    - Import intermediate Certificate under Certificate List at Trast Manager for the Respecive Server Note
    - use Login Module "client_cert" which you have to configure under NWA\Configuration Management\Authentication for Components "sap.com/com.sap.aii.adapter.soap.app*XISOAPAdapter".
    Many thanks to all for support!
    Regards,
    Jochen

  • Sender SOAP Adapter with Https

    Hi,
    can any one give me information on  how my Sender SOAP adapter to be configured with HTTPS port.
    please give me the what are all different ways to make my Sender SOAP Adapter secure and give me the steps to achieve the functionality.
    Thank You,
    Madhav

    check this section:
    http://help.sap.com/saphelp_nw70/helpdata/EN/14/ef2940cbf2195de10000000a1550b0/frameset.htm
    Also some help from SAP note:
    https://service.sap.com/sap/support/notes/891877
    Regards,
    Abhishek.
    Edited by: abhishek salvi on May 29, 2009 1:59 PM

  • How to catch the sender SOAP adapter http response?

    Hi eXperts,
    I've a sender soap adapter opened to customer as webservice. When customers call this webservice, data is coming into XI and works fine. But the customer is complaining that the expected HTTP 200 response is not sent back to the calling SOAP client.
    So my question is: Is there a way to catch the http 200 response from sender adapter, or at least get to know if the sender adapter has sent the response?
    Thanks in advance.
    Regards
    Luis

    Hi,
    If I understood it correcly... Sender is a Async SOAP call and the sender system is expcting a status back of HTTP 200. Are you sure you had set the quality of effort to Exactly Once? If not please try setting it.
    You can also go to Adapter monitoring or Communication channel monitoring in the Runtime workbench and see if the Sender SOAP adapter is fine.
    http://help.sap.com/saphelp_nw04/helpdata/en/5e/164442c1a1c353e10000000a1550b0/content.htm
    Thanks,
    Prakash

  • SMIME in sender soap adapter

    Hi,
    I'd like to know the proper format of the POST request to a sender soap adapter with SMIME activated. I've found almost no documentation about it.
    I'm trying to send a document ciphered to PI via soap adapter (HTTP POST). I've done the following steps
    1. I activate SMIME in the sender soap adapter, and I specify "Decrypt" as the security procedure in the sender agreement. I also incorporate the private key in the keystore DEFAULT and reference to it in the sender agreement.
    2. I use OpenSSL to cipher an xml document like this (I use the public certificate associated to the previous private key) :
    --> openssl smime -encrypt -in fich.txt -out fich_encrypted.txt certTesting.pem
    What I get is:
    MIME-Version: 1.0
    Content-Disposition: attachment; filename="smime.p7m"
    Content-Type: application/x-pkcs7-mime; smime-type=enveloped-data; name="smime.p7m"
    Content-Transfer-Encoding: base64
    MIIC....[base64 content of the file encrypted]
    3. I use CURL to send the HTTP POST request to PI. Previously I get the binary file from the base64 content.
    > POST /XISOAPAdapter/MessageServlet?senderParty=&senderService=BC_1[...]
    > Authorization: Basic c2U[...]
    > Host: pi.[...].com:50000
    > Accept: /
    > Content-Type: application/pkcs7-mime; smime-type=enveloped-data; name=fich_encrypted.der
    > User-Agent: Jakarta Commons-HttpClient/3.1
    > Accept-Encoding: text/xml
    > Content-Disposition: attachment; filename=fich_encrypted.der
    > Content-Length: 620
    > Expect: 100-continue
    but I get this error from the SOAP Adapter:
    --> java.io.IOException: invalid content type for SOAP: APPLICATION/PKCS7-MIME.
    I also get the same error if I remove the header Content-Disposition.
    4. If I send the xml file without ciphering (header Content-Type: text/xml;charset=UTF-8) I get the error:
    com.sap.engine.interfaces.messaging.api.exception.MessagingException: SOAP: call failed: java.lang.SecurityException: Exception in Method: VerifySMIME.run(). LocalizedMessage: SecurityException in method: verifySMIME( MessageContext, CPALookupObject ). Message: IllegalArgumentException in method: verifyEnvelopedData( ISsfProfile ). Wrong Content-Type: text/xml;charset=UTF-8. *Expected Content-Type: application/pkcs7-mime or application/x-pkcs7-mime*. Please verify your configuration and partner agreement
    PROBLEM --> I really don't know what the SOAP sender channel is expecting when SMIME is activated. I've tried to send the binary file encripted as an attachment and also directly, but the soap adapter complains.
    Thanks

    HI,
    for XI EP
    Please see the below links so that you can have clear Idea..
    /people/saravanakumar.kuppusamy2/blog/2005/02/07/interfacing-to-xi-from-webdynpro
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/webas/java/integrating%20web%20dynpro%20and%20sap%20xi%20using%20jaxb%20part%20ii.article
    Consuming XI Web Services using Web Dynpro – Part II-/people/riyaz.sayyad/blog/2006/05/08/consuming-xi-web-services-using-web-dynpro-150-part-ii
    Consuming XI Web Services using Web Dynpro – Part I -/people/riyaz.sayyad/blog/2006/05/07/consuming-xi-web-services-using-web-dynpro-150-part-i
    /people/sap.user72/blog/2005/09/15/creating-a-web-service-and-consuming-it-in-web-dynpro
    /people/sap.user72/blog/2005/09/15/connecting-to-xi-server-from-web-dynpro
    Regards
    Chilla..

  • How to use Basis Authentication in Sender SOAP Adapter

    We implemented one Sender SOAP Adapter and we had to implement the modified WEB.XML method to remove the security specification.  We have now asked the developer to correct this situation so we can remove this modification.  The Interface developer would like to use Basic Authentication. If you have an automated interface sending in a SOAP Message, how do you do Basic Authentication? 
    I've tried using:
    http://host:port/XISOAPAdapter/MessageServlet?channel=:<Service>:<Channel>&sap-user=xiappluser&sap-password=<Password>&sap-language=EN&sap-client=<Client>
    When I do this, I still get the Authentication Pop-Up Window.
    How does the Sending Interface either supply the ID and Password on the incoming SOAP Message or respond to the Authentication Pop-Up?
    Thanks,
    Anne

    By Defualt the web service exposed by you will use Basic Authentication mode only.
    But the way you do Basic Authentication in the web client is platfrom dependent.
    This is not the way to do Basic authentication
    http://host:port/XISOAPAdapter/MessageServlet?channel=:<Service>:<Channel>&sap-user=xiappluser&sap-password=<Password>&sap-language=EN&sap-client=<Client>
    I am providing you a code snippet on how to Basic Authentication in Java when making the Web Service Call.
    If the client is on some other platform just look for the corresponding api.
    Please award points if you find this answer useful.
    Code Snippet
    URL url = new URL(URL);
    URLConnection connection = url.openConnection();
    if( connection instanceof HttpURLConnection )
    ((HttpURLConnection)connection).setRequestMethod("POST");
         //connection.setRequestProperty("Content-Length",Integer.toString(content.length()) );
         connection.setRequestProperty("Content-Type","text/xml");
         connection.setDoOutput(true);
         String password = User + ":" + Password ;
          //Where con is a URLConnection 
         connection.setRequestProperty ("Authorization", "Basic " + encode(User + ":"+ Password));
         connection.connect();
    Encode Method
    public static String encode (String source) {
    BASE64Encoder enc = new sun.misc.BASE64Encoder();
    return(enc.encode(source.getBytes()));

  • Sender SOAP Adapter: zipped Payload or zipped Attachement possible?

    Hi,
    I've a SOAP --> PI --> Proxy Scenario. As the payload of the message can become quite huge (around 10MB), I'd like to zip the message.
    From the documentation it's not clear for me if the Sender SOAP Adapter can be enhanced with the standard PayloadZipBean:
    "You cannot add your own modules to this adapter" --> so is it possible to use modules provided by SAP?
    If it's not possible: is there another way to send the message zipped via SOAP, e.g. as a additional attachement to the SOAP message, and to unzip the attachement / use the content of it as message payload for mapping?
    Please note: usage of SOAP is a must for that scenario.
    Best regards
    Holger

    > File size is a question due to limited network speed between sender and PI. If I can reduce the data package to be transferred, it'd be a big help. Therefore I'd like to zip the message.
    In this case it would be sufficient to use Content-Encoding gzip.
    This is part of the HTTP protocol and will be unzipped automatically by the HTTP framework, so you need not do anything special in SOAP adapter.
    See http://tools.ietf.org/html/rfc2616#section-14.11
    Check if your SOAP client is able to use that.
    Regards
    Stefan
    Edited by: Stefan Grube on Mar 31, 2009 2:11 PM

  • Failed in Message Mapping for Sender SOAP Adapter

    I am using a synchronous Sender SOAP adapter for sending SOAP messages using HTTP security protocol. I am trying to send SOAP messages to XI and then to RFC-R/3. And Responses back from RFC to XI and then to SOAP. I am getting an error for failed in message mapping in SXMB_MONI for converting SOAP messages to RFC. When I debug it in Message Mapping in Integration Repository, it works fine.
    Any help is appreciated.
    Thanks in advance!
    Mrudula

    Hi,
    try to do a full cache refresh
    regards,
    Jakub

  • Sender SOAP Adapter problem in PI 7.1

    Hello Everyone,
    I have a problem with Sender SOAP  Adapter
    In PI 7.0 i am able to receive the messages through sender SOAP Adapter for both HTTP and HTTPS. But when i am testing in PI 7.1 i am unable to receive any messages at Adapter level for both HTTP and HTTPS
    All sender leagcy system are getting different error messages like
    1. 400 HTTP Bad request.
    2. Invalid request.
    3. BAPI  error message
    Could any one please assist me in this problem.
    Thanks
    Vick

    Hi Vick,
    Try like this......in ID from your sender agreement in which you have your sender SOAP comm channel, from menu select Display WSDL and then copy the WSDL URL and give it to source applications to use it.............create a service user for them to access PI 7.1 server while sending the SOAP req msg.............
    your source applications may have to generate proxy from this WSDL URL in their application and then they can send a SOAP req msg to your PI 7.1 server............
    Regards,
    Rajeev Gupta

  • Sender SOAP Adapter issue with webservices for authorization.

    Hi All
    Issue:
    As we are developing a Web Service to fetch account balance from SAP(upon receiving the account no from client) and have given the wsdl file to J2EE application  to call or make use of the service.  But as a part of that service they expect userid/password to be entered manually from client  pop-up.  At this point of time, we don't want to enter userid/password manually but  we want this to be hardcoded/embedded in Webservice so that  there is no need of manual intervention upon calling this service.
    Actual Requirement:
    From Webservices to R/3-ECC6.0-IS-Banking-RFC (Synchronous Interface)
    Sender: SOAP Adapter synchronous
    Receiver: RFC Adapter synchronous
    Note: Requesting a account number and getting response from RFC is account Balance and Date to webservice
    Regards
    Kiran kumar.s

    Hi praveen,
    Thanks for ur  reply.What you said is exactly right but for time being i have to make the client not get the authorization(password--Username and password(pop-up)) when he invokes the WSDL into webservice for that u told that to write some hardcode in J2EE application,but i don't know that where to write and what to write.so, if possible can u give me the code and procedure.
    This is the URL:
    http://hcl3sap:50000/XISOAPAdapter/MessageServlet?channel=:BS_WEBSERVICE:CC_SOAPSENDER
    Regards,
    kiran kumar.

  • Sender Soap Adapter PI 7.1

    Hi All
    We just installed a PI 7.1 Server. When I want to use the sender Soap adapter's Default XI Paramater they are not there. Is this because were only on SP 4? Can I still use the adapter as is or do we need to upgrade to a higher SP?
    Any input will be appreciated.

    Hi Stephan.
    Some SOAP Adapters Parameter changed in this PI Version. 
    You can see the SOAP characteristics in the link bellow:
    http://help.sap.com/saphelp_nwpi711/helpdata/en/44/8c4756224a6fb5e10000000a155369/frameset.htm
    Regards.
    Bruno

  • Sender SOAP Adapter Modules!

    Hi Can anyone guide me how to write a Sender SOAP adapter module ?

    Hi Pooja, thanks for the reply I have seen that.
    Please look at the below forum.
    SOAP Adapter and plain HTTP
    It  says "When you write a module for sender SOAP adapter, you have to deal with the incoming message, as the SOAP adapter first calls the customer module, then creates the XI message."

  • Sender SOAP adapter: get soap header data

    Hi,
    I've been going through various posts and blogs here on SDN + looked in the how to guide for SOAP adapter, but still find it quite difficult to actually find out how to do it. I've tried to follow recommendations seen, but it doesn't add up.
    So can someone please tell me how to get an element situated in the SOAP header of the request sent to XI via sender soap adapter?
    Let's for instance say the request looks like this:
    <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
         <SOAP-ENV:Header>
              <SSN>1234567890</SSN>
         </SOAP-ENV:Header>
         <SOAP-ENV:Body>
              <event>
                   <elem1>data 1</elem1>
                   <elem2>data 2</elem2>
                   <elem3>data 3</elem3>
              </event>
         </SOAP-ENV:Body>
    </SOAP-ENV:Envelope>
    How can I get the data in the SSN-header element at mapping time?
    I'm sure this can be done by using adapter modules as the first step adapter, but I prefer doing it at mapping time if possible.
    Best Regards,
    Daniel

    I solved it on my own now. My missing link was the fact that I'm using XMLSPY to send request and thus need to replace all '&amp;' with & in Connection Endpoint.
    Message was edited by:
            Daniel Engsig-Karup

  • Sender SOAP Adapter, inconsistent behavior

    Hi,
    We are using XI 3.0 SP17. We have noticed some inconsitent behavior with the sender SOAP adapter:
    When sending a valid SOAP message to the adapter, it will reply with:
    <SOAP:Envelope xmlns:SOAP='http://schemas.xmlsoap.org/soap/envelope/'><SOAP:Header/><SOAP:Body/></SOAP:Envelope>
    To me this seems errornous, becuase it is missing "<?xml version='1.0'?>" in the beginning, and thus is not valid XML. This leads to errors on the Client that is sending messages to the Sender SOAP adapter.
    When sending an errornous SOAP message from the client to the XI Sender SOAP adapter, the error message does include the "<?xml version='1.0'?>" + the corresponding error message, so the behavior seems inconsitent and errournous.
    Can someone tell me how the get the Sender SOAP Adapter to include "<?xml version='1.0'?>" in the reply for valid SOAP messages?
    Thanks for any help on this subject!
    -Hans
    PS: Here is an example of an error message from the Sender SOAP adapter, that does include the xml header:
    <?xml version="1.0"?>
    <!-- see the documentation -->
    <SOAP:Envelope xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/">
         <SOAP:Body>
              <SOAP:Fault>
                   <faultcode>SOAP:Server</faultcode>
                   <faultstring>Server Error</faultstring>
                   <detail>
                        <s:SystemError xmlns:s="http://sap.com/xi/WebService/xi2.0">
                             <context>XIAdapter</context>
                             <code>MalformedMessageException</code>
                             <text><![CDATA[Unexpected content in SOAP:Body; nested exception caused by: com.sap.aii.messaging.util.XMLScanException: Unexpected content in SOAP:Body\tat com.sap.aii.messaging.mo.Message.reparseRootDocument(Message.java:1014)\tat com.sap.aii.messaging.net.MIMEInputSource.readSOAPPart(MIMEInputSource.java:619)\tat com.sap.aii.messaging.net.MIMEInputSource.decodePart(MIMEInputSource.java:611)\tat com.sap.aii.messaging.net.MIMEInputSource.readBody(MIMEInputSource.java:379)\tat com.sap.aii.messaging.net.MIMEServletInputSource.parse(MIMEServletInputSource.java:58)\tat com.sap.aii.af.mp.soap.web.MessageServlet.doPost(MessageServlet.java:378)\tat javax.servlet.http.HttpServlet.service(HttpServlet.java:760)\tat javax.servlet.http.HttpServlet.service(HttpServlet.java:853)\tat com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:390)\tat com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:264)\tat com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:347)\tat com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:325)\tat com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:887)\tat com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:241)\tat com.sap.engine.services.httpserver.server.Client.handle(Client.java:92)\tat com.sap.engine.services.httpserver.server.Processor.request(Processor.java:148)\tat com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33)\tat com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41)\tat com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)\tat java.security.AccessController.doPrivileged(AccessController.java:180)\tat com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:100)\tat com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170)          ]]></text>
                        </s:SystemError>
                   </detail>
              </SOAP:Fault>
         </SOAP:Body>
    </SOAP:Envelope>

    Hi,
    "Do not use SOAP Envelope" is not really an option for us.
    From help.sap.com:
    If the indicator is set, the adapter expects a message without a SOAP envelope.
    If you have set the indicator, you must also enter nosoap=true in the URL.
    The adapter then puts the whole message in the XI payloads
    So this also requires heavy changes to the client side. It would almost make more sense to use the plain HTTP adapter in that case..
    -Hans

Maybe you are looking for