Java proxy  - http.nonProxyHosts issue

Hi,
I have a test code that connects to a URL. I want the local URLs to be connected without proxy server. But It ends with the following error
C:\temp>java -Dhttp.nonProxyHosts="192.168.10.150|*.mycompany.local|localhost" ProxyTest
Exception in thread "main" java.io.IOException: Unable to tunnel through proxy.
Proxy returns "HTTP/1.0 403 Forbidden"
at sun.net.www.protocol.http.HttpURLConnection.doTunneling(HttpURLConnec
tion.java:1648)
at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect
(AbstractDelegateHttpsURLConnection.java:164)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLCon
nection.java:1172)
at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(Http
sURLConnectionImpl.java:234)
at ProxyTest.main(ProxyTest.java:17)
The following is my code
import java.net.*;
import java.io.*;
public class ProxyTest
     public static void main(String[] args) throws Exception
          System.setProperty("nonProxyHosts", "192.168.10.150|localhost");
          Authenticator.setDefault(new ProxyAuth("pandian", "pandian"));
          URL url = new URL("https://192.168.8.150/");
          SocketAddress addr = new InetSocketAddress("192.168.8.100", 808);
          Proxy proxy = new Proxy(Proxy.Type.HTTP, addr);
          HttpURLConnection con = (HttpURLConnection) url.openConnection(proxy);
          InputStream is = con.getInputStream();
          int i=-1;
          while ((i=is.read())!=-1)
               System.out.print((char)i);
          is.close();
class ProxyAuth extends Authenticator
     private String user, password;
public ProxyAuth(String user, String password) { 
this.user = user;
this.password = password;
protected PasswordAuthentication getPasswordAuthentication() { 
return new PasswordAuthentication(user, password.toCharArray());
The same code executes for any URLs those are not blocked by the proxy server.
Any guess?
Edited by: user3749193 on Aug 10, 2011 2:40 AM
Edited by: user3749193 on Aug 10, 2011 3:18 PM

By going through your code, i could see change in only below below line:
Present code
>
          Authenticator.setDefault(new ProxyAuth("eguser", "egurkha"));
          URL url = new URL("http://192.168.10.100/");
earlier Code:
>
          Authenticator.setDefault(new ProxyAuth("eguser", "egurkha"));
          URL url = new URL("http://192.168.8.100/");
That means still your using proxy to access the urls. And earlier you were trying to access the proxy server, by below code:
SocketAddress addr = new InetSocketAddress("192.168.8.100", 808);
HttpURLConnection con = (HttpURLConnection) url.openConnection(proxy);
Proxy proxy = new Proxy(Proxy.Type.HTTP, addr);Regarding below error, it says the site you are trying to access is not having valid certificate/ the certificate is not trusted by your truststore.
C:\temp>java ProxyTest
Exception in thread "main" javax.net.ssl.SSLHandshakeException: sun.security.val
idator.ValidatorException: PKIX path building failed: sun.security.provider.cert
path.SunCertPathBuilderException: unable to find valid certification path to req
uested targetEDiting:: To Add to your trust store run the below Program
* Copyright 2006 Sun Microsystems, Inc.  All Rights Reserved.
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*   - Redistributions of source code must retain the above copyright
*     notice, this list of conditions and the following disclaimer.
*   - Redistributions in binary form must reproduce the above copyright
*     notice, this list of conditions and the following disclaimer in the
*     documentation and/or other materials provided with the distribution.
*   - Neither the name of Sun Microsystems nor the names of its
*     contributors may be used to endorse or promote products derived
*     from this software without specific prior written permission.
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
* IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
* THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
* PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
import java.io.*;
import java.net.URL;
import java.security.*;
import java.security.cert.*;
import javax.net.ssl.*;
public class InstallCert {
    public static void main(String[] args) throws Exception {
     String host;
     int port;
     char[] passphrase;
     if ((args.length == 1) || (args.length == 2)) {
         String[] c = args[0].split(":");
         host = c[0];
         port = (c.length == 1) ? 443 : Integer.parseInt(c[1]);
         String p = (args.length == 1) ? "changeit" : args[1];
         passphrase = p.toCharArray();
     } else {
         System.out.println("Usage: java InstallCert <host>[:port] [passphrase]");
         return;
     File file = new File("jssecacerts");
     if (file.isFile() == false) {
         char SEP = File.separatorChar;
         File dir = new File(System.getProperty("java.home") + SEP
              + "lib" + SEP + "security");
         file = new File(dir, "jssecacerts");
         if (file.isFile() == false) {
          file = new File(dir, "cacerts");
     System.out.println("Loading KeyStore " + file + "...");
     InputStream in = new FileInputStream(file);
     KeyStore ks = KeyStore.getInstance(KeyStore.getDefaultType());
     ks.load(in, passphrase);
     in.close();
     SSLContext context = SSLContext.getInstance("TLS");
     TrustManagerFactory tmf =
         TrustManagerFactory.getInstance(TrustManagerFactory.getDefaultAlgorithm());
     tmf.init(ks);
     X509TrustManager defaultTrustManager = (X509TrustManager)tmf.getTrustManagers()[0];
     SavingTrustManager tm = new SavingTrustManager(defaultTrustManager);
     context.init(null, new TrustManager[] {tm}, null);
     SSLSocketFactory factory = context.getSocketFactory();
     System.out.println("Opening connection to " + host + ":" + port + "...");
     SSLSocket socket = (SSLSocket)factory.createSocket(host, port);
     socket.setSoTimeout(10000);
     try {
         System.out.println("Starting SSL handshake...");
         socket.startHandshake();
         socket.close();
         System.out.println();
         System.out.println("No errors, certificate is already trusted");
     } catch (SSLException e) {
         System.out.println();
         e.printStackTrace(System.out);
     X509Certificate[] chain = tm.chain;
     if (chain == null) {
         System.out.println("Could not obtain server certificate chain");
         return;
     BufferedReader reader =
          new BufferedReader(new InputStreamReader(System.in));
     System.out.println();
     System.out.println("Server sent " + chain.length + " certificate(s):");
     System.out.println();
     MessageDigest sha1 = MessageDigest.getInstance("SHA1");
     MessageDigest md5 = MessageDigest.getInstance("MD5");
     for (int i = 0; i < chain.length; i++) {
         X509Certificate cert = chain;
     System.out.println
          (" " + (i + 1) + " Subject " + cert.getSubjectDN());
     System.out.println(" Issuer " + cert.getIssuerDN());
     sha1.update(cert.getEncoded());
     System.out.println(" sha1 " + toHexString(sha1.digest()));
     md5.update(cert.getEncoded());
     System.out.println(" md5 " + toHexString(md5.digest()));
     System.out.println();
     System.out.println("Enter certificate to add to trusted keystore or 'q' to quit: [1]");
     String line = reader.readLine().trim();
     int k;
     try {
     k = (line.length() == 0) ? 0 : Integer.parseInt(line) - 1;
     } catch (NumberFormatException e) {
     System.out.println("KeyStore not changed");
     return;
     X509Certificate cert = chain[k];
     String alias = host + "-" + (k + 1);
     ks.setCertificateEntry(alias, cert);
     OutputStream out = new FileOutputStream("jssecacerts");
     ks.store(out, passphrase);
     out.close();
     System.out.println();
     System.out.println(cert);
     System.out.println();
     System.out.println
          ("Added certificate to keystore 'jssecacerts' using alias '"
          + alias + "'");
private static final char[] HEXDIGITS = "0123456789abcdef".toCharArray();
private static String toHexString(byte[] bytes) {
     StringBuilder sb = new StringBuilder(bytes.length * 3);
     for (int b : bytes) {
     b &= 0xff;
     sb.append(HEXDIGITS[b >> 4]);
     sb.append(HEXDIGITS[b & 15]);
     sb.append(' ');
     return sb.toString();
private static class SavingTrustManager implements X509TrustManager {
     private final X509TrustManager tm;
     private X509Certificate[] chain;
     SavingTrustManager(X509TrustManager tm) {
     this.tm = tm;
     public X509Certificate[] getAcceptedIssuers() {
     throw new UnsupportedOperationException();
     public void checkClientTrusted(X509Certificate[] chain, String authType)
          throws CertificateException {
     throw new UnsupportedOperationException();
     public void checkServerTrusted(X509Certificate[] chain, String authType)
          throws CertificateException {
     this.chain = chain;
     tm.checkServerTrusted(chain, authType);
Edited by: 833545 on Aug 12, 2011 3:32 PM

Similar Messages

  • Java Proxy & NWDS

    Hi friends,
                   I need very simple and clear steps as to what i should do as far as Java proxy is concerned.Steps to do in NWDS,.
    Also am new to Proxies.....          What about the Java code.....I don know Java....
    Can i find relevant code and screen shots with both client and server Java proxies.
    Scenarios with screen shots if possible.
    Please post as soon as possible.....
    Thanks & Regards
    Deepika K

    Hi
    NWDS
    NWDS - NetWeaver Developer Studio - editor, etc used by the developer to code. Developers way to interact with the infrastructure.
    NWDS is just a development environment with all robust development tools.
    It can run j2ee,j2se and sap applications also.
    It is an interface to access NWDI services and applications.
    SAP NetWeaver Developer Studio (NWDS) for more details follow : http://help.sap.com/saphelp_nw2004s/helpdata/en/15/0d4f21c17c8044af4868130e9fea07/frameset.htm
    SAP NetWeaver Java Development Infrastructure (NWDI) for more details follow http://help.sap.com/saphelp_nw2004s/helpdata/en/44/312b1a8bea3ec8e10000000a1553f6/frameset.htm
    JAVA PROXIES
    You can generate Java proxies for J2EE applications on the SAP Web AS. Proxy generation generates J2EE beans and proxy classes for this purpose. The generated beans satisfy the EJB 2.0 standard.
    Java proxy generation is part of the Integration Builder and has the following functions:
    ·        Create an archive (as a Jar or Zip file) by using one or more message interfaces from the same software component version. The archive contains bean and proxy classes.
    ·        Open existing archives to regenerate proxies. Proxy generation knows the original message interfaces for which proxy objects are contained in the archive.
    Selecting Message Interfaces
    You can call Java proxy generation from the design maintenance screen of the Integration Builder in the following ways:
    ·        From the main menu, choose Tools ® Java Proxy Generation.
    ·        From the context menu, choose Java Proxy Generation... for message interfaces in the navigation tree.
    The latter method has the advantage that the selected message interface and the corresponding software component version can be copied directly. You can only generate proxy classes for message interfaces and not for sub objects of message interfaces.
    Java Proxies and SAP Exchange Infrastructure - The Inside Story, Part 1
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/a068cf2f-0401-0010-2aa9-f5ae4b2096f9
    Java Proxies and SAP Exchange Infrastructure - The Inside Story, Part 2
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/f272165e-0401-0010-b4a1-e7eb8903501d
    SAP Exchange Infrastructure 3.0: Java Proxy Runtime 3.0 - J2EE Integration
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/30572c6a-d311-2a10-99ab-f646ec3b5b12
    How to Work with Java Proxies
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/d06315a6-e66e-2910-039c-ba8bbbd23702
    Java Proxies in XI
    https://www.sdn.sap.com/irj/sdn/advancedsearch?cat=sdn_all&query=java+proxy&adv=false&sortby=cm_rnd_rankvalue#
    Java Proxies in XI
    https://www.sdn.sap.com/irj/sdn/advancedsearch?cat=sdn_all&query=java+proxy&adv=false&sortby=cm_rnd_rankvalue#
    SAP Network Blog: Pre requisites for Client Java Proxies
    /people/yugapreetha.t/blog/2007/12/03/pre-requisites-for-client-java-proxies
    Java Proxy-
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/7d4db211-0d01-0010-1e8e-9b07fc2113ab
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/a068cf2f-0401-0010-2aa9-f5ae4b2096f9
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/f272165e-0401-0010-b4a1-e7eb8903501d
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/a068cf2f-0401-0010-2aa9-f5ae4b2096f9
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/f272165e-0401-0010-b4a1-e7eb8903501d
    Hope this clears your doubts
    Thanks
    Saiyog

  • Client Java Proxy

    Hi,
    I have a Java Proxy to BAPI scenario.
    On the sender side I have "ExchangeRates_Out" Outbound Service Interface. I have created a client java proxy for this and deployed it.
    I dont know how to test this proxy or run the interface end to end.
    Please help.
    Thanks,
    Aravind

    Check some links on proxies.
    Concepts and examples for Proxy, Abap Client Proxy and Abap server Proxy
    JAVA Proxies:
    Asynchronous inbpund java Proxies
    /people/prasad.ulagappan2/blog/2005/06/27/asynchronous-inbound-java-proxy
    More on Java Proxy-
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/7d4db211-0d01-0010-1e8e-9b07fc2113ab
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/a068cf2f-0401-0010-2aa9-f5ae4b2096f9
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/f272165e-0401-0010-b4a1-e7eb8903501d
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/a068cf2f-0401-0010-2aa9-f5ae4b2096f9
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/f272165e-0401-0010-b4a1-e7eb8903501d
    http://help.sap.com/saphelp_nw04/helpdata/en/14/80243b4a66ae0ce10000000a11402f/frameset.htm
    SAP Exchange Infrastructure 3.0: Java Proxy Runtime 3.0 - J2EE Integration
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/30572c6a-d311-2a10-99ab-f646ec3b5b12
    How to Work with Java Proxies
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/d06315a6-e66e-2910-039c-ba8bbbd23702
    Java Proxies in XI
    https://www.sdn.sap.com/irj/sdn/advancedsearch?cat=sdn_all&query=java+proxy&adv=false&sortby=cm_rnd_rankvalue#
    Java Proxies in XI
    https://www.sdn.sap.com/irj/sdn/advancedsearch?cat=sdn_all&query=java+proxy&adv=false&sortby=cm_rnd_rankvalue#
    SAP Network Blog: Pre requisites for Client Java Proxies
    /people/yugapreetha.t/blog/2007/12/03/pre-requisites-for-client-java-proxies

  • Java proxy client logical port transport to Q and prod issue in target addr

    Hi All,
    I have a java proxy client having a logical port (configured using NWDS) to consume a web service in the provider system.
    In the logical port, I have given target address, and logical port name. While moving this client proxy NWDI dev track to Q and prod,
    how do I change this target address to point to Q and prod respectively. In other words, even though I am using Visual admin to configure the destination url for the logical port, to point to Q and prod, its still referring to the dev environment provider service after moving the proxy client to Q and prod. What is the suggested approach to take care of this issue
    Thx
    mike

    Hi Michael,
    I can only help from that point of view that I believe this question belongs to the forum
    Service-Oriented Architecture (SOA) and SAP
    Please try to raise this question there.
    Thanks and Regards,
    Ervin

  • Doubts about HTTPS requests and Java proxy

    Hello,
    I need help about SSL connections and Java.
    I'm developing a HTTP/S proxy with Java. To test my proxy, I use Firefox. I configure the proxy option in the browser. The proxy works good with HTTP requests, but with HTTPS requests doesn't work and I don't know why.
    I explain the steps that I do for a HTTPS request:
    * The browser sends a CONNECT message to the proxy.
    I check that the proxy receives the CONNECT request correctly.
    * The proxy establish a secure connection with the content server.
    I use an SSLSocket to connect with my content server, and the SSL handshake is succesful.
    * The proxy sends a 200 HTTP response to the client:
    I send
    HTTP/1.0 200 Connection established[CRLF]
    [CRLF]
    to the application client (Firefox)
    * The proxy sends/receive data to/from Firefox/content server
    I have a Socket between Firefox and my proxy, and a SSLSocket between my proxy and my content server. I use two threads to communicate the client and the server.
    Java code:
    //Thead server-->proxy-->application(Firefox)
    ThreadComm tpa = new ThreadComm(bis_serverSSL, bos_app);
    //Thread application(Firefox)-->proxy-->server
    ThreadComm tap = new ThreadComm(bis_app, bos_serverSSL);
    The "tpa" thread reads from the SSLSocket between the proxy and the server and sends data to the Socket between the proxy and Firefox.
    The "tap" thread reads from the Socket between the proxy and Firefox and sends data to the SSLSocket between the proxy and the server.
    This is the class ThreadComm:
    public class ThreadComm extends Thread{
        private BufferedInputStream bis = null;
        private BufferedOutputStream bos = null;
        public ThreadComm(BufferedInputStream bis, BufferedOutputStream bos) {
            this.bis = bis;
            this.bos = bos;
        @Override
        public void run() {
            int b = -1;
            FileOutputStream fos = null;
              do {
                   try {
                        b = bis.read();
                        System.out.print((char) b);
                        fos.write(b);
                        bos.write(b);
                        bos.flush();
                   } catch (Exception ex) {
                        Logger.getLogger(ThreadAplicacionProxy.class.getName()).log(Level.SEVERE, null, ex);
                        //b=-1;
              } while (b != -1);
        }But this doesn't work and I don't know why.      
    I have an Apache server with the mod_ssl enabled as content server, I can send requests (with Firefox) to the port 80(HTTP request) and 443(HTTPS request) without use my proxy and it works. If I use my proxy, HTTP request works but with HTTPS request doesn't work, I look the log of Apache and I see:
    [Tue Apr 27 17:32:03 2010] [info] Initial (No.1) HTTPS request received for child 62 (server localhost:443)
    [Tue Apr 27 17:32:03 2010] [error] [client 127.0.0.1] Invalid method in request \x80\x7f\x01\x03\x01
    [Tue Apr 27 17:32:03 2010] [debug] ssl_engine_kernel.c(1770): OpenSSL: Write: SSL negotiation finished successfully
    [Tue Apr 27 17:32:03 2010] [info] [client 127.0.0.1] Connection closed to child 62 with standard shutdown (server localhost:443)
    Why it say? Invalid method in request \x80\x7f\x01\x03\x01 , my proxy sends the data that the Firefox sends.
    I think than I have follow the explanations of [1] but doesn't work, I have problems in implementation in Java but I don't know where.
    I appreciate any suggestions.
    Thanks for your time.
    [1] http://www.web-cache.com/Writings/Internet-Drafts/draft-luotonen-web-proxy-tunneling-01.txt

    ejp, I have checked the socket between the proxy and server and ... You are right! , I was using the port 80 instead of the 443 (incredible mistake!, I'm sorry). I was convinced that I was using the port 443... Well, is a little step, but I still have not won the war :)
    If I see the log files of Apache, We can see that something goes wrong.
    localhost-access.log
    >
    127.0.0.1 - - [04/May/2010:17:44:48 +0200] "\x 80\x 7f\x01\x03\x01" 501 219
    >
    localhost-error.log
    >
    [Tue May 04 17:44:48 2010] [info] Initial (No.1) HTTPS request received for child 63 (server localhost:443)
    [Tue May 04 17:44:48 2010] [error] [client 127.0.0.1] Invalid method in request \x80\x7f\x01\x03\x01
    [Tue May 04 17:44:48 2010] [debug] ssl_engine_kernel.c(1770): OpenSSL: Write: SSL negotiation finished successfully
    [Tue May 04 17:44:48 2010] [info] [client 127.0.0.1] Connection closed to child 63 with standard shutdown (server localhost:443)
    >
    I think that this happens because Apache receives the data without decrypt, this is the reason because in the log we can see the "Invalid method in request \x80\x7f\x01\x03\x01". This supposition is true?
    ejp, you say that the "Termination is quite tricky." I have changed my code following yours suggestions (using the join and the shutdownOutput) but the threads don't die.
    I explain you what I do:
    (in time 1)
    I launch the thread (threadFirefoxToApache) that reads data from Firefox and sends to Apache.
    I launch the thread (threadApacheToFirefox) that reads data from Apache and sends to Firefox.
    (in time 2)
    threadFirefoxToApache sends the firts data to the server.
    threadApacheToFirefox is waiting that the server says something.
    (in time 3)
    threadFirefoxToApache is waiting that Firefox says something.
    threadApacheToFirefox sends data to Firefox.
    (in time 4)
    threadFirefoxToApache is waiting that Firefox says something.
    threadApacheToFirefox is waiting that Firefox says something.
    and they are waiting... and never finish.
    In time 2, these first data are encrypted. The server receives these data and It doesn't understand. In time 3, the server sends a HTTP response "501 Method Not Implemented", here there is a problem because this data must be encrypt. According to the documentation that I read, the proxy cannot "understand" this data but I can "understand" this data. What's happen?
    Firefox encrypt the data and send to the proxy. This It's correct.
    The proxy encrypt the data another time, because I use the SSLSocket to send the data to the server. Then the server receives the data encrypted two times, when decrypt the data gets the data encrypted one time. And this is the reason why the server doesn't understand the data that sends Firefox. It's correct? May be.
    Then If I want that the server receives the data encrypted one time I need to use the socketToServer, It's correct?
    I will supposed that yes. If I use the socketToServer, the proxy doesn't understand nothing, because the data received from the socketToServer are encrypted (I only see simbols), but the Apache log says that there is a problem with the version? (If I use the socketToServer the threads die)
    >
    [Tue May 04 19:55:42 2010] [debug] ssl_engine_kernel.c(1760): OpenSSL: Loop: SSLv3 read finished A
    [Tue May 04 19:55:42 2010] [debug] ssl_engine_kernel.c(1760): OpenSSL: Loop: SSLv3 write change cipher spec A
    [Tue May 04 19:55:42 2010] [debug] ssl_engine_kernel.c(1760): OpenSSL: Loop: SSLv3 write finished A
    [Tue May 04 19:55:42 2010] [debug] ssl_engine_kernel.c(1760): OpenSSL: Loop: SSLv3 flush data
    [Tue May 04 19:55:42 2010] [debug] ssl_engine_kernel.c(1756): OpenSSL: Handshake: done
    [Tue May 04 19:55:42 2010] [info] Connection: Client IP: 127.0.0.1, Protocol: TLSv1, Cipher: RC4-MD5 (128/128 bits)
    [Tue May 04 19:55:42 2010] [debug] ssl_engine_io.c(1817): OpenSSL: read 5/5 bytes from BIO#29bd910 [mem: 29ea0a8] (BIO dump follows)
    [Tue May 04 19:55:42 2010] [debug] ssl_engine_io.c(1750): -------------------------------------------------------------------------
    [Tue May 04 19:55:42 2010] [debug] ssl_engine_io.c(1789): | 0000: 80 7f 01 03 .... |
    [Tue May 04 19:55:42 2010] [debug] ssl_engine_io.c(1793): | 0005 - <SPACES/NULS>
    [Tue May 04 19:55:42 2010] [debug] ssl_engine_io.c(1795): ------------------------------------------------------------------------
    [Tue May 04 19:55:42 2010] [debug] ssl_engine_kernel.c(1770): OpenSSL: Write: SSL negotiation finished successfully
    [Tue May 04 19:55:42 2010] [info] [client 127.0.0.1] SSL library error 1 reading data
    [Tue May 04 19:55:42 2010] [info] SSL Library Error: 336130315 error:1408F10B:SSL routines:SSL3_GET_RECORD:wrong version number
    [Tue May 04 19:55:42 2010] [debug] ssl_engine_kernel.c(1770): OpenSSL: Write: SSL negotiation finished successfully
    [Tue May 04 19:55:42 2010] [info] [client 127.0.0.1] Connection closed to child 63 with standard shutdown (server localhost:443)
    >
    What option is the correct? I need use the SSLSocketToServer or socketToServer to send/read the data to/from the server?. Use the SSLSocket has sense because the data travel in a secure socket, but use the Socket also has sense because the data are encrypted and they are protected by this encription. It's complicated...

  • Java proxy client with HTTP sender

    I have SP15. I have sender agreement with HTTP adapter for system A and Java Proxy Cleint that send message as system A.
    When I send message through Java proxy I see error:
    <i>SOAPFault received from Integration Server. ErrorCode/Category: XIServer/IN_BIND_WRONG_ADPT; Params: HTTP; AdditionalText:  ; ApplicationFaultMessage:  ; ErrorStack: Server agreement found belongs to adapter HTTP; current adapter is 'XI' </i>
    When I deleted sender agreement it worked.
    Could you explain this strange behavior? Is it a bug. Sender agrement for HTTP is necessary since SP16

    I have the same problem with SOAP and file adapter. I've posted this here already.
    XIServer/IN_BIND_WRONG_ADPT
    I have deleted the sender agreement for my soap adapter scenarios, because a sender agreement is not necessary (created by the wizard). After that the soap adapter scenarios work fine. But at scenarios with a sender file adapter you need a sender agreement.
    We had the following situation:
    XI Test, XI SP17, Basis SP16 --> IN_BIND_WRONG_ADPT problem
    XI QA, XI SP17, Basis SP14 --> okay
    XI Prod, XI SP15, Basis SP 16 --> okay
    We patched our XI QA to
    XI QA, XI SP17, Basis SP16
    After that we have the IN_BIND_WRONG_ADPT problem at our XI  QA system too.
    I started a SAPP OSS call two weeks ago but got no solution till now. They checked our systems some times but with no result.
    Our central SLD is on the XI Prod System. Perhaps there is a connection. But I don't want to patch my XI Prod system to SP 17, because it's the only system that works without errors.
    Message was edited by: Gil Ritter

  • Java Proxy Generation not working - Support for Parallel Processing

    Hi Everyone,
    As per SAP Note 1230721 - Java Proxy Generation - Support for Parallel Processing, when we generate a java proxy from an interface we are supposed to get 2 archives (one for serial processing and another suffixed with "PARALLEL" for parallel processing of jaav proxies in JPR).
    https://websmp230.sap-ag.de/sap(bD1lbiZjPTAwMQ==)/bc/bsp/spn/sapnotes/index2.htm?numm=1230721
    We are on the correct patch level as per the Note, however when we generate java proxy from the IR for an outbound interface, it genrates only 1 zip archive (whose name we ourselves provide in the craete new archive section). This does not enable the parallel processsing of the messages in JPR.
    Could you please help me in this issue, and guide as to how archives can be generated for parallel processing.
    Thanks & Regards,
    Rosie Sasidharan.

    Hi,
    Thanks a lot for your reply, Prateek.
    I have already checked SAP Note 1142580 - "Java Proxy is not processing messages in parallel" where they ask to modify the ejb-jar.xml. However, on performing the change in ejb-jar.xml and while building the EAR, I get the following error:
    Error! The state of the source cache is INCONSISTENT for at least one of the request DCs. The build might produce incorrect results.
    Then, on going through the SAP Note 1142580 again, I realised that the SAP Note 1230721 also should be looked onto which will be needed for generating the Java proxy from Message Interfaces in IR for parallel processing.
    Kindly help me if any of you have worked on such a scenario.
    Thanks in advance,
    Regards,
    Rosie Sasidharan.

  • JAVA Proxy :: Exception in ejb-jar.xml in NWDS

    Hi All
    I am getting exception while Importing (Inbound) JAVA Proxy ZIP file in NWDS, ejb-jar.xml shows the red cross & when I double click on it got following error -->
    The content of element type "ejb-jar" is incomplete, it must match "(description?,display-name?,small-icon?,large-icon?,enterprise-beans,relationships?,assembly-descriptor?,ejb-client-jar?)".
    I already add the following JAR files in class-path -->
    aii_proxy_xirt.jar
    aii_msg_runtime.jar
    aii_utilxi_misc.jar
    guidgenerator.jar
    One different thing I also notice is that after adding these JAR files in classpath I am not getting my Inbound Interface BEAN under EJB candidates.
    Also nothing is visible under ejbModule usually it shows 4 JAVA files & one template file.
    As a solution I tried searching in google & forum for above exception, most threads suggest to add the Beans to xml files but I am not getting my interface Bean under EJB candidates.
    I also tried reloading all the external JAR files again from System but still same issue.
    Also within the same NWDS one another version of EJB is working fine but I worked on it 6months back, I tried copy its contents to ejb-jar.xml source code but then also nothing happens.
    I am using NWDS Version: 7.0.10
    Can you pls. suggest & let me know what further information I can provide from my side which can help you to investigate it.
    Regards
    Lalit

    hi,
    Your are using server java proxy.
    You can use some other jar files apart from what you are using,.
    ejb20.jar
    exception.jar
    sapj2eeclient.jar
    and after importing your zip file (create a ejb project first ,then add the zar files and then click on the ejbModule and then import your zip file ) close and open your project.
    Do not directly click on ejb-jar.xml.Click on ejbModule and import the .zip file.
    then save your .template file in ejbModule as a .java project.
    then there should not be any error.
    you can refer
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/d06315a6-e66e-2910-039c-ba8bbbd23702
    regards,
    ujjwal kumar

  • Porblem with Java Proxy EJB deploy to XI through NWDI

    Situation - I have a web app in Server A (WAS7), it needs to call a java proxy in Server B (XI WAS7). I want to deploy the Java Proxy EJB into the landscape using NWDI. To do this I created an external library with public parts that contains the required jars to build the java proxies. These are aii_msg_runtime.jar, aii_proxy_xirt.jar, and aii_utilxi_misc.jar. The EJB module used part is mapped to the library's public parts. Everything builds fine and the deployment was successful into XI.
    Problem - When my web application makes a remote call to the java proxy in XI, NoClassDefFoundError occurs. The first jar that it complain about was aii_util_cimaccess.jar. I included this jar into the library and redeployed. Called the java proxy again, and got another NoClassDefFoundError exception. Now it wanted the lrcclient.jar. I included that into the library and redeployed. Now it wanted another jar. The issue is that all these jars are in the XI server and I shouldn't have to add them as part of the library. Is there a SCA out there that contains these jars, or did I just forget to mark a checkbox somewhere when creating the EJB so that it would reference the XI jars without me adding them to the library?
    Note - This architecture works fine without having to add the jars above, if I deploy the Java Proxy EJB from my workspace to XI through the SDM process available through NWDS. This only breaks when I deploy through NWDI.
    Thank you in advance.

    HI,
    please see the below link
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/bc7f08e1-0901-0010-b1bd-80966009d8f0
    http://help.sap.com/saphelp_nw2004s/helpdata/en/40/00be09879f114aa1ec46c2afa4445b/frameset.htm
    To add On-
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/9221b490-0201-0010-0e90-8cc75cde876c
    http://help.sap.com/saphelp_webas630/helpdata/en/cb/f4bc3d42f46c33e10000000a11405a/content.htm
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/eaeb475d-0c01-0010-f5a4-d7a8eb185793
    Regards
    Chilla

  • [urgent]inbound java proxy

    Hi
    how can i know if receiver XI adapter touch inbound EJB by registering url?
    my scenario is ABAP Proxy to Java proxy Sync.
    i can see mapping error on moni because payload inbound adapter has empty ,
    my issue, XI seems not to call inbound EJB?
    on adapter monitoring, JPR green
    what missing ?
    XI receiver
    HTTP 1.0
    XI3.0
    integration server
    URL Address
    Target Host :  XI IP
    service number : 50000
    path  : /MessagingSystem/receive/JPR/XI
    authentication Type : Use Logon Data for Non-SAP System
    UserName  :  XIAPPLUSER
    password  :  password
    thanks
    ogawa

    Hi,
    Please can you put here what the error is:...check if the mapping is working properly...
    Also can you check if the registering is done correctly.
    Please check on this thread
    Java Proxy Runtime:  failure to locate proxy bean on inbound call
    Regards
    Vijaya

  • Generating Java Proxy

    I am having some problems generating a particular java proxy... I've developed several
    others without trouble...I suspect the issue is in the imported WSDL.
    I have imported an existing WSDL into the "External Definitions" section of
    Interface Objects in the Integration Builder ...no problems and the
    "Messages" tab properly shows one message. I also checked the rendered
    WSDL text on the "WSDL" tab and all looks fine. Note that this WSDL comes from a working web service that is running on a JBoss Applicatino server.
    Next I create a Message Interface using this imported WSDL to define my
    "Input" message - since this is Async, there is no corresponding "Response"
    message - all this goes fine.
    Finally, I right mouse click on the Message Interface to generate the Proxy
    and at the last step after selecting the MI I get the following message from SAP:
    Unable to generate proxies Construct <part type ="....">
    not supported (path: <portType http://ram.proxy.test:B2B_JAVA_PROXY_GenerateStatements_MI>
    <message http://ws.ferg.com/:GenerateStatements_getStatementInfo>)
    The raw WSDL from the External Definitions "WSDL" tab is:
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" targetNamespace="http://ws.ferg.com/">
    <wsdl:types>
    <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:soap11enc="http://schemas.xmlsoap.org/soap/encoding/" xmlns="http://ws.ferg.com/types" targetNamespace="http://ws.ferg.com/types">
    <xsd:import namespace="http://schemas.xmlsoap.org/soap/encoding/" />
    <xsd:complexType name="ArrayOfstring">
    <xsd:complexContent>
    <xsd:restriction base="soap11enc:Array">
    <xsd:attribute ref="soap11enc:arrayType" wsdl:arrayType="string[]" />
    </xsd:restriction>
    </xsd:complexContent>
    </xsd:complexType>
    </xsd:schema>
    <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns2="http://ws.ferg.com/types">
    <xsd:complexType name="GenerateStatements_getStatementInfo">
    <xsd:sequence>
    <xsd:element name="String_1" type="xsd:string" />
    <xsd:element name="arrayOfString_2" type="ns2:ArrayOfstring" />
    <xsd:element name="arrayOfString_3" type="ns2:ArrayOfstring" />
    <xsd:element name="String_4" type="xsd:string" />
    </xsd:sequence>
    </xsd:complexType>
    </xsd:schema>
    </wsdl:types>
    <wsdl:message name="GenerateStatements_getStatementInfoResponse" />
    <wsdl:message name="GenerateStatements_getStatementInfo">
    <wsdl:part name="GenerateStatements_getStatementInfo" type="GenerateStatements_getStatementInfo" />
    </wsdl:message>
    </wsdl:definitions>
    My runtime environment info is:
    Runtime Environment
    Java version:
    1.6.0_07
    Java vendor:
    Sun Microsystems Inc.
    Version
    Service pack:
    13
    Release:
    NW04S_13_REL
    Latest change:
    34074
    Any ideas would be appreciated ! Seems that if SAP was
    going to have trouble with this WSDL it should have complained much earlier like when I imported the WSDL in the first place ...very frustrating !
    Rod

    According to this document
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/2089f29b-b10a-2a10-5297-e258df0c1bfc
    the syntax
    <wsdl:part name="GenerateStatements_getStatementInfo" type="GenerateStatements_getStatementInfo" />
    is not supported for java proxies.
    Unfortunately, u will have to edit the wsdl for working with java proxy.
    Regards,
    Prateek

  • Problem with Java Proxy and Socket Connection

    Hi Gurus!!
    I have developed a Java Proxy that connects via socket with a Server Socket application. This Server Socket application accepts more than one connection at the same time.
    When I connect the first time from my Java Proxy, the connection is correctly established. When the first connection opened, if a try a second connection, this is not established.
    I use "new Socket(SocketServer,SocketPort);" to open the connection.
    I think that all time the Java Proxy is trying to open the same connection, and this is a problem.
    Is there a way to indicate to the server that is a new connection and that the existing connections remain?
    Anybody could help me, please?
    Thanks and regards,
    Manuel Míguez.

    Sorry!!!!i must give you more information.
    The error which i have when i push the submit button is
    HTTP Status 404 -
    type Status report
    message
    descriptionThe requested resource () is not available.
    GlassFish Server Open Source Edition 3.0.1
    My thought is that the error is in this line
    String connectionURL = "jdbc:mysql://localhost/mybooking";in mysql when i write this code then the table opens with no problems:
    mysql>show databases;
    mysql>usebooking;
    mysql>showtables;
    mysql>describe booking;Furthermore i have added in my web application the library mysql JDBC driver my-sql-connector-java-5.1.6.bin.jar
    Edited by: 813355 on Nov 22, 2010 1:50 AM
    Edited by: 813355 on Nov 22, 2010 2:00 AM

  • Java Proxy Runtime:  failure to locate proxy bean on inbound call

    Hello gurus of the SDN,
    I have been trying to get an inbound Java Proxy scenario to work in XI 3.0 but have not been able to get the JPR to recognize my generated and deployed java code.  My scenario is set up to call the java proxies generated from a message interface based on the MATMAS Idoc.  I successfully deployed the generated java proxies on the same host box as is running the XI instance.  The objects are named as follows
    Message interface on XI = Inbound_MATMAS04
    Generated proxy bean = Inbound_MATMAS04_PortTypeBean
    Implementing class = InboundMATMAS04_PortTypeImpl
    Implementing method = inboundMATMAS04
    I used the JPR transport servlet to register the interface and implementing class but am not sure if I did this correctly.  I used the following entry in my web browser:
    http://nadcp786:50000/ProxyServer/register?
    ns=urn:xiTrainingLabs:groupXX:SAP&
    interface=InboundMATMAS04&
    bean=InboundMATMAS04_PortTypeImpl&
    method=inboundMATMAS04
    I also tried using the localejb/ prefix for the bean name in the above step since the code is co-located.  When I trigger the scenario, the Idoc info is passed into XI and the Java Proxy Runtime is called, but I get the following error response back in the SOAP header:
    - <SAP:Error xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="1">
      <SAP:Category>XIAdapterFramework</SAP:Category>
      <SAP:Code area="PARSING">GENERAL</SAP:Code>
      <SAP:P1 />
      <SAP:P2 />
      <SAP:P3 />
      <SAP:P4 />
      <SAP:AdditionalText>com.sap.aii.af.ra.ms.api.DeliveryException: Cannot locate proxy bean InboundMATMAS04_PortTypeImpl: com.sap.aii.proxy.xiruntime.core.XmlInboundException: Cannot locate proxy bean InboundMATMAS04_PortTypeImpl</SAP:AdditionalText>
      <SAP:ApplicationFaultMessage namespace="" />
      <SAP:Stack />
      <SAP:Retry>M</SAP:Retry>
      </SAP:Error>
    Finally, appended at the end of this post is the audit log of the messaging system showing that the JPR is called but without being able to locate the bean.  I think I am missing a configuration step somewhere, but can’t figure out what it is!!  Can anyone help me? 
    Many thanks in advance.
    Regards,
    Nick Simon
    Time Stamp     Status     Description
    2004-10-25 19:47:32     Success     The message was successfully received by the messaging system. Profile: XI URL: http://nadcp786.bcsdc.lexington.ibm.com:50000/MessagingSystem/receive/JPR/XI
    2004-10-25 19:47:32     Success     Using connection JPR. Trying to put the message into the receive queue.
    2004-10-25 19:47:32     Success     The message was successfully retrieved from the receive queue.
    2004-10-25 19:47:32     Success     The message status set to DLNG.
    2004-10-25 19:47:32     Success     Java proxy runtime (JPR) accepted the message
    2004-10-25 19:47:34     Error     JPR could not process the message. Reason: Cannot locate proxy bean localejbs/InboundMATMAS04_PortTypeImpl
    2004-10-25 19:47:34     Error     Delivery of the message to the application using connection JPR failed, due to: Cannot locate proxy bean localejbs/InboundMATMAS04_PortTypeImpl.
    2004-10-25 19:47:34     Error     The message status set to FAIL.
    2004-10-25 19:47:34     Error     Asynchronous error detected: Cannot locate proxy bean localejbs/InboundMATMAS04_PortTypeImpl. Trying to report it.
    2004-10-25 19:47:34     Error     Asynchronous error reported.
    Message was edited by: Nicholas Simon

    Hi
    How do you determine the JNDI naming of the a EJB?
    I have following entry in JNDI directory in the root
    Object Name FlightQueryIn
    Class Name javax.naming.Reference
    Context Name 
    Object Value Reference Class Name:
    Type: clientAppName
    Content: sap.com/JavaProxyEAR
    Type: interfaceType
    Content: remote
    Type: home
    Content: com.sap.aii.proxy.xiruntime.core.AbstractProxyInboundHome4
    Type: ejb-link
    Content: FlightSeatAvailabilityQueryIn_PortTypeBean
    Type: jndi-name
    Content: FlightQueryIn
    Type: remote
    Content: com.sap.aii.proxy.xiruntime.core.AbstractProxyInboundRemote4
    I tried to register the bean with JPR using:
    http://ctsapxid01:50100/ProxyServer/register?ns=http://sap.com/xi/XI/Demo/Airline&interface=FlightSeatAvailabilityQuery_In&bean=FlightQueryIn&method=flightSeatAvailabilityQueryIn
    I followed the following blog
    http://wiki.sdn.sap.com/wiki/display/Java/JavaProxyChangesinPI7.1fromPI7.0
    Thanks,
    Chris

  • Problem in creating a java proxy for PHP web service

    This is a problem in generating a java proxy for a PHP webservice.
    I have a PHP service running on Wamp Server and also a PHP client which is able to call the service.
    The WSDL for the PHP web service is also generated .
    I am trying to create a java proxy using the jdev (10.1.3.0.3) from the wsdl file.
    The wsdl generated by the php program is
    <?xml version="1.0" encoding="ISO-8859-1" ?>
    <definitions xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:si="http://soapinterop.org/xsd" xmlns:tns="urn:hellowsdl" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns="http://schemas.xmlsoap.org/wsdl/" targetNamespace="urn:hellowsdl">
    <types>
    <xsd:schema targetNamespace="urn:hellowsdl">
      <xsd:import namespace="http://schemas.xmlsoap.org/soap/encoding/" />
      <xsd:import namespace="http://schemas.xmlsoap.org/wsdl/" />
      </xsd:schema>
      </types>
    <message name="helloRequest">
      <part name="name" type="xsd:string" />
      </message>
    <message name="helloResponse">
      <part name="return" type="xsd:string" />
      </message>
    <portType name="hellowsdlPortType">
    <operation name="hello">
      <documentation>Says hello to the caller</documentation>
      <input message="tns:helloRequest" />
      <output message="tns:helloResponse" />
      </operation>
      </portType>
    <binding name="hellowsdlBinding" type="tns:hellowsdlPortType">
      <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http" />
    <operation name="hello">
      <soap:operation soapAction="urn:hellowsdl#hello" style="rpc" />
    <input>
      <soap:body use="encoded" namespace="urn:hellowsdl" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
      </input>
    <output>
      <soap:body use="encoded" namespace="urn:hellowsdl" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
      </output>
      </operation>
      </binding>
    <service name="hellowsdl">
    <port name="hellowsdlPort" binding="tns:hellowsdlBinding">
      <soap:address location="http://localhost/mywork/myphp.php" />
      </port>
      </service>
      </definitions>After making following changes to the wsdl program, I tried to generate java proxy.
    <definitions name="hellowsdl"
    xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
    xmlns:si="http://soapinterop.org/xsd" xmlns:tns="http://localhost/mywork/hellowsdl.wsdl" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
    xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns="http://schemas.xmlsoap.org/wsdl/" targetNamespace="http://localhost/mywork/myphpwsdl.wsdll">
    <types>
    <xsd:schema targetNamespace="http://localhost/mywork/hellowsdl.wsdl">
      <xsd:import namespace="http://schemas.xmlsoap.org/soap/encoding/" />
      <xsd:import namespace="http://schemas.xmlsoap.org/wsdl/" />
      </xsd:schema>
      </types>
    <message name="helloRequest">
      <part name="name" type="xsd:string" />
      </message>
    <message name="helloResponse">
      <part name="return" type="xsd:string" />
      </message>
    <portType name="hellowsdlPortType">
    <operation name="hello">
      <documentation>Says hello to the caller</documentation>
      <input message="tns:helloRequest" />
      <output message="tns:helloResponse" />
      </operation>
      </portType>
    <binding name="hellowsdlBinding" type="tns:hellowsdlPortType">
      <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http" />
    <operation name="hello">
      <soap:operation soapAction="" style="rpc" />
    <input>
      <soap:body use="encoded" namespace="http://localhost/mywork/hellowsdl" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
      </input>
    <output>
      <soap:body use="encoded" namespace="http://localhost/mywork/hellowsdl" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
      </output>
      </operation>
      </binding>
    <service name="hellowsdl">
    <port name="hellowsdlPort" binding="tns:hellowsdlBinding">
      <soap:address location="http://localhost/mywork/myphp.php" />
      </port>
      </service>
      </definitions>This is how the java stub file looks like:
    public class HellowsdlBinding_Stub
        extends oracle.j2ee.ws.client.StubBase
        implements demo.mypackage.HellowsdlPortType {
         *  public constructor
        public HellowsdlBinding_Stub(HandlerChain handlerChain) {
            super(handlerChain);
            _setProperty(ENDPOINT_ADDRESS_PROPERTY, "http://localhost/mywork/hellowsdl.php");
            setSoapVersion(SOAPVersion.SOAP_11);
            setServiceName( new QName("http://localhost/mywork/hellowsdl","hellowsdl"));
            setPortName( new QName("http://localhost/mywork/hellowsdl","hellowsdlPort"));
         *  implementation of hello
        public java.lang.String hello(java.lang.String name)
            throws java.rmi.RemoteException {
            StreamingSenderState _state = null;
            try {
                _state = _start(_handlerChain);
                if (_getProperty(ClientConstants.DIME_ENCODE_MESSAGES_WITH_ATTACHMENTS) != null) {
                    _state.getMessageContext().getMessage().setProperty("DimeEncode",_getProperty(ClientConstants.DIME_ENCODE_MESSAGES_WITH_ATTACHMENTS));
                InternalSOAPMessage _request = _state.getRequest();
                _request.setOperationCode(hello_OPCODE);
                _state.getMessageContext().setProperty("oracle.j2ee.ws.mgmt.interceptor.operation-qname",new QName("","hello"));
                demo.mypackage.runtime.HellowsdlBinding_hello_ReqS _myHellowsdlBinding_hello_ReqS = new demo.mypackage.runtime.HellowsdlBinding_hello_ReqS();
            _myHellowsdlBinding_hello_ReqS.setName(name);
            SOAPBlockInfo _bodyBlock = new SOAPBlockInfo(ns1_hello_hello_QNAME);
            _bodyBlock.setValue(_myHellowsdlBinding_hello_ReqS);
            _bodyBlock.setSerializer(myns1_hello__HellowsdlBinding_hello_ReqS_SOAPSerializer);
            _request.setBody(_bodyBlock);
            _state.getMessageContext().setProperty("http.soap.action", "http://localhost/mywork/hellowsdl");
            _send((String) _getProperty(ENDPOINT_ADDRESS_PROPERTY), _state);
            demo.mypackage.runtime.HellowsdlBinding_hello_RespS _myHellowsdlBinding_hello_RespS = null;
            Object _responseObj = _state.getResponse().getBody().getValue();
            if (_responseObj instanceof SOAPDeserializationState) {
                _myHellowsdlBinding_hello_RespS =
                    (demo.mypackage.runtime.HellowsdlBinding_hello_RespS)((SOAPDeserializationState)_responseObj).getInstance();
            } else {
                _myHellowsdlBinding_hello_RespS =
                    (demo.mypackage.runtime.HellowsdlBinding_hello_RespS)_responseObj;
            return _myHellowsdlBinding_hello_RespS.get_return();
        } catch (RemoteException e) {
            // let this one through unchanged
            throw e;
        } catch (JAXRPCException e) {
            throw new RemoteException(e.getMessage(), e);
        } catch (Exception e) {
            if (e instanceof RuntimeException) {
                throw (RuntimeException)e;
            } else {
                throw new RemoteException(e.getMessage(), e);
    *  this method deserializes the request/response structure in the body
    protected void _readFirstBodyElement(XMLReader bodyReader, SOAPDeserializationContext deserializationContext, StreamingSenderState  state) throws Exception {
        int opcode = state.getRequest().getOperationCode();
        switch (opcode) {
            case hello_OPCODE:
                _deserialize_hello(bodyReader, deserializationContext, state);
                break;
            default:
                throw new SenderException("sender.response.unrecognizedOperation", Integer.toString(opcode));
    * This method deserializes the body of the hello operation.
    private void _deserialize_hello(XMLReader bodyReader, SOAPDeserializationContext deserializationContext, StreamingSenderState state) throws Exception {
        try {
            Object myHellowsdlBinding_hello_RespSObj =
                myns1_helloResponse__HellowsdlBinding_hello_RespS_SOAPSerializer.deserialize(ns1_hello_helloResponse_QNAME,
                    bodyReader, deserializationContext);
            SOAPBlockInfo bodyBlock = new SOAPBlockInfo(ns1_hello_helloResponse_QNAME);
            bodyBlock.setValue(myHellowsdlBinding_hello_RespSObj);
            state.getResponse().setBody(bodyBlock);
        } catch (DeserializationException e) {
            if (e.getSoapFaultSubCodeType() == JAXRPCExceptionBase.FAULT_CODE_NONE && e.getSoapFaultCodeType() != JAXRPCExceptionBase.FAULT_CODE_DATA_ENCODING_UNKNOWN) {
                e.setSoapFaultSubCodeType(JAXRPCExceptionBase.FAULT_CODE_BAD_ARGUMENTS);
            throw e;
    public String _getEncodingStyle() {
        return SOAPEncodingConstants.getSOAPEncodingConstants(soapVersion).getURIEncoding();
    public void _setEncodingStyle(String encodingStyle) {
        throw new UnsupportedOperationException("cannot set encoding style");
    public ClientTransport getClientTransport() {
        return super._getTransport();
    * This method returns an array containing (prefix, nsURI) pairs.
    protected String[] _getNamespaceDeclarations() {
        return myNamespace_declarations;
    * This method returns an array containing the names of the headers we understand.
    public QName[] _getUnderstoodHeaders() {
        return understoodHeaderNames;
    * This method handles the case of an empty SOAP body.
    protected void _handleEmptyBody(XMLReader reader, SOAPDeserializationContext deserializationContext, StreamingSenderState state) throws Exception {
    public void _initialize(InternalTypeMappingRegistry registry) throws Exception {
        super._initialize(registry);
        myns1_hello__HellowsdlBinding_hello_ReqS_SOAPSerializer = (CombinedSerializer)registry.getSerializer(SOAPEncodingConstants.getSOAPEncodingConstants(soapVersion).getURIEncoding(), demo.mypackage.runtime.HellowsdlBinding_hello_ReqS.class, ns1_hello_TYPE_QNAME);
        myns1_helloResponse__HellowsdlBinding_hello_RespS_SOAPSerializer = (CombinedSerializer)registry.getSerializer(SOAPEncodingConstants.getSOAPEncodingConstants(soapVersion).getURIEncoding(), demo.mypackage.runtime.HellowsdlBinding_hello_RespS.class, ns1_helloResponse_TYPE_QNAME);
    private static final QName _portName = new QName("http://localhost/mywork/hellowsdl", "hellowsdlPort");
    private static final int hello_OPCODE = 0;
    private static final QName ns1_hello_hello_QNAME = new QName("http://localhost/mywork/hellowsdl", "hello");
    private static final QName ns1_hello_TYPE_QNAME = new QName("http://localhost/mywork/hellowsdl", "hello");
    private CombinedSerializer myns1_hello__HellowsdlBinding_hello_ReqS_SOAPSerializer;
    private static final QName ns1_hello_helloResponse_QNAME = new QName("http://localhost/mywork/hellowsdl", "helloResponse");
    private static final QName ns1_helloResponse_TYPE_QNAME = new QName("http://localhost/mywork/hellowsdl", "helloResponse");
    private CombinedSerializer myns1_helloResponse__HellowsdlBinding_hello_RespS_SOAPSerializer;
    private static final String[] myNamespace_declarations =
                                        new String[] {
                                            "ns0", "http://localhost/mywork/hellowsdl"
    private static final QName[] understoodHeaderNames = new QName[] {  };
    }The errors that are produced are-
    java.rmi.RemoteException: HTTP transport error: javax.xml.soap.SOAPException: java.security.PrivilegedActionException: javax.xml.soap.SOAPException: Bad response: 404 Not Found; nested exception is:
         HTTP transport error: javax.xml.soap.SOAPException: java.security.PrivilegedActionException: javax.xml.soap.SOAPException: Bad response: 404 Not Found
    Kindly help to resolve this.
    Thanks.

    This is a problem in generating a java proxy for a PHP webservice.
    I have a PHP service running on Wamp Server and also a PHP client which is able to call the service.
    The WSDL for the PHP web service is also generated .
    I am trying to create a java proxy using the jdev (10.1.3.0.3) from the wsdl file.
    The wsdl generated by the php program is
    <?xml version="1.0" encoding="ISO-8859-1" ?>
    <definitions xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:si="http://soapinterop.org/xsd" xmlns:tns="urn:hellowsdl" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns="http://schemas.xmlsoap.org/wsdl/" targetNamespace="urn:hellowsdl">
    <types>
    <xsd:schema targetNamespace="urn:hellowsdl">
      <xsd:import namespace="http://schemas.xmlsoap.org/soap/encoding/" />
      <xsd:import namespace="http://schemas.xmlsoap.org/wsdl/" />
      </xsd:schema>
      </types>
    <message name="helloRequest">
      <part name="name" type="xsd:string" />
      </message>
    <message name="helloResponse">
      <part name="return" type="xsd:string" />
      </message>
    <portType name="hellowsdlPortType">
    <operation name="hello">
      <documentation>Says hello to the caller</documentation>
      <input message="tns:helloRequest" />
      <output message="tns:helloResponse" />
      </operation>
      </portType>
    <binding name="hellowsdlBinding" type="tns:hellowsdlPortType">
      <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http" />
    <operation name="hello">
      <soap:operation soapAction="urn:hellowsdl#hello" style="rpc" />
    <input>
      <soap:body use="encoded" namespace="urn:hellowsdl" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
      </input>
    <output>
      <soap:body use="encoded" namespace="urn:hellowsdl" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
      </output>
      </operation>
      </binding>
    <service name="hellowsdl">
    <port name="hellowsdlPort" binding="tns:hellowsdlBinding">
      <soap:address location="http://localhost/mywork/myphp.php" />
      </port>
      </service>
      </definitions>After making following changes to the wsdl program, I tried to generate java proxy.
    <definitions name="hellowsdl"
    xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
    xmlns:si="http://soapinterop.org/xsd" xmlns:tns="http://localhost/mywork/hellowsdl.wsdl" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
    xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns="http://schemas.xmlsoap.org/wsdl/" targetNamespace="http://localhost/mywork/myphpwsdl.wsdll">
    <types>
    <xsd:schema targetNamespace="http://localhost/mywork/hellowsdl.wsdl">
      <xsd:import namespace="http://schemas.xmlsoap.org/soap/encoding/" />
      <xsd:import namespace="http://schemas.xmlsoap.org/wsdl/" />
      </xsd:schema>
      </types>
    <message name="helloRequest">
      <part name="name" type="xsd:string" />
      </message>
    <message name="helloResponse">
      <part name="return" type="xsd:string" />
      </message>
    <portType name="hellowsdlPortType">
    <operation name="hello">
      <documentation>Says hello to the caller</documentation>
      <input message="tns:helloRequest" />
      <output message="tns:helloResponse" />
      </operation>
      </portType>
    <binding name="hellowsdlBinding" type="tns:hellowsdlPortType">
      <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http" />
    <operation name="hello">
      <soap:operation soapAction="" style="rpc" />
    <input>
      <soap:body use="encoded" namespace="http://localhost/mywork/hellowsdl" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
      </input>
    <output>
      <soap:body use="encoded" namespace="http://localhost/mywork/hellowsdl" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
      </output>
      </operation>
      </binding>
    <service name="hellowsdl">
    <port name="hellowsdlPort" binding="tns:hellowsdlBinding">
      <soap:address location="http://localhost/mywork/myphp.php" />
      </port>
      </service>
      </definitions>This is how the java stub file looks like:
    public class HellowsdlBinding_Stub
        extends oracle.j2ee.ws.client.StubBase
        implements demo.mypackage.HellowsdlPortType {
         *  public constructor
        public HellowsdlBinding_Stub(HandlerChain handlerChain) {
            super(handlerChain);
            _setProperty(ENDPOINT_ADDRESS_PROPERTY, "http://localhost/mywork/hellowsdl.php");
            setSoapVersion(SOAPVersion.SOAP_11);
            setServiceName( new QName("http://localhost/mywork/hellowsdl","hellowsdl"));
            setPortName( new QName("http://localhost/mywork/hellowsdl","hellowsdlPort"));
         *  implementation of hello
        public java.lang.String hello(java.lang.String name)
            throws java.rmi.RemoteException {
            StreamingSenderState _state = null;
            try {
                _state = _start(_handlerChain);
                if (_getProperty(ClientConstants.DIME_ENCODE_MESSAGES_WITH_ATTACHMENTS) != null) {
                    _state.getMessageContext().getMessage().setProperty("DimeEncode",_getProperty(ClientConstants.DIME_ENCODE_MESSAGES_WITH_ATTACHMENTS));
                InternalSOAPMessage _request = _state.getRequest();
                _request.setOperationCode(hello_OPCODE);
                _state.getMessageContext().setProperty("oracle.j2ee.ws.mgmt.interceptor.operation-qname",new QName("","hello"));
                demo.mypackage.runtime.HellowsdlBinding_hello_ReqS _myHellowsdlBinding_hello_ReqS = new demo.mypackage.runtime.HellowsdlBinding_hello_ReqS();
            _myHellowsdlBinding_hello_ReqS.setName(name);
            SOAPBlockInfo _bodyBlock = new SOAPBlockInfo(ns1_hello_hello_QNAME);
            _bodyBlock.setValue(_myHellowsdlBinding_hello_ReqS);
            _bodyBlock.setSerializer(myns1_hello__HellowsdlBinding_hello_ReqS_SOAPSerializer);
            _request.setBody(_bodyBlock);
            _state.getMessageContext().setProperty("http.soap.action", "http://localhost/mywork/hellowsdl");
            _send((String) _getProperty(ENDPOINT_ADDRESS_PROPERTY), _state);
            demo.mypackage.runtime.HellowsdlBinding_hello_RespS _myHellowsdlBinding_hello_RespS = null;
            Object _responseObj = _state.getResponse().getBody().getValue();
            if (_responseObj instanceof SOAPDeserializationState) {
                _myHellowsdlBinding_hello_RespS =
                    (demo.mypackage.runtime.HellowsdlBinding_hello_RespS)((SOAPDeserializationState)_responseObj).getInstance();
            } else {
                _myHellowsdlBinding_hello_RespS =
                    (demo.mypackage.runtime.HellowsdlBinding_hello_RespS)_responseObj;
            return _myHellowsdlBinding_hello_RespS.get_return();
        } catch (RemoteException e) {
            // let this one through unchanged
            throw e;
        } catch (JAXRPCException e) {
            throw new RemoteException(e.getMessage(), e);
        } catch (Exception e) {
            if (e instanceof RuntimeException) {
                throw (RuntimeException)e;
            } else {
                throw new RemoteException(e.getMessage(), e);
    *  this method deserializes the request/response structure in the body
    protected void _readFirstBodyElement(XMLReader bodyReader, SOAPDeserializationContext deserializationContext, StreamingSenderState  state) throws Exception {
        int opcode = state.getRequest().getOperationCode();
        switch (opcode) {
            case hello_OPCODE:
                _deserialize_hello(bodyReader, deserializationContext, state);
                break;
            default:
                throw new SenderException("sender.response.unrecognizedOperation", Integer.toString(opcode));
    * This method deserializes the body of the hello operation.
    private void _deserialize_hello(XMLReader bodyReader, SOAPDeserializationContext deserializationContext, StreamingSenderState state) throws Exception {
        try {
            Object myHellowsdlBinding_hello_RespSObj =
                myns1_helloResponse__HellowsdlBinding_hello_RespS_SOAPSerializer.deserialize(ns1_hello_helloResponse_QNAME,
                    bodyReader, deserializationContext);
            SOAPBlockInfo bodyBlock = new SOAPBlockInfo(ns1_hello_helloResponse_QNAME);
            bodyBlock.setValue(myHellowsdlBinding_hello_RespSObj);
            state.getResponse().setBody(bodyBlock);
        } catch (DeserializationException e) {
            if (e.getSoapFaultSubCodeType() == JAXRPCExceptionBase.FAULT_CODE_NONE && e.getSoapFaultCodeType() != JAXRPCExceptionBase.FAULT_CODE_DATA_ENCODING_UNKNOWN) {
                e.setSoapFaultSubCodeType(JAXRPCExceptionBase.FAULT_CODE_BAD_ARGUMENTS);
            throw e;
    public String _getEncodingStyle() {
        return SOAPEncodingConstants.getSOAPEncodingConstants(soapVersion).getURIEncoding();
    public void _setEncodingStyle(String encodingStyle) {
        throw new UnsupportedOperationException("cannot set encoding style");
    public ClientTransport getClientTransport() {
        return super._getTransport();
    * This method returns an array containing (prefix, nsURI) pairs.
    protected String[] _getNamespaceDeclarations() {
        return myNamespace_declarations;
    * This method returns an array containing the names of the headers we understand.
    public QName[] _getUnderstoodHeaders() {
        return understoodHeaderNames;
    * This method handles the case of an empty SOAP body.
    protected void _handleEmptyBody(XMLReader reader, SOAPDeserializationContext deserializationContext, StreamingSenderState state) throws Exception {
    public void _initialize(InternalTypeMappingRegistry registry) throws Exception {
        super._initialize(registry);
        myns1_hello__HellowsdlBinding_hello_ReqS_SOAPSerializer = (CombinedSerializer)registry.getSerializer(SOAPEncodingConstants.getSOAPEncodingConstants(soapVersion).getURIEncoding(), demo.mypackage.runtime.HellowsdlBinding_hello_ReqS.class, ns1_hello_TYPE_QNAME);
        myns1_helloResponse__HellowsdlBinding_hello_RespS_SOAPSerializer = (CombinedSerializer)registry.getSerializer(SOAPEncodingConstants.getSOAPEncodingConstants(soapVersion).getURIEncoding(), demo.mypackage.runtime.HellowsdlBinding_hello_RespS.class, ns1_helloResponse_TYPE_QNAME);
    private static final QName _portName = new QName("http://localhost/mywork/hellowsdl", "hellowsdlPort");
    private static final int hello_OPCODE = 0;
    private static final QName ns1_hello_hello_QNAME = new QName("http://localhost/mywork/hellowsdl", "hello");
    private static final QName ns1_hello_TYPE_QNAME = new QName("http://localhost/mywork/hellowsdl", "hello");
    private CombinedSerializer myns1_hello__HellowsdlBinding_hello_ReqS_SOAPSerializer;
    private static final QName ns1_hello_helloResponse_QNAME = new QName("http://localhost/mywork/hellowsdl", "helloResponse");
    private static final QName ns1_helloResponse_TYPE_QNAME = new QName("http://localhost/mywork/hellowsdl", "helloResponse");
    private CombinedSerializer myns1_helloResponse__HellowsdlBinding_hello_RespS_SOAPSerializer;
    private static final String[] myNamespace_declarations =
                                        new String[] {
                                            "ns0", "http://localhost/mywork/hellowsdl"
    private static final QName[] understoodHeaderNames = new QName[] {  };
    }The errors that are produced are-
    java.rmi.RemoteException: HTTP transport error: javax.xml.soap.SOAPException: java.security.PrivilegedActionException: javax.xml.soap.SOAPException: Bad response: 404 Not Found; nested exception is:
         HTTP transport error: javax.xml.soap.SOAPException: java.security.PrivilegedActionException: javax.xml.soap.SOAPException: Bad response: 404 Not Found
    Kindly help to resolve this.
    Thanks.

  • Error while running java proxy in PI 7.1

    Hi All,
    I had created a java proxy using nwds 7.1. This java proxy is called by XI channel and its synchronous.
    WHen i run my scenario in PI i am getting a error "Error while sending message: com.sap.engine.interfaces.messaging.api.exception.MessagingException: Error processing inbound message. Exception: No remote bean found for reference of class $Proxy2919
    Kindly help me finding what can be the issue.
    Regards,
    Rajesh

    Go to the JNDI Browser (Nwa -> Problem Management), and check if the proxy was deployed correctly with the exact name "Proxy2919".
    Also, check the OSS note below.
    #1292633 - JPR: Throwing "No remote bean found for reference of class"

Maybe you are looking for

  • How to create a new repository in EP 6

    I was wondering how to create a new repository in EP 6 SP2 CM.  I am farmiliar with using repository managers, but I just want to create a new repository similar to the dfaul repositories that are provided by sap, such as "discussions or documents". 

  • MacBook will not boot after iTunes 10.5.2, iPhoto, and Safari update

    My MacBook (mid 2007) will no longer boot after the iTunes 10.5.2, iPhoto and Safari update. It will load Lion but will no open any applications. After running Repair Disk Permissions and Repair Disk in the Recovery HD, Lion will ask for my password,

  • "No signal" on external monitor

    have toshiba tecra a11-11q. after hotplugging external monitor through vga, i have no signal message on that screen. xrandr: Screen 0: minimum 320 x 200, current 2646 x 1024, maximum 8192 x 8192 VGA1 connected 1280x1024+1366+0 (normal left inverted r

  • Report with checkbox to PDF-File with BI Publisher

    Hello, I am able to create reports in APEX to create PDF-Files. We are using the BI Publisher. Now we have to design a rft-Template with a checkbox. In BI Publisher it works with the checkbox greate, but if I create in APEX report and a layout the ch

  • Help me about error: ORA-06502

    Hi everyone, I have a problem about CLOB datatype: when I insert data into a CLOB column (the data is a sql script, length of the data over 11,000), PL/SQL show an error: "ORA-06502: PL/SQL: numeric or value error: character string buffer too small".