(secure)HttpURLConnection & FileNotFound

Hi,
I'm trying to write an agent that will going to do a login to a page, and retrieve the data there. I have some problems while POSTing data.
I use jsse. I can succesfully retrieve the main page, and parse all its headers:
URL hosturl = new URL("https://secure.host.com/net/webservice.jsp?cmd=web");
HttpURLConnection tc=(HttpURLConnection)hosturl.openConnection();
    tc.setDoOutput(true);
    tc.connect();
    String session=tc.getHeaderField("Set-Cookie");I get inputstream in usual way and see its contents:
BufferedReader in = new BufferedReader(
                    new InputStreamReader(
                    tc.getInputStream()));
             String inputLine;
     while ((inputLine = in.readLine()) != null)
         System.out.println(inputLine);
     in.close();
    tc.disconnect();Then I have to make a post which appears in the content like this:
<form name="form" action="cgi-bin?HostSession=JAq1|-A" method="POST"">
where HostSession is nothing but the cookie which I can succesfully parse. I try to post data to the form:
URL form1 = new URL("https://secure.host.com/net/cgi-bin?"+justsession);
    HttpURLConnection fc=(HttpURLConnection)form1.openConnection();
    fc.setDoOutput(true);
    fc.setDoInput(true);
    fc.setRequestProperty("Cookie",session);
    fc.setRequestMethod("POST");
    fc.setRequestProperty("login","ABC");
    fc.connect();
    in=new BufferedReader(new InputStreamReader(fc.getInputStream()));
    while ((inputLine = in.readLine()) != null)
         System.out.println(inputLine);But I get the exception:
java.io.FileNotFoundException: https://secure.host.com/net/cgi-bin?HostSession=se|-2
     at com.sun.net.ssl.internal.www.protocol.https.HttpsURLConnection.getInputStream([DashoPro-V1.2-120198])
     at program.mainclass.main(deneme.java:98)
(The sessions may not match, I copied error at a later time and I change them a little bit in order not to reveal the host.)
Any help? Thanks a lot.

Hey,Hey
Why do you want your Duke Dollars back?? Don't IWhy wouldn't I??
deserve them? I actually spent time on looking at your
problem and you did write "You are completely right.".Well, thanks. But I spent that time too, and figured out that answer. Due to my problems with ISP it took time for me to connect and post forum that I have solved the problem that I posted. But I did see your post, and your solution was very helpful. Even if I had come to your point I thought that you deserve the dolar.
So, forget it!!! (And there is anyway no way to get
them back!!!)Yes I got that too! The problem was I learnt it with the hard way (as I always do in programming or life.
>
Hmm...Well, actually there is something that I can do. I saw the "lost dollars" all around the forum. I don't want my 5 be like them too, so there is no problem with me whether putting them rest or giving them to you. So if you want, I can give them to you. And, maybe, if you are grateful you can give some of them back to me. Of course, I want to solve any of your problems, if there are.
If you want...

Similar Messages

  • HttpURLConnection throws a FileNotFound exception

    Hi Everybody,
    I want to post the data to a remote servlet using HttpURLConnection.
    But it throws a FileNotFound exception. Pls send me the solution.
    My code is
    First Servlet:
    ==============
    import java.io.*;
    import java.net.*;
    import java.text.*;
    import java.util.*;
    import javax.servlet.*;
    import javax.servlet.http.*;
    public class Test extends HttpServlet {
         public void doGet(HttpServletRequest request, HttpServletResponse response)
    throws IOException, ServletException {
    response.setContentType("text/html");
              URL url = new URL("http://node_18:8080/examples/servlet/HelloWorldExample1");
              HttpURLConnection conn = (HttpURLConnection) url.openConnection();
              conn.setRequestMethod("POST");
              //HttpURLConnection.setFollowRedirects(true);
              conn.setUseCaches(false);
              conn.setDoOutput(true);
              conn.setDoInput(true);
              String postData = "name=value&othername=value";
              String lengthString = String.valueOf(postData.length());
              conn.setRequestProperty("Content-Length", lengthString);
              conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
              Writer out = new OutputStreamWriter(conn.getOutputStream());
              out.write(postData);
              out.close();
              PrintWriter out1 = response.getWriter();
              BufferedReader in =
              new BufferedReader(new InputStreamReader(conn.getInputStream()));
              String line = null;
              while (null != (line = in.readLine()))
              out1.println(line);
              in.close();
              out1.close();
    Second Servlet:
    ================
    import java.io.*;
    import java.text.*;
    import java.util.*;
    import javax.servlet.*;
    import javax.servlet.http.*;
    public class HelloWorldExample1 extends HttpServlet {
    public void doGet(HttpServletRequest request,
    HttpServletResponse response)
    throws IOException, ServletException
    response.setContentType("text/html");
    PrintWriter out = response.getWriter();
    String name = request.getParameter("name");
    String othername = request.getParameter("othername");
    System.out.println("name = "+name+" othername = "+othername);
    out.println("<html>");
    out.println("<head>");
         out.println("<title> Test </title>");
    out.println("</head>");
    out.println("<body bgcolor=\"white\">");
         out.println("Test");
    out.println("</body>");
    out.println("</html>");
    public void destroy() {
         System.out.println("Servlet Destroyed");
    public void doPost(HttpServletRequest request,
    HttpServletResponse response)
    throws IOException, ServletException
         doPost(request,
    response);
    Error:
    =======
    java.io.FileNotFoundException: http://node_18:8080/examples/servlet/HelloWorldExample1
         at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:574)
         at Test.doGet(Test.java:37)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
         at filters.ExampleFilter.doFilter(ExampleFilter.java:149)
         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:213)
         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
         at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:260)
         at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
         at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
         at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
         at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
         at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:471)
         at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
         at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
         at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2396)
         at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
         at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
         at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:170)
         at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
         at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172)
         at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
         at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
         at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
         at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
         at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
         at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:223)
         at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:405)
         at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:380)
         at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:565)
         at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:623)
         at java.lang.Thread.run(Thread.java:484)

    Hi p200002,
    I call doPost method in doPost in the second servlet. It will be
    public void doPost(HttpServletRequest request,
    HttpServletResponse response)
    throws IOException, ServletException
         doGet(request,
    response);
    }

  • Java.security.cert.CertificateException

    Hi,
    I am using a JAVA client to connect to a https server which uses certificates for authentication.
    The server uses gSOAP certificates for client authentication and encryption of messages.
    I am using JSSE coming along with JDK1.6 and generated keystore file from client.pem and cacert.pem files used by the server.
    I need to send SOAP messages with attachments.
    I am using SAAJ API with JDK 1.6 .
    When I try to connect to the server through javax.xml.soap.SOAPConnection, I am getting java.security.cert.CertificateException. Please see the exception below.
    Note: Server is responding properly to SOAP UI tool(java testing tool) with certifcates authentication.
    I have enabled debug option in SSL.
    E:\test\properties\storefile.jks
    keyStore is : E:\test\properties\storefile.jks
    keyStore type is : jks
    keyStore provider is :
    init keystore
    init keymanager of type SunX509
    trustStore is: E:\test\properties\storefile.jks
    trustStore type is : jks
    trustStore provider is :
    init truststore
    adding as trusted cert:
    Subject: [email protected], CN=genivia.com, OU=IT, O="Genivia, Inc.", L=Tallahassee, ST=FL, C=US
    Issuer: [email protected], CN=genivia.com, OU=IT, O="Genivia, Inc.", L=Tallahassee, ST=FL, C=US
    Algorithm: RSA; Serial number: 0x0
    Valid from Sat Oct 02 22:38:06 IST 2004 until Tue Oct 02 22:38:06 IST 2007
    adding as trusted cert:
    Subject: [email protected], CN=localhost, OU=IT, O="Genivia, Inc.", L=Tallahassee, ST=FL, C=US
    Issuer: [email protected], CN=genivia.com, OU=IT, O="Genivia, Inc.", L=Tallahassee, ST=FL, C=US
    Algorithm: RSA; Serial number: 0x7
    Valid from Sun Dec 25 01:01:53 IST 2005 until Wed Dec 24 01:01:53 IST 2008
    adding as trusted cert:
    Subject: [email protected], CN=localhost, OU=IT, O="Genivia, Inc.", L=Tallahassee, ST=FL, C=US
    Issuer: [email protected], CN=genivia.com, OU=IT, O="Genivia, Inc.", L=Tallahassee, ST=FL, C=US
    Algorithm: RSA; Serial number: 0x8
    Valid from Sun Dec 25 01:03:13 IST 2005 until Wed Dec 24 01:03:13 IST 2008
    trigger seeding of SecureRandom
    done seeding SecureRandom
    %% No cached client session
    *** ClientHello, TLSv1
    RandomCookie: GMT: 1155448094 bytes = { 120, 70, 246, 123, 195, 47, 61, 191, 223, 241, 23, 204, 98, 143, 212, 251, 80, 10, 100, 183, 82, 82, 215, 228, 212, 47, 68, 224 }
    Session ID: {}
    Cipher Suites: [SSL_RSA_WITH_RC4_128_MD5, SSL_RSA_WITH_RC4_128_SHA, TLS_RSA_WITH_AES_128_CBC_SHA, TLS_DHE_RSA_WITH_AES_128_CBC_SHA, TLS_DHE_DSS_WITH_AES_128_CBC_SHA, SSL_RSA_WITH_3DES_EDE_CBC_SHA, SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA, SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA, SSL_RSA_WITH_DES_CBC_SHA, SSL_DHE_RSA_WITH_DES_CBC_SHA, SSL_DHE_DSS_WITH_DES_CBC_SHA, SSL_RSA_EXPORT_WITH_RC4_40_MD5, SSL_RSA_EXPORT_WITH_DES40_CBC_SHA, SSL_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA, SSL_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA]
    Compression Methods: { 0 }
    Thread-3, WRITE: TLSv1 Handshake, length = 73
    Thread-3, WRITE: SSLv2 client hello message, length = 98
    Thread-3, READ: TLSv1 Handshake, length = 74
    *** ServerHello, TLSv1
    RandomCookie: GMT: 1155531752 bytes = { 248, 141, 63, 154, 117, 213, 184, 250, 239, 237, 26, 225, 175, 38, 151, 65, 101, 127, 134, 46, 180, 80, 153, 133, 215, 120, 102, 11 }
    Session ID: {100, 201, 98, 232, 113, 191, 163, 129, 1, 101, 251, 29, 233, 245, 144, 203, 231, 208, 202, 248, 160, 99, 84, 248, 86, 16, 235, 234, 20, 73, 231, 148}
    Cipher Suite: SSL_RSA_WITH_RC4_128_MD5
    Compression Method: 0
    %% Created: [Session-1, SSL_RSA_WITH_RC4_128_MD5]
    ** SSL_RSA_WITH_RC4_128_MD5
    Thread-3, READ: TLSv1 Handshake, length = 1868
    *** Certificate chain
    chain [0] = [
    Version: V3
    Subject: [email protected], CN=localhost, OU=IT, O="Genivia, Inc.", L=Tallahassee, ST=FL, C=US
    Signature Algorithm: SHA1withRSA, OID = 1.2.840.113549.1.1.5
    Key: Sun RSA public key, 1024 bits
    modulus: 144881101064455404788814091404981462608080902688277626878350142057531273562236240952084735254146287262789443540177122740514352105900513219519909051335421867736741713195463254360663999239941476817345303119999799829037388457231058611674562175705514528085594563474765367007497034178272408363177194954006361904887
    public exponent: 65537
    Validity: [From: Sun Dec 25 01:03:13 IST 2005,
                   To: Wed Dec 24 01:03:13 IST 2008]
    Issuer: [email protected], CN=genivia.com, OU=IT, O="Genivia, Inc.", L=Tallahassee, ST=FL, C=US
    SerialNumber: [    08]
    Certificate Extensions: 4
    [1]: ObjectId: 2.16.840.1.113730.1.13 Criticality=false
    Extension unknown: DER encoded OCTET string =
    0000: 04 1F 16 1D 4F 70 65 6E 53 53 4C 20 47 65 6E 65 ....OpenSSL Gene
    0010: 72 61 74 65 64 20 43 65 72 74 69 66 69 63 61 74 rated Certificat
    0020: 65 e
    [2]: ObjectId: 2.5.29.14 Criticality=false
    SubjectKeyIdentifier [
    KeyIdentifier [
    0000: 3D C1 C8 B5 19 17 C3 8C 12 64 3C 05 C3 22 EE 7B =........d<.."..
    0010: BA 27 B4 C1 .'..
    [3]: ObjectId: 2.5.29.35 Criticality=false
    AuthorityKeyIdentifier [
    KeyIdentifier [
    0000: E0 CC 88 8B 41 A0 21 4A A4 61 18 67 27 61 A0 C9 ....A.!J.a.g'a..
    0010: 49 95 77 CA I.w.
    [[email protected], CN=genivia.com, OU=IT, O="Genivia, Inc.", L=Tallahassee, ST=FL, C=US]
    SerialNumber: [    00]
    [4]: ObjectId: 2.5.29.19 Criticality=false
    BasicConstraints:[
    CA:false
    PathLen: undefined
    Algorithm: [SHA1withRSA]
    Signature:
    0000: 6E D0 0E EC 85 EA A9 71 60 5D CB 13 3A 0C C2 C6 n......q`]..:...
    0010: A1 92 15 14 2A BB 86 2A 1D 68 B1 4B 41 C0 0B FB ....*..*.h.KA...
    0020: 35 C7 0F 6E 51 99 B3 25 95 4F 58 18 3D 73 F2 06 5..nQ..%.OX.=s..
    0030: 18 63 40 21 A7 44 1D AB 46 DB DD 6C 20 7D 23 23 .c@!.D..F..l .##
    0040: 08 84 92 CE 04 93 10 B3 CB 84 67 FD 3F 53 81 51 ..........g.?S.Q
    0050: 25 60 EE D1 02 89 06 58 E6 E0 B4 C2 20 D8 E8 84 %`.....X.... ...
    0060: 8A 4E 8D 59 62 67 33 4C 95 BD A3 F7 68 76 5E BA .N.Ybg3L....hv^.
    0070: D9 84 3F 80 C8 1E 49 3A 59 D0 B4 74 9E 2D CD F6 ..?...I:Y..t.-..
    chain [1] = [
    Version: V3
    Subject: [email protected], CN=genivia.com, OU=IT, O="Genivia, Inc.", L=Tallahassee, ST=FL, C=US
    Signature Algorithm: SHA1withRSA, OID = 1.2.840.113549.1.1.5
    Key: Sun RSA public key, 1024 bits
    modulus: 106482211752195899275275639329238789380560290379431640534106480581317795742917955972475513891969031216742557266096088552725987675210922796797720103531106400345818891764659480805498923495886457178236281557583158652266656923442983245641013901721295378444704296581436391012531718274035287004196101203604693764023
    public exponent: 65537
    Validity: [From: Sat Oct 02 22:38:06 IST 2004,
                   To: Tue Oct 02 22:38:06 IST 2007]
    Issuer: [email protected], CN=genivia.com, OU=IT, O="Genivia, Inc.", L=Tallahassee, ST=FL, C=US
    SerialNumber: [    00]
    Certificate Extensions: 3
    [1]: ObjectId: 2.5.29.14 Criticality=false
    SubjectKeyIdentifier [
    KeyIdentifier [
    0000: E0 CC 88 8B 41 A0 21 4A A4 61 18 67 27 61 A0 C9 ....A.!J.a.g'a..
    0010: 49 95 77 CA I.w.
    [2]: ObjectId: 2.5.29.35 Criticality=false
    AuthorityKeyIdentifier [
    KeyIdentifier [
    0000: E0 CC 88 8B 41 A0 21 4A A4 61 18 67 27 61 A0 C9 ....A.!J.a.g'a..
    0010: 49 95 77 CA I.w.
    [[email protected], CN=genivia.com, OU=IT, O="Genivia, Inc.", L=Tallahassee, ST=FL, C=US]
    SerialNumber: [    00]
    [3]: ObjectId: 2.5.29.19 Criticality=false
    BasicConstraints:[
    CA:true
    PathLen:2147483647
    Algorithm: [SHA1withRSA]
    Signature:
    0000: 59 9B F6 45 7E 10 3C 79 3B 88 FB 74 B3 2E F7 4F Y..E..<y;..t...O
    0010: 67 16 09 C1 2F 4E AC 7A 98 EA B4 12 08 6D 96 37 g.../N.z.....m.7
    0020: 1A 70 A0 79 FC 4A A7 54 BA 21 FD 35 FE 67 55 EF .p.y.J.T.!.5.gU.
    0030: D9 D9 18 99 5D 7A 03 3B EE DC F8 54 89 73 B8 86 ....]z.;...T.s..
    0040: B3 FB 63 4E F8 6A 9B AF A1 2B 39 1F B7 50 63 AB ..cN.j...+9..Pc.
    0050: 46 E1 F7 F5 A3 13 D4 3B F0 1D 8A 54 E4 65 3E 94 F......;...T.e>.
    0060: 6D 5A 58 77 50 A7 CB 99 E7 2E 28 90 C8 37 67 D2 mZXwP.....(..7g.
    0070: 19 E6 78 A3 91 49 E9 08 74 0E FA AF FC 16 B3 0B ..x..I..t.......
    Feb 24, 2007 9:50:47 AM com.sun.xml.internal.messaging.saaj.client.p2p.HttpSOAPConnection post
    SEVERE: SAAJ0009: Message send failed
    com.sun.xml.internal.messaging.saaj.SOAPExceptionImpl: java.security.PrivilegedActionException: com.sun.xml.internal.messaging.saaj.SOAPExceptionImpl: Message send failed
         at com.sun.xml.internal.messaging.saaj.client.p2p.HttpSOAPConnection.call(Unknown Source)
         at SOAPConnector$1.run(SOAPConnector.java:145)
    Caused by: java.security.PrivilegedActionException: com.sun.xml.internal.messaging.saaj.SOAPExceptionImpl: Message send failed
         at java.security.AccessController.doPrivileged(Native Method)Found trusted certificate:
    Version: V3
    Subject: [email protected], CN=localhost, OU=IT, O="Genivia, Inc.", L=Tallahassee, ST=FL, C=US
    Signature Algorithm: SHA1withRSA, OID = 1.2.840.113549.1.1.5
    Key: Sun RSA public key, 1024 bits
    modulus: 144881101064455404788814091404981462608080902688277626878350142057531273562236240952084735254146287262789443540177122740514352105900513219519909051335421867736741713195463254360663999239941476817345303119999799829037388457231058611674562175705514528085594563474765367007497034178272408363177194954006361904887
    public exponent: 65537
    Validity: [From: Sun Dec 25 01:03:13 IST 2005,
                   To: Wed Dec 24 01:03:13 IST 2008]
    Issuer: [email protected], CN=genivia.com, OU=IT, O="Genivia, Inc.", L=Tallahassee, ST=FL, C=US
    SerialNumber: [    08]
    Certificate Extensions: 4
    [1]: ObjectId: 2.16.840.1.113730.1.13 Criticality=false
    Extension unknown: DER encoded OCTET string =
    0000: 04 1F 16 1D 4F 70 65 6E 53 53 4C 20 47 65 6E 65 ....OpenSSL Gene
    0010: 72 61 74 65 64 20 43 65 72 74 69 66 69 63 61 74 rated Certificat
    0020: 65 e
    [2]: ObjectId: 2.5.29.14 Criticality=false
    SubjectKeyIdentifier [
    KeyIdentifier [
    0000: 3D C1 C8 B5 19 17 C3 8C 12 64 3C 05 C3 22 EE 7B =........d<.."..
    0010: BA 27 B4 C1 .'..
    [3]: ObjectId: 2.5.29.35 Criticality=false
    AuthorityKeyIdentifier [
    KeyIdentifier [
    0000: E0 CC 88 8B 41 A0 21 4A A4 61 18 67 27 61 A0 C9 ....A.!J.a.g'a..
    0010: 49 95 77 CA I.w.
    [[email protected], CN=genivia.com, OU=IT, O="Genivia, Inc.", L=Tallahassee, ST=FL, C=US]
    SerialNumber: [    00]
    [4]: ObjectId: 2.5.29.19 Criticality=false
    BasicConstraints:[
    CA:false
    PathLen: undefined
    Algorithm: [SHA1withRSA]
    Signature:
    0000: 6E D0 0E EC 85 EA A9 71 60 5D CB 13 3A 0C C2 C6 n......q`]..:...
    0010: A1 92 15 14 2A BB 86 2A 1D 68 B1 4B 41 C0 0B FB ....*..*.h.KA...
    0020: 35 C7 0F 6E 51 99 B3 25 95 4F 58 18 3D 73 F2 06 5..nQ..%.OX.=s..
    0030: 18 63 40 21 A7 44 1D AB 46 DB DD 6C 20 7D 23 23 .c@!.D..F..l .##
    0040: 08 84 92 CE 04 93 10 B3 CB 84 67 FD 3F 53 81 51 ..........g.?S.Q
    0050: 25 60 EE D1 02 89 06 58 E6 E0 B4 C2 20 D8 E8 84 %`.....X.... ...
    0060: 8A 4E 8D 59 62 67 33 4C 95 BD A3 F7 68 76 5E BA .N.Ybg3L....hv^.
    0070: D9 84 3F 80 C8 1E 49 3A 59 D0 B4 74 9E 2D CD F6 ..?...I:Y..t.-..
    Thread-3, SEND TLSv1 ALERT: fatal, description = certificate_unknown
    Thread-3, WRITE: TLSv1 Alert, length = 2
    Thread-3, called closeSocket()
    Thread-3, handling exception: javax.net.ssl.SSLHandshakeException: java.security.cert.CertificateException: No subject alternative names present
         ... 2 more
    Caused by: com.sun.xml.internal.messaging.saaj.SOAPExceptionImpl: Message send failed
         at com.sun.xml.internal.messaging.saaj.client.p2p.HttpSOAPConnection.post(Unknown Source)
         at com.sun.xml.internal.messaging.saaj.client.p2p.HttpSOAPConnection$PriviledgedPost.run(Unknown Source)
         ... 3 more
    Caused by: javax.net.ssl.SSLHandshakeException: java.security.cert.CertificateException: No subject alternative names present
         at com.sun.net.ssl.internal.ssl.Alerts.getSSLException(Unknown Source)
         at com.sun.net.ssl.internal.ssl.SSLSocketImpl.fatal(Unknown Source)
         at com.sun.net.ssl.internal.ssl.Handshaker.fatalSE(Unknown Source)
         at com.sun.net.ssl.internal.ssl.Handshaker.fatalSE(Unknown Source)
         at com.sun.net.ssl.internal.ssl.ClientHandshaker.serverCertificate(Unknown Source)
         at com.sun.net.ssl.internal.ssl.ClientHandshaker.processMessage(Unknown Source)
         at com.sun.net.ssl.internal.ssl.Handshaker.processLoop(Unknown Source)
         at com.sun.net.ssl.internal.ssl.Handshaker.process_record(Unknown Source)
         at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(Unknown Source)
         at com.sun.net.ssl.internal.ssl.SSLSocketImpl.performInitialHandshake(Unknown Source)
         at com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(Unknown Source)
         at com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(Unknown Source)
         at sun.net.www.protocol.https.HttpsClient.afterConnect(Unknown Source)
         at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(Unknown Source)
         at sun.net.www.protocol.http.HttpURLConnection.getOutputStream(Unknown Source)
         at sun.net.www.protocol.https.HttpsURLConnectionImpl.getOutputStream(Unknown Source)
         ... 5 more
    Caused by: java.security.cert.CertificateException: No subject alternative names present
         at sun.security.util.HostnameChecker.matchIP(Unknown Source)
         at sun.security.util.HostnameChecker.match(Unknown Source)
         at com.sun.net.ssl.internal.ssl.X509TrustManagerImpl.checkIdentity(Unknown Source)
         at com.sun.net.ssl.internal.ssl.X509TrustManagerImpl.checkServerTrusted(Unknown Source)
         ... 17 more
    CAUSE:
    java.security.PrivilegedActionException: com.sun.xml.internal.messaging.saaj.SOAPExceptionImpl: Message send failed
         at java.security.AccessController.doPrivileged(Native Method)
         at com.sun.xml.internal.messaging.saaj.client.p2p.HttpSOAPConnection.call(Unknown Source)
         at SOAPConnector$1.run(SOAPConnector.java:145)
    Caused by: com.sun.xml.internal.messaging.saaj.SOAPExceptionImpl: Message send failed
         at com.sun.xml.internal.messaging.saaj.client.p2p.HttpSOAPConnection.post(Unknown Source)
         at com.sun.xml.internal.messaging.saaj.client.p2p.HttpSOAPConnection$PriviledgedPost.run(Unknown Source)
         ... 3 more
    Caused by: javax.net.ssl.SSLHandshakeException: java.security.cert.CertificateException: No subject alternative names present
         at com.sun.net.ssl.internal.ssl.Alerts.getSSLException(Unknown Source)
         at com.sun.net.ssl.internal.ssl.SSLSocketImpl.fatal(Unknown Source)
         at com.sun.net.ssl.internal.ssl.Handshaker.fatalSE(Unknown Source)
         at com.sun.net.ssl.internal.ssl.Handshaker.fatalSE(Unknown Source)
         at com.sun.net.ssl.internal.ssl.ClientHandshaker.serverCertificate(Unknown Source)
         at com.sun.net.ssl.internal.ssl.ClientHandshaker.processMessage(Unknown Source)
         at com.sun.net.ssl.internal.ssl.Handshaker.processLoop(Unknown Source)
         at com.sun.net.ssl.internal.ssl.Handshaker.process_record(Unknown Source)
         at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(Unknown Source)
         at com.sun.net.ssl.internal.ssl.SSLSocketImpl.performInitialHandshake(Unknown Source)
         at com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(Unknown Source)
         at com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(Unknown Source)
         at sun.net.www.protocol.https.HttpsClient.afterConnect(Unknown Source)
         at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(Unknown Source)
         at sun.net.www.protocol.http.HttpURLConnection.getOutputStream(Unknown Source)
         at sun.net.www.protocol.https.HttpsURLConnectionImpl.getOutputStream(Unknown Source)
         ... 5 more
    Caused by: java.security.cert.CertificateException: No subject alternative names present
         at sun.security.util.HostnameChecker.matchIP(Unknown Source)
         at sun.security.util.HostnameChecker.match(Unknown Source)
         at com.sun.net.ssl.internal.ssl.X509TrustManagerImpl.checkIdentity(Unknown Source)
         at com.sun.net.ssl.internal.ssl.X509TrustManagerImpl.checkServerTrusted(Unknown Source)
         ... 17 more
    CAUSE:
    java.security.PrivilegedActionException: com.sun.xml.internal.messaging.saaj.SOAPExceptionImpl: Message send failed
         at java.security.AccessController.doPrivileged(Native Method)
         at com.sun.xml.internal.messaging.saaj.client.p2p.HttpSOAPConnection.call(Unknown Source)
         at SOAPConnector$1.run(SOAPConnector.java:145)
    Caused by: com.sun.xml.internal.messaging.saaj.SOAPExceptionImpl: Message send failed
         at com.sun.xml.internal.messaging.saaj.client.p2p.HttpSOAPConnection.post(Unknown Source)
         at com.sun.xml.internal.messaging.saaj.client.p2p.HttpSOAPConnection$PriviledgedPost.run(Unknown Source)
         ... 3 more
    Caused by: javax.net.ssl.SSLHandshakeException: java.security.cert.CertificateException: No subject alternative names present
         at com.sun.net.ssl.internal.ssl.Alerts.getSSLException(Unknown Source)
         at com.sun.net.ssl.internal.ssl.SSLSocketImpl.fatal(Unknown Source)
         at com.sun.net.ssl.internal.ssl.Handshaker.fatalSE(Unknown Source)
         at com.sun.net.ssl.internal.ssl.Handshaker.fatalSE(Unknown Source)
         at com.sun.net.ssl.internal.ssl.ClientHandshaker.serverCertificate(Unknown Source)
         at com.sun.net.ssl.internal.ssl.ClientHandshaker.processMessage(Unknown Source)
         at com.sun.net.ssl.internal.ssl.Handshaker.processLoop(Unknown Source)
         at com.sun.net.ssl.internal.ssl.Handshaker.process_record(Unknown Source)
         at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(Unknown Source)
         at com.sun.net.ssl.internal.ssl.SSLSocketImpl.performInitialHandshake(Unknown Source)
         at com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(Unknown Source)
         at com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(Unknown Source)
         at sun.net.www.protocol.https.HttpsClient.afterConnect(Unknown Source)
         at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(Unknown Source)
         at sun.net.www.protocol.http.HttpURLConnection.getOutputStream(Unknown Source)
         at sun.net.www.protocol.https.HttpsURLConnectionImpl.getOutputStream(Unknown Source)
         ... 5 more
    Caused by: java.security.cert.CertificateException: No subject alternative names present
         at sun.security.util.HostnameChecker.matchIP(Unknown Source)
         at sun.security.util.HostnameChecker.match(Unknown Source)
         at com.sun.net.ssl.internal.ssl.X509TrustManagerImpl.checkIdentity(Unknown Source)
         at com.sun.net.ssl.internal.ssl.X509TrustManagerImpl.checkServerTrusted(Unknown Source)
         ... 17 more
    Any help is appreciated.

    did you find the solution for the issue i am using jscape now...

  • HttpURLConnection.connect() takes long time (3 minutes)

    I'm stumped on an unusual problem. I'm running java 1.3 and Apache JServ (don't ask, I inherited this set up), using JSSE. One of the things we do with our app involves some xml communication over SSL.
    Starting last week, the time for the SSL communication jumped from about 15 seconds to around 3 minutes.
    Here is the bit of code that does the actual communication. An example function call would be:
    contactService("ShipConfirm", "ups.app/xml");and the function definition:
    public void contactService(String service, String prefix)  throws Exception {
      HttpURLConnection connection;
      URL url;
      // the next 2 variables are stored elsewhere in the object
      // these values are just examples of one invocation
      String protocol = "https";
      String hostname = "wwwcie.ups.com";
      String urlStr = protocol + "://" + hostname + "/" + prefix + "/" + service;
      // so for this test urlString = "https://wwwcie.ups.com/ups.app/xml/ShipConfirm";
      try  {
        if (protocol.equalsIgnoreCase("https")) {
          java.security.Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider());
          System.getProperties().put("java.protocol.handler.pkgs", "com.sun.net.ssl.internal.www.protocol");
        url = new URL(urlString);
        // Trace.log is a convenience class that will print to a log file and include a timestamp
        Trace.log("open connection to " + urlString);
        connection = (HttpURLConnection) url.openConnection();
        // openConnection takes about 20 seconds now, before 1 or 2 seconds
        Trace.log("opened connection to " + urlString);
        connection.setDoOutput(true);
        connection.setDoInput(true);
        connection.setUseCaches(false);
        // XmlIn is an already generated xml file stored in a StringBuffer, declared elsewhere
        String queryString = XmlIn.toString();
        Trace.log("xml connection to " + urlString);
        connection.connect();
        // connect takes about 3 minutes 10 seconds now, before 15 seconds
        Trace.log("xml connection complete " + urlString);
        OutputStream out = connection.getOutputStream();
        out.write(queryString.getBytes());
        out.close();
        String data = "";
        try {
          // on the server this is actually a separate function
          StringBuffer buffer = new StringBuffer();
          BufferedReader reader = null;
          try {
            reader = new BufferedReader(new InputStreamReader(connection.getInputStream()));
            String line = null;
            int letter = 0;
            while ((letter = reader.read()) != -1)
              buffer.append((char) letter);
          catch (Exception e) {
            // Trace.major is like Trace.log, but is a higher severity
            Trace.major("Cannot read from URL" + e.toString());
            throw e;
          finally {
            try {
              reader.close();
            catch (IOException io) {
              Trace.major("Error closing URLReader!");
              throw io;
          data = buffer.toString(); // actually a return statement on server
        catch (Exception e) {
          Trace.major("Error in reading URL Connection" + e.getMessage());
          throw e;
        XmlOut = new StringBuffer(data);  // XmlOut is a StringBuffer declared elsewhere
      catch (Exception e1) {
        Trace.major("Error sending data to server" + e1.toString());
    } Besides a couple of new Trace.log statements to pin down the what, exactly, is taking so long, I haven't touched this code in the year+ since I've inherited it. There haven't been any changes in the network setup for the last 3 weeks, either (last change was new reverse lookup zone for our internal network).
    Any idea why the HttpURLConnection.connect() would take so long? Or any idea how I can find out what is going on for those 3 minutes? In my search so far, I found -Djava.net.debug=ssl,handshake,data and added it to my startup parameters, but in my frustration, I must have overlooked what I need do to make it show up in my logs.
    I set up a tcpdump on the server to listen on the IP that I'm trying to connect to and the "xml connection to" log statement prints, then about 3 minutes and 10 seconds goes by, then tcpdump reports that we actually send the packets to the other server, then we get a response and print the "xml connection complete" log message. URL and HttpURLConnection are not subclassed at all.
    To make things even more interesting, I broke out this code, and wrote a small test program. The test program has some minor changes (pulling the xml data from an already existing file, mainly), and this version runs lickety-split (about 5 seconds).
    Any help or pointers would be greatly appreciated. Let me know if I can provide any more information.
    Thanks,
    Andy

    Figured it out..
    The other side removed a proxy server that we used to try to connect through. The server was taking 3 minutes and 10 seconds to time out when it trying to contact the proxy server.
    To be honest, I don't know if we ever successfully connected through the proxy server. I'm inclined to believe we tried to contact it, but were rejected, but no one ever removed the proxy code.
    Andy

  • Problem in calling a secured service from OSB

    I am trying to call a CRMOD service which is secured (username token) from OSB.
    Its giving me the below error
    [WliSbTransports:381304]Exception in HttpOutboundMessageContext.RetrieveHttpResponseWork.run: java.net.SocketTimeoutException: Read timed out
    java.net.SocketTimeoutException: Read timed out
    at java.net.SocketInputStream.socketRead0(Native Method)
    at java.net.SocketInputStream.read(Unknown Source)
    at weblogic.utils.io.ChunkedInputStream.read(ChunkedInputStream.java:159)
    at java.io.InputStream.read(Unknown Source)
    at com.certicom.tls.record.ReadHandler.readFragment(Unknown Source)
    at com.certicom.tls.record.ReadHandler.readRecord(Unknown Source)
    at com.certicom.tls.record.ReadHandler.read(Unknown Source)
    at com.certicom.io.InputSSLIOStreamWrapper.read(Unknown Source)
    at java.io.BufferedInputStream.fill(Unknown Source)
    at java.io.BufferedInputStream.read(Unknown Source)
    at java.io.SequenceInputStream.read(Unknown Source)
    at java.io.SequenceInputStream.read(Unknown Source)
    at weblogic.net.http.MessageHeader.parseHeader(MessageHeader.java:151)
    at weblogic.net.http.HttpClient.parseHTTP(HttpClient.java:468)
    at weblogic.net.http.HttpURLConnection.getInputStream(HttpURLConnection.java:377)
    at weblogic.net.http.SOAPHttpsURLConnection.getInputStream(SOAPHttpsURLConnection.java:37)
    at weblogic.net.http.HttpURLConnection.getResponseCode(HttpURLConnection.java:965)
    at com.bea.wli.sb.transports.http.HttpOutboundMessageContext.getResponse(HttpOutboundMessageContext.java:668)
    at com.bea.wli.sb.transports.http.wls.HttpOutboundMessageContextWls.access$100(HttpOutboundMessageContextWls.java:26)
    at com.bea.wli.sb.transports.http.wls.HttpOutboundMessageContextWls$RetrieveHttpResponseWork.handleResponse(HttpOutboundMessageContextWls.java:96)
    at weblogic.net.http.AsyncResponseHandler$MuxableSocketHTTPAsyncResponse$RunnableCallback.run(AsyncResponseHandler.java:531)
    at weblogic.work.ContextWrap.run(ContextWrap.java:41)
    at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:528)
    at weblogic.work.ExecuteThread.execute(ExecuteThread.java:207)
    at weblogic.work.ExecuteThread.run(ExecuteThread.java:176)It is working fine with older version of OSB : 11gR1 (11.1.1.3.0)
    Just now we have upgraded our OSB to 11gR1 (11.1.1.4.0) .
    My system configuration is Windows 7 Proff 64 bit.
    For the same kind of issue i have found a solution in the below thread.
    Read time out when accessing .NET Web service from OSB 10.3 proxy
    But there He mentioned like this : I had installed the x64 version of JRockit, but had not installed all the 64 bit components for WebLogic 10.3g.I was able to find the 64 bit IO dlls, and once installed, the errors no longer occurred.I am not sure about the mentioned *64Bit IO dlls*.
    Any one Please help me to resolve the issue.
    thanks in advance,
    chandra

    You need to download the 64bit version of weblogic installer and use a 64 bit jdk when installing weblogic. This will make sure the 64 bit ddl's are generated for you..The generated native libraries will be in Oracle_HOME/wls_103/server/native/<OS> folder.. You can check this directory whether 64 bit ddl's are available after you fix the problem.

  • Unable to consume secured Web service from a Dynpro application

    Hello,
    I have followed <a href="http://help.sap.com/saphelp_nw04/helpdata/en/c3/bac36a469e4c75aba646077e71516d/frameset.htm">this tutorial</a>
    in order to protect and consume a secured Web service from a Dynpro application using SAP logon ticket.
    The problem is that after implementing everything needed I  receive 401 Unauthorized when I am trying to consume it from the web dynpro side.
    If I manually transfer the request the credentials, before the execute i.e:
    modObj._setUser
    modObj._setPassword
    modObj.execute();
    I am able to call it, meaning the dynpro application doesn't transfer these credentials to the Webservice even though it's authentication property is set to true.
    Any idea how to solve it?
    Roy
    Message was edited by:
            Roy Cohen

    Try below steps
    • Add jars
    o security.class
    o tc/sec/destinations/interface
    • Setting WebDynpro project property
    o Project>Properties>Web Dynpro References-->Interface references
    &#61607; Name=tcsecdestinations~interface
    o Project>Properties>Web Dynpro References-->Service reference
    &#61607; Name=webservices
    &#61607; Name=tcsecdestinations~service
    • Dynamically Set httpdestination and Call web service
    final InitialContext ctx = new InitialContext();
    final DestinationService dstService = (DestinationService)ctx.lookup(DestinationService.JNDI_KEY);
    if (dstService== null)
    throw new NamingException ("Destination service not available");
    final Destination destination = dstService.getDestination("HTTP"," DestinationName");
    // getting user name
    Properties destprop = destination.getDestinationProperties();
    String username = destprop.getProperty("USERNAME");
    String password = destprop.getProperty("PASSWORD");
    final HTTPDestination httpDestination = (HTTPDestination) destination;
    HttpURLConnection httpConnection = httpDestination.getURLConnection();
    String httpURL = String.valueOf(httpConnection.getURL());
    Request_AdvLocationVer1ViDocument_getLocation obj=wdContext.currentRequest_AdvLocationVer1ViDocument_getLocationElement().modelObject();
    obj._setUser( user );
    obj._setPassword(pass);
    obj._setEndPoint(httpURL);
    obj.execute();
    Rahul

  • Exception: java.lang.ClassCastException: HTTPClient.HttpURLConnection

    Hi All,
    I am getting below exception when I am trying to establish HTTPS connection using
    Exception: java.lang.ClassCastException: HTTPClient.HttpURLConnection
    sometime my code works and some time it gives me this exception
    below is the exception which i traced in a log file
    2008/09/11 01:07:57->1_1210001776_0:1_1210001776_0URL CONNECTION CALLED https://netfundstest.com/fsu/router
    2008/09/11 01:07:57->1_1210001776_0:1_1210001776_0URL CONNECTION Created HTTPClient.HttpURLConnection[https://netfundstest.com/fsu/router]
    2008/09/11 01:07:57->1_1210001776_0:entered into else Block
    2008/09/11 01:07:57->1_1210001776_0:1_1210001776_0Error URLC Not a instance of HTTPS Connection: HTTPClient.HttpURLConnection[https://netfundstest.com/fsu/router]
    2008/09/11 01:07:57->1_1210001776_0:Exception: java.lang.ClassCastException: HTTPClient.HttpURLConnection
    In the success case when my HTTPS connection gets established I am getting following in the log file.
    2008/08/24 11:51:28->1_1210001776_0:1_1210001776_0URL CONNECTION CALLED https://netfunds.com/fsu/router
    2008/08/24 11:51:28->1_1210001776_0:1_1210001776_0URL CONNECTION Created com.sun.net.ssl.internal.www.protocol.https.DelegateHttpsURLConnection:https://netfunds.com/fsu/router
    Here is the code which I am using
    I am importing following packages in my code
    import java.security.*;
    import java.security.cert.*;
    //import javax.net.ssl.*;
    import javax.net.ssl.SSLSocket;
    import javax.net.ssl.SSLSocketFactory;
    import javax.net.ssl.HandshakeCompletedListener;
    import javax.net.ssl.HandshakeCompletedEvent;
    import javax.net.ssl.SSLSession;
    import java.net.*;
    import java.util.*;
    import java.io.*;
    //import javax.security.cert.*;
    import com.sun.net.ssl.*;
    //import org.apache.xalan.*;
    //import org.apache.xerces.*;
    import org.apache.xerces.dom.*;
    import org.apache.xml.serialize.*;
    import javax.xml.parsers.*;
    import org.w3c.dom.*;
    import oracle.xml.classgen.*;
    try
    System.setProperty("java.protocol.handler.pkgs","com.sun.net.ssl.internal.www.protocol");
    System.setProperty("https.proxyHost",geProxy);
    System.setProperty("https.proxyPort",geProxyPort);
    Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider());
    int n=0;
    while(n<3)
    debugMsg(instCount+"URL CONNECTION CALLED " + fsuFrontEndURL);
    url = new URL(fsuFrontEndURL);
    /* Changed to include Tunnel code */
    urlc = url.openConnection();
    debugMsg(instCount+"URL CONNECTION Created " + urlc);
    if (urlc instanceof com.sun.net.ssl.HttpsURLConnection)
    debugMsg("entered into If Block");
    debugMsg("Value of n:" + n);
    ((com.sun.net.ssl.HttpsURLConnection) urlc).setSSLSocketFactory(new SSLTunnelSocketFactory(geProxy, geProxyPort));
    ((com.sun.net.ssl.HttpsURLConnection) urlc).setRequestMethod("POST");
    debugMsg("after If Block");
    break;
    else {
    try{
    debugMsg("entered into else Block");
    ((javax.net.ssl.HttpsURLConnection) urlc).setSSLSocketFactory(new SSLTunnelSocketFactory(geProxy, geProxyPort));
    ((javax.net.ssl.HttpsURLConnection) urlc).setRequestMethod("POST");
    debugMsg("after else Block");
    break;
    catch(Exception e) {
    debugMsg(instCount+"Error URLC Not a instance of HTTPS Connection: " + urlc);
    debugMsg("Exception: " + e);
    I am using JDK 1.5 and Apache/1.3.19
    Can anyone help me out ....?

    for URL'S Starting with HTTPS only.....Sometimes it works and sometimes it gives me the classcast exception
    As soon as I bounces my Apache application server...then it starts working...I dont know why its happening like that..
    Is there any issue with the Ports I am trying to connect or some Apache configuration files settings are getting changed ?

  • Calling secured webservice from java

    Hi Experts,
    I am trying to call a secured webservice from java.
    I got the code to call a non secured web service in java.
    What changes do i need to do in this to call a secured webservice.
    Please help me.
    Thank you
    Regards
    Gayaz
    calling unsecured webservice
    package wscall1;
    import java.io.BufferedReader;
    import java.io.ByteArrayOutputStream;
    import java.io.IOException;
    import java.io.InputStream;
    import java.io.InputStreamReader;
    import java.io.OutputStream;
    import java.io.StringBufferInputStream;
    import java.io.StringReader;
    import java.io.StringWriter;
    import java.io.Writer;
    import java.net.HttpURLConnection;
    import java.net.MalformedURLException;
    import java.net.URL;
    import java.net.URLConnection;
    import java.security.Permission;
    import javax.xml.parsers.DocumentBuilderFactory;
    import javax.xml.parsers.DocumentBuilder;
    import javax.xml.parsers.ParserConfigurationException;
    import org.apache.xml.serialize.OutputFormat;
    import org.apache.xml.serialize.XMLSerializer;
    import org.w3c.css.sac.InputSource;
    import org.w3c.dom.Document;
    import org.w3c.dom.NodeList;
    import org.xml.sax.SAXException;
    public class WSCall2 {
    public WSCall2() {
    super();
    public static void main(String[] args) {
    try {
    WSCall2 ss = new WSCall2();
    System.out.println(ss.getWeather("Atlanta"));
    } catch (Exception e) {
    e.printStackTrace();
    public String getWeather(String city) throws MalformedURLException, IOException {
    //Code to make a webservice HTTP request
    String responseString = "";
    String outputString = "";
    String wsURL = "https://ewm52rdv:25100/Saws/SawsService";
    URL url = new URL(wsURL);
    URLConnection connection = url.openConnection();
    HttpURLConnection httpConn = (HttpURLConnection)connection;
    ByteArrayOutputStream bout = new ByteArrayOutputStream();
    //Permission p= httpConn.getPermission();
    String xmlInput =
    "<soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:ser=\"http://www.ventyx.com/ServiceSuite\">\n" +
    " <soapenv:Header>\n" +
    "     <soapenv:Security>\n" +
    " <soapenv:UsernameToken>\n" +
    " <soapenv:Username>sawsuser</soapenv:Username>\n" +
    " <soapenv:Password>sawsuser1</soapenv:Password>\n" +
    " </soapenv:UsernameToken>\n" +
    " </soapenv:Security>" + "</soapenv:Header>" + " <soapenv:Body>\n" +
    " <ser:GetUser>\n" +
    " <request><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?> \n" +
                "                        <GetUser xmlns=\"http://www.ventyx.com/ServiceSuite\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\">\n" +
                "                        <UserId>rs24363t</UserId>\n" +
                "                        </GetUser>]]>\n" +
    " </request>\n" +
    " </ser:GetUser>\n" +
    " </soapenv:Body>\n" +
    "</soapenv:Envelope>";
    byte[] buffer = new byte[xmlInput.length()];
    buffer = xmlInput.getBytes();
    bout.write(buffer);
    byte[] b = bout.toByteArray();
    String SOAPAction = "GetUser";
    // Set the appropriate HTTP parameters.
    httpConn.setRequestProperty("Content-Length", String.valueOf(b.length));
    httpConn.setRequestProperty("Content-Type", "text/xml; charset=utf-8");
    httpConn.setRequestProperty("SOAPAction", SOAPAction);
    // System.out.println( "opening service for [" + httpConn.getURL() + "]" );
    httpConn.setRequestMethod("POST");
    httpConn.setDoOutput(true);
    httpConn.setDoInput(true);
    OutputStream out = httpConn.getOutputStream();
    //Write the content of the request to the outputstream of the HTTP Connection.
    out.write(b);
    out.close();
    //Ready with sending the request.
    //Read the response.
    InputStreamReader isr = new InputStreamReader(httpConn.getInputStream());
    BufferedReader in = new BufferedReader(isr);
    //Write the SOAP message response to a String.
    while ((responseString = in.readLine()) != null) {
    outputString = outputString + responseString;
    //Parse the String output to a org.w3c.dom.Document and be able to reach every node with the org.w3c.dom API.
    Document document = parseXmlFile(outputString);
    NodeList nodeLst = document.getElementsByTagName("User");
    String weatherResult = nodeLst.item(0).getTextContent();
    System.out.println("Weather: " + weatherResult);
    //Write the SOAP message formatted to the console.
    String formattedSOAPResponse = formatXML(outputString);
    System.out.println(formattedSOAPResponse);
    return weatherResult;
    public String formatXML(String unformattedXml) {
    try {
    Document document = parseXmlFile(unformattedXml);
    OutputFormat format = new OutputFormat(document);
    format.setIndenting(true);
    format.setIndent(3);
    format.setOmitXMLDeclaration(true);
    Writer out = new StringWriter();
    XMLSerializer serializer = new XMLSerializer(out, format);
    serializer.serialize(document);
    return out.toString();
    } catch (IOException e) {
    throw new RuntimeException(e);
    private Document parseXmlFile(String in) {
    try {
    DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
    DocumentBuilder db = dbf.newDocumentBuilder();
    InputSource is = new InputSource(new StringReader(in));
    InputStream ins = new StringBufferInputStream(in);
    return db.parse(ins);
    } catch (ParserConfigurationException e) {
    throw new RuntimeException(e);
    } catch (SAXException e) {
    throw new RuntimeException(e);
    } catch (IOException e) {
    throw new RuntimeException(e);
    } catch (Exception e) {
    throw new RuntimeException(e);
    static {
    javax.net.ssl.HttpsURLConnection.setDefaultHostnameVerifier(new javax.net.ssl.HostnameVerifier() {
    public boolean verify(String hostname, javax.net.ssl.SSLSession sslSession) {
    if (hostname.equals("ewm52rdv")) {
    return true;
    return false;
    }

    Gayaz  wrote:
    What we are trying is we are invoking webservice by passing SOAP request and we will get soap response back.I understand what you're trying to do, the problem is with tools you're using it will take a while for you do anything a little away from the trivial... Using string concatenation and URL connection and HTTP post to call webservices is like to use a hand drill... It may work well to go through soft wood, but it will take a lot of effort against a concrete wall...
    JAX-WS and JAXB and annotations will do everything for you in a couple of lines and IMHO you will take longer to figure out how to do everything by hand than to learn those technologies... they are standard java, no need to add any additional jars...
    That's my thought, hope it helps...
    Cheers,
    Vlad

  • NullPointerException while connecting through HTTPUrlConnection with JavaUpdate 51

      Hi,
    My java version is
    java version "1.7.0_51"
    Java(TM) SE Runtime Environment (build 1.7.0_51-b13)
    Java HotSpot(TM) 64-Bit Server VM (build 24.51-b03, mixed mode)
    I have a server/Device having untrusted certificate. When i connect to this device using HttpURLConnection its throwing null pointer exception as below.
    The update51 has introduced many security things, but i belive it should pop-up a dialogue for the untrusted certificate not the NPException. Seems like a clear bug in Oracle java update51. I have created a bug in bugs.sun.com but i dont see my bug id is visible in their bug database.
    Steps to reproduce.
    ----------------------------------------------- Start----------------------------------------
    package com.xyz;
    import java.io.BufferedReader;
    import java.io.IOException;
    import java.io.InputStreamReader;
    import java.net.HttpURLConnection;
    import java.net.URL;
    public class Test {
        public static void main(String[] args) throws IOException {
            TrustManager.installDeployTrustManager();  // We are using "com.sun.deploy.security.X509Extended7DeployTrustManager".
            URL url = new URL("https://hostname/admin/version.xml");
            HttpURLConnection conn = (HttpURLConnection) url.openConnection();
           BufferedReader br =
                 new BufferedReader(
                         new InputStreamReader(conn.getInputStream()));
         String input;
         while ((input = br.readLine()) != null){
            System.out.println(input);
    ---------------------------End of code snippet----------------------
    replace the URL with your server Ip address which is having untrusted certificate. or change your PC time to feb 2015 and give the google ip address in the URL.
    I see the following exception.
    --------------------------------Start of the exception--------------------
    java.lang.NullPointerException
        at com.sun.deploy.security.DeployManifestChecker.printWarningsIfRequired(Unknown Source)
        at com.sun.deploy.security.TrustDeciderDialog.doShowDialog(Unknown Source)
        at com.sun.deploy.security.TrustDeciderDialog.showDialog(Unknown Source)
        at com.sun.deploy.security.TrustDeciderDialog.showDialog(Unknown Source)
        at com.sun.deploy.security.X509Extended7DeployTrustManager.checkServerTrusted(Unknown Source)
        at sun.security.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1323)
        at sun.security.ssl.ClientHandshaker.processMessage(ClientHandshaker.java:153)
        at sun.security.ssl.Handshaker.processLoop(Handshaker.java:868)
        at sun.security.ssl.Handshaker.process_record(Handshaker.java:804)
        at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1016)
        at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1312)
        at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1339)
        at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1323)
        at sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:563)
        at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:185)
        at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1300)
        at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:254)
        at com.cisco.launcher.Test.main(Test.java:17)
    Exception in thread "main" javax.net.ssl.SSLHandshakeException: java.security.cert.CertificateException: Java couldn't trust Server
        at sun.security.ssl.Alerts.getSSLException(Alerts.java:192)
        at sun.security.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1884)
        at sun.security.ssl.Handshaker.fatalSE(Handshaker.java:276)
        at sun.security.ssl.Handshaker.fatalSE(Handshaker.java:270)
        at sun.security.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1341)
        at sun.security.ssl.ClientHandshaker.processMessage(ClientHandshaker.java:153)
        at sun.security.ssl.Handshaker.processLoop(Handshaker.java:868)
        at sun.security.ssl.Handshaker.process_record(Handshaker.java:804)
        at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1016)
        at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1312)
        at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1339)
        at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1323)
        at sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:563)
        at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:185)
        at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1300)
        at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:254)
        at com.xyz.Test.main(Test.java:17)
    Caused by: java.security.cert.CertificateException: Java couldn't trust Server
        at com.sun.deploy.security.X509Extended7DeployTrustManager.checkServerTrusted(Unknown Source)
        at sun.security.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1323)
        ... 12 more
    -------------------------------------------------End-------------------------------------------
    Further note:
    i see the doShowDialog() function in com.sun.deploy.security.TrustDeciderDialog has a new call to printWarningsIfRequired in DeployManifestChecker class.
    static void printWarningsIfRequired(URL paramURL, AppInfo paramAppInfo)
        String str1 = (String)ToolkitStore.get().getAppContext().get("deploy-" + paramURL);
        Resource localResource = ResourceProvider.get().getCachedResource(paramURL, str1);
    /// But here the str1 itself null or the Map doesnt have any key called "deploy-" + paramURL. So i guess its failing there.
    In my opinion the call to this function should be available only incase of a webstart and not for the standalone applications.

    I get the same error and try to turn off hostname verification by using the option :
    -Dweblogic.security.SSL.ignoreHostnameVerification=true
    but it does not seem to take this option. But wl 8.1 sp2 works. It starts fail to work since 8.1 sp3. I am looking for a solution as well. Any help would be appreciated.

  • Sun.security.validator.ValidatorException: No trusted certificate found

    Hello,
    I am using Java 1.6.0_04 (JBoss-4.2.2.GA application). My application implements a WS client which needs to integrate with an external Web Service. This communication needs to be handled through https.
    I have created a jks keystore with the server certificate, and passed its details to JBoss through the System Properties:
    -Djavax.net.ssl.trustStore=/Path-to-file  -Djavax.net.ssl.trustStorePassword=password     On my development environment I can call the Web Service correctly.
    Although, on the production environment, I am getting the following exception:
    javax.xml.ws.WebServiceException: java.io.IOException: Could not transmit message
         at org.jboss.ws.core.jaxws.client.ClientImpl.handleRemoteException(ClientImpl.java:317)
         at org.jboss.ws.core.jaxws.client.ClientImpl.invoke(ClientImpl.java:255)
         at org.jboss.ws.core.jaxws.client.ClientProxy.invoke(ClientProxy.java:164)
         at org.jboss.ws.core.jaxws.client.ClientProxy.invoke(ClientProxy.java:150)
         at $Proxy171.send(Unknown Source)
         at com.xpto.integration.SmsHelper.send(SmsHelper.java:57)
         at com.xpto.services.sms.SMSSenderServiceMBean.run(SMSSenderServiceMBean.java:106)
         at java.lang.Thread.run(Thread.java:619)
    Caused by: java.io.IOException: Could not transmit message
         at org.jboss.ws.core.client.RemotingConnectionImpl.invoke(RemotingConnectionImpl.java:204)
         at org.jboss.ws.core.client.SOAPRemotingConnection.invoke(SOAPRemotingConnection.java:77)
         at org.jboss.ws.core.CommonClient.invoke(CommonClient.java:337)
         at org.jboss.ws.core.jaxws.client.ClientImpl.invoke(ClientImpl.java:243)
         ... 6 more
    Caused by: org.jboss.remoting.CannotConnectException: Can not connect http client invoker.
         at org.jboss.remoting.transport.http.HTTPClientInvoker.useHttpURLConnection(HTTPClientInvoker.java:
    333)
         at org.jboss.remoting.transport.http.HTTPClientInvoker.transport(HTTPClientInvoker.java:135)
         at org.jboss.remoting.MicroRemoteClientInvoker.invoke(MicroRemoteClientInvoker.java:122)
         at org.jboss.remoting.Client.invoke(Client.java:1634)
         at org.jboss.remoting.Client.invoke(Client.java:548)
         at org.jboss.ws.core.client.RemotingConnectionImpl.invoke(RemotingConnectionImpl.java:183)
         ... 9 more
    Caused by: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: No truste
    d certificate found
         at com.sun.net.ssl.internal.ssl.Alerts.getSSLException(Alerts.java:174)
         at com.sun.net.ssl.internal.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1591)
         at com.sun.net.ssl.internal.ssl.Handshaker.fatalSE(Handshaker.java:187)
         at com.sun.net.ssl.internal.ssl.Handshaker.fatalSE(Handshaker.java:181)
         at com.sun.net.ssl.internal.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:975)
         at com.sun.net.ssl.internal.ssl.ClientHandshaker.processMessage(ClientHandshaker.java:123)
         at com.sun.net.ssl.internal.ssl.Handshaker.processLoop(Handshaker.java:516)
         at com.sun.net.ssl.internal.ssl.Handshaker.process_record(Handshaker.java:454)
         at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:884)
         at com.sun.net.ssl.internal.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1096)
         at com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1123)
         at com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1107)
         at sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:405)
         at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLCo
    nnection.java:166)
         at sun.net.www.protocol.http.HttpURLConnection.getOutputStream(HttpURLConnection.java:832)
         at sun.net.www.protocol.https.HttpsURLConnectionImpl.getOutputStream(HttpsURLConnectionImpl.java:23
    0)
         at org.jboss.remoting.transport.http.HTTPClientInvoker.useHttpURLConnection(HTTPClientInvoker.java:
    275)
         ... 14 more
    Caused by: sun.security.validator.ValidatorException: No trusted certificate found
         at sun.security.validator.SimpleValidator.buildTrustedChain(SimpleValidator.java:304)
         at sun.security.validator.SimpleValidator.engineValidate(SimpleValidator.java:107)
         at sun.security.validator.Validator.validate(Validator.java:218)
         at com.sun.net.ssl.internal.ssl.X509TrustManagerImpl.validate(X509TrustManagerImpl.java:126)
         at com.sun.net.ssl.internal.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:2
    09)
         at com.sun.net.ssl.internal.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:2
    49)
         at com.sun.net.ssl.internal.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:954)
         ... 26 more     Both systems are configured with the same JBoss, JVM, ...
    The certificate details are:
    Owner=
      CN=*...., OU=..., O=..., L=..., ST=..., C=PT
    Issuer=
      CN=..., O=..., C=PT
    Version=3
    Serial Number=BC81A81843E26C2597CD10354588F61E
    Valid From=Monday, 3 March 2008 18:50
    Valid Until=Tuesday, 3 March 2009 18:50
    Signature Algorithm=SHA1withRSA
    Fingerprints=
        MD5:     0A:A6:89:92:A4:CF:17:74:7C:4E:20:63:6B:81:AE:85
        SHA1:    35:01:74:8C:35:AB:9F:02:7B:23:3F:15:5E:73:C6:4D:DD:BB:C0:7A
    Key Usage= critical
        List:
        . digitalSignature
        . keyEncipherment
        . dataEncipherment
        . keyAgreement
    Extended Key Usage= none
         On production I have also tried adding the following properties:
    -Djavax.net.ssl.keyStore=/Path-to-file  -Djavax.net.ssl.keyStorePassword=password     But I still get the error.
    Any one has any hint for this problem? Is there any property which I can define to ignore untrusted certificates?
    Any help would really be welcome.
    Thanks in advance.
    Best regards,
    Victor Batista

    Hi,
    Thanks for your prompt reply.
    I have also tried to add all the chain of certificates on my truststore, although I get the exception:
    Caused by: java.security.cert.CertificateExpiredException: NotAfter: Fri Mar 07 12:54:22 WET 2008
         at sun.security.x509.CertificateValidity.valid(CertificateValidity.java:256)
         at sun.security.x509.X509CertImpl.checkValidity(X509CertImpl.java:570)
         at sun.security.validator.SimpleValidator.engineValidate(SimpleValidator.java:123)
         at sun.security.validator.Validator.validate(Validator.java:218)
         at com.sun.net.ssl.internal.ssl.X509TrustManagerImpl.validate(X509TrustManagerImpl.java:126)
         at com.sun.net.ssl.internal.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:209)
         at com.sun.net.ssl.internal.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:249)
         at com.sun.net.ssl.internal.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:954)
         ... 26 moreAnd all the certificates are valid.
    I really don't understand what is going on.
    Can I Ignore expired certificates? Any property?
    When I use -Djavax.net.ssl.trustStore pointing to my keystore, will cacerts be also used?
    Do I need to import all the certificates in the chain of the server, or the top most is sufficient?
    The server where I am having the problem has limited connectivity. It should have connectivity to the issuers of the certificates, in order to validate them, or not?
    Thanks in advance,
    Victor

  • Secure Web.Show_Document with forms10.1.2.3 under vista Need authentication

    Hi All
    I installed forms 10.1.2.3 successfully under Windows Vista , i use Java Bean described in the OTN Forms document titled "Oracle Forms Services - Secure Web.Show_Document calls to Oracle Reports" ,but when the form calls the report, the following error message :
    "REP-51018: Need database user authentication" is presented to the user.
    note : I did this before successfully with forms 10.1.2.0.2 under windows xp
    What is wrong with me please under Vista ?
    Note :The Java console give this :
    Java Plug-in 1.5.0_12
    Using JRE version 1.5.0_12 Java HotSpot(TM) Client VM
    User home directory = C:\Users\crizma1
    network: Loading user-defined proxy configuration ...
    network: Done.
    network: Loading proxy configuration from Internet Explorer ...
    network: Done.
    network: Loading direct proxy configuration ...
    network: Done.
    network: Proxy Configuration: No proxy
    basic: Cache is enabled
    basic: Location: C:\Users\crizma1\AppData\LocalLow\Sun\Java\Deployment\cache\javapi\v1.0
    basic: Maximum size: unlimited
    basic: Compression level: 0
    basic: Plugin modality.register
    c: clear console window
    f: finalize objects on finalization queue
    g: garbage collect
    h: display this help message
    l: dump classloader list
    m: print memory usage
    o: trigger logging
    p: reload proxy configuration
    q: hide console
    r: reload policy configuration
    s: dump system and deployment properties
    t: dump thread list
    v: dump thread stack
    x: clear classloader cache
    0-5: set trace level to <n>
    basic: Registered modality listener
    liveconnect: Invoking JS method: document
    liveconnect: Invoking JS method: URL
    basic: Referencing classloader: sun.plugin.ClassLoaderInfo@e34726, refcount=1
    basic: Added progress listener: sun.plugin.util.GrayBoxPainter@7be8c2
    basic: Loading applet ...
    basic: Initializing applet ...
    basic: Starting applet ...
    basic: Referencing classloader: sun.plugin.ClassLoaderInfo@e34726, refcount=2
    basic: Releasing classloader: sun.plugin.ClassLoaderInfo@e34726, refcount=1
    network: Connecting http://mostafa:8889/forms/java/frmall.jar with proxy=DIRECT
    basic: Loading http://mostafa:8889/forms/java/frmall.jar from cache
    basic: Reading cached JAR file from JRE 1.5 release
    basic: Certificates for http://mostafa:8889/forms/java/frmall.jar is read from JAR cache
    security: Loading Root CA certificates from C:\PROGRA~1\Java\JRE15~2.0_1\lib\security\cacerts
    security: Loaded Root CA certificates from C:\PROGRA~1\Java\JRE15~2.0_1\lib\security\cacerts
    security: Loading Deployment certificates from C:\Users\crizma1\AppData\LocalLow\Sun\Java\Deployment\security\trusted.certs
    security: Loaded Deployment certificates from C:\Users\crizma1\AppData\LocalLow\Sun\Java\Deployment\security\trusted.certs
    security: Loading certificates from Deployment session certificate store
    security: Loaded certificates from Deployment session certificate store
    security: Loading certificates from Internet Explorer ROOT certificate store
    security: Loaded certificates from Internet Explorer ROOT certificate store
    security: Loading certificates from Internet Explorer TrustedPublisher certificate store
    security: Loaded certificates from Internet Explorer TrustedPublisher certificate store
    security: Checking if certificate is in Deployment permanent certificate store
    basic: Loaded image: jar:http://mostafa:8889/forms/java/frmall.jar!/oracle/forms/icons/splash.gif
    basic: Loaded image: jar:http://mostafa:8889/forms/java/frmall.jar!/oracle/forms/icons/oracle_logo.gif
    basic: Loaded image: jar:http://mostafa:8889/forms/java/frmall.jar!/oracle/forms/icons/bgnd.gif
    network: Connecting http://mostafa:8889/forms/java/oracle/forms/registry/Registry.dat with proxy=DIRECT
    network: Connecting http://mostafa:8889/forms/java/oracle/forms/registry/default.dat with proxy=DIRECT
    proxyHost=null
    proxyPort=0
    connectMode=HTTP, native.
    network: Connecting http://mostafa:8889/forms/frmservlet?form=d:%5CFEMTOSOFT%5CACC%5Cmainmenu&separateframe=true&acceptLanguage=ar-eg&ifcmd=startsession with proxy=DIRECT
    network: Connecting http://mostafa:8889/forms/lservlet;jsessionid=0125fc1e6334c60e076ddfdd063a1d231270ff1507db8a2efc0666273e237011?ifcmd=getinfo&ifhost=Mostafa&ifip=192.168.1.2 with proxy=DIRECT
    network: Connecting http://mostafa:8889/forms/lservlet;jsessionid=0125fc1e6334c60e076ddfdd063a1d231270ff1507db8a2efc0666273e237011 with proxy=DIRECT
    network: Connecting http://mostafa:8889/forms/java/frmrwinteg.jar with proxy=DIRECT
    java.io.FileNotFoundException: http://mostafa:8889/forms/java/frmrwinteg.jar
         at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
         at sun.plugin.net.protocol.http.HttpUtils.followRedirects(Unknown Source)
         at sun.plugin.cache.CachedJarLoader.isUpToDate(Unknown Source)
         at sun.plugin.cache.CachedJarLoader.loadFromCache(Unknown Source)
         at sun.plugin.cache.CachedJarLoader.load(Unknown Source)
         at sun.plugin.cache.JarCache.get(Unknown Source)
         at sun.plugin.net.protocol.jar.CachedJarURLConnection.connect(Unknown Source)
         at sun.plugin.net.protocol.jar.CachedJarURLConnection.getJarFile(Unknown Source)
         at sun.misc.URLClassPath$JarLoader.getJarFile(Unknown Source)
         at sun.misc.URLClassPath$JarLoader.<init>(Unknown Source)
         at sun.misc.URLClassPath$3.run(Unknown Source)
         at java.security.AccessController.doPrivileged(Native Method)
         at sun.misc.URLClassPath.getLoader(Unknown Source)
         at sun.misc.URLClassPath.getLoader(Unknown Source)
         at sun.misc.URLClassPath.getResource(Unknown Source)
         at java.net.URLClassLoader$1.run(Unknown Source)
         at java.security.AccessController.doPrivileged(Native Method)
         at java.net.URLClassLoader.findClass(Unknown Source)
         at sun.applet.AppletClassLoader.findClass(Unknown Source)
         at java.lang.ClassLoader.loadClass(Unknown Source)
         at sun.applet.AppletClassLoader.loadClass(Unknown Source)
         at java.lang.ClassLoader.loadClass(Unknown Source)
         at java.util.ResourceBundle.loadBundle(Unknown Source)
         at java.util.ResourceBundle.findBundle(Unknown Source)
         at java.util.ResourceBundle.getBundleImpl(Unknown Source)
         at java.util.ResourceBundle.getBundle(Unknown Source)
         at oracle.forms.registry.MessageManager.getMessage(Unknown Source)
         at oracle.forms.registry.MessageManager.getMessage(Unknown Source)
         at oracle.forms.engine.Runform.createInitialMessage(Unknown Source)
         at oracle.forms.engine.Runform.sendInitialMessage(Unknown Source)
         at oracle.forms.engine.Runform.startRunform(Unknown Source)
         at oracle.forms.engine.Main.createRunform(Unknown Source)
         at oracle.forms.engine.Main.start(Unknown Source)
         at sun.applet.AppletPanel.run(Unknown Source)
         at java.lang.Thread.run(Unknown Source)
    basic: WARNING: error reading http://mostafa:8889/forms/java/frmrwinteg.jar from cache.
    basic: httpCompression = true
    basic: Downloading http://mostafa:8889/forms/java/frmrwinteg.jar to cache
    basic: encoding = null for http://mostafa:8889/forms/java/frmrwinteg.jar
    network: Connecting http://mostafa:8889/forms/java/myappicons.jar with proxy=DIRECT
    basic: Loading http://mostafa:8889/forms/java/myappicons.jar from cache
    basic: No certificate info, this is unsigned JAR file.
    network: Connecting http://mostafa:8889/forms/java/oracle/forms/engine/RunformBundle_ar_EG.class with proxy=DIRECT
    network: Connecting http://mostafa:8889/forms/java/oracle/forms/engine/RunformBundle_ar_EG.properties with proxy=DIRECT
    إصدار بريمج Forms هو : 10.1.2.3
    network: Connecting http://mostafa:8889/forms/lservlet;jsessionid=0125fc1e6334c60e076ddfdd063a1d231270ff1507db8a2efc0666273e237011 with proxy=DIRECT
    network: Connecting http://mostafa:8889/forms/lservlet;jsessionid=0125fc1e6334c60e076ddfdd063a1d231270ff1507db8a2efc0666273e237011 with proxy=DIRECT
    basic: Loaded image: jar:http://mostafa:8889/forms/java/frmall.jar!/oracle/forms/icons/frame.gif
    network: Connecting http://mostafa:8889/forms/lservlet;jsessionid=0125fc1e6334c60e076ddfdd063a1d231270ff1507db8a2efc0666273e237011 with proxy=DIRECT
    network: Connecting http://mostafa:8889/forms/lservlet;jsessionid=0125fc1e6334c60e076ddfdd063a1d231270ff1507db8a2efc0666273e237011 with proxy=DIRECT
    Edited by: Mostafa Abolaynain on Jun 18, 2009 7:50 PM

    If I am remembering correctly, some changes were necessary in order to make this work with 10.1.2.3. So, if you are using the old jar which you used in previous versions, I would recommend obtaining the one specifically updated for 10.1.2.3. Refer back to the OTN page which has the download and choose the link that references the new version:
    http://www.oracle.com/technology/products/forms/techlisting10gR2.html
    Be sure to clear the client Jar cache before re-testing. This is not the same as the browser cache.

  • HTTPURLConnection doesn’t work in the Portal

    Hi,
    We try to develop an web service on the SAP Portal 7.0 SP11, and we have the following behavior.
    If we implement the following code through java console this works fine.
    URL url = new URL("https://server/info?A030=M005&A001=2=0&C001=0");
    System.out.println("Connecting to Host : [" + url.getHost() + "]");
    System.setProperty("javax.net.ssl.keyStore", "2796.p12");
    System.setProperty("javax.net.ssl.keyStorePassword", "PASSWORD");
    System.setProperty("javax.net.ssl.keyStoreType", "pkcs12");
    HttpURLConnection connection = (HttpURLConnection) url.openConnection();
    connection.setDoOutput(false); // true for POST, false for GET
    connection.setDoInput(true);
    connection.setRequestMethod("GET");
    connection.setUseCaches(false);
    connection.setAllowUserInteraction(true);
    String aLine = null;
    InputStreamReader inReader = new InputStreamReader(connection.getInputStream());
    BufferedReader aReader = new BufferedReader(inReader);
    while ((aLine = aReader.readLine()) != null)
         System.err.println(aLine);
    aReader.close();
    And, if we goes to an AbstractPortalComponent we have problems to connect to an https web site.
    The application returns this errors
    org.w3c.www.protocol.http.HttpException: Unable to contact target server
         iaik.security.ssl.SSLException: Peer sent alert: Alert Fatal: handshake failure#
         at iaik.security.ssl.r.f(Unknown Source)#
    Any ideas,
    Jorge Neves

    Hi Jorge,
    the portal offers you the com.sap.portal.ivs.httpservice.
    no javadoc, but you find it here...
    usrsap[instance]JC[sysNr]j2eeclusterserver0appssap.comirjservlet_jspirjrootWEB-INFportalportalappscom.sap.portal.ivs.httpservice
    maybe you try this way to create your connection.
    Greetings Jens

  • HttpURLConnection and JSF

    Hi,
    I am using a HttpURLConnection to connect to proxy to a FacesServlet. The flow of the JSP is proper but I get duplicate HTML everytime.
    That means I get two copies of the HTML everytime when I use this code
    ( HttpURLConnection )url.openConnection();
    connection.setDoOutput( true );
    connection.setInstanceFollowRedirects(false);
    //TRACE is a security issue. Handle error
    if( ! channel.getMethod().equals( "TRACE" )){
         connection.setRequestMethod( channel.getMethod() );
    connection.connect();
    for( int i = -1 ; (i = inStream.read( bytes, 0, bytes.length )) > 0 ; ){
         System.out.println( new String( bytes ) );
         outStream.write( bytes );
         outStream.flush();
    Why are there two copies everytime even though the flow is proper ?
    Thanks,
    Mohan

    The Javadoc shows the relationship. Cast a URLConnection to an HttpURLConnection when the URL protocol is HTTP.

  • SSL code returns HTTPClient.HttpURLConnection

    Challenge: connect to a secured site to post some data.
    Issue: tried several ways, HTTPSURLConnection is not getting obtained, just HTTPClient.HttpURLConnection every time.
    Environment: OS - Linux, version 2.6.9.
    java.version: 1.5.0_10.
    Server: Oracle iAS Apache Jserv.
    Security providers list when printed with a loop:
    Provider[] p = Security.getProviders();
            for(int i=0;i<p.length;i++)
                 debug(""+p.getName()+"-"+p[i].getVersion()+"-"+p[i].getClass().getName()+"-"+p[i].getInfo());
    SUN-1.5-sun.security.provider.Sun-SUN (DSA key/parameter generation; DSA signing; SHA-1, MD5 digests; SecureRandom; X.509 certificates; JKS keystore; PKIX CertPathValidator; PKIX CertPathBuilder; LDAP, Collection CertStores)
    SunRsaSign-1.5-sun.security.rsa.SunRsaSign-Sun RSA signature provider
    SunJSSE-1.5-com.sun.net.ssl.internal.ssl.Provider-Sun JSSE provider(PKCS12, SunX509 key/trust factories, SSLv3, TLSv1)
    SunJCE-1.5-com.sun.crypto.provider.SunJCE-SunJCE Provider (implements RSA, DES, Triple DES, AES, Blowfish, ARCFOUR, RC2, PBE, Diffie-Hellman, HMAC)
    SunJGSS-1.0-sun.security.jgss.SunProvider-Sun (Kerberos v5)
    SunSASL-1.5-com.sun.security.sasl.Provider-Sun SASL provider(implements client mechanisms for: DIGEST-MD5, GSSAPI, EXTERNAL, PLAIN, CRAM-MD5; server mechanisms for: DIGEST-MD5, GSSAPI, CRAM-MD5)
    default environment property value for java.protocol.handler.pkgs is HTTPClient
    (Is there anything need to be done to change this so that it can check the standard JSSE packages from javax ?)
    https.proxyHost and https.proxyPort are set to proper network proxy server.
    Keystroke is initialized as follows:KeyStore ks = KeyStore.getInstance("JKS");
    ks.load(new FileInputStream(keyStoreName), keyStorePassword.toCharArray());
    KeyManagerFactory is initialized as follows:KeyManagerFactory kmf = KeyManagerFactory.getInstance(KeyManagerFactory.getDefaultAlgorithm());
    kmf.init(ks,keyStorePassword.toCharArray());
    TrustManager is initialized as follows:TrustManager[] tms = new javax.net.ssl.TrustManager[]
    new javax.net.ssl.X509TrustManager()
    public void checkClientTrusted(java.security.cert.X509Certificate[] certs,String authType){}
    public void checkServerTrusted(java.security.cert.X509Certificate[] certs,String authType){}
    public java.security.cert.X509Certificate[] getAcceptedIssuers(){ return null; }                                              
    SSLContext is obtained as:SSLContext sc = SSLContext.getInstance("SSL");
    sc.init(kmf.getKeyManagers(), tms, new java.security.SecureRandom());
    Its provider info when printed using sc.getProvider().getName()+sc.getProvider().getInfo() in debug is
    SunJSSESun JSSE provider(PKCS12, SunX509 key/trust factories, SSLv3, TLSv1)
    Finally, defaults for HTTPS are set (before  any urlconnection is opened) as below.SSLSocketFactory sslsf = sc.getSocketFactory();
    HttpsURLConnection.setDefaultSSLSocketFactory(sslsf);
    Now, url is opened as (with proper https prefix url)
    url = new URL(httpsweblink);
    and url.openConnection() is not resulting in HTTPS.
    May I Please know how to fix this please !
    Thanks a lot in advance for any kind help here!
    Edited by: 817816 on May 16, 2011 11:09 PM
    Edited by: 817816 on May 16, 2011 11:15 PM
    Edited by: 817816 on May 16, 2011 11:17 PM                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   

    Please edit that mess to get rid of all the bold-face and use {noformat}{noformat} tags, so we have some chance of actually reading it.                                                                                                                                                                                                                                                                                           

  • Problem while sending/Receiving request using the HttpURLConnection obj

    Hi,
    We are facing the problem while passing the request in Weblogic.
    Looks like there is some problem with Weblogic while sending/Receiving the request using the HttpURLConnection object.
    Currently we are migrating 2 applications to WebLogic. Application1 to application2 request should pass.
    Below is some example we tried:
    "When we send a request to our code using the SSOAdaptor code (which handles the request/session in our application) which is on the SunOne server the request parameters are received by our code successfully. And also in Create User Functionality of application1 we are sending a request to webpass(which is on Sunone Server) using the HttpURLConnection object and the SOAP request is received successfully by the Webpass."
    Looks like when we send request (using HttpURLConnection) from a server other than Weblogic to a servlet in a Weblogic the request parameters are received with out issues.
    Where as when the request is sent from WebLogic to WebLogic the request parameters are missing some how.
    Is there any issue in Weblogic? Please helpus on this.
    Thanks,
    Nagesh
    Edited by: user9307541 on Mar 15, 2010 5:08 AM

    Hi,
    Please find below scenario for testing.
    We have tested the SSOAdaptor code (it is the fucntion name which will send the data from source) locally by hittiing the WPS adaptor URL in a Java client program(TestRequest.java) and the request parameters were reaching the WPS Adapter successfully.
    Then we have written two test servlets to test the communication between SSOAdaptor(TestServlet.java) and WPS adaptor(WPSServlet.java).
    Functionality of TestSevlet: It is sending a request to WPSServelt similar to the way we are doing it in SSOAdaptor.
    Functionality of WPSServlet: It will receive the request parameters and write the parameter Map to console.
    We have deployed and these two servlets(in a single webapplication) on Tomcat server and the request parameters are reaching the WPSServlet successfully.
    Output on Tomcat server:
    before sending request
    **********************Inside WPS Servlet -- the request Map is:{TypeAcc=[Ljava.lang.String;@14e3f41, ServiceName=[Ljava.lang.String;@1acd47, GMEPortalUserID=[Ljava.lang.String;@19b04e2, UserID=[Ljava.lang.String;@5dcec6, Country=[Ljava.lang.String;@b25b9d}
    after sending request
    After this we have deployed these two servlets (with in a single webapplication) on the Weblogic server in Dev machine(path: /apps/usmport/domains/usmport/servers/usmport_admin/upload/ssoAdaptor/WEB-INF/classes/com/gm/gmeportal/security/adaptor) and
    now the request parameters are not reaching the WPSServlet.
    Output on Weblogic Server:
    before sending request
    **********************Inside WPS Servlet -- the request Map is:{}
    after sending request
    Looks like there is some problem with Weblogic while sending/Receiving the request using the HttpURLConnection object.
    When we send a request to WPSAdaptor using the Old SSOAdaptor code which is on the SunOne server the request parameters are received by WPS successfully. And also in Create User Functionality of Portal we are sending a request to webpass(which is on Sunone Server) using the HttpURLConnection object and the SOAP request is received successfully by the Webpass.
    Looks like when we send request (using HttpURLConnection) from a server other than Weblogic to a servlet in a Weblogic the request parameters are received with out issues. Where as when the request is sent from weblogic to weblogic the request parameters are missing some how.
    Please find below javs source code used to test this:
    TestRequest.java
    import java.io.BufferedReader;
    import java.io.DataOutputStream;
    import java.io.InputStream;
    import java.io.InputStreamReader;
    import java.io.OutputStream;
    import java.net.HttpURLConnection;
    import java.net.MalformedURLException;
    import java.net.URL;
    public class TestRequest {
         * @param args
         public static void main(String[] args) throws Exception{
              // TODO Auto-generated method stub
              excutePost("http://localhost:8080/Testing/TestServlet", "GMEPortalUserID=captest.wss@it0555&UserID=bl1133&Country=it&TypeAcc=256&ServiceName=Logon");
              //System.out.println("********** Now the request is from SSO *****************");
              //excuteGet("http://10.156.0.173:7013/channel21/wpsadapter", "GMEPortalUserID=captest.wss@it0554&UserID=bl1133&Country=it&TypeAcc=256&ServiceName=Logon");
         public static String excutePost(String targetURL, String urlParameters)
         URL url;
         HttpURLConnection connection = null;
         try {
         //Create connection
         url = new URL(targetURL);
         connection = (HttpURLConnection)url.openConnection();
         connection.setRequestMethod("POST");
         connection.setRequestProperty("Content-Type",
         "application/x-www-form-urlencoded");
         connection.setRequestProperty("Content-Length", "" +
         Integer.toString(urlParameters.getBytes().length));
         connection.setRequestProperty("Content-Language", "en-US");
         connection.setUseCaches (false);
         connection.setDoInput(true);
         connection.setDoOutput(true);
         //Send request
         DataOutputStream wr = new DataOutputStream (
         connection.getOutputStream ());
         wr.writeBytes (urlParameters);
         wr.flush ();
         wr.close ();
         //Get Response     
         InputStream is = connection.getInputStream();
         BufferedReader rd = new BufferedReader(new InputStreamReader(is));
         String line;
         StringBuffer response = new StringBuffer();
         while((line = rd.readLine()) != null) {
         response.append(line);
         response.append('\r');
         rd.close();
         System.out.println("Response is:" + response);
         return response.toString();
         } catch (Exception e) {
         e.printStackTrace();
         return null;
         } finally {
         if(connection != null) {
         connection.disconnect();
         public static String excuteGet(String targetURL, String urlParameters) throws Exception
              URL url = new URL(targetURL);
              HttpURLConnection httpurlconnection =
                   (HttpURLConnection) url.openConnection();
              /*httpurlconnection.setRequestProperty(
                   "cookie",
                   constructRequestParams(httpservletrequest.getCookies()));*/
              httpurlconnection.setDoOutput(true);
              httpurlconnection.setDoInput(true);
              httpurlconnection.setRequestProperty(
                   "Content-length",
                   String.valueOf(urlParameters.length()));
              OutputStream outputstream = httpurlconnection.getOutputStream();
              outputstream.write(urlParameters.getBytes());
              outputstream.flush();
              //Get Response     
              try{
         InputStream is = httpurlconnection.getInputStream();
         BufferedReader rd = new BufferedReader(new InputStreamReader(is));
         String line;
         StringBuffer response = new StringBuffer();
         while((line = rd.readLine()) != null) {
         response.append(line);
         response.append('\r');
         rd.close();
         System.out.println("Response from SSO is:" + response);
         return response.toString();
         } catch (Exception e) {
         e.printStackTrace();
         return null;
         } finally {
         if(httpurlconnection != null) {
              httpurlconnection.disconnect();
    TestServlet.java
    import java.io.BufferedReader;
    import java.io.IOException;
    import java.io.InputStream;
    import java.io.InputStreamReader;
    import java.io.OutputStream;
    import java.net.HttpURLConnection;
    import java.net.URL;
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    * Servlet implementation class TestServlet
    public class TestServlet extends HttpServlet {
         private static final long serialVersionUID = 1L;
    * Default constructor.
    public TestServlet() {
    // TODO Auto-generated constructor stub
         * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
         protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
              // TODO Auto-generated method stub
              doPost(request,response);
         * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
         protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
              // TODO Auto-generated method stub
              //System.out.println("********************** the request Map is:" + request.getParameterMap());
              try {
                   System.out.println("before sending request");
                   excuteGet("http://localhost:7003/ssoAdaptor/WPSServlet", "GMEPortalUserID=captest.wss@it0554&UserID=bl1133&Country=it&TypeAcc=256&ServiceName=Logon");
                   System.out.println("after sending request");
              } catch (Exception e) {
                   // TODO Auto-generated catch block
                   e.printStackTrace();
         public String excuteGet(String targetURL, String urlParameters) throws Exception
              URL url = new URL(targetURL);
              HttpURLConnection httpurlconnection =
                   (HttpURLConnection) url.openConnection();
              /*httpurlconnection.setRequestProperty(
                   "cookie",
                   constructRequestParams(httpservletrequest.getCookies()));*/
              httpurlconnection.setDoOutput(true);
              httpurlconnection.setDoInput(true);
              httpurlconnection.setRequestProperty(
                   "Content-length",
                   String.valueOf(urlParameters.length()));
              OutputStream outputstream = httpurlconnection.getOutputStream();
              outputstream.write(urlParameters.getBytes());
              outputstream.flush();
              //Get Response     
              try{
         InputStream is = httpurlconnection.getInputStream();
         BufferedReader rd = new BufferedReader(new InputStreamReader(is));
         String line;
         StringBuffer response = new StringBuffer();
         while((line = rd.readLine()) != null) {
         response.append(line);
         response.append('\r');
         rd.close();
         //System.out.println("Response from SSO is:" + response);
         return response.toString();
         } catch (Exception e) {
         e.printStackTrace();
         return null;
         } finally {
         if(httpurlconnection != null) {
              httpurlconnection.disconnect();
    WPSServlet.java
    import java.io.IOException;
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    * Servlet implementation class WPSServlet
    public class WPSServlet extends HttpServlet {
         private static final long serialVersionUID = 1L;
    * @see HttpServlet#HttpServlet()
    public WPSServlet() {
    super();
    // TODO Auto-generated constructor stub
         * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
         protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
              // TODO Auto-generated method stub
              System.out.println("**********************Inside WPS Servlet -- the request Map is:" + request.getParameterMap());
         * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
         protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
              // TODO Auto-generated method stub
              doGet(request,response);
    Thanks,
    Nagesh

Maybe you are looking for