SOAP with HTTPS Connection

Hi All,
For a requirement, I need to connect the PI with 3rd party Web server system for both inbound and outbound interfaces.
Currently, I am with SAP PI 7.31 single stack system. I was communicated as HTTPS without client Authentication option need to use.
As I read in some of the discussion, there is no need of using exchange certifications if HTTPS without client Authentication was selected.
My Basis team confirmed, we have installed the certificates in PI machine. I didn't see any option of selecting the certificate in the sender SOAP communication channel. we have already shared the SOAP URL(https://..... :HTTPS enabled port/.....) of the particular interface to web server team to trigger data. But in SOAP receiver channel, I have given the https:// based URL of the web server system along with the selection of HTTPS without client Authentication option.
When I pinged the Receiver Communication Channel, getting error as below.
What is the exact difference between the 1. HTTPS without client authentication
                                                            2. HTTPS with client authentication.
Can anybody explain the above questions in detail, particularly about the 1st once.
Regards,
Raj kumar.

Hi Harish,
Thanks for your reply.
Second link gave me the clarity on the with & without client authentication. Now I am clear about the Sender Soap Channel. Confirm me, I don't have to select any option, other than providing the https://... based URL of the webservice system at receiver SOAP Channel, right?.( If my requirement is https without client authentification)
Interface flow for my requirement will be
ECC --> PI --> Webservice system ( Do I need to choose any option?)
Webservice system --> PI ----> ECC.(Clear about this flow)
If no certificates are involved for without client authentication process, how much extent it will be secure by providing security at transport level only ?
Thanks,
Phaniraj.

Similar Messages

  • Configure ADF with HTTPS connections

    Hello.
    I am trying to deploy an ADF application with the protocol https.
    When I write the url:
    https://[my_domain]/[my_application]
    The request is done, but the adf controller answers suddenly with the url i sent, but it writes instead of https http, and adds in the end of the url a lot of get parameters like the next sample:
    http://[my_domain]/[my_application]/faces/[my_wellcomefile]?_afrLoop=2328230397945919&Adf-Window-Id=w0&_afrWindowMode=0&_adf.ctrl-state=14g97quz_327&_afrRedirect=2328230626510965
    I don`t mind the get parameters, I suppose that they are needed for adf to work. But the problem is that I need the request to connect with https, not with http, because my apache has only opened the port 8080.
    Please, anyone can tell me how to configure adf to disable this redirection, or to configure the redirection to point to:
    If the request comes from http -> redirect to http
    if the request comes from https -> redirect to https.
    Regards

    Thanks Chris,
    But I don`t think the problem is related with WebLogic Server. The weblogic is already with a ssl connection configured and working. In fact, after the redirection to the second url:
    http://[my_domain]/[my_application]/faces/[my_wellcomefile]?_afrLoop=2328230397945919&Adf-Window-Id=w0&_afrWindowMode=0&_adf.ctrl-state=14g97quz_327&_afrRedirect=2328230626510965
    if copy and paste this url but changing the protocol https:
    https://[my_domain]/[my_application]/faces/[my_wellcomefile]?_afrLoop=2328230397945919&Adf-Window-Id=w0&_afrWindowMode=0&_adf.ctrl-state=14g97quz_327&_afrRedirect=2328230626510965
    it works! So, summarizing, the problem is in the first redirection made in a transparent way for me.
    Refering to the post of Frank Niphus:
    Switching Http/Https in ADF
    you can understand my problem and we can see a workaround, but I want all the requests to go to https, not only some of them like is done in this post.
    Regards

  • Errors with HTTPS Connection to external server

    I am trying to establish a HTTPS connection to an external web site in transaction SM59,  but I get “ICM_HTTP_CONNECTION_FAILED” errors.  I get the same errors from a bespoke ABAP program.
    I know the request is getting to the web site, but the response is not getting back into SAP. 
    This is not firewall related.
    I have installed and configured the SAPCRYPTOLIB software for SSL support and entered the necessary instance profile parameters.
    I have configured STRUST.
    SM59 is setup for type G (HTTP Connection to Ext. Server) and port no. 8443
    I have started the HTTPS service in SMICM
    I have noticed an odd entry in the SCICM trace file,  but don’t know how to fix.
    <i>ERROR => Connection request from (-1/65535/0) to host: mms-sap.sapmms.com, service: 8000 failed (NIECONN_PENDING)</i>
    Does anyone have any suggestions?

    Thanks for your comments.
    I've tried everything in SM59. 
    SAP refers to both protocols as HTTP. 
    I think the error is with the response coming back into SAP.  SAP doesn't know what to do.  It might be DNS related or I might need to configure the ICM somewhere.  Oddly the response comes back into sap on port 8000 (which is HTTP).  It went out on port 8443 (which is HTTPS).

  • Channel login error with HTTPS connection

    Hi!
    I have developed a Flex application which relies on remote object invocations to BlazeDS. I have applied custom authentication to the AMF channel, so login is required to invoke remote objects over the channel.
    Application worked perfectly in development environment but at production environment I cannot get channel sucessfully logged in. I have debugged application and no response is obtained from server after channel.login() invocation. Backend resides on Apache Tomcat that listens on port 80. Server is fronted by a Proxy Server that sets HTTPS protocol (https://domain:80/context is set at browser URL although I request http://domain:80/context).
    At development environment requests where made with HTTP protocol so I wonder if this issue is related with the HTTPS protocol present in the new server.
    Do I need to configure my channels to use secure (HTTPS) communications? Why am I not getting any error response from channel login operation?
    I reviewed server logs and It seems login AMF invocation are been tracked but I cannot get any response.
    Thank you in advance.

    Thank you Alex.
    I've set this configuration in services-config.xml. First I tried using SecureAMFEndpoint but then I got an exception on Server that said a secure destination was needed (as it was secured) but was not receiving a secured request. I saw a post in a forum that said AMFEndpoint must be used instead of SecureAMFEndpoint when SSL is applied to a proxy that redirects request to Tomcat, not to Tomcat itself, and this is my case.
    <services-config>
        <services>
            <service-include file-path="proxy-config.xml" />
            <default-channels>
               <channel ref="amf-channel"/>
            </default-channels>
        </services>
        <channels>
            <channel-definition id="amf-channel" class="mx.messaging.channels.SecureAMFChannel">
                <endpoint
                    uri="https://{server.name}:{server.port}/{context.root}/messagebroker/amf"
                    class="flex.messaging.endpoints.AMFEndpoint" />
                <properties>
                    <add-no-cache-headers>false</add-no-cache-headers>
                </properties>
            </channel-definition>
    </services-config>
    After setting this, channel is succesfully logged in and a remote invocation that is executed inmediatly after channel loggin is completed works OK. But when later I call another remote objects, I get request timeout errors and server is not reached.
    Any idea of the issue?

  • New time capsule stops working with http connections

    I have the latest 2TB Time Capsule. I've been getting a weird issue where my I can no longer can do http connections (i.e. browse the internet) but I can still use other internet capable services like Skype or Steam. It seems that traffic through port 80 just seems to stop working. All of my devices on my network experience the issue. I have even exchanged Time Capsules but the issue still presists.
    Does anyone have any ideas?

    Here's a traceroute when things work:
    traceroute 8.8.8.8
    traceroute to 8.8.8.8 (8.8.8.8), 64 hops max, 52 byte packets
    1  192.168.1.1 (192.168.1.1)  3.637 ms  1.030 ms  0.924 ms
    2  69.254.248.1 (69.254.248.1)  10.644 ms  10.237 ms  10.590 ms
    3  te-7-1-ur02.olathe.ks.indepen.comcast.net (68.87.234.209)  10.453 ms  10.177 ms  10.519 ms
    4  te-4-4-ar02.independence.mo.indepen.comcast.net (68.87.234.5)  10.464 ms  11.360 ms  13.087 ms
    5  68.87.234.29 (68.87.234.29)  11.762 ms  12.583 ms  13.066 ms
    6  be-20-702-cr01.sanjose.ca.ibone.comcast.net (68.86.89.37)  28.948 ms  21.847 ms  24.969 ms
    7  he-0-11-0-0-pe04.350ecermak.il.ibone.comcast.net (68.86.83.58)  22.267 ms  22.081 ms  21.251 ms
    8  * * *
    9  * * *
    10  72.14.237.110 (72.14.237.110)  26.647 ms
        72.14.237.108 (72.14.237.108)  25.617 ms
        72.14.237.110 (72.14.237.110)  53.230 ms
    11  72.14.232.141 (72.14.232.141)  33.403 ms  33.622 ms
        209.85.248.228 (209.85.248.228)  34.010 ms
    12  216.239.46.193 (216.239.46.193)  33.824 ms  33.433 ms  34.014 ms
    13  * * *
    14  google-public-dns-a.google.com (8.8.8.8)  37.414 ms  34.587 ms  34.306 ms
    Here's the output when it doesn't:
    traceroute 8.8.8.8
    traceroute: unknown host 8.8.8.8
    I just changed my DNS. I'll report back in a day to say if it fixed anything.

  • Save XML with HTTP connection

    Hello,
    I have an XML file and I need to save it in a HTTP patch.
    The transformation code it's working and I created an HTTP connection(SM59) that is working as well. I'm never did that before but I guess that I'm open the connection on my ABAP code, since it ask for user and password to login, but I have no idea how to save something in there.
    Follow the code:
    data: client      type ref to if_http_client.
    data: request     type ref to if_http_request.
    cl_http_client=>create_by_destination(
                     exporting destination = http_dest
                     importing client = client ).
       call method client->request->set_method(
         if_http_request=>co_request_method_get ).
    * set protocol version
       client->request->set_version(
            if_http_request=>co_protocol_version_1_0 ).
    * content type
       call method client->request->if_http_entity~set_content_type
         exporting
           content_type = 'multipart/form-data'.
    *** Send HTTP request
       call method client->send
         exceptions
           http_communication_failure = 1
           http_invalid_state         = 2
           http_processing_failed     = 3
           http_invalid_timeout       = 4
           others                     = 5.
       if sy-subrc <> 0.
         raise connection_error.
       endif.
    *** Get GTTP response
       call method client->receive
         exceptions
           http_communication_failure = 1
           http_invalid_state         = 2
           http_processing_failed     = 3
           others                     = 4.
       if rc = 0.
    *** Read HTTP RETURN CODE
         client->response->get_status( importing code = http_rc ).
         if http_rc <> 200.
           """KO
         else. "status 200 ->>OK
           clear: xml_xstring.
           xml_xstring = client->response->get_data( ).
         endif.
       endif.
    * VERY IMPORTANT: close your connection
       client->close( ).
       call function 'SRTUTIL_HELPER_XML_SHOW'
         exporting
           xdoc = xml_xstring
           html = abap_false.
    Thanks,
    Andréa

    Hello Andrea,
    Did you try using IF_HTTP_CLIENT~AUTHENTICATE method of class CL_HTTP_CLIENT.

  • Getting username and password with https connection

    I have a webservice that will authenticate the user to run a http://localhost:8080/soap/services/myService, I would like to call this in a form when a user clicks a button.  So I require HTTP/s authentication on the SOAP service, and this brings up a prompt:
    Connection at http://localhost:8080/soap/services/myService requires authentication:
               Username:
               Password:
    Now on myService, I want to verify the username and password they have entered in that security prompt within my orchestration.  How can I retrieve the username/password from the Acrobat security prompt?
    If I need to clarify, please just let me know.
    Thanks,
    Alex

    Hi Paul,
    That's sort of what I assumed was happening, but I'm not actually wanting to authenticate for the webservice call it seems.  I'm wanting to capture their username/password via acrobat prompt then push it along to the soap service.  So I guess via script I would want to do:
    1. prompt the user for username/password via acro-prompt (not sure how to do this)
    2. capture their input in variables (again not sure from acro-prompt)
    3. set up soap message (I can do)
    4. send data ("")
    5. receive data on LC side and use the user/password to authenticate in a database table I created ("")
    6. modify a field based on authentication allowed/denied ("")
    It doesn't necessarily have to be an actual authentication box, but I just want a username/password prompt so I can get those values.
    Thanks,
    Alex

  • Weird problem with http connection

    hi,
    i'm trying to implement a midlet that connects the mobile to an http server. i've downloaded several midlets and also tried the method given in the MIDP2 api documentation, but i doesn't work, it can't connect.
    i tried it on several phones and some of them freeze during the Connector.open method, but the Nokia 6230i tells that i have to register to GPRS services before i can connect this way. :(
    how is it that i can't connect with my midlet but i can do it through the wap function of the phone ? how can i bypass this problem ?
    thanks.

    i went to the parameters menu and changed "GPRS connection" to "permanent" but it didn't change anything. there doesn't to be any other paramter that could help with this. :(

  • NoSuchElementException with https connection

    Hi,
    I have a strange problem here: Always, when I try to connect to a https server, I get a NoSuchElementException. It happens when I try my own code or when I use the apple of my bank.
    Here is the stacktrace
    java.util.NoSuchElementException
         at java.util.StringTokenizer.nextToken(StringTokenizer.java:232)
         at sun.net.www.protocol.http.HttpURLConnection.doTunneling(HttpURLConnection.java:762)
         at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.setProxiedClient(DashoA6275)
         at sun.net.www.protocol.https.PluginDelegateHttpsURLConnection.superConnect(PluginDelegateHttpsURLConnection.java:329)
         at sun.net.www.protocol.https.PluginDelegateHttpsURLConnection.access$100(PluginDelegateHttpsURLConnection.java:44)
         at sun.net.www.protocol.https.PluginDelegateHttpsURLConnection$2.run(PluginDelegateHttpsURLConnection.java:151)
         at java.security.AccessController.doPrivileged(Native Method)
         at sun.net.www.protocol.https.PluginDelegateHttpsURLConnection.connect(PluginDelegateHttpsURLConnection.java:146)
         at sun.net.www.protocol.https.PluginDelegateHttpsURLConnection.getInputStream(PluginDelegateHttpsURLConnection.java:341)
         at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(DashoA6275)
         at sun.plugin.net.protocol.http.HttpUtils.followRedirects(HttpUtils.java:39)
         at sun.plugin.cache.CachedJarLoader.download(CachedJarLoader.java:311)
         at sun.plugin.cache.CachedJarLoader.load(CachedJarLoader.java:131)
         at sun.plugin.cache.JarCache.get(JarCache.java:177)
         at sun.plugin.net.protocol.jar.CachedJarURLConnection.connect(CachedJarURLConnection.java:71)
         at sun.plugin.net.protocol.jar.CachedJarURLConnection.getJarFile(CachedJarURLConnection.java:56)
         at sun.misc.URLClassPath$JarLoader.getJarFile(URLClassPath.java:498)
         at sun.misc.URLClassPath$JarLoader.<init>(URLClassPath.java:459)
         at sun.misc.URLClassPath$2.run(URLClassPath.java:255)
         at java.security.AccessController.doPrivileged(Native Method)
         at sun.misc.URLClassPath.getLoader(URLClassPath.java:244)
         at sun.misc.URLClassPath.getLoader(URLClassPath.java:221)
         at sun.misc.URLClassPath.getResource(URLClassPath.java:134)
         at java.net.URLClassLoader$1.run(URLClassLoader.java:190)
         at java.security.AccessController.doPrivileged(Native Method)
         at java.net.URLClassLoader.findClass(URLClassLoader.java:186)
         at sun.applet.AppletClassLoader.findClass(AppletClassLoader.java:132)
         at sun.plugin.security.PluginClassLoader.findClass(PluginClassLoader.java:189)
         at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
         at sun.applet.AppletClassLoader.loadClass(AppletClassLoader.java:112)
         at java.lang.ClassLoader.loadClass(ClassLoader.java:262)
         at sun.applet.AppletClassLoader.loadCode(AppletClassLoader.java:473)
         at sun.applet.AppletPanel.createApplet(AppletPanel.java:548)
         at sun.plugin.AppletViewer.createApplet(AppletViewer.java:1621)
         at sun.applet.AppletPanel.runLoader(AppletPanel.java:477)
         at sun.applet.AppletPanel.run(AppletPanel.java:290)
         at java.lang.Thread.run(Thread.java:536)Any Clue?
    Big thx,
    LoCal

    Are you still plagued with this problem?
    By the way, I am interested in what you (LoCal) posted in
    Forum Home > New To Java Technology
    Topic: Is it possible to use Microsoft's Java Packages in Forte4Java/JBuilder?
    Please visit there.

  • FirstMidletServlet with http connection error

    Ok so im quite new to midlets. Im trying to run the FirstMidletServlet which connects to a servlet using a tomcat server.
    It builds fine and runs ok until i am prompted to us airtime in the emulator. Once i click ok it just comes up with "Error" absolutetly nothing else not in the console in the wireless toolkit or in tomcat server console window.
    The servlet executes fine in the browser window so i know its not that.
    Any ideas why? Heres the code below
    Im running it on tomcat 5.5 and jdk1.5.0_14
    import java.io.*;
    import javax.microedition.io.*;
    import javax.microedition.lcdui.*;
    import javax.microedition.midlet.*;
    * An example MIDlet to invoke a CGI script.
    public class FirstMidletServlet extends MIDlet {
        private Display display;
        String url = "http://localhost/Servlet/HelloServlet";
        public FirstMidletServlet() {
           display = Display.getDisplay(this);
         * Initialization. Invoked when we activate the MIDlet.
        public void startApp() {
         try {
                invokeServlet(url);
         } catch (IOException e) {
             System.out.println("IOException " + e);
             e.printStackTrace();
         * Pause, discontinue ....
        public void pauseApp() {
         * Destroy must cleanup everything.
        public void destroyApp(boolean unconditional) {
         * Prepare connection and streams then invoke servlet.
         void invokeServlet(String url) throws IOException {
            HttpConnection c = null;
            InputStream is = null;
            StringBuffer b = new StringBuffer();
            TextBox t = null;
            try {
              c = (HttpConnection)Connector.open(url);
              c.setRequestMethod(HttpConnection.GET);
              c.setRequestProperty("IF-Modified-Since", "20 Jan 2001 16:19:14 GMT");
              c.setRequestProperty("User-Agent","Profile/MIDP-1.0 Configuration/CLDC-1.0");
              c.setRequestProperty("Content-Language", "en-CA");
              is = c.openDataInputStream();
              int ch;
              while ((ch = is.read()) != -1) {
                b.append((char) ch);
                //System.out.println((char)ch);
              t = new TextBox("First Servlet", b.toString(), 1024, 0);
            } finally {
               if(is!= null) {
                  is.close();
               if(c != null) {
                  c.close();
            display.setCurrent(t);
        }    

    what do you mean, "prompted to us airtime in the emulator"? I don't see anything related to that sentence in the code you posted. Is there more code you aren't showing us? Where does it say "Error" at?
    It promts you in the wireless toolkit that you are about to connect to an external connection. so you click yes then it trys to connect to servlet and get the "error" thats all it says on the wireless toolkit display!

  • Problems with https connection

    Hi there.
    I use java1.4 and tomcat 4.0.I have trusted certificate.
    And my code is:
    try{
    URL url = new URL("https://localhost:443/index.html");
    URLConnection con = url.openConnection();
    BufferedReader reader = new BufferedReader(new InputStreamReader(con.getInputStream()));
    String str;
    while((str=reader.readLine())!=null)System.out.println(str);
    It makes exception:
    java.io.IOException: HTTPS hostname wrong: should be <localhost>
    at sun.net.www.protocol.https.HttpsClient.b(DashoA6275)
    at sun.net.www.protocol.https.HttpsClient.afterConnect(DashoA6275)
    at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(DashoA6275)
    at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:556)
    at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(DashoA6275)
    at zmrd.main(zmrd.java:23)
    What have I done to avoid it?
    Thnaks for your answer.
    Tomas

    Some things you could check are: Make sure the value of CN in your certificate contains your host name and also make sure your host name in the Tomcat host aliases this might help: http://java.sun.com/webservices/docs/1.0/tutorial/doc/Admintool4.html#64446

  • Read Mp3 from buffer with http connection in realtime?

    Hello friends, i am new in this place and my grammar and english languaje is bad.
    I wanna read mp3 from http in realtime (j2me) , without waiting for download complete file and using buffer realtime, please i need your help.
    i found in the network forum a code that maybe but I failed to make it work.
    mi mail is [email protected]
    very grateful to you.
    Edited by: chocote on May 2, 2009 12:26 AM

    Hi Andrey,
    even with access to the delta buffer it would be hard (I think impossible) to implement a new lines check.
    1. You would need the data the query has read, possibly by reading again the data the query has read (vial plan buffer access). This is in general not possible since the query has much more filtering featues compared to the plan buffer (e.g. restricted key figures).
    2. You would need a delta buffer access (but this is not exposed via an 'external API'), but this is not enough since the delta buffer does not care whether a record is new or old. One does not know this in the delta buffer.
    To implement a real new line check (only 'real' new lines are allowed) one needs the old result set; this is not even known to the OLAP since e.g. for drill-down only the needed data will be read, not the full grid the end user sees in the front end. In the 7.0 code line this information is simply not there.
    With the new infrastructure shipped in 7.01, SP05 (cf. note 1358614) a kind of new lines check in the above sense would be relatively easy (for SAP) to implement. But one question is, what is a new line, think of zero suppression, conditions ? Should the system take records into account filtered out by the above featues ? Should a new line check by a query property ?
    Regards,
    Gregor

  • Looking for suggestion for SOAP over HTTP API to Oracle 10G

    I need to be able to write data to an oracle 10g database through a SOAP over HTTP connection. What is the suggest packages to do such an action.
    Best regards,
    Dale

    I suspect the problem is that the actual communication between client & Oracle DB server is done on a random "high port"; not 1522.
    The packets on the high port are not getting through the VPN.
    What I have made work in the past is to use ssh tunneling.
    Good Luck, you might need it.

  • Http Connection for UIViewController

    Hi guys.
    I am developing an application with Http connection.
    This application has 5 UIViewControllers.
    Each UIViewController can create a Http Connection.
    In this case, Do I need to code NSURLConnection for each UIViewController ?
    Or, Do need to code one NSURLConnection for 5 UIViewControllers?
    If so, How to make a transition between one NSURLConnection and 5 UIViewControllers ?
    Which one is better ?
    Thanks in advance.

    Thanks for reply.
    hat is hard to tell without knowing what each of these connections are supposed to do. I would >definitely create a separate class that handles the HTTP request, check connectivity etc. and use >that from each controller.
    If so, Do I need to define 5 UIViewControllers as static variable in separate class that handles the HTTP request ?
    I am trying yours idea. To do that, defines static variable for each UIViewController in AppDelegate.m.
    Actually i wanna do it as local variable. But I have one separate class that handles. So, I defined these 5 UIViewControllers as static.
    If need to define as local variable, what do I need to ?
    Any suggestion ?
    Thanks in advance.

  • BT Infinity and https connection issues

    I have sporadic issues with https connections on my BT Infinity service.
    I used to be on Virgin ADSL and had no issues.
    I can also use a Orange mobile dongle with no issues if I switch to that when experiencing problems with BT.
    Some example sites:
    Dixons checkout pages
    NatWest banking pages
    Anyone else experience this?
    Should I periodically reboot the HomeHub and VDSL?
    Cheers,
    Jason.

    Can someone on Infinity kindly do me a test and visit https://upgrades.o2.co.uk/index.htm and tell me if it's darn slow for you too?  It's not the site as I'm loading up VNC and connecting to a VPS in America and it's instantly loading. It'll definitely rule out traffic shaping if someone on Infinity can tell me either way.
    Thanks you generous souls!!!

Maybe you are looking for