WL-Proxy-Client-IP returns localhost IP address

Hello, everyone.
I am trying to find out client' IP address. Both request.getRemoteAddr() and
request.getHeader("WL-Proxy-Client-IP") return the value of the localhost IP address
127.0.0.1
Have anyone seen such behavior?
Gela

Hi, Andy. Please excuse my ignorance, I am very new at this ME embedded stuff. I had my challenges, but was finally able to get my board up with a static address. I went through a lot of headaches, but finally got the board flashed with the latest bin. I then updated the jwc_properties.ini file on the SD card to include:
# Whether static configuration or DHCP server is used do get IP address. Possible values: dhcp,static
ip.method = static
# IP address,used with static IP configuration only
ip.addr = 192.168.0.30
# Network mask,used with static IP configuration only
ip.netmask = 255.255.255.0
# Network gateway,used with static IP configuration only
ip.gateway = 192.168.0.1
# DNS server,used with static IP configuration only
ip.dns = 208.67.222.222
# MAC address
mac.addr = 01:02:03:04:05:06
I was then put the card into the board, disconnected both USB cables, and then powered it up. From that point I was able to ping the board. I can now use Device Manager in NetBeans to connect to the device.
I am struggling quite a bit with many issues. It seems that when I try to stop the app from NetBeans, the "please wait" dialog hangs forever. I have to use Windows Task Manager to kill the "JavaW" process tree and reconnect the board.
I have also had trouble understanding the GPIO pin assignments. Another gotcha was trying to use the AutoStart feature. Since the sample app never cleanly exited, I thought that I bricked the board. The secret is to power it down, remove the SD card, and then delete all files EXCEPT the jwc_properties.ini file, put the SD card back in, then power up. It seems that the board forgets that the MIDlet was installed.
Hope this helps others out there.
Please everybody, post your experiences here. There seem to be very few of us, and finding pearls in the dust is rare right now.
Regards,
Pete

Similar Messages

  • Proxy client (over USB connection) with DHCP assigned IP address doesn't work with FRDM-K64F

    Hello,
    after reading about the issues on this forum with a static IP address on the Freescale FRDM-K64F board I went for an DHCP address but I can't get the proxy client to work over a USB connection with DHCP either.
    My console tells me the following:
    RTC Time: Wed 2014-01-01 00:07:27
    Network initialized
    IP Address:      10.143.xxx.yyy (xxx and yyy is real numbers, just changing them for the forum to letters)
    Subnet mask:     255.255.252.0
    Gateway:         10.143.xxx.yyy
    MAC-address:     00:0c:00:06:70:00
    And when I try o to connect with the following command :
    java -jar proxy.jar -socket 10.143.xxx.yyy
    I get the following output and no CLI interface:
    Trying to open socket connection with device: 10.143.xxx.yyy:2201
    Connected to the socket: Socket[addr=/10.143.xxx.yyy,port=2201,localport=49605]
    Open channel 8 with hash 0x130399b3
    Channel 8 CLOSED -> OPENED
    notifyResponse AVAILABLE_RESPONSE on channel 8
    Channel 8 OPENED -> AVAILABLE
    Open channel 9 with hash 0x0
    Channel 8 AVAILABLE -> REQUEST_SENT
    notifyResponse ACK_RESPONSE on channel 8
    Channel 8 REQUEST_SENT -> ACKNOWLEDGED
    Channel 8 ACKNOWLEDGED -> DATA_SENT
    notifyResponse AVAILABLE_RESPONSE on channel 8
    Channel 8 DATA_SENT -> AVAILABLE
    Channel 8 AVAILABLE -> REQUEST_SENT
    notifyResponse ACK_RESPONSE on channel 8
    Channel 8 REQUEST_SENT -> ACKNOWLEDGED
    Channel 8 ACKNOWLEDGED -> DATA_SENT
    notifyResponse AVAILABLE_RESPONSE on channel 8
    Channel 8 DATA_SENT -> AVAILABLE
    Channel 8 AVAILABLE -> REQUEST_SENT
    notifyResponse ACK_RESPONSE on channel 8
    Channel 8 REQUEST_SENT -> ACKNOWLEDGED
    Channel 8 ACKNOWLEDGED -> DATA_SENT
    notifyResponse AVAILABLE_RESPONSE on channel 8
    Channel 8 DATA_SENT -> AVAILABLE
    Channel 8 AVAILABLE -> REQUEST_SENT
    notifyResponse ACK_RESPONSE on channel 8
    Channel 8 REQUEST_SENT -> ACKNOWLEDGED
    Channel 8 ACKNOWLEDGED -> DATA_SENT
    notifyResponse AVAILABLE_RESPONSE on channel 8
    Channel 8 DATA_SENT -> AVAILABLE
    Channel 8 AVAILABLE -> REQUEST_SENT
    notifyResponse ACK_RESPONSE on channel 8
    Channel 8 REQUEST_SENT -> ACKNOWLEDGED
    Channel 8 ACKNOWLEDGED -> DATA_SENT
    notifyResponse AVAILABLE_RESPONSE on channel 8
    Channel 8 DATA_SENT -> AVAILABLE
    Channel 8 AVAILABLE -> REQUEST_SENT
    notifyResponse ACK_RESPONSE on channel 8
    Channel 8 REQUEST_SENT -> ACKNOWLEDGED
    Channel 8 ACKNOWLEDGED -> DATA_SENT
    notifyResponse AVAILABLE_RESPONSE on channel 8
    Channel 8 DATA_SENT -> AVAILABLE
    Channel 8 AVAILABLE -> REQUEST_SENT
    notifyResponse ACK_RESPONSE on channel 8
    Channel 8 REQUEST_SENT -> ACKNOWLEDGED
    Channel 8 ACKNOWLEDGED -> DATA_SENT
    notifyResponse AVAILABLE_RESPONSE on channel 8
    Channel 8 DATA_SENT -> AVAILABLE
    Channel 8 AVAILABLE -> REQUEST_SENT
    notifyResponse ACK_RESPONSE on channel 8
    Channel 8 REQUEST_SENT -> ACKNOWLEDGED
    Channel 8 ACKNOWLEDGED -> DATA_SENT
    notifyResponse AVAILABLE_RESPONSE on channel 8
    Channel 8 DATA_SENT -> AVAILABLE
    I don't know if this matter but my java version is:
    java version "1.8.0_31"
    Java(TM) SE Runtime Environment (build 1.8.0_31-b13)
    Java HotSpot(TM) 64-Bit Server VM (build 25.31-b07, mixed mode)
    Any ideas or am I missing something completely?
    Thanks
    Andy

    Hi, Andy. Please excuse my ignorance, I am very new at this ME embedded stuff. I had my challenges, but was finally able to get my board up with a static address. I went through a lot of headaches, but finally got the board flashed with the latest bin. I then updated the jwc_properties.ini file on the SD card to include:
    # Whether static configuration or DHCP server is used do get IP address. Possible values: dhcp,static
    ip.method = static
    # IP address,used with static IP configuration only
    ip.addr = 192.168.0.30
    # Network mask,used with static IP configuration only
    ip.netmask = 255.255.255.0
    # Network gateway,used with static IP configuration only
    ip.gateway = 192.168.0.1
    # DNS server,used with static IP configuration only
    ip.dns = 208.67.222.222
    # MAC address
    mac.addr = 01:02:03:04:05:06
    I was then put the card into the board, disconnected both USB cables, and then powered it up. From that point I was able to ping the board. I can now use Device Manager in NetBeans to connect to the device.
    I am struggling quite a bit with many issues. It seems that when I try to stop the app from NetBeans, the "please wait" dialog hangs forever. I have to use Windows Task Manager to kill the "JavaW" process tree and reconnect the board.
    I have also had trouble understanding the GPIO pin assignments. Another gotcha was trying to use the AutoStart feature. Since the sample app never cleanly exited, I thought that I bricked the board. The secret is to power it down, remove the SD card, and then delete all files EXCEPT the jwc_properties.ini file, put the SD card back in, then power up. It seems that the board forgets that the MIDlet was installed.
    Hope this helps others out there.
    Please everybody, post your experiences here. There seem to be very few of us, and finding pearls in the dust is rare right now.
    Regards,
    Pete

  • Error while testing proxy client for FinancialUtilService

    Hi
    While testing my proxy client from jdev, I am receiving the below error. Attaching the code from my HTTPPortClient.Java file for your reference.
    Did anything wrong while invoking uploadFileToUCM service? Can you please suggest ?
    C:\Oracle\Middleware\jdk160_24\bin\javaw.exe -client -classpath C:\JDeveloper\mywork\GenericApplication\.adf;C:\JDeveloper\mywork\GenericApplication\Project1\classes;C:\Oracle\Middleware\wlserver_10.3\server\lib\weblogic.jar;C:\Oracle\Middleware\oracle_common\modules\oracle.jrf_11.1.1\jrf.jar;C:\Oracle\Middleware\modules\com.oracle.toplink_1.0.0.0_11-1-1-5-0.jar;C:\Oracle\Middleware\modules\org.eclipse.persistence_1.1.0.0_2-1.jar;C:\Oracle\Middleware\modules\com.bea.core.antlr.runtime_2.7.7.jar;C:\Oracle\Middleware\modules\javax.persistence_1.0.0.0_2-0-0.jar;C:\Oracle\Middleware\oracle_common\modules\oracle.webservices_11.1.1\wsclient.jar -Djavax.net.ssl.trustStore=C:\Oracle\Middleware\wlserver_10.3\server\lib\DemoTrust.jks com.oracle.xmlns.apps.financials.commonmodules.shared.financialutilservice.FinancialUtilServiceSoapHttpPortClient
    inside invokeservice
    wsdlDoc: https://adc-fap0757-fin.oracledemos.com/finFunShared/FinancialUtilService?wsdl
    SEVERE: java.io.FileNotFoundException: .\config\jps-config.xml (The system cannot find the path specified)
    SEVERE: java.io.FileNotFoundException: .\config\jps-config.xml (The system cannot find the path specified)
    INFO: WSM-09004 Component auditing cannot be initialized.
    Finished invokeservice
    inside invokeupload
    INFO: Recipient Alias property not configured in the policy. Defaulting to encrypting with signers certificate.
    com.oracle.xmlns.apps.financials.commonmodules.shared.financialutilservice.ServiceException: JBO-FND:::FND_CMN_SYS_ERR: <MESSAGE><NUMBER></NUMBER><TEXT>An application error occurred.</TEXT><CAUSE></CAUSE><ACTION></ACTION><DETAILS></DETAILS><INCIDENT></INCIDENT></MESSAGE>
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
        at com.sun.xml.ws.fault.SOAPFaultBuilder.createException(SOAPFaultBuilder.java:141)
        at com.sun.xml.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:125)
        at com.sun.xml.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:95)
        at com.sun.xml.ws.client.sei.SEIStub.invoke(SEIStub.java:136)
        at $Proxy43.uploadFileToUcm(Unknown Source)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at weblogic.wsee.jaxws.spi.ClientInstanceInvocationHandler.invoke(ClientInstanceInvocationHandler.java:84)
        at $Proxy44.uploadFileToUcm(Unknown Source)
        at com.oracle.xmlns.apps.financials.commonmodules.shared.financialutilservice.FinancialUtilServiceSoapHttpPortClient.invokeUpload(FinancialUtilServiceSoapHttpPortClient.java:140)
        at com.oracle.xmlns.apps.financials.commonmodules.shared.financialutilservice.FinancialUtilServiceSoapHttpPortClient.main(FinancialUtilServiceSoapHttpPortClient.java:74)
    Process exited with exit code 0.
    Thanks
    Samy

    So the documented approach results in corrupted file ? Can you confirm:
    Ans) Yes
    How was the zip file created, is it compressed ?  Yes
    If you encode / decode locally with your logic (without any call to WS) does the resulting zip work with the same tool that gives the corruption error ? \Yes, It is not giving any error.
    How are you accessing the file from UCM ?
    Navigate to below page in Fusion apps and we will be able to search for the uploaded file. Click on the file name , we will be able to open or save it to local system. When I try to open it ,it says invalid file.
    Login To Fusion Apps -> Navigator -> Tools -> File Import and export
    Can you provide the code you use for the content encoding / decoding (make sure no passwords or URLs are included) ?
    Please check the below code in Bold for specific logic for encoding, which is same as the documented approach.
    private String invokeUpload()  {
           System.out.println("inside invokeupload");
           ObjectFactory objectFactory = new ObjectFactory(); 
           DocumentDetails documentDet = new DocumentDetails();
           String fileNameWithPath = "C:\\PozSuppliersInt.zip";
           String fileName = "PozSuppliersIntSamy2912_9.zip";
           String contentType = "zip";
           String title = "Suppliers2912";
           String ucmAccountInfo = "prc$/supplier$/import$";
           String ucmSecurityGroup = "FAFusionImportExport";
           String docname = "PozSuppliersIntSamy2912_9.zip";
             File file = new File(fileNameWithPath);
             byte[]  content = null;
            try{
                     content = Base64.encode(loadFile(file)); 
                 catch(IOException e){
                    System.out.println("Exception while encoding file " + e.getMessage());
                 System.out.println("Encoded String1: " + content);
        documentDet.setContent(objectFactory.createDocumentDetailsContent(content));
        documentDet.setFileName(objectFactory.createDocumentDetailsFileName(fileName));
        documentDet.setContentType(objectFactory.createDocumentDetailsContentType(contentType));
        documentDet.setDocumentTitle(objectFactory.createDocumentDetailsDocumentTitle(title));
        documentDet.setDocumentAuthor(objectFactory.createDocumentDetailsDocumentAuthor(username));
        documentDet.setDocumentSecurityGroup(objectFactory.createDocumentDetailsDocumentSecurityGroup(ucmSecurityGroup));
        documentDet.setDocumentAccount(objectFactory.createDocumentDetailsDocumentAccount(ucmAccountInfo));
        documentDet.setDocumentName(objectFactory.createDocumentDetailsDocumentName(docname));
         UploadFileToUcm uploadFileToUcm = new UploadFileToUcm();
         uploadFileToUcm.setDocument(documentDet);
         String retStatus = null;
            try {    
              retStatus = financialUtilService.uploadFileToUcm(documentDet);
              System.out.println("File successfully Uploaded.Status is:" + retStatus);
                   output = "File successfully Uploaded.Status is:" + retStatus +". ";
               } catch (Exception e) {
                e.printStackTrace();
             return retStatus;
        private static byte[] loadFile(File file) throws IOException {
                InputStream is = new FileInputStream(file);
                long length = file.length();
                if (length > Integer.MAX_VALUE) {
                    System.out.println("File is too large ");
                byte[] bytes = new byte[(int)length];
                int offset = 0;
                int numRead = 0;
                while (offset < bytes.length &&
                       (numRead = is.read(bytes, offset, bytes.length - offset)) >=
                       0) {
                    offset += numRead;
                if (offset < bytes.length) {
    //                throw new IOException("Could not completely read file " + file.getName());
               System.out.println("Could not completely read file: " + file.getName());    
                is.close();
                return bytes;

  • Javax.xml.ws.soap.SOAPFaultException: InvalidSecurity : error in processing the WS-Security security header error while invoking FinancialUtilService using HTTP proxy client

    I am trying to invoke FinancialUtilService using HTTP proxy client. I am getting below error while i am trying to invoke this service. Using FusionServiceTester i am able to invoke service and upload file to UCM. Using oracle.ucm.fa_client_11.1.1.jar also i am able to upload file to UCM without any issue. But using HTTP proxy client i am facing below error. Can anyone please help me. PFA code i am using to invoke this service.
    javax.xml.ws.soap.SOAPFaultException: InvalidSecurity : error in processing the WS-Security security header
      at com.sun.xml.ws.fault.SOAP11Fault.getProtocolException(SOAP11Fault.java:197)
      at com.sun.xml.ws.fault.SOAPFaultBuilder.createException(SOAPFaultBuilder.java:122)
      at com.sun.xml.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:125)
      at com.sun.xml.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:95)
      at com.sun.xml.ws.client.sei.SEIStub.invoke(SEIStub.java:135)
      at $Proxy43.uploadFileToUcm(Unknown Source)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:597)
      at weblogic.wsee.jaxws.spi.ClientInstance$ClientInstanceInvocationHandler.invoke(ClientInstance.java:363)
      at $Proxy44.uploadFileToUcm(Unknown Source)
      at com.oracle.xmlns.apps.financials.commonmodules.shared.financialutilservice.FinancialUtilServiceSoapHttpPortClient.invokeUpload(FinancialUtilServiceSoapHttpPortClient.java:299)
      at com.oracle.xmlns.apps.financials.commonmodules.shared.financialutilservice.FinancialUtilServiceSoapHttpPortClient.main(FinancialUtilServiceSoapHttpPortClient.java:273)
    Process exited with exit code 0.
    Message was edited by: Oliver Steinmeier
    Removed attachment

    Hi Jani,
    Thanks for your reply.
    I am new to webservices and we are trying to do a POC on invoking FinancialUtilService using HTTP proxy client. I am following steps mentioned in attached pdf section "Invoking FinancialUtil Service using Web Service Proxy Client". I have imported certificate using below command. 
         keytool -import -trustcacerts -file D:\Retek\Certificate.cer -alias client -keystore D:\Retek\default-keystore.jks -storepass welcome1
    Invoking
        SecurityPolicyFeature[] securityFeature =
        new SecurityPolicyFeature[] { new
        SecurityPolicyFeature("oracle/wss11_saml_token_with_message_protection_client_policy")};
        financialUtilService_Service = new FinancialUtilService_Service();
        FinancialUtilService financialUtilService= financialUtilService_Service.getFinancialUtilServiceSoapHttpPort(securityFeature);
        // Get the request context to set the outgoing addressing properties
        WSBindingProvider wsbp = (WSBindingProvider)financialUtilService;
        WSEndpointReference replyTo =
          new WSEndpointReference("https://efops-rel91-patchtest-external-fin.us.oracle.com/finFunShared/FinancialUtilService", WS_ADDR_VER);
        String uuid = "uuid:" + UUID.randomUUID();
        wsbp.setOutboundHeaders( new StringHeader(WS_ADDR_VER.messageIDTag, uuid), replyTo.createHeader(WS_ADDR_VER.replyToTag));
        wsbp.getRequestContext().put(WSBindingProvider.USERNAME_PROPERTY, "fin_user1");
        wsbp.getRequestContext().put(WSBindingProvider.PASSWORD_PROPERTY,  "Welcome1");
        wsbp.getRequestContext().put(ClientConstants.WSSEC_RECIPIENT_KEY_ALIAS,"service");
        wsbp.getRequestContext().put(ClientConstants.WSSEC_KEYSTORE_LOCATION, "D:/Retek/default-keystore.jks");
        wsbp.getRequestContext().put(ClientConstants.WSSEC_KEYSTORE_PASSWORD, "welcome1" );
        wsbp.getRequestContext().put(ClientConstants.WSSEC_KEYSTORE_TYPE, "JKS" );
        wsbp.getRequestContext().put(ClientConstants.WSSEC_SIG_KEY_ALIAS, "client" );
        wsbp.getRequestContext().put(ClientConstants.WSSEC_SIG_KEY_PASSWORD, "password" );
        wsbp.getRequestContext().put(ClientConstants.WSSEC_ENC_KEY_ALIAS, "client" );
        wsbp.getRequestContext().put(ClientConstants.WSSEC_ENC_KEY_PASSWORD, "password" );
    SEVERE: WSM-00057 The certificate, client, is not retrieved.
    SEVERE: WSM-00137 The encryption certificate, client, is not retrieved due to exception oracle.wsm.security.SecurityException: WSM-00057 : The certificate, client, is not retrieved..
    SEVERE: WSM-00161 Client encryption public certificate is not configured for Async web service client
    SEVERE: WSM-00005 Error in sending the request.
    SEVERE: WSM-07607 Failure in execution of assertion {http://schemas.oracle.com/ws/2006/01/securitypolicy}wss11-saml-with-certificates executor class oracle.wsm.security.policy.scenario.executor.Wss11SamlWithCertsScenarioExecutor.
    SEVERE: WSM-07602 Failure in WS-Policy Execution due to exception.
    SEVERE: WSM-07501 Failure in Oracle WSM Agent processRequest, category=security, function=agent.function.client, application=null, composite=null, modelObj=FinancialUtilService, policy=oracle/wss11_saml_token_with_message_protection_client_policy, policyVersion=null, assertionName={http://schemas.oracle.com/ws/2006/01/securitypolicy}wss11-saml-with-certificates.
    oracle.wsm.common.sdk.WSMException: WSM-00161 : Client encryption public certificate is not configured for Async web service client
      at oracle.wsm.security.policy.scenario.executor.Wss11SamlWithCertsScenarioExecutor.sendRequest(Wss11SamlWithCertsScenarioExecutor.java:173)
      at oracle.wsm.security.policy.scenario.executor.SecurityScenarioExecutor.execute(SecurityScenarioExecutor.java:545)
      at oracle.wsm.policyengine.impl.runtime.AssertionExecutor.execute(AssertionExecutor.java:41)
      at oracle.wsm.policyengine.impl.runtime.WSPolicyRuntimeExecutor.executeSimpleAssertion(WSPolicyRuntimeExecutor.java:608)
      at oracle.wsm.policyengine.impl.runtime.WSPolicyRuntimeExecutor.executeAndAssertion(WSPolicyRuntimeExecutor.java:335)
      at oracle.wsm.policyengine.impl.runtime.WSPolicyRuntimeExecutor.execute(WSPolicyRuntimeExecutor.java:282)
      at oracle.wsm.policyengine.impl.PolicyExecutionEngine.execute(PolicyExecutionEngine.java:102)
      at oracle.wsm.agent.WSMAgent.processCommon(WSMAgent.java:915)
      at oracle.wsm.agent.WSMAgent.processRequest(WSMAgent.java:436)
      at oracle.wsm.agent.handler.WSMEngineInvoker.handleRequest(WSMEngineInvoker.java:393)
      at oracle.wsm.agent.handler.wls.WSMAgentHook.handleRequest(WSMAgentHook.java:239)
      at weblogic.wsee.jaxws.framework.jaxrpc.TubeFactory$JAXRPCTube.processRequest(TubeFactory.java:220)
      at weblogic.wsee.jaxws.tubeline.FlowControlTube.processRequest(FlowControlTube.java:98)
      at com.sun.xml.ws.api.pipe.Fiber.__doRun(Fiber.java:604)
      at com.sun.xml.ws.api.pipe.Fiber._doRun(Fiber.java:563)
      at com.sun.xml.ws.api.pipe.Fiber.doRun(Fiber.java:548)
      at com.sun.xml.ws.api.pipe.Fiber.runSync(Fiber.java:445)
      at com.sun.xml.ws.client.Stub.process(Stub.java:259)
      at com.sun.xml.ws.client.sei.SEIStub.doProcess(SEIStub.java:152)
      at com.sun.xml.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:115)
      at com.sun.xml.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:95)
      at com.sun.xml.ws.client.sei.SEIStub.invoke(SEIStub.java:135)
      at $Proxy43.uploadFileToUcm(Unknown Source)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:597)
      at weblogic.wsee.jaxws.spi.ClientInstance$ClientInstanceInvocationHandler.invoke(ClientInstance.java:363)
      at $Proxy44.uploadFileToUcm(Unknown Source)
      at com.oracle.xmlns.apps.financials.commonmodules.shared.financialutilservice.FinancialUtilServiceSoapHttpPortClient.invokeUpload(FinancialUtilServiceSoapHttpPortClient.java:111)
      at com.oracle.xmlns.apps.financials.commonmodules.shared.financialutilservice.FinancialUtilServiceSoapHttpPortClient.main(FinancialUtilServiceSoapHttpPortClient.java:86)
    Caused by: oracle.wsm.security.SecurityException: WSM-00161 : Client encryption public certificate is not configured for Async web service client
      at oracle.wsm.security.policy.scenario.processor.Wss11X509TokenProcessor.insertClientEncCertToWSAddressingHeader(Wss11X509TokenProcessor.java:979)
      at oracle.wsm.security.policy.scenario.processor.Wss11X509TokenProcessor.build(Wss11X509TokenProcessor.java:206)
      at oracle.wsm.security.policy.scenario.executor.Wss11SamlWithCertsScenarioExecutor.sendRequest(Wss11SamlWithCertsScenarioExecutor.java:164)
      ... 30 more
    Caused by: oracle.wsm.security.SecurityException: WSM-00057 : The certificate, client, is not retrieved.
      at oracle.wsm.security.jps.WsmKeyStore.getJavaCertificate(WsmKeyStore.java:534)
      at oracle.wsm.security.jps.WsmKeyStore.getCryptCert(WsmKeyStore.java:570)
      at oracle.wsm.security.policy.scenario.processor.Wss11X509TokenProcessor.insertClientEncCertToWSAddressingHeader(Wss11X509TokenProcessor.java:977)
      ... 32 more
    SEVERE: WSMAgentHook: An Exception is thrown: WSM-00161 : Client encryption public certificate is not configured for Async web service client
    File upload failed
    javax.xml.ws.WebServiceException: javax.xml.rpc.JAXRPCException: oracle.wsm.common.sdk.WSMException: WSM-00161 : Client encryption public certificate is not configured for Async web service client
      at weblogic.wsee.jaxws.framework.jaxrpc.TubeFactory$JAXRPCTube.processRequest(TubeFactory.java:231)
      at weblogic.wsee.jaxws.tubeline.FlowControlTube.processRequest(FlowControlTube.java:98)
      at com.sun.xml.ws.api.pipe.Fiber.__doRun(Fiber.java:604)
      at com.sun.xml.ws.api.pipe.Fiber._doRun(Fiber.java:563)
      at com.sun.xml.ws.api.pipe.Fiber.doRun(Fiber.java:548)
      at com.sun.xml.ws.api.pipe.Fiber.runSync(Fiber.java:445)
      at com.sun.xml.ws.client.Stub.process(Stub.java:259)
      at com.sun.xml.ws.client.sei.SEIStub.doProcess(SEIStub.java:152)
      at com.sun.xml.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:115)
      at com.sun.xml.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:95)
      at com.sun.xml.ws.client.sei.SEIStub.invoke(SEIStub.java:135)
      at $Proxy43.uploadFileToUcm(Unknown Source)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:597)
      at weblogic.wsee.jaxws.spi.ClientInstance$ClientInstanceInvocationHandler.invoke(ClientInstance.java:363)
      at $Proxy44.uploadFileToUcm(Unknown Source)
      at com.oracle.xmlns.apps.financials.commonmodules.shared.financialutilservice.FinancialUtilServiceSoapHttpPortClient.invokeUpload(FinancialUtilServiceSoapHttpPortClient.java:111)
      at com.oracle.xmlns.apps.financials.commonmodules.shared.financialutilservice.FinancialUtilServiceSoapHttpPortClient.main(FinancialUtilServiceSoapHttpPortClient.java:86)
    Caused by: javax.xml.rpc.JAXRPCException: oracle.wsm.common.sdk.WSMException: WSM-00161 : Client encryption public certificate is not configured for Async web service client
      at oracle.wsm.agent.handler.wls.WSMAgentHook.handleException(WSMAgentHook.java:395)
      at oracle.wsm.agent.handler.wls.WSMAgentHook.handleRequest(WSMAgentHook.java:248)
      at weblogic.wsee.jaxws.framework.jaxrpc.TubeFactory$JAXRPCTube.processRequest(TubeFactory.java:220)
      ... 19 more

  • 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

  • "SOAP:Fault" in scenario with ABAP proxy client

    Hello,
    I realized the scenario CRM40_Basis620(ABAP proxy client)->XI->File.
    XI:
    The sender communication channel is a XI adapter (Parameters: HTTP 1.0, XI 3.0, Integration Server, Security profile unchecked, Security level - HTTP).
    CRM:
    The proxy generation is ok.
    SLDCHECK is ok.
    All RFC destinations are ok.
    APPINT_200_620 for CRM was installed and configured well (I think so, but...).
    When I ran the ABAP proxy client on CRM, sxmb_moni(CRM) returned the text for the XML Message (Display-CallIntegrationServer-Payloads-TraceDocument):
    <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
    - <SAP:TraceHeader xmlns:SAP="http://sap.com/exchange/MessageFormat">
      <Trace level="1" type="B" name="CL_XMS_TROUBLESHOOT-ENTER_PLSRV" />
      <Trace level="1" type="T">****************************************************</Trace>
      <Trace level="1" type="T">* *</Trace>
      <Trace level="1" type="T">* *</Trace>
      <Trace level="1" type="T">XMB entry processing</Trace>
      <Trace level="1" type="T">system-ID = EST</Trace>
      <Trace level="1" type="T">client = 300</Trace>
      <Trace level="1" type="T">language = E</Trace>
      <Trace level="1" type="T">user = BABKIN_RA</Trace>
      <Trace level="1" type="Timestamp">2007-08-06T13:55:12Z</Trace>
      <Trace level="1" type="T">* *</Trace>
      <Trace level="1" type="T">* *</Trace>
      <Trace level="1" type="T">****************************************************</Trace>
      <Trace level="1" type="B" name="CL_XMS_MAIN-CALL_UC_EXECUTE" />
    - <!--  ************************************
      -->
      <Trace level="1" type="T">Message-GUID = DC4424A659314CF18F500002A541D0E7</Trace>
      <Trace level="1" type="T">PLNAME = SENDER</Trace>
      <Trace level="1" type="T">QOS = EO</Trace>
      <Trace level="1" type="B" name="CL_XMS_MAIN-CALL_PIPELINE_ASYNC" />
    - <!--  ************************************
      -->
      <Trace level="1" type="T">Get definition of external pipeline = SENDER</Trace>
      <Trace level="1" type="T">Get definition of internal pipeline = SAP_SENDER</Trace>
      <Trace level="1" type="T">Generated prefixed queue name = XBTS0004</Trace>
      <Trace level="1" type="T">Setup qRFC Scheduler OK!</Trace>
      <Trace level="1" type="T">----
    </Trace>
      <Trace level="1" type="T">Going to persist message + call qRFC now...</Trace>
      <Trace level="1" type="T">NOTE: The following trace entries are always lacking</Trace>
      <Trace level="1" type="T">- Exit WRITE_MESSAGE_TO_PERSIST</Trace>
      <Trace level="1" type="T">- Exit CALL_PIPELINE_ASYNC</Trace>
      <Trace level="1" type="T">Async barrier reached. Bye-bye !</Trace>
      <Trace level="1" type="T">----
    </Trace>
      <Trace level="1" type="B" name="CL_XMS_MAIN-WRITE_MESSAGE_TO_PERSIST" />
    - <!--  ************************************
      -->
      <Trace level="1" type="B" name="CL_XMS_MAIN-PERSIST_READ_MESSAGE" />
      <Trace level="1" type="T">Note: the following trace entry is written delayed (after read from persist)</Trace>
      <Trace level="1" type="B" name="SXMS_ASYNC_EXEC" />
    - <!--  ************************************
      -->
      <Trace level="1" type="T">----
    </Trace>
      <Trace level="1" type="T">Starting async processing with pipeline SENDER</Trace>
      <Trace level="1" type="T">system-ID = EST</Trace>
      <Trace level="1" type="T">client = 300</Trace>
      <Trace level="1" type="T">language = E</Trace>
      <Trace level="1" type="T">user = BABKIN_RA</Trace>
      <Trace level="1" type="Timestamp">2007-08-06T13:55:12Z</Trace>
      <Trace level="1" type="T">----
    </Trace>
    - <Trace level="1" type="B" name="CL_XMS_MAIN-CALL_PIPELINE_SYNC">
      <Trace level="1" type="T">Get definition of pipeline PID= SENDER</Trace>
      <Trace level="1" type="B" name="CL_XMS_MAIN-LOOKUP_INTERNAL_PL_ID" />
    - <Trace level="1" type="B" name="PLSRV_CALL_INTEGRATION_SERVER">
      <Trace level="1" type="B" name="CL_XMS_MAIN-CALL_PLSRV" />
    - <!--  ************************************
      -->
      <Trace level="1" type="B" name="CL_XMS_MAIN-CALL_PLSRV_LOCAL" />
    - <!--  ************************************
      -->
    - <Trace level="1" type="B" name="CL_XMS_PLSRV_CALL_XMB-ENTER_PLSRV">
      <Trace level="1" type="T">URL for integration server read from global configuration</Trace>
      <Trace level="1" type="T">URL= http://SRMDEV.oao.sng:8011/sap/xi/engine?type=entry</Trace>
      <Trace level="1" type="B" name="CL_XMS_MAIN-SET_TECHNICAL_ROUTING_PROPERTY" />
    - <Trace level="1" type="B" name="CL_XMS_PLSRV_CALL_XMB-CALL_XMS_HTTP">
      <Trace level="1" type="System_Error">HTTP-client: error response= <SOAP:Envelope xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/"> <SOAP:Header> </SOAP:Header> <SOAP:Body> <SOAP:Fault xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/"><faultcode>SOAP:Client</faultcode><faultstring>Error during conversion of XI message</faultstring><faultactor>http://sap.com/xi/XI/Message/30</faultactor><detail><SAP:Error xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="1"><SAP:Category>XIServer</SAP:Category><SAP:Code area="SECURITY">INBOUND_SECURE_LEVEL</SAP:Code><SAP:P1>DC4424A659314CF18F500002A541D0E7</SAP:P1><SAP:P2/><SAP:P3>HTTP</SAP:P3><SAP:P4/><SAP:AdditionalText/><SAP:ApplicationFaultMessage namespace=""/><SAP:Stack>Message DC4424A659314CF18F500002A541D0E7 was sent with ''. Channel configuration, however, requires 'HTTP' </SAP:Stack></SAP:Error></detail></SOAP:Fault> </SOAP:Body> </SOAP:Envelope></Trace>
      </Trace>
      <Trace level="1" type="System_Error">Exit XMB because of system error!</Trace>
      <Trace level="1" type="System_Error">System-Error: HTTP.HTTP_STATUS_CODE_NEQ_OK</Trace>
      <Trace level="1" type="System_Error">HTTP status code 500 : Error during conversion of XI message</Trace>
      <Trace level="1" type="B" name="CL_XMS_TROUBLESHOOT-ENTER_PLSRV" />
      </SAP:TraceHeader>
    I think the main problem is the parameter "HTTP Security level" for the channel, but not sure.
    Does anybody know where to find a solution?
    Regards,
    Roman

    Hi Roman
    There is no need for an XI adapter for client proxy.... we only use that for server proxies.
    Vaibhav

  • How to pass username/password through WebService proxy client to E-BS.

    Hi
    We are using ADF Webservice proxy client to integrate E-Business suite with ADF. It asks for username/password to access details from E-BS. In the generated webservice XSD file, a method is available with 2 parameters.
    1) SOAP header( Contains Username, responsibility and 2 more fields)
    2) Class object(Nested Object)
    However i didn't find "*Password*" field anywhere in it. Then how can I pass "*Password*" along with username to invoke this method?
    When i checked SOAP, the password is defined like this
    <wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">XXXX</wsse:Password>a
    Thanks
    Raja

    hi Dario
    Thank you for your post. It is really helpful. Now I got stuck with a doubt, in this piece of code
    final Binding binding = ((BindingProvider) servicePort).getBinding();
    List<Handler> handlerList = binding.getHandlerChain();
    if (handlerList == null)
    handlerList = new ArrayList<Handler>();
    They didn't mention properly about "*servicePort*". What object is this?
    I checked in Oracle document, even in that I was not clear with that piece of code.
    public class HandlerWS{ 
    @Resource WebServiceContext ctx;
    @WebMethod()
    public String getProperty(String propertyName) {  
    return (String) ctx.getMessageContext().get(propertyName);
    public class Main {
    public static void main(String[] args) {
    HandlerWS test;
    try {
    test = new HandlerWS(new URL(args[0] + "?WSDL"), new
    QName("http://example.org", "HandlerWS") );
    } catch (MalformedURLException murl) { throw new RuntimeException(murl); }
    HandlerWSPortType port = test.*getHandlerWSPortTypePort*();
    What is this HandlerWSPortType object???. Can you give me little more explanation about it?
    Thanks

  • Is Asynchronous ABAP proxy client possible without XI ?

    Hi there,
    Does anyone of you know if it is possible to create an asynchronous ABAP proxy client, without XI, thus directly in a SAP ERP 60 ABAP ?
    Karim

    Hi Anton,
    thanks for your answer, it confirmed what I was thinking (asynchronous not possible in that case).
    Now this leads me to a second question:
    I would like to implement the scenario "acknowledge only and receive full answer later".
    As you indicate: "...additionally to your webservice client you have to provide a webservice, which the receiver calls once it completes your request..."
    In order to do this, I must practice as follows:
    The service I call is using the WS-Addressing specifications.
    Therefore, the information regarding the webservice that will be called when the request is completed should be sent as a special SOAP WS-addressing parameter, that should be indicated in the header of the SOAP Message, here is an example:
    (001) <S:Envelope xmlns:S="http://www.w3.org/2003/05/soap-envelope"     
                    xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing">
    (002)   <S:Header>
    (003)    <wsa:MessageID>
    (004)      uuid:6B29FC40-CA47-1067-B31D-00DD010662DA
    (005)    </wsa:MessageID>
    (006)    <wsa:ReplyTo>
    (007)      <wsa:Address>http://business456.example/client1</wsa:Address>
    (008)    </wsa:ReplyTo>
    (009)    <wsa:To>http://fabrikam123.example/Purchasing</wsa:To>
    (010)    <wsa:Action>http://fabrikam123.example/SubmitPO</wsa:Action>
    (011)   </S:Header>
    (012)   <S:Body>
    (013)     ...
    (014)   </S:Body>
    (015) </S:Envelope>
    You can see that the WS-A specific part is in the header of the SOAP Message, not in the body, so not covered by the WSDL.
    Question: Is it possible to include this in the header of the SOAP Message generated by the ABAP proxy client ???

  • Dynamic Proxy Client

    Hi all,
    iam trying to use the dynamic proxy client with the following lines
    String UrlString =
    "http://localhost:8080/ProxyHelloWorld.wsdl";
    String nameSpaceUri = "http://proxy.org/wsdl";
    String serviceName = "HelloWorld";
    String portName = "HelloIFPort";
    URL helloWsdlUrl = new URL(UrlString);
    ServiceFactory serviceFactory =
    ServiceFactory.newInstance();
    Service helloService =
    serviceFactory.createService(helloWsdlUrl,
    new QName(nameSpaceUri, serviceName));
    //HelloIF myProxy = (HelloIF) helloService.getPort(
    //new QName(nameSpaceUri, portName),
    //proxy.HelloIF.class);
    when i try to do this i get the following exception
    Exception in thread "main" java.lang.NoSuchMethodError
    at com.sun.xml.rpc.wsdl.parser.Util.verifyTagNSRootElement(Util.java:59)
    at com.sun.xml.rpc.wsdl.parser.WSDLParser.parseDefinitionsNoImport(WSDLP
    arser.java:191)
    at com.sun.xml.rpc.wsdl.parser.WSDLParser.parseDefinitionsNoImport(WSDLP
    arser.java:165)
    at com.sun.xml.rpc.wsdl.parser.WSDLParser.parseDefinitions(WSDLParser.ja
    va:96)
    at com.sun.xml.rpc.wsdl.parser.WSDLParser.parse(WSDLParser.java:91)
    at com.sun.xml.rpc.processor.modeler.wsdl.WSDLModeler.buildModel(WSDLMod
    eler.java:85)
    at com.sun.xml.rpc.processor.config.ModelInfo.buildModel(ModelInfo.java:
    77)
    at com.sun.xml.rpc.client.dii.ServiceInfoBuilder.getModel(ServiceInfoBui
    lder.java:96)
    at com.sun.xml.rpc.client.dii.ServiceInfoBuilder.buildServiceInfo(Servic
    eInfoBuilder.java:59)
    at com.sun.xml.rpc.client.dii.ConfiguredService.<init>(ConfiguredService
    .java:44)
    at com.sun.xml.rpc.client.ServiceFactoryImpl.createService(ServiceFactor
    yImpl.java:32)
    at JAXRPCClient.main(JAXRPCClient.java:38)
    what am i doing wrong
    suresh

    Hi,
    Yeah the Wsdl is hosted at http://localhost:8080/ProxyHelloWorld.wsdl.I also tried binding with a few xmethods service i get the same error.
    same error.

  • JAX-RPC Dynamic Proxy Client Question

    I have a very simple web service successfully deployed using Tomcat 5 and Apache Axis. It simply takes a string and returns a String. Regardless, it's working.
    Now I'm wanting to create a JAX-RPC dynamic proxy client as described on the following page:
    http://java.sun.com/webservices/docs/1.3/tutorial/doc/JAXRPC5.html
    There are numerous other articles out there describing the same method.
    My problem is that I'm getting a ServiceException on the following line every time I try to run my client:
    ServiceFactory factory = ServiceFactory.newInstance();
    Would anyone have any ideas why this might be or what I might be missing? All the articles make it seem like this is just a trivial line and never mention much about it.
    Any help would be appreciated. Thanks.

    Hello,
    You are getting a service Exception on ServiceFactory.newInstance() method?
    Actually, I have never seen this problem before. Is it possible that there are
    classpath issues? That is, are you using just the jars from the jwsdp?
    Regards,
    Kathy

  • Mail sending through proxy client

    I have the following simple code to send mail through a SOCKS proxy client:
    package com.apna.beans;
    import java.util.Properties;
    import javax.mail.*;
    import javax.mail.internet.*;
    import javax.activation.DataSource;
    import javax.activation.FileDataSource;
    import javax.activation.DataHandler ;
    public class SMail{
    public static void main(String[]a){
    System.setProperty("proxySet","true");
    /*System.getProperties().put("http.proxyPort","25");
    System.getProperties().put("http.proxyHost","192.168.0.1");*/
    Properties props = System.getProperties();
    String msg = "";
    // Get system properties
    final String username = "vedijitendra";
    final String password = "sendmail";
    props.put("socksProxyHost", "pc-2");
    props.put("socksProxyPort", "1080");
    props.put("mail.smtp.host", "smtp.gmail.com");
    props.put("mail.smtp.starttls.enable", "true");
    props.put("mail.user", username);
    props.put("mail.smtp.auth","true"); // this is imp for authorisation.
    //props.put("mail.host", "192.168.0.1");
    props.put("mail.debug", "true");
    props.put("mail.store.protocol", "pop3");
    props.put("mail.transport.protocol", "smtp");
    try{
    //here the authorisation takes place using an Anonymous class.
    Session session = Session.getDefaultInstance(props,
    new javax.mail.Authenticator (){
    protected
    javax.mail.PasswordAuthentication
    getPasswordAuthentication() {
    return new
    javax.mail.PasswordAuthentication(username,
    password);
    // Define message
    Message message = new MimeMessage(session);
    message.setFrom(new InternetAddress("[email protected]"));
    message.addRecipient( Message.RecipientType.TO, new
    InternetAddress("[email protected]"));
    message.setSubject("Test");
    message.setContent("text", "text/html");
    // Send the message
    Transport.send(message);
    msg = "The mail has been sent.";
    } catch(Exception e){
    e.printStackTrace();
    msg = "The mail has not been sent.";
    I am able to connect to the GMail's SMTP server.
    However, when the Transport. send method is executed, I get:
    java.lang.NullPointerException
    at com.sun.mail.util.SocketFetcher.startTLS(SocketFetcher.java:242)
    at com.sun.mail.smtp.SMTPTransport.startTLS(SMTPTransport.java:1191)
    at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:348)
    at javax.mail.Service.connect(Service.java:297)
    at javax.mail.Service.connect(Service.java:156)
    at javax.mail.Service.connect(Service.java:105)
    at javax.mail.Transport.send0(Transport.java:168)
    at javax.mail.Transport.send(Transport.java:98)
    Any ideas?

    Send email to [email protected] telling me what version of JavaMail you're
    using and what version of the JDK you're using and I'll help you debug this.

  • Proxy Client response table with empty lines

    Hi,
    I'm consumig external webservice with ABAP (No XI scenario) and comuncation it seems correct. When I execute the client proxy from SE80 directly, I can see the XML response with table element ans its respectives contens.
    Unfortunately, when I call the proxy trhough a program, the table returned by te proxy client is filled with lines but each field of line is empty. It seems all is ok.
    I tried to regenerate proxy client and i have the same problem.
    Anybody knows what is the problem? I tried to debug but I don't konw how to see where SAP converts the XML to ABAP objects.
    Thanks,
    Regards

    Well, you have to tell Outlook to trust the server's root certificate, however than is done, or use a certificate at the server which is trusted by Outlook, for which see the JDK Guide to Features->Security->JSSE.
    The empty strings will solve themselves once the client trusts the server, but you shouldn't be using readLine, you should be reading bytes and decoding according to the POP3 or IMAP protocol definitions.

  • Sending mail through a proxy client

    I have the following simple code to send mail through a SOCKS proxy client:
    package com.apna.beans;
    import java.util.Properties;
    import javax.mail.*;
    import javax.mail.internet.*;
    import javax.activation.DataSource;
    import javax.activation.FileDataSource;
    import javax.activation.DataHandler ;
    public class SMail{
    public static void main(String[]a){
    System.setProperty("proxySet","true");
    /*System.getProperties().put("http.proxyPort","25");
    System.getProperties().put("http.proxyHost","192.168.0.1");*/
    Properties props = System.getProperties();
    String msg = "";
    // Get system properties
    final String username = "vedijitendra";
    final String password = "sendmail";
    props.put("socksProxyHost", "pc-2");
    props.put("socksProxyPort", "1080");
    props.put("mail.smtp.host", "smtp.gmail.com");
    props.put("mail.smtp.starttls.enable", "true");
    props.put("mail.user", username);
    props.put("mail.smtp.auth","true"); // this is imp for authorisation.
    //props.put("mail.host", "192.168.0.1");
    props.put("mail.debug", "true");
    props.put("mail.store.protocol", "pop3");
    props.put("mail.transport.protocol", "smtp");
    try{
    //here the authorisation takes place using an Anonymous class.
    Session session = Session.getDefaultInstance(props,
    new javax.mail.Authenticator (){
    protected
    javax.mail.PasswordAuthentication
    getPasswordAuthentication() {
    return new
    javax.mail.PasswordAuthentication(username,
    password);
    // Define message
    Message message = new MimeMessage(session);
    message.setFrom(new InternetAddress("[email protected]"));
    message.addRecipient( Message.RecipientType.TO, new
    InternetAddress("[email protected]"));
    message.setSubject("Test");
    message.setContent("text", "text/html");
    // Send the message
    Transport.send(message);
    msg = "The mail has been sent.";
    } catch(Exception e){
    e.printStackTrace();
    msg = "The mail has not been sent.";
    I am able to connect to the GMail's SMTP server.
    However, when the Transport. send method is executed, I get:
    java.lang.NullPointerException
    at com.sun.mail.util.SocketFetcher.startTLS(SocketFetcher.java:242)
    at com.sun.mail.smtp.SMTPTransport.startTLS(SMTPTransport.java:1191)
    at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:348)
    at javax.mail.Service.connect(Service.java:297)
    at javax.mail.Service.connect(Service.java:156)
    at javax.mail.Service.connect(Service.java:105)
    at javax.mail.Transport.send0(Transport.java:168)
    at javax.mail.Transport.send(Transport.java:98)
    Any ideas?

    I have the following simple code to send mail through a SOCKS proxy client:
    package com.apna.beans;
    import java.util.Properties;
    import javax.mail.*;
    import javax.mail.internet.*;
    import javax.activation.DataSource;
    import javax.activation.FileDataSource;
    import javax.activation.DataHandler ;
    public class SMail{
    public static void main(String[]a){
    System.setProperty("proxySet","true");
    /*System.getProperties().put("http.proxyPort","25");
    System.getProperties().put("http.proxyHost","192.168.0.1");*/
    Properties props = System.getProperties();
    String msg = "";
    // Get system properties
    final String username = "vedijitendra";
    final String password = "sendmail";
    props.put("socksProxyHost", "pc-2");
    props.put("socksProxyPort", "1080");
    props.put("mail.smtp.host", "smtp.gmail.com");
    props.put("mail.smtp.starttls.enable", "true");
    props.put("mail.user", username);
    props.put("mail.smtp.auth","true"); // this is imp for authorisation.
    //props.put("mail.host", "192.168.0.1");
    props.put("mail.debug", "true");
    props.put("mail.store.protocol", "pop3");
    props.put("mail.transport.protocol", "smtp");
    try{
    //here the authorisation takes place using an Anonymous class.
    Session session = Session.getDefaultInstance(props,
    new javax.mail.Authenticator (){
    protected
    javax.mail.PasswordAuthentication
    getPasswordAuthentication() {
    return new
    javax.mail.PasswordAuthentication(username,
    password);
    // Define message
    Message message = new MimeMessage(session);
    message.setFrom(new InternetAddress("[email protected]"));
    message.addRecipient( Message.RecipientType.TO, new
    InternetAddress("[email protected]"));
    message.setSubject("Test");
    message.setContent("text", "text/html");
    // Send the message
    Transport.send(message);
    msg = "The mail has been sent.";
    } catch(Exception e){
    e.printStackTrace();
    msg = "The mail has not been sent.";
    I am able to connect to the GMail's SMTP server.
    However, when the Transport. send method is executed, I get:
    java.lang.NullPointerException
    at com.sun.mail.util.SocketFetcher.startTLS(SocketFetcher.java:242)
    at com.sun.mail.smtp.SMTPTransport.startTLS(SMTPTransport.java:1191)
    at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:348)
    at javax.mail.Service.connect(Service.java:297)
    at javax.mail.Service.connect(Service.java:156)
    at javax.mail.Service.connect(Service.java:105)
    at javax.mail.Transport.send0(Transport.java:168)
    at javax.mail.Transport.send(Transport.java:98)
    Any ideas?

  • 3.1EA1: proxy client used allows only BASIC authentication

    The proxy client used only use BASIC authentication. The problem the proxy we're using uses NTLM authentication, and the user/password are the domain user/password, thereby very dangerous to send using a non-secure authentication mode as BASIC (a simple base64 enconding of user and password...)
    Edited by: user8381214 on Oct 21, 2011 3:52 AM

    Hi user8381214 ,
    Can you give me more details?
    Note that there are two main types of proxy connection:
    1/username1[username2]/password
    and
    2/username1/password with proxyClient username2/password
    Which one is affected?
    -Turloch
    SQLDeveloper team
    If you would prefer this to be off the forum my email address is:
    turloch<dot>otierney<AT>oracle.com

  • Error while trying to run a secure web proxy client

    Hi,
    I was able to generate a secure proxy client using JDev10.1.3 and I'm able to open the jks file using the keytool gui client. The jks file does not appear to be corrupt or tampered with in anyway. However, when I try to run the secure proxy client, I'm getting the following error:
    Nov 28, 2006 12:42:57 PM oracle.security.jazn.util.KeyStoreUtil loadKeystore
    SEVERE: Error reading keystore data
    java.io.IOException: Keystore was tampered with, or password was incorrect
         at sun.security.provider.JavaKeyStore.engineLoad(JavaKeyStore.java:768)
         at java.security.KeyStore.load(KeyStore.java:1150)
         at oracle.security.jazn.util.KeyStoreUtil.loadKeystore(KeyStoreUtil.java:260)
         at oracle.security.wss.config.ConfigVisitor.validateKeyStore(ConfigVisitor.java:225)
         at oracle.security.wss.config.ConfigVisitor.visitPortConfig(ConfigVisitor.java:116)
         at oracle.security.wss.interceptors.SecurityPortDescriptor.validate(SecurityPortDescriptor.java:182)
         at oracle.security.wss.interceptors.SecurityPortDescriptor.configure(SecurityPortDescriptor.java:156)
         at oracle.j2ee.ws.client.mgmt.runtime.ClientInterceptorPortRuntime.reconfigure(ClientInterceptorPortRuntime.java:57)
         at oracle.j2ee.ws.client.mgmt.runtime.ClientInterceptorPortRuntime.<init>(ClientInterceptorPortRuntime.java:34)
         at oracle.j2ee.ws.client.mgmt.runtime.ClientInterceptorRuntime.createInterceptorPort(ClientInterceptorRuntime.java:155)
         at oracle.j2ee.ws.common.mgmt.runtime.InterceptorContainerImpl.setupPort(InterceptorContainerImpl.java:80)
         at oracle.j2ee.ws.common.mgmt.runtime.InterceptorContainerImpl.handlePortChange(InterceptorContainerImpl.java:165)
         at oracle.j2ee.ws.common.mgmt.runtime.InterceptorContainerImpl.handleChange(InterceptorContainerImpl.java:254)
         at oracle.j2ee.ws.common.mgmt.runtime.AbstractInterceptorConfig.notifyConfigListeners(AbstractInterceptorConfig.java:47)
         at oracle.j2ee.ws.common.mgmt.runtime.AbstractInterceptorConfig.notifyConfigListeners(AbstractInterceptorConfig.java:54)
         at oracle.j2ee.ws.client.mgmt.runtime.ClientInterceptorConfig.parsePortElement(ClientInterceptorConfig.java:88)
         at oracle.j2ee.ws.client.mgmt.runtime.ClientInterceptorConfig.load(ClientInterceptorConfig.java:56)
         at oracle.j2ee.ws.common.mgmt.runtime.InterceptorContainerImpl.initializeContainer(InterceptorContainerImpl.java:41)
         at oracle.j2ee.ws.client.mgmt.runtime.ClientInterceptorPipeline.init(ClientInterceptorPipeline.java:76)
         at oracle.j2ee.ws.client.StubBase.setupInterceptor(StubBase.java:333)
         at oracle.j2ee.ws.client.StubBase.setupConfig(StubBase.java:300)
         at sevissecuredirectclientv2.proxy.runtime.SevisServiceSoapBinding_Stub.<init>(SevisServiceSoapBinding_Stub.java:47)
         at sevissecuredirectclientv2.proxy.runtime.ValidatingSevisServiceProxyService_Impl.getSevisService(ValidatingSevisServiceProxyService_Impl.java:60)
         at sevissecuredirectclientv2.proxy.SevisServiceClient.<init>(SevisServiceClient.java:18)
         at sevissecuredirectclientv2.proxy.SevisServiceClient.main(SevisServiceClient.java:26)
    SEVERE: Invalid port config oracle.security.wss.config.SecurityPortImpl@1d10a5c
    java.lang.RuntimeException: Invalid port config : Error reading keystore data
         at oracle.security.wss.interceptors.SecurityPortDescriptor.configure(SecurityPortDescriptor.java:159)
         at oracle.j2ee.ws.client.mgmt.runtime.ClientInterceptorPortRuntime.reconfigure(ClientInterceptorPortRuntime.java:57)
         at oracle.j2ee.ws.client.mgmt.runtime.ClientInterceptorPortRuntime.<init>(ClientInterceptorPortRuntime.java:34)
         at oracle.j2ee.ws.client.mgmt.runtime.ClientInterceptorRuntime.createInterceptorPort(ClientInterceptorRuntime.java:155)
         at oracle.j2ee.ws.common.mgmt.runtime.InterceptorContainerImpl.setupPort(InterceptorContainerImpl.java:80)
         at oracle.j2ee.ws.common.mgmt.runtime.InterceptorContainerImpl.handlePortChange(InterceptorContainerImpl.java:165)
         at oracle.j2ee.ws.common.mgmt.runtime.InterceptorContainerImpl.handleChange(InterceptorContainerImpl.java:254)
         at oracle.j2ee.ws.common.mgmt.runtime.AbstractInterceptorConfig.notifyConfigListeners(AbstractInterceptorConfig.java:47)
         at oracle.j2ee.ws.common.mgmt.runtime.AbstractInterceptorConfig.notifyConfigListeners(AbstractInterceptorConfig.java:54)
         at oracle.j2ee.ws.client.mgmt.runtime.ClientInterceptorConfig.parsePortElement(ClientInterceptorConfig.java:88)
         at oracle.j2ee.ws.client.mgmt.runtime.ClientInterceptorConfig.load(ClientInterceptorConfig.java:56)
         at oracle.j2ee.ws.common.mgmt.runtime.InterceptorContainerImpl.initializeContainer(InterceptorContainerImpl.java:41)
         at oracle.j2ee.ws.client.mgmt.runtime.ClientInterceptorPipeline.init(ClientInterceptorPipeline.java:76)
         at oracle.j2ee.ws.client.StubBase.setupInterceptor(StubBase.java:333)
         at oracle.j2ee.ws.client.StubBase.setupConfig(StubBase.java:300)
         at sevissecuredirectclientv2.proxy.runtime.SevisServiceSoapBinding_Stub.<init>(SevisServiceSoapBinding_Stub.java:47)
         at sevissecuredirectclientv2.proxy.runtime.ValidatingSevisServiceProxyService_Impl.getSevisService(ValidatingSevisServiceProxyService_Impl.java:60)
         at sevissecuredirectclientv2.proxy.SevisServiceClient.<init>(SevisServiceClient.java:18)
         at sevissecuredirectclientv2.proxy.SevisServiceClient.main(SevisServiceClient.java:26)
    SEVERE: Error reading keystore data
    java.io.IOException: Keystore was tampered with, or password was incorrect
         at sun.security.provider.JavaKeyStore.engineLoad(JavaKeyStore.java:768)
         at java.security.KeyStore.load(KeyStore.java:1150)
         at oracle.security.jazn.util.KeyStoreUtil.loadKeystore(KeyStoreUtil.java:260)
         at oracle.security.wss.config.ConfigVisitor.validateKeyStore(ConfigVisitor.java:225)
         at oracle.security.wss.config.ConfigVisitor.visitPortConfig(ConfigVisitor.java:116)
         at oracle.security.wss.interceptors.SecurityPortDescriptor.validate(SecurityPortDescriptor.java:182)
         at oracle.security.wss.interceptors.SecurityPortDescriptor.configure(SecurityPortDescriptor.java:149)
         at oracle.security.wss.interceptors.AbstractSecurityInterceptor.init(AbstractSecurityInterceptor.java:86)
         at oracle.j2ee.ws.common.mgmt.runtime.InterceptorChainImpl.createInterceptor(InterceptorChainImpl.java:82)
         at oracle.j2ee.ws.common.mgmt.runtime.InterceptorChainImpl.<init>(InterceptorChainImpl.java:46)
         at oracle.j2ee.ws.client.mgmt.runtime.ClientPortRuntime.getInterceptorChain(ClientPortRuntime.java:146)
         at oracle.j2ee.ws.client.mgmt.runtime.ClientInterceptorPipeline.init(ClientInterceptorPipeline.java:79)
         at oracle.j2ee.ws.client.StubBase.setupInterceptor(StubBase.java:333)
         at oracle.j2ee.ws.client.StubBase.setupConfig(StubBase.java:300)
         at sevissecuredirectclientv2.proxy.runtime.SevisServiceSoapBinding_Stub.<init>(SevisServiceSoapBinding_Stub.java:47)
         at sevissecuredirectclientv2.proxy.runtime.ValidatingSevisServiceProxyService_Impl.getSevisService(ValidatingSevisServiceProxyService_Impl.java:60)
         at sevissecuredirectclientv2.proxy.SevisServiceClient.<init>(SevisServiceClient.java:18)
         at sevissecuredirectclientv2.proxy.SevisServiceClient.main(SevisServiceClient.java:26)
    SEVERE: Invalid port config oracle.security.wss.config.SecurityPortImpl@1d10a5c
    java.lang.RuntimeException: Invalid port config : Error reading keystore data
         at oracle.security.wss.interceptors.SecurityPortDescriptor.configure(SecurityPortDescriptor.java:159)
         at oracle.security.wss.interceptors.AbstractSecurityInterceptor.init(AbstractSecurityInterceptor.java:86)
         at oracle.j2ee.ws.common.mgmt.runtime.InterceptorChainImpl.createInterceptor(InterceptorChainImpl.java:82)
         at oracle.j2ee.ws.common.mgmt.runtime.InterceptorChainImpl.<init>(InterceptorChainImpl.java:46)
         at oracle.j2ee.ws.client.mgmt.runtime.ClientPortRuntime.getInterceptorChain(ClientPortRuntime.java:146)
         at oracle.j2ee.ws.client.mgmt.runtime.ClientInterceptorPipeline.init(ClientInterceptorPipeline.java:79)
         at oracle.j2ee.ws.client.StubBase.setupInterceptor(StubBase.java:333)
         at oracle.j2ee.ws.client.StubBase.setupConfig(StubBase.java:300)
         at sevissecuredirectclientv2.proxy.runtime.SevisServiceSoapBinding_Stub.<init>(SevisServiceSoapBinding_Stub.java:47)
         at sevissecuredirectclientv2.proxy.runtime.ValidatingSevisServiceProxyService_Impl.getSevisService(ValidatingSevisServiceProxyService_Impl.java:60)
         at sevissecuredirectclientv2.proxy.SevisServiceClient.<init>(SevisServiceClient.java:18)
         at sevissecuredirectclientv2.proxy.SevisServiceClient.main(SevisServiceClient.java:26)
    Process exited with exit code 0.
    I'm using X509 to authentic.
    Please help.
    Thanks in advance for your quick response.
    Regards,
    David R

    I am using a single self signed certificate created using keytool on both the client and server end.
    Tried this sample code to fetch the WSDL of my webservice. Successfully did this.
    ===========================================================
    import HTTPClient.HTTPConnection;
    import HTTPClient.HTTPResponse;
    import javax.security.cert.X509Certificate;
    import oracle.security.ssl.OracleSSLCredential;
    import java.io.IOException;
    import javax.net.ssl.SSLPeerUnverifiedException;
    import javax.net.ssl.SSLSession;
    public class SSLSocketClientWithClientAuth {
    public static void main(String[] args) {
    if (args.length < 4) {
    System.out.println("Usage: java HTTPSConnectionTest [host] [port] " +
    "[wallet] [password]");
    System.exit(-1);
    String hostname = args[0].toLowerCase();
    int port = Integer.decode(args[1]).intValue();
    String walletPath = args[2];
    String password = args[3];
    HTTPConnection httpsConnection = null;
    OracleSSLCredential credential = null;
    try {
    httpsConnection = new HTTPConnection("https", hostname, port);
    } catch (IOException e) {
    System.out.println("HTTPS Protocol not supported");
    System.exit(-1);
    try {
    credential = new OracleSSLCredential();
    credential.setWallet(walletPath, password);
    } catch (IOException e) {
    System.out.println("Could not open wallet");
    System.exit(-1);
    httpsConnection.setSSLEnabledCipherSuites(new String[]{"SSL_RSA_WITH_RC4_128_SHA","SSL_RSA_WITH_3DES_EDE_CBC_SHA","SSL_RSA_WITH_RC4_128_MD5","SSL_RSA_WITH_DES_CBC_SHA","SSL_DH_anon_WITH_3DES_EDE_CBC_SHA"});
    // httpsConnection.setSSLCredential(credential);
    System.out.println("Set credentials and cipher suite");
    try {
    httpsConnection.connect();
    System.out.println("Connected!!!!!");
    } catch (IOException e) {
    System.out.println("Could not establish connection");
    e.printStackTrace();
    System.exit(-1);
    //javax.servlet.request.
    X509Certificate[] peerCerts = null;
    /* try {
    SSLSession sslSession = httpsConnection.getSSLSession();
    System.out.println("Getting session.........");
    httpsConnection.connect();
    }catch(Exception e){
    e.printStackTrace();
    System.out.println("null Getting session.........");
    System.exit(-1);
    try{
    peerCerts =
    (httpsConnection.getSSLSession()).getPeerCertificateChain();
    } catch (javax.net.ssl.SSLPeerUnverifiedException e) {
    System.err.println("Unable to obtain peer credentials");
    e.printStackTrace();
    System.exit(-1);
    String peerCertDN =
    peerCerts[peerCerts.length - 1].getSubjectDN().getName();
    peerCertDN = peerCertDN.toLowerCase();
    if (peerCertDN.lastIndexOf("cn=" + hostname) == -1) {
    System.out.println("Certificate for " + hostname +
    " is issued to " + peerCertDN);
    System.out.println("Aborting connection");
    System.exit(-1);
    try {
    HTTPResponse rsp = httpsConnection.Get("/spmlws/HttpSoap11?wsdl");
    System.out.println("Server Response: ");
    System.out.println(rsp.getText());
    System.out.println("Server Response: ");
    System.out.println(rsp.getText());
    } catch (Exception e) {
    System.out.println("Exception occured during Get");
    e.printStackTrace();
    System.exit(-1);
    =====================================================
    But on using the client proxy generated for my webserice using JDeveloper and then setting the system properties such as
    System.setProperty("javax.net.ssl.keyStore",keyStore);
    System.setProperty("javax.net.ssl.keyStorePassword", keyStorePassword);
    System.setProperty("javax.net.ssl.trustStore", trustStore);
    System.setProperty("javax.net.ssl.trustStorePassword",trustStorePassword);
    System.setProperty("javax.net.ssl.keyStoreType","JKS");
    System.setProperty("javax.net.ssl.trustStoreType","JKS");
    I get the following exception:
    <MSG_TEXT>IOException in ServerSocketAcceptHandler$AcceptHandlerHorse:run</MSG_TEXT>
    <SUPPL_DETAIL><![CDATA[javax.net.ssl.SSLProtocolException: handshake alert: no_certificate
                at com.sun.net.ssl.internal.ssl.ServerHandshaker.handshakeAlert(ServerHandshaker.java:1031)
                at com.sun.net.ssl.internal.ssl.SSLSocketImpl.recvAlert(SSLSocketImpl.java:1535)
                at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:863)
                at com.sun.net.ssl.internal.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1025)
                at com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1038)
                at oracle.oc4j.network.ServerSocketAcceptHandler.doSSLHandShaking(ServerSocketAcceptHandler.java:250)
                at oracle.oc4j.network.ServerSocketAcceptHandler$AcceptHandlerHorse.run(ServerSocketAcceptHandler.java:868)
                at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303)
                at java.lang.Thread.run(Thread.java:595)
    ]]></SUPPL_DETAIL>
    Please if anybody can help me with this!!!!
    Thanks in advance
    Nilesh

Maybe you are looking for