Web Service Proxy and SSL

Hi everyone,
I am quite new to Web services and Jdeveloper in particular, but here is what Im trying to accomplish.
I have created a Web Service Proxy using Jdeveloper 11g. I am trying to consume an external Service that is using SSL.
I can see the WSDL, Jdev creates the stubs for me and I have added the code required. However, I keep getting the following error.
"26/05/2008 14:48:39 oracle.j2ee.ws.common.context.ContextInterceptor init
INFO: Context provider properties file not found
26/05/2008 14:48:39 oracle.wsm.audit.Auditor <init>
INFO: Created J2SE auditor for componentType=OWSM-AGENT busstop=.\auditlogs\OWSM-AGENT filter=false auditor=oracle.security.audit.Auditor@16089a5
Exception in thread "main" javax.xml.ws.soap.SOAPFaultException: Security Requirements not met - No Security header in message
     at oracle.j2ee.ws.client.jaxws.DispatchImpl.throwJAXWSSoapFaultException(DispatchImpl.java:554)
     at oracle.j2ee.ws.client.jaxws.DispatchImpl.invoke(DispatchImpl.java:456)
     at oracle.j2ee.ws.client.jaxws.WsClientProxyInvocationHandler.invoke(WsClientProxyInvocationHandler.java:204)
     at $Proxy27.getStockAvailable(Unknown Source)
     at StockAvailablePortClient.main(StockAvailablePortClient.java:26)
Process exited with exit code 1."
I have been able to make this work using Netbeans, but JDeveloper is a client requirement.
Any help is greatly appreciated.
Regards,
Joe Fallon.

Have you tried importing the 3rd parties public certificate for SSL to your CACerts keystore ($ORACLE_HOME/jdk/jre/lib/security/cacerts) on machine that is invoking call?
We had a similar issue and adding to the CAcerts keystores resolved.

Similar Messages

  • Help needed creating Web Service Proxy with SSL

    Hi All, I really need your help. I need to create a Web Service proxy for a web service which is SSL enabled and developed in Netbeans. I have been given keystore as well as certificates files and I have copied "keystore.jks" in my c:\Documents and Settings\<user> and the certifcates to <JAVA_HOME>\jre\lib\security\cacerts. Now when I run the Proxy creation wizard and give the location of the WSDL file, JDeveloper gives an error "Error importing schemas: Default SSL Context init failed: Invalid keystore format". Can anyone please guide me what I am doing wrong here. I will appreciate your help.
    Thanks in advance.
    John

    I am using JDeveloper 10.1.3.3.0. Thanks Heaps

  • Web service proxy and data control are not working properly

    Hi,
    I am working on jDeveloper 11.1.1.6
    I have a SOA web service which requires 3 inputs and return with a set of data.
    When I tried testing that web service in soapUI it is working perfect. But when I have created a web service proxy in my application and trying to test it from class (*******_ptClient) main method everytime it is replying with the output null
    Also When I am requesting from the main method SOA is getting proper input (which I am providing in the main method) and SOA is returning proper output I have checked the SOA instance in em. So there is no problem in SOA side.
    After that I have created web service data control and tested in that case also it is not showing any result.
    What could be the problem ?
    Please help.
    Thanks
    --NavinK                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               

    Hi Shay Shmeltzer,
    Thanks for the reply.
    I tried in HTTP Analyzer in JDeveloper and there also it is not working. My concern is :-
    There are many other web services deployed on the same SOA server in same partition and they are working fine in HTTP analyzer and I am able to create and use the web service proxy as well. So as per my understanding there is nothing like network issues between SOA server and jDeveloper.
    1 more thing When I am creating the proxy for this web service and requesting from the proxy's main method SOA is getting proper input (which I am providing in the main method) and SOA is returning proper output I have checked the SOA instance in em. So there is no problem in SOA side. The problem is jDeveloper is not able to get back that response which SOA is returning.
    Please Help.
    -- NavinK

  • Problem with web service proxy and connections.xml

    JDev 11.1.14
    Hello
    I'm trying to create a web service proxy that takes advantage of the connections.xml so that the endpoints can be changed without recompiling the code (as described here http://download.oracle.com/docs/cd/E17904_01/web.1111/b31974/web_services.htm#ADFFD548 - 13.2.2 How to Create a New Web Service Connection)
    I created the web service proxy using the Jdev wizard and a test client. The access to the web service works as expected.
    The client test code is :
    package model;
    import ch.mit.trac.ws.proxy.*;
    import ch.mit.trac.ws.root.Currency;
    import javax.naming.NamingException;
    public class wsTest {
      public wsTest() {
        super();
      public void testIt() throws NamingException {
        CurrencyConvertor currencyConvertor = new CurrencyConvertor();
        CurrencyConvertorSoap currencyConvertorSoap = currencyConvertor.getCurrencyConvertorSoap();
        Double res = currencyConvertorSoap.conversionRate(Currency.CHF, Currency.USD);
        System.out.println("Hello");
        System.out.println(res);
      public static void main(String [] args) throws NamingException {
        wsTest tt = new wsTest();
        tt.testIt();
    }I then create a connection as described in the docs.
    I now have a connections.xml as follows:
    <?xml version = '1.0' encoding = 'UTF-8'?>
    <References xmlns="http://xmlns.oracle.com/adf/jndi">
       <Reference name="CurrencyConvertor" className="oracle.adf.model.connection.webservice.impl.WebServiceConnectionImpl" xmlns="">
          <Factory className="oracle.adf.model.connection.webservice.api.WebServiceConnectionFactory"/>
          <RefAddresses>
             <XmlRefAddr addrType="WebServiceConnection">
                <Contents>
                   <wsconnection description="file:/C:/JDeveloper/mywork/WebServiceTest/Model/src/ch/mit/trac/ws/proxy/CurrencyConvertor.wsdl" service="{http://www.webserviceX.NET/}CurrencyConvertor">
                      <model name="{http://www.webserviceX.NET/}CurrencyConvertor" xmlns="http://oracle.com/ws/model">
                         <service name="{http://www.webserviceX.NET/}CurrencyConvertor">
                            <port name="CurrencyConvertorHttpPost" binding="{http://www.webserviceX.NET/}CurrencyConvertorHttpPost">
                               <operation name="ConversionRate">
                                  <output name=""/>
                                  <input name=""/>
                               </operation>
                            </port>
                            <port name="CurrencyConvertorHttpGet" binding="{http://www.webserviceX.NET/}CurrencyConvertorHttpGet">
                               <operation name="ConversionRate">
                                  <output name=""/>
                                  <input name=""/>
                               </operation>
                            </port>
                            <port name="CurrencyConvertorSoap12" binding="{http://www.webserviceX.NET/}CurrencyConvertorSoap12">
                               <soap addressUrl="http://www.webservicex.com/CurrencyConvertor.asmx" xmlns="http://schemas.xmlsoap.org/wsdl/soap/"/>
                               <operation name="ConversionRate">
                                  <soap soapAction="http://www.webserviceX.NET/ConversionRate" xmlns="http://schemas.xmlsoap.org/wsdl/soap/"/>
                                  <output name=""/>
                                  <input name=""/>
                               </operation>
                            </port>
                            <port name="CurrencyConvertorSoap" binding="{http://www.webserviceX.NET/}CurrencyConvertorSoap">
                               <soap addressUrl="http://www.webservicex.com/CurrencyConvertor.asmx" xmlns="http://schemas.xmlsoap.org/wsdl/soap/"/>
                               <operation name="ConversionRate">
                                  <soap soapAction="http://www.webserviceX.NET/ConversionRate" xmlns="http://schemas.xmlsoap.org/wsdl/soap/"/>
                                  <output name=""/>
                                  <input name=""/>
                               </operation>
                            </port>
                         </service>
                      </model>
                   </wsconnection>
                </Contents>
             </XmlRefAddr>
          </RefAddresses>So far so good.
    I then created a new jspx page with a button that calls a method in a request scoped bean.
    The method is supposed to use the connections.xml to get the web service proxy in order to call the web service.
    The bean code is as follows :
    package ch.mit.test;
    import javax.faces.event.ActionEvent;
    import ch.mit.trac.ws.proxy.*;
    import ch.mit.trac.ws.root.Currency;
    import javax.naming.Context;
    import javax.naming.NamingException;
    import oracle.adf.model.connection.webservice.api.WebServiceConnection;
    import oracle.adf.share.ADFContext;
    public class test {
      public test() {
      public void testIt() throws NamingException {
        Context ctx;
        ctx = ADFContext.getCurrent().getConnectionsContext();
        WebServiceConnection wsc;
        wsc = (WebServiceConnection) ctx.lookup("CurrencyConvertor");
        CurrencyConvertor currencyConvertor = wsc.getJaxWSPort(CurrencyConvertor.class);   -- NPE here
        CurrencyConvertorSoap currencyConvertorSoap = currencyConvertor.getCurrencyConvertorSoap();
        Double res = currencyConvertorSoap.conversionRate(Currency.CHF, Currency.USD);
        System.out.println("Hello");
        System.out.println(res);
      public void testws(ActionEvent actionEvent) {
        try {
          testIt();
        } catch (NamingException e) {
    }When running the application and clicking on the button I keep getting the following error at the line marked NPE Here above:
    <LifecycleImpl> <_handleException> ADF_FACES-60098:Le cycle de vie Faces reçoit des exceptions non traitées en phase INVOKE_APPLICATION 5
    javax.faces.el.EvaluationException: java.lang.NullPointerException
         at org.apache.myfaces.trinidadinternal.taglib.util.MethodExpressionMethodBinding.invoke(MethodExpressionMethodBinding.java:58)
         at org.apache.myfaces.trinidad.component.UIXComponentBase.broadcastToMethodBinding(UIXComponentBase.java:1256)
         at org.apache.myfaces.trinidad.component.UIXCommand.broadcast(UIXCommand.java:183)
         at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:475)
         at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:756)
         at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._invokeApplication(LifecycleImpl.java:765)
         at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._executePhase(LifecycleImpl.java:305)
         at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:185)
         at javax.faces.webapp.FacesServlet.service(FacesServlet.java:265)
         at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
         at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
         at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:300)
         at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at oracle.adf.share.http.ServletADFFilter.doFilter(ServletADFFilter.java:62)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at oracle.adfinternal.view.faces.webapp.rich.RegistrationFilter.doFilter(RegistrationFilter.java:106)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:446)
         at oracle.adfinternal.view.faces.activedata.AdsFilter.doFilter(AdsFilter.java:60)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:446)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl(TrinidadFilterImpl.java:271)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:177)
         at org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter(TrinidadFilter.java:92)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at oracle.security.jps.ee.http.JpsAbsFilter$1.run(JpsAbsFilter.java:111)
         at java.security.AccessController.doPrivileged(Native Method)
         at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:313)
         at oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:413)
         at oracle.security.jps.ee.http.JpsAbsFilter.runJaasMode(JpsAbsFilter.java:94)
         at oracle.security.jps.ee.http.JpsAbsFilter.doFilter(JpsAbsFilter.java:161)
         at oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:71)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at oracle.dms.servlet.DMSServletFilter.doFilter(DMSServletFilter.java:136)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:27)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3715)
         at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3681)
         at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
         at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
         at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2277)
         at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2183)
         at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1454)
         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:207)
         at weblogic.work.ExecuteThread.run(ExecuteThread.java:176)
    Caused by: java.lang.NullPointerException
         at java.lang.Class.isAssignableFrom(Native Method)
         at oracle.j2ee.ws.common.jaxws.runtime.GenericJavaType.create(GenericJavaType.java:97)
         at oracle.j2ee.ws.common.jaxws.runtime.GenericJavaType.create(GenericJavaType.java:118)
         at oracle.j2ee.ws.common.jaxws.runtime.OperationMappingModeler.processParameters(OperationMappingModeler.java:268)
         at oracle.j2ee.ws.common.jaxws.runtime.OperationMappingModeler.processMethod(OperationMappingModeler.java:155)
         at oracle.j2ee.ws.common.jaxws.runtime.ServiceEndpointRuntimeModeler.buildRuntimeModel(ServiceEndpointRuntimeModeler.java:114)
         at oracle.j2ee.ws.client.jaxws.WsClientProxyFactory.getRuntimeMetadata(WsClientProxyFactory.java:69)
         at oracle.j2ee.ws.client.jaxws.WsClientProxyFactory.createProxy(WsClientProxyFactory.java:126)
         at oracle.j2ee.ws.client.jaxws.WsClientProxyFactory.createProxy(WsClientProxyFactory.java:106)
         at oracle.j2ee.ws.common.jaxws.ServiceDelegateImpl.getPort(ServiceDelegateImpl.java:219)
         at oracle.j2ee.ws.common.jaxws.ServiceDelegateImpl.getPort(ServiceDelegateImpl.java:249)
         at oracle.adf.model.connection.webservice.impl.WebServiceConnectionImpl.getJaxWSPort(WebServiceConnectionImpl.java:399)
         at ch.mit.test.test.testIt(test.java:27)
         at ch.mit.test.test.testws(test.java:41)
         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 com.sun.el.parser.AstValue.invoke(Unknown Source)
         at com.sun.el.MethodExpressionImpl.invoke(Unknown Source)
         at org.apache.myfaces.trinidadinternal.taglib.util.MethodExpressionMethodBinding.invoke(MethodExpressionMethodBinding.java:53)
         ... 44 moreCan anybody help as to what the problem is...
    (the WSDL is at http://www.webservicex.com/CurrencyConvertor.asmx?WSDL)
    Regards
    Paul

    Hi Frank
    The page is ADF bound, I've added the page source and the adfc-config source below :
    Page
    <?xml version='1.0' encoding='UTF-8'?>
    <jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" version="2.1"
              xmlns:f="http://java.sun.com/jsf/core"
              xmlns:h="http://java.sun.com/jsf/html"
              xmlns:af="http://xmlns.oracle.com/adf/faces/rich">
      <jsp:directive.page contentType="text/html;charset=UTF-8"/>
      <f:view>
        <af:document id="d1">
          <af:form id="f1">
            <af:commandButton text="commandButton 1" id="cb1"
                              actionListener="#{test.testws}"/>
          </af:form>
        </af:document>
      </f:view>
    </jsp:root>adfc-config
    <?xml version="1.0" encoding="windows-1252" ?>
    <adfc-config xmlns="http://xmlns.oracle.com/adf/controller" version="1.2">
      <view id="view1">
        <page>/view1.jspx</page>
      </view>
      <managed-bean id="__4">
        <managed-bean-name id="__3">test</managed-bean-name>
        <managed-bean-class id="__2">ch.mit.test.test</managed-bean-class>
        <managed-bean-scope id="__1">request</managed-bean-scope>
      </managed-bean>
    </adfc-config>It seems to be the same sort of problem as in Re: Error in ADF Web Service Connection
    Regards
    Paul

  • Web service proxy and security constraint

    I've placed a security constraint on my web service and set the login-config auth-method as BASIC. When I run the Workshop test and the (Test View) browser begins to appear I am prompted for my username and password since it is protected --- great, it's working.
    Here's my problem, when I create the Java Proxy and try to access the web service using the proxy in another application I am never prompted for my username and password and thus the request fails. Anyway to fix this so I can be promted using the proxy??
    thanks in advance,
    Steve Touw

    Hi Shay Shmeltzer,
    Thanks for the reply.
    I tried in HTTP Analyzer in JDeveloper and there also it is not working. My concern is :-
    There are many other web services deployed on the same SOA server in same partition and they are working fine in HTTP analyzer and I am able to create and use the web service proxy as well. So as per my understanding there is nothing like network issues between SOA server and jDeveloper.
    1 more thing When I am creating the proxy for this web service and requesting from the proxy's main method SOA is getting proper input (which I am providing in the main method) and SOA is returning proper output I have checked the SOA instance in em. So there is no problem in SOA side. The problem is jDeveloper is not able to get back that response which SOA is returning.
    Please Help.
    -- NavinK

  • Web service proxy and servlet

    Hi,
    i use jdev 10.1.3.4 and i follow the tutorial "developping,depoying and managing web services using jdeveloper.
    I try to use the proxy for the web service from a servlet like in the main method of the proxy :
    HelloSoapHttpPortClient myPort = new HelloSoapHttpPortClient();
    System.out.println("calling " + myPort.getEndpoint());
    System.out.println(myPort.sayHello("didier823"));
    and i got this error :
    10/03/10 16:58:02 not an interface: services1.Hello
    How can use the proxy generated by jdev from a servlet or a jsp ?
    Thank you for your help !

    Hi,
    i find a solution i regenered a new proxy with another package and it works fine
    i can use the proxy from my servlet to call the ejb web service.
    Bye.

  • Web service client and SSL Certificate

    Hello, everyone,
    I have a problem that has really stumped me.
    I've written a web service client for a web service that has a digital certificate. This comes in the form of a .pfx file.
    When I try send a request to the web service, I get the following:
    AxisFault
    faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException
    faultSubcode:
    faultString: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
    faultActor:
    faultNode:
    faultDetail:
         {http://xml.apache.org/axis/}stackTrace:javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
         at com.sun.net.ssl.internal.ssl.Alerts.getSSLException(Unknown Source)
         at com.sun.net.ssl.internal.ssl.SSLSocketImpl.fatal(Unknown Source)
         at com.sun.net.ssl.internal.ssl.Handshaker.fatalSE(Unknown Source)
         at com.sun.net.ssl.internal.ssl.Handshaker.fatalSE(Unknown Source)
         at com.sun.net.ssl.internal.ssl.ClientHandshaker.serverCertificate(Unknown Source)
         at com.sun.net.ssl.internal.ssl.ClientHandshaker.processMessage(Unknown Source)
         at com.sun.net.ssl.internal.ssl.Handshaker.processLoop(Unknown Source)
         at com.sun.net.ssl.internal.ssl.Handshaker.process_record(Unknown Source)
         at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(Unknown Source)
         at com.sun.net.ssl.internal.ssl.SSLSocketImpl.performInitialHandshake(Unknown Source)
         at com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(Unknown Source)
         at com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(Unknown Source)
         at org.apache.axis.components.net.JSSESocketFactory.create(JSSESocketFactory.java:186)
         at org.apache.axis.transport.http.HTTPSender.getSocket(HTTPSender.java:191)
         at org.apache.axis.transport.http.HTTPSender.writeToSocket(HTTPSender.java:404)
         at org.apache.axis.transport.http.HTTPSender.invoke(HTTPSender.java:138)
         at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)
         at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
         at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
         at org.apache.axis.client.AxisClient.invoke(AxisClient.java:165)
         at org.apache.axis.client.Call.invokeEngine(Call.java:2784)
         at org.apache.axis.client.Call.invoke(Call.java:2767)
         at org.apache.axis.client.Call.invoke(Call.java:2443)
         at org.apache.axis.client.Call.invoke(Call.java:2366)
         at org.apache.axis.client.Call.invoke(Call.java:1812)
         at org.tempuri.BasicHttpBinding_IExternalServiceStub.submitAchievementBatchJob(BasicHttpBinding_IExternalServiceStub.java:531)
         at uk.gov.qcf.lrs.api.services.IExternalServiceProxy.submitAchievementBatchJob(IExternalServiceProxy.java:56)
         at uk.org.aqa.main.Main.main(Main.java:111)
    Caused by: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
         at sun.security.validator.PKIXValidator.doBuild(Unknown Source)
         at sun.security.validator.PKIXValidator.engineValidate(Unknown Source)
         at sun.security.validator.Validator.validate(Unknown Source)
         at com.sun.net.ssl.internal.ssl.X509TrustManagerImpl.validate(Unknown Source)
         at com.sun.net.ssl.internal.ssl.X509TrustManagerImpl.checkServerTrusted(Unknown Source)
         at com.sun.net.ssl.internal.ssl.X509TrustManagerImpl.checkServerTrusted(Unknown Source)
         ... 24 more
    Caused by: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
         at sun.security.provider.certpath.SunCertPathBuilder.engineBuild(Unknown Source)
         at java.security.cert.CertPathBuilder.build(Unknown Source)
         ... 30 more
         {http://xml.apache.org/axis/}hostname:WM8-319
    javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
         at org.apache.axis.AxisFault.makeFault(AxisFault.java:101)
         at org.apache.axis.transport.http.HTTPSender.invoke(HTTPSender.java:154)
         at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)
         at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
         at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
         at org.apache.axis.client.AxisClient.invoke(AxisClient.java:165)
         at org.apache.axis.client.Call.invokeEngine(Call.java:2784)
         at org.apache.axis.client.Call.invoke(Call.java:2767)
         at org.apache.axis.client.Call.invoke(Call.java:2443)
         at org.apache.axis.client.Call.invoke(Call.java:2366)
         at org.apache.axis.client.Call.invoke(Call.java:1812)
         at org.tempuri.BasicHttpBinding_IExternalServiceStub.submitAchievementBatchJob(BasicHttpBinding_IExternalServiceStub.java:531)
         at uk.gov.qcf.lrs.api.services.IExternalServiceProxy.submitAchievementBatchJob(IExternalServiceProxy.java:56)
         at uk.org.aqa.main.Main.main(Main.java:111)
    Caused by: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
         at com.sun.net.ssl.internal.ssl.Alerts.getSSLException(Unknown Source)
         at com.sun.net.ssl.internal.ssl.SSLSocketImpl.fatal(Unknown Source)
         at com.sun.net.ssl.internal.ssl.Handshaker.fatalSE(Unknown Source)
         at com.sun.net.ssl.internal.ssl.Handshaker.fatalSE(Unknown Source)
         at com.sun.net.ssl.internal.ssl.ClientHandshaker.serverCertificate(Unknown Source)
         at com.sun.net.ssl.internal.ssl.ClientHandshaker.processMessage(Unknown Source)
         at com.sun.net.ssl.internal.ssl.Handshaker.processLoop(Unknown Source)
         at com.sun.net.ssl.internal.ssl.Handshaker.process_record(Unknown Source)
         at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(Unknown Source)
         at com.sun.net.ssl.internal.ssl.SSLSocketImpl.performInitialHandshake(Unknown Source)
         at com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(Unknown Source)
         at com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(Unknown Source)
         at org.apache.axis.components.net.JSSESocketFactory.create(JSSESocketFactory.java:186)
         at org.apache.axis.transport.http.HTTPSender.getSocket(HTTPSender.java:191)
         at org.apache.axis.transport.http.HTTPSender.writeToSocket(HTTPSender.java:404)
         at org.apache.axis.transport.http.HTTPSender.invoke(HTTPSender.java:138)
         ... 12 more
    Caused by: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
         at sun.security.validator.PKIXValidator.doBuild(Unknown Source)
         at sun.security.validator.PKIXValidator.engineValidate(Unknown Source)
         at sun.security.validator.Validator.validate(Unknown Source)
         at com.sun.net.ssl.internal.ssl.X509TrustManagerImpl.validate(Unknown Source)
         at com.sun.net.ssl.internal.ssl.X509TrustManagerImpl.checkServerTrusted(Unknown Source)
         at com.sun.net.ssl.internal.ssl.X509TrustManagerImpl.checkServerTrusted(Unknown Source)
         ... 24 more
    Caused by: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
         at sun.security.provider.certpath.SunCertPathBuilder.engineBuild(Unknown Source)
         at java.security.cert.CertPathBuilder.build(Unknown Source)
         ... 30 moreI've looked onliine to try to solve this issue, and it seemed that the answer was the add the certificate to the keystore. I had a lot of issues doing this, due to the certificate being a .pfx file. However, using the following, I was able to do it:
    keytool -importkeystore -srckeystore "sandpit.pfx" -destkeystore "%JAVA_HOME2%\lib\security\cacerts" -srcstoretype pkcs12 -deststoretype jks -srcstorepass password -deststorepass anotherpassword -vHowever, I am still getting the same error. This may be because this isn't the keystore used, but it is located in the area marked as being used in the build path.
    I then looked further, and found that I may need to add:
    System.setProperty("javax.net.ssl.trustStore","myKeystore");
    System.setProperty("javax.net.ssl.trustStorePassword","myPassword");altering where appropriate. But this didn't work, and I'm thinking that this would involve a lot more code than just those two lines.
    I'm just not sure what to do, and am hoping someone can help. I didn't think it would be too big an issue to ensure my program used the certificate, but it seems to be. I thought that once it was added to the keystore, that would be it, but it appears not.
    I'm sure this isn't a rare issue, but I just lack the knowledge to make any headway. Please can someone help or point me in the right direction?
    Thank you very much in advance.
    Robin

    Sorry to bother you again with my request but I would appreciate some help with my problems.
    Nobody his using some web services who requires protection ?
    Thanks a lot.

  • Web-Service Proxy and Web-Service Client access in a Bean (EJB 3.0)

    Hello Community,
    i want to access the SAP Knowledge-Management via the Webservice "RepositoryFrameworkWS", which resides on our Portal-System, from my Java-Application, which runs on a NW CE 7.11 Ehp1 Java Server.
    I choosed to create a WS-Client as a deployable client. So i created an Bean Project, imported the WSDL and created a WS-Proxy in that project. Additionaly i added some beans to that Bean-Project which use the WS-Proxy to access the KM.
    So far so good.
    But the WSDL also creates a Service-Endpoint, which already has an url for the WS-Target and Authentication-Information (in my case it seems that no Authentication is active) in its body.
    Because my client shell run on different systems in the future i searched for a way to easiliy deploy my application and adapt target-information elsewhere. I found in the documentation, that after deploying the deployable WS-Proxy/Client this can be done in the NW-Administrator under SOA-Management->Application and Scenario Communication->Single Service Administration.
    To my surprise i found my deployed WS there. And the entry for the there listed Port was configurable. But unfortunatly this customization is ignored by the application. For example i changed authentication to a HTTP-Authentication with a specific user and also changed to Target-URL. But with no success.
    What's wrong here?
    i accessed the WS in my bean in the following way:
        public Class xyz
         @WebServiceRef (name="RepositoryFrameworkWS")
         RepositoryFrameworkWS service;
          RepositoryFrameworkWSViDocument vi = service.getPort(RepositoryFrameworkWSViDocument.class);
         vi.findResources(rid,....)
    regards
    Matthias Hayk
    Edited by: Matthias Hayk on Sep 15, 2009 10:13 AM

    Hi Matthias
    In Single Service Administration there are two views: Webservices and WS Clients configurations. First of all you should enable BASIC HTTP authentication in WS configuration. Then go to WS Client configuration and enter user/password in HTTP BASIC authentication settings.
    Hope this help.
    BR, Siarhei

  • Test web service proxy using EJB session bean client...

    Hello!
    I am following this blog /people/abdelmorhit.elrhazi/blog/2009/10/30/how-to-consume-an-inbound-backend-web-service-in-nwdsjboss-environment to create a EJB session bean client to access the web service proxy...
    The blog is not very clear. Where should I be deploying the web service proxy and the EJB session bean (web service client) ? on the PI 7.1 ?
    How to find out the URL for the wsdl ?
    Thanks

    > The blog is not very clear. Where should I be deploying the web service proxy and the EJB session bean (web service client) ? on the PI 7.1 ?
    "To deploy your web service proxy and session bean, right click on your JBoss server in the Servers view, and click on Add Remove Projects, add you ear file and click finish."
    You need a JBoss server.

  • Web Service Proxy client to invoke a Web service on SSL (Jdev 10.1.3.1)

    Hi,
    I have to develope a Web Service proxy client to invoke a web service on SSL. First I'm testing with OC4J 10.1.3.1 and JDEV 10.1.3.1 and did this:
    1) Developed a basic PL/SQL Web Service with JDEV and publish on my standalone OC4J.
    2) Made a test with a browser, it worked OK
    3) Generated a proxy client from JDev 10.1.3.1 to invoke web service, it worked OK
    --- Now make it work on SSL----
    4) Then, added SSL configuration to oc4j , generated a certificate with keytool (updated server.xml, secure-web-site.xml), and shutting down and starting the OC4j instance.
    5) Import the certificate to JAVA_HOME/jre/lib/security/cacerts
    6) Test web service from browser on https and worked OK.
    7) When tried to modified proxy client (generated in step 3) to make it work on SSL, I realized that just changing the END_POINT to the new url (https) it worked!
    Questions----
    1.- By default the proxy client generated from JDEV 10.1.3.1 knows how to deal with SSL conections?
    2.- If I dont have previously the server certificate to import it into JAVA keystore (cacerts) how could I ,from proxy client code, capture it and import it before the validation occurs... because if the certificate is not in keystore , the program fails.
    Thanks in advance
    J.

    Hi,
    Could you please provide me with the steps necessary to create a web service proxy client through JDeveloper or any other mechanism when 2 way SSL (requiring client authentication) is enabled.
    Thanks a lot in advance
    Nilesh

  • Web Service Proxy with Dynamic IP and Port

    hi,
    I am currently looking at the Web Service Proxy generation in JDev 11g. I can generate proxies fine, but the proxies are generated with static host and port. I want to substitute the host and port during runtime if required, for instance read the values from a database. I need to do this to avoid compiling the application for every deployment we make dev, test and production. Is there an easy way to set the generated proxy host and port? Are there any examples?
    Thanks in advance!
    Stephen

    Hi,
    Maybe you should have a look on XML Catalogs feature, but I am not sure if JDeveloper support it and how to support it.
    -LJ

  • Web Service proxy deployment and reuse

    Jdev. 11.1.1.4
    Hi,
    In my ADF application I have created a web service proxy with Jdev wizard.
    I have created a method in order to test it and it works ok.
    Now, I need to reuse this proxy (the package) in other java applications also in Jdev but working with struts (I don't thnk this is important but....)
    I have created a deployment profile only for the ws proxy package and generated a jar file.
    This jar file has been declared in the second application and try to execute the same method that worked in the first application.
    Just in the first sentence:
    UtilGestionDocumental utilGestionGrupos = new UtilGestionDocumental();
    we are having an "unauthorized error". No time to declare any username nor password that are send in later instructions.
    The first part of the call to the WS that we are using is this:
    UtilGestionDocumental utilGestionGrupos = new UtilGestionDocumental(); <- Here it throws the error
    SecurityPoliciesFeature securityFeatures =
    new SecurityPoliciesFeature(new String[] {
    "oracle/wss_username_token_client_policy" });
    UtilGestionDocumentalPortType entidadDocPortType =
    utilGestionGrupos.getUtilGestionDocumentalSOAP12Port(/*securityFeatures*/);
    ((BindingProvider)entidadDocPortType).getRequestContext().put(BindingProvider.USERNAME_PROPERTY,"Username");
    ((BindingProvider)entidadDocPortType).getRequestContext().put(BindingProvider.PASSWORD_PROPERTY,"Password");
    ((BindingProvider)entidadDocPortType).getRequestContext().put(BindingProvider."EndPoint....." );
    I think I'm not using the correct system to create a jar for the WS, am I ?
    someone can help me with this ?

    Does any expert can help in deploying a web service proxy as a jar file ?

  • Change/Configure Host and Port for the Web Service Proxy with Server

    Hi,
    Is there a way to configure Host and Port in generated proxy for Web service depending upon server. (ADF 11g)
    Scenario:
    We are consuming Credit Card web service from a service provider and have different Host and Port details for development, QA and Prod.
    So we created proxy classes using wsdl for development and things work fine, but when deploying code to QA or Prod we need to change the Host
    and Port details.
    Is their a way we could user variable's for Host and Port which looks to some configuration file to evaluate their values
    based on server.
    I am a bit new to this web service .. will appreciate if someone could provide an example.
    Thanks.

    Are you using Web Service Proxy or Web Service Data Control?
    If you are using Web Service Proxy. Right click on your Proxy --> Properties --> Port Endpoints. Here you can change the IP & Port details for each port.
    Venkat

  • Unable to uninstall or remove ADFS Service Proxy and Web Agents from Server 2012

    I have a Server 2012 machine that's a primary host for company websites. An inexperienced developer (with FAR more access than he should've had; yes, epic fail) was able to install ADFS Service Proxy and ADFS 1.1 Web Agents (for SAML) on the server. He didn't
    complete the configuration, realizing he'd over stepped his boundaries. He did install the rollup update 3 to ADFS though. However, now I'm unable to uninstall the components. It's not listed in the updates and the option to remove from Roles/Features is grayed
    out.
    Any help would be awesome!

    Hi,
    Thank you for your sharing!
    Your post is very beneficial to other people who have similar issues.
    Please feel free to let us know if you encounter any issues in the future.
    In addition, here is a dedicated ADFS forum below:
    Claims based access platform (CBA), code-named Geneva Forum
    http://social.msdn.microsoft.com/Forums/vstudio/en-US/home?forum=Geneva
    Best Regards,
    Amy

  • Web service proxy client with client cert cause SSLSessionNotFoundErr

    Hi,
    I tried to run web service proxy client with certification from JDeveloper 10.1.3.0.4 to call PKI enabled web service got folllowing error:
    WARNING: Unable to connect to URL: due to java.security.PrivilegedActionException: javax.xml.soap.SOAPException: Message send failed: javax.net.ssl.SSLException: SSL handshake failed: SSLSessionNotFoundErr
    Web service deployed on OAS

    Hi,
    i am trying to invoke from JDeveloper (10.1.3) a CRM On Demand's Web Service and I hava the same problem:
    ADVERTENCIA: Unable to connect to URL: https://secure-ausomxgfa.crmondemand.com/Services/Integration due to java.security.PrivilegedActionException: javax.xml.soap.SOAPException: Message send failed: javax.net.ssl.SSLException: SSL handshake failed: SSLSessionNotFoundErr
    java.rmi.RemoteException: ; nested exception is:
         HTTP transport error: javax.xml.soap.SOAPException: java.security.PrivilegedActionException: javax.xml.soap.SOAPException: Message send failed: javax.net.ssl.SSLException: SSL handshake failed: SSLSessionNotFoundErr
         at testerlast.runtime.Contact_Stub.contactInsert(Contact_Stub.java:96)
         at testerlast.ContactClient.contactInsert(ContactClient.java:88)
         at testerlast.ContactClient.main(ContactClient.java:69)
    Caused by: HTTP transport error: javax.xml.soap.SOAPException: java.security.PrivilegedActionException: javax.xml.soap.SOAPException: Message send failed: javax.net.ssl.SSLException: SSL handshake failed: SSLSessionNotFoundErr
         at oracle.j2ee.ws.common.util.exception.JAXRPCExceptionBase.<init>(JAXRPCExceptionBase.java:93)
         at oracle.j2ee.ws.common.util.exception.JAXRPCExceptionBase.<init>(JAXRPCExceptionBase.java:89)
         at oracle.j2ee.ws.client.ClientTransportException.<init>(ClientTransportException.java:33)
         at oracle.j2ee.ws.client.http.HttpClientTransport.invokeImpl(HttpClientTransport.java:144)
         at oracle.j2ee.ws.client.http.HttpClientTransport.invoke(HttpClientTransport.java:121)
         at oracle.j2ee.ws.client.StreamingSender._sendImpl(StreamingSender.java:169)
         at oracle.j2ee.ws.client.StreamingSender._send(StreamingSender.java:111)
         at testerlast.runtime.Contact_Stub.contactInsert(Contact_Stub.java:80)
         ... 2 more
    To do the invocation I have done a proxy to consume this Web Service, with the follow main:
    public static void main(String[] args) {
    try {
    testerlast.ContactClient myPort = new testerlast.ContactClient();
    System.out.println("calling " + myPort.getEndpoint());
    myPort.setUsername(nameUser);
    myPort.setPassword(password);
    ListOfContactData llista = new ListOfContactData();
    ContactData[] contacts=new ContactData[2];
    ContactData contact=new ContactData();
    ContactInsert_Input input=new ContactInsert_Input();
    // Login WS HTTPS
    String idSesion=connexioWS_CRM.logon(URL,nameUser,password);
    // Add contact
    for (int i = 0; i < contacts.length; i++) {
    contact.setId("ProvaWSCRM"+i);
    contact.setContactFirstName("JDeveloper"+i);
    contact.setContactLastName("prove"+i);
    contact.setCellularPhone("77777777"+i);
    contact.setDescription("Add contact with Id:"+contact.getId());
    contacts=contact;
    System.out.println("Id:"+contacts[i].getId()+" firstName:"+contacts[i].getContactFirstName()+" lastName:"+contacts[i].getContactLastName());
    llista.setContact(contacts);
    input.setListOfContact(llista);
    input.setEcho("off");
    System.out.println("Pwd:"+myPort.getPassword()+" Port:"+myPort._port+" endpoint:"+myPort.getEndpoint()+" user:"+myPort.getUsername());
    myPort.contactInsert(llista,"LIC","Broadset","OFF");
    // Logout en WS (HTTPS)
    connexioWS_CRM.logoff(URL, idSesion);
    } catch (Exception ex) {
    ex.printStackTrace();
    What's wrong? Any idea?
    Thank you
    Edited by: user12085357 on 31-oct-2009 10:39

Maybe you are looking for

  • What does this error mean? There was an error in the App Store. Please try again later. (100)

    what does this error mean? There was an error in the App Store. Please try again later. (100)

  • ITunes.exe - Entry Point Not Found itunes will install but wont run!!!!!!!!

    I updated itunes and it wont work. i unistalled all apple apps, about 5 to 10 times. i get this message on my HP 530,32 bit windows vista. At the top in the error window it says *iTunes.exe - Entry Point Not Found* Then under that in the error box it

  • Printing issue in Check

    Hi friends, I had to developed a check print for my client.And as per their requirement they wanted it to print continously.im doing the form using smartforms. i have created a page size equal to the check size and we assigned it in the form as well

  • HD speed K7N2-L

    haven't messed with regular ATA 133 or 100's for that mater as I hace become spoiled to SATA. I put together a BITSA computer using the MSI K7N2-L and teamed up with a ATA133 Maxtor 60GB with windows XP Pro installed. Then as a slave on the same prim

  • NETWORK CARD REALTEK

    I OWN AN HP LAPTOP CQ58-300SA. THE LAPTOP AUTOMATICALLY UPGRADED TO WINDOWS 8.1. AFTER THE UPGRADE THE NETWORK CARD IS NOT WORKING AND I GET THIS MESSAGE IN THE DEVICE MANAGER. Your computer's system firmware does not include enough information to pr