Web services and client certificates

Hello,
Is there a way to invoke a web service that sits on a web
server that requires client certificate authentication. Like in
Coldfusion 8 you can pass the client cert along with the cfhttp
call. We're running into the problem of calling the page that
invokes the web service, then the invoke fails because that's a
call to a URL that is protected. Anyone know how to do this, or a
good work around?
Any help is appreciated.

Thanks for the reply! I'm no expert either, that's why I'm
here!
Yes, the certificate for the server is loaded. I'm doing this
all on one machine, so I just loaded it's own server certificate
into the trust store. The problem is the server is protected by
client authentication via certificates. I guess I'm relating this
to a regular request, where if you have a server that requires
certificates, you can pass along the cert in an CFHTTP call with
clientCert parameter. Here we are calling a page that invokes the
web service which is really another request. This is where the
issue is, since I don't see how to send along the certificate
information in the invoke call.
Thanks for the help!

Similar Messages

  • Web services and multiple certificates

    I originally posted this question in the SOA forum, but someone suggested this forum as well. So, here we go...
    Hi, I am trying to consume a secure web service on ECC 6.0 - so far without much luck.
    When I try to connect to the ws server, it seems there are three certificates in action: a CICS certificate for establishing the SSL connection, a 'root' certificate from the PKI certificate issuer, and a private certificate issued by the above issuer (please forgive me if a have the syntax wrong - certificates are not my primary line of work). So, using Trust Manager (STRUST), I have created a PSE named 'OES' and imported all three certificates into it.
    In SOAMANAGER I have set up the end-point using the WSDL-file and set the following parameters:
    - Authentication Method = X.509 Client Certificate
    - Trustworthiness Method = Holder of Key
    - Issuer = <issuer from the root certificate>
    - Name of Attester = <blank>
    - Validity of SAML Assertion = 180
    - Caching of SAML Assertions = False
    - Attester System Destination = <blank>
    - Name of Attester = <blank>
    - User = SRxxxWS
    - Password = <blank>
    - Client PSE = OES
    When I try to consume the web service, I can see in the log files that the CICS certificat is used for establishing the SSL connection but all I receive back is an HTTP 403 "Client Authentication Error". If I remove the CICS certificate from the PSE, the connection is not made.
    How do I make the client certificate available for the connection? Have I approached the problem from the wrong side? Has anybody experienced something similar? Any help will be highly appreciated.
    Thanks,
    Bo

    Thanks for the reply! I'm no expert either, that's why I'm
    here!
    Yes, the certificate for the server is loaded. I'm doing this
    all on one machine, so I just loaded it's own server certificate
    into the trust store. The problem is the server is protected by
    client authentication via certificates. I guess I'm relating this
    to a regular request, where if you have a server that requires
    certificates, you can pass along the cert in an CFHTTP call with
    clientCert parameter. Here we are calling a page that invokes the
    web service which is really another request. This is where the
    issue is, since I don't see how to send along the certificate
    information in the invoke call.
    Thanks for the help!

  • Creating a Simple Web Service and Client with JAX-WS

    I downloaded javaeetutorial5 tutorial from this URL.
    https://sdlc1a.sun.com/ECom/EComActionServlet;jsessionid=5874F5CFDFC12A3F5217CEA1ED76E76C
    And followed the steps to create the web service as mentioned here.
    http://java.sun.com/javaee/5/docs/tutorial/doc/JAXWS3.html#wp79980
    But I couldn't make it to run using my netbeans IDE 5.5.
    Its giving a deployment error.
    init:
    deps-module-jar:
    deps-ear-jar:
    deps-jar:
    library-inclusion-in-archive:
    library-inclusion-in-manifest:
    compile:
    compile-jsps:
    do-dist:
    dist:
    In-place deployment at D:\NetBeans\javaeetutorial5\examples\jaxws\helloservice\build\web
    Start registering the project's server resources
    Finished registering server resources
    moduleID=helloservice
    deployment started : 0%
    Deploying application in domain failed; com.sun.tools.apt.Main.process(Lcom/sun/mirror/apt/AnnotationProcessorFactory;[Ljava/lang/String;)I
    D:\NetBeans\javaeetutorial5\examples\jaxws\helloservice\nbproject\build-impl.xml:440: Deployment error:
    The module has not been deployed.
    See the server log for details.
    BUILD FAILED (total time: 3 seconds)Is it a bug in netbeans 5.5 because i made this as it mentioned in the tutorial.

    I am getting the same error as describes in this thread.
    http://forum.java.sun.com/thread.jspa?threadID=715624&messageID=4152590
    How can i solve this error.
    Message was edited by:
    Ajaxrand

  • 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 and servlets in the same project...web.xml?

    Hello, I have a problem with my web service.
    I have a server, which displays a web service. I programmed this service with JAXRPC.
    I have a client, in another directory. I succeded in compiling, deploying and running the web service.
    The problem is that after I tried to integrate this service in an existing project. This project contains servlets. In these servlets, I'm using sessions.
    These servlets are on the same side as the server of the web service. Because of the implementation of my code, I'd like to use in the class that represents the server of the service, the same session as the one I'm using in the servlets.
    But of course, it's not working by itself. I know there's something to do with the web.xml files.
    The thing is that I created a web.xml file for the service, and another for the servlets.
    I was thinking of joining both of them in one xml file, but everything crashes then...
    Could someone tell me how to create a project with a web service and servlets, and mostly how to configure the xml file??
    Thanks for any help
    Philippe

    Hello, I have a problem with my web service.
    I have a server, which displays a web service. I programmed this service with JAXRPC.
    I have a client, in another directory. I succeded in compiling, deploying and running the web service.
    The problem is that after I tried to integrate this service in an existing project. This project contains servlets. In these servlets, I'm using sessions.
    These servlets are on the same side as the server of the web service. Because of the implementation of my code, I'd like to use in the class that represents the server of the service, the same session as the one I'm using in the servlets.
    But of course, it's not working by itself. I know there's something to do with the web.xml files.
    The thing is that I created a web.xml file for the service, and another for the servlets.
    I was thinking of joining both of them in one xml file, but everything crashes then...
    Could someone tell me how to create a project with a web service and servlets, and mostly how to configure the xml file??
    Thanks for any help
    Philippe

  • How to use server-side classes in a web service proxy client ?

    Greetings,
    I'm using WebLogic 10.3 with Workshop 10.3 on Windows. I generate a Web Service client in Workshop. There are two options in the New->Others->Web Service category: ClientGen Web Service Client and Web Service Client. I've chosen the second one as it's a JAX-WS Web Service and I think that the first one (ClientGen Web Service is to be used with JAX-RPC Web Services. The proxy is generated but, since the Web Service is using POJOs as parameters, a new version of these POJOs is also generated. For example, my Web Service has an operation like: public OrderStatus putOrder (Order), where OrderStatus and Order are application scoped POJOs. The proxy generation process generates a _PortType class which is supposed to be used by the calling client. This class defines an operation public OrderStatus putOrder(Order), but the OrderStatus and Order classes aren't the original ones but the generated ones. The issue is that these generated classes aren't completely equivalent to the original ones, for examples all lists become arrays, the constructors are different, etc. This is extrememly annouying. Is there any option to say to the proxy generation process to keep with the server-side classes ?
    many thanks in advance for any help.
    Nicolas

    The only solution to this problem seems to be using dynamic proxies. But it doesn't work neither as the following code:
    Service service = Service.create(new URL("http://localhost:7001/OrderServiceProject/OrderService?WSDL"),
    new QName("http://www.simplex_software.fr/demo/services", "OrderService"));
    OrderService orderService = service.getPort(new QName("http://www.simplex_software.fr/demo/services", "OrderServicePort"), OrderService.class);
    raises the following exception:
    16 déc. 2009 19:55:51 com.sun.xml.internal.ws.model.RuntimeModeler getRequestWrapperClass
    INFO: Dynamically creating request wrapper Class fr.simplex_software.demo.services.jaxws.PutOrder
    16 déc. 2009 19:55:51 com.sun.xml.internal.ws.model.RuntimeModeler getResponseWrapperClass
    INFO: Dynamically creating response wrapper bean Class fr.simplex_software.demo.services.jaxws.PutOrderResponse
    16 déc. 2009 19:55:51 com.sun.xml.internal.ws.model.RuntimeModeler getRequestWrapperClass
    INFO: Dynamically creating request wrapper Class fr.simplex_software.demo.services.jaxws.GetOrderStatus
    16 déc. 2009 19:55:51 com.sun.xml.internal.ws.model.RuntimeModeler getResponseWrapperClass
    INFO: Dynamically creating response wrapper bean Class fr.simplex_software.demo.services.jaxws.GetOrderStatusResponse
    Exception in thread "main" java.lang.IllegalArgumentException: fr.simplex_software.demo.services.OrderService is not an interface
         at java.lang.reflect.Proxy.getProxyClass(Proxy.java:362)
         at java.lang.reflect.Proxy.newProxyInstance(Proxy.java:581)
         at com.sun.xml.internal.ws.client.WSServiceDelegate.createEndpointIFBaseProxy(WSServiceDelegate.java:630)
         at com.sun.xml.internal.ws.client.WSServiceDelegate.getPort(WSServiceDelegate.java:331)
         at com.sun.xml.internal.ws.client.WSServiceDelegate.getPort(WSServiceDelegate.java:313)
         at com.sun.xml.internal.ws.client.WSServiceDelegate.getPort(WSServiceDelegate.java:295)
         at javax.xml.ws.Service.getPort(Service.java:92)
         at fr.simplex_software.demo.client.OrderServiceClient.main(OrderServiceClient.java:23)
    As a matter of fact, fr.simplex_software.demo.services.OrderService is not an interface but, nevertheless, it's a SEI and it was generated as it is by the IDE Web Service wizard. Big, big confusion ! Of course, this sample works perfectly with Metro, in NetBeans using Glassfish.

  • 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

  • Process as a Web Service WSDL client

    Hi,
    I am using the Process as a Web Service Option inside of BPM . I launch the deployed webservices webapps and I get the WSDL out of it.. The WSDL works fine with SOAP UI..But when I try to create a web service client out of that WSDL it gives me the following error:-
    com.bea.albpm.TestProject.SampleProject.OperationException cannot be resolved as type and the web service client does not work..
    how do I resolve this error.. Is there a jar file that I need to import?

    Did you use PAPI code inside your web service or did u just use PAPI Web Services ( like did u just pressed the button Launch PAPI Web Services ) and it created the WSDL for you and u used it to create the client?
    I am using the latest version of OBPM..
    Oracle 10.3.10
    Can you let me know what do u mean by PAPI interface.. Is it the PAPI code of is the PAPI Web Service which is built by BPM automatically and could be used?
    Edited by: user8707382 on Sep 10, 2009 9:00 AM

  • ASMX web service and The remote server returned an error: (500) Internal Server Error issue

    i have developed a very small web service and which is hosted along with our web site. our webservice url is
    http://www.bba-reman.com/Search/SearchDataIndex.asmx
    web service code
    namespace WebSearchIndex
    #region SearchDataIndex
    /// <summary>
    /// SearchDataIndex is web service which will call function exist in another library for part data indexing
    /// </summary>
    [WebService(Namespace = "http://tempuri.org/")]
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
    [System.ComponentModel.ToolboxItem(false)]
    // To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line.
    // [System.Web.Script.Services.ScriptService]
    public class SearchDataIndex : System.Web.Services.WebService
    //public AuthHeader ServiceAuth=null;
    public class AuthHeader : SoapHeader
    public string Username;
    public string Password;
    #region StartIndex
    /// <summary>
    /// this function will invoke CreateIndex function of SiteSearch module to reindex the data
    /// </summary>
    [WebMethod]
    public string StartIndex(AuthHeader auth)
    string strRetVal = "";
    if (auth.Username == "Admin" && auth.Password == "Admin")
    strRetVal = SiteSearch.CreateIndex(false);
    else
    SoapException se = new SoapException("Failed : Invalid credentials",
    SoapException.ClientFaultCode,Context.Request.Url.AbsoluteUri,new Exception("Invalid credentials"));
    throw se;
    return strRetVal;
    #endregion
    #endregion
    when i was calling that web service from my win apps using
    HttpWebRequest
    class then getting error The remote server returned an error: (500) Internal Server Error
    here is code of my win apps from where i am calling web service
    string strXml = "";
    strXml = "<s:Envelope xmlns:s='http://schemas.xmlsoap.org/soap/envelope/'><s:Body><StartIndex xmlns='http://tempuri.org/' xmlns:i='http://www.w3.org/2001/XMLSchema-instance'><auth><Username>joy</Username><Password>joy</Password></auth></StartIndex></s:Body></s:Envelope>";
    string url = "http://www.bba-reman.com/Search/SearchDataIndex.asmx";
    HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);
    req.Method = "POST";
    req.ContentType = "text/xml";
    req.KeepAlive = false;
    req.ContentLength = strXml.Length;
    StreamWriter streamOut = new StreamWriter(req.GetRequestStream(), System.Text.Encoding.ASCII);
    streamOut.Write(strXml);
    streamOut.Close();
    StreamReader streamIn = new StreamReader(req.GetResponse().GetResponseStream());
    string strResponse = streamIn.ReadToEnd();
    streamIn.Close();
    i am just not being able to understand when this line execute
    StreamReader streamIn = new StreamReader(req.GetResponse().GetResponseStream());
    then getting the error The remote server returned an error: (500) Internal Server Error
    not being able to understand where i made the mistake. mistake is in the code of web service end or in calling code?
    help me to fix this issue. thanks

    Hi Mou,
    I just tried your win app code about calling web service, but failed. I got the 500 error after I called your service:
    The error message I quoted from Fiddler:
    <?xml version="1.0" encoding="utf-8"?><soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><soap:Body><soap:Fault><faultcode>soap:Client</faultcode><faultstring>System.Web.Services.Protocols.SoapException: Failed : Invalid credentials ---&gt; System.Exception: Invalid credentials
    --- End of inner exception stack trace ---
    at BBAReman.WebSearchIndex.SearchDataIndex.StartIndex(AuthHeader auth)</faultstring><faultactor>http://www.bba-reman.com/Search/SearchDataIndex.asmx</faultactor><detail /></soap:Fault></soap:Body></soap:Envelope>
    I am not totally sure that error occurred by the authentication. But I suggest you can try to add this service into your project using this method below:
    1.right click the Reference and select Add Service Reference
    2.input your service link and click "Go"
    And you can use this service as the following:
    private async void callService()
    ServiceReference1.SearchDataIndexSoapClient client =new ServiceReference1.SearchDataIndexSoapClient();
    var Str= await client.StartIndexAsync(new ServiceReference1.AuthHeader { Username = "Admin", Password = "Admin" });
    Please try it.
    Regards,
    Will
    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click
    HERE to participate the survey.

  • Workshop 9.2 - Web Service Test Client - java.util.NoSuchElementException

    I've found an issue with the Web Services Test Client while developing a web service application in the Weblogic Workshop 9.2 tool. The same schema / code in Workshop 8.1 SP4 works okay in its version of the test client.
    The error seems to manifest itself, when I add the "addresses" element to the "locations" element.
    The error displayed in the weblogic service console is
    <BLOCKQUOTE>
    java.lang.RuntimeException: java.util.NoSuchElementException
    at weblogic.testclient.ConnectionState.createWsdl(ConnectionState.java:63)
    at Controller.refreshWsdl(Controller.java:304)
    at Controller.begin(Controller.java:173)
    at jrockit.reflect.VirtualNativeMethodInvoker.invoke(Ljava.lang.Object;[Ljava.lang.Object;)Ljava.lang.Object;(Unknown Source)
            at java.lang.reflect.Method.invoke(Ljava.lang.Object;[Ljava.lang.Object;I)Ljava.lang.Object;(Unknown Source)
            at org.apache.beehive.netui.pageflow.FlowController.invokeActionMethod(FlowController.java:878)
            at org.apache.beehive.netui.pageflow.FlowController.getActionMethodForward(FlowController.java:808)
            at org.apache.beehive.netui.pageflow.FlowController.internalExecute(FlowController.java:477)
            at org.apache.beehive.netui.pageflow.PageFlowController.internalExecute(PageFlowController.java:305)
            at org.apache.beehive.netui.pageflow.FlowController.execute(FlowController.java:335)
            at org.apache.beehive.netui.pageflow.internal.FlowControllerAction.execute(FlowControllerAction.java:51)
            at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:419)
            at org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.access$201(PageFlowRequestProcessor.java:95)
            at org.apache.beehive.netui.pageflow.PageFlowRequestProcessor$ActionRunner.execute(PageFlowRequestProcessor.java:2042)
            at org.apache.beehive.netui.pageflow.interceptor.action.internal.ActionInterceptors.wrapAction(ActionInterceptors.java:90)
            at org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.processActionPerform(PageFlowRequestProcessor.java:2114)
            at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:224)
            at org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.processInternal(PageFlowRequestProcessor.java:554)
            at org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.process(PageFlowRequestProcessor.java:851)
            at org.apache.beehive.netui.pageflow.AutoRegisterActionServlet.process(AutoRegisterActionServlet.java:630)
            at org.apache.beehive.netui.pageflow.PageFlowActionServlet.process(PageFlowActionServlet.java:157)
            at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
            at javax.servlet.http.HttpServlet.service(HttpServlet.java:743)
            at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
            at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:225)
            at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:127)
            at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:283)
            at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:175)
            at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3211)
    Caused by: java.util.NoSuchElementException
            at java.util.AbstractList$Itr.next(AbstractList.java:427)
            at weblogic.testclient.RequestTemplate.addSoapForParameter(RequestTemplate.java:341)
            at weblogic.testclient.RequestTemplate.addSoapForParameter(RequestTemplate.java:334)
            at weblogic.testclient.RequestTemplate.addSoapForParameter(RequestTemplate.java:334)
            at weblogic.testclient.RequestTemplate.addSoapForParameter(RequestTemplate.java:334)
            at weblogic.testclient.RequestTemplate.addSoapForParameter(RequestTemplate.java:334)
            at weblogic.testclient.RequestTemplate.addSoapForParameter(RequestTemplate.java:334)
            at weblogic.testclient.RequestTemplate.addSoapForParameter(RequestTemplate.java:334)
            at weblogic.testclient.RequestTemplate.addSoapForParameter(RequestTemplate.java:334)
            at weblogic.testclient.RequestTemplate.addSoapForParameter(RequestTemplate.java:334)
            at weblogic.testclient.RequestTemplate.createMessageBody(RequestTemplate.java:220)
            at weblogic.testclient.RequestTemplate.buildRequest(RequestTemplate.java:169)
            at weblogic.testclient.RequestTemplate.createRequestTemplate(RequestTemplate.java:103)
            at weblogic.testclient.RequestTemplate.<init>(RequestTemplate.java:85)
            at weblogic.testclient.WebServiceOperation.<init>(WebServiceOperation.java:120)
            at weblogic.testclient.WsdlOperationParser.createOperation(WsdlOperationParser.java:115)
            at weblogic.testclient.WebService.createOperation(WebService.java:242)
            at weblogic.testclient.WebService.<init>(WebService.java:86)
            at weblogic.testclient.Wsdl.parseWsdl(Wsdl.java:127)
            at weblogic.testclient.Wsdl.<init>(Wsdl.java:59)
            at weblogic.testclient.ConnectionState.createWsdlFromHttpUrl(ConnectionState.java:113)
            at weblogic.testclient.ConnectionState.createWsdl(ConnectionState.java:54)
            at Controller.refreshWsdl(Controller.java:304)
            at Controller.begin(Controller.java:173)
            at jrockit.reflect.VirtualNativeMethodInvoker.invoke(Ljava.lang.Object;[Ljava.lang.Object;)Ljava.lang.Object;(Unknown Source)
            at java.lang.reflect.Method.invoke(Ljava.lang.Object;[Ljava.lang.Object;I)Ljava.lang.Object;(Unknown Source)
            at org.apache.beehive.netui.pageflow.FlowController.invokeActionMethod(FlowController.java:878)
            at org.apache.beehive.netui.pageflow.FlowController.getActionMethodForward(FlowController.java:808)
            at org.apache.beehive.netui.pageflow.FlowController.internalExecute(FlowController.java:477)
    </BLOCKQUOTE>
    The code in the Web Service control is...
    <BLOCKQUOTE>
    package services;
    import javax.jws.WebMethod;
    import javax.jws.WebService;
    import weblogic.jws.WLHttpTransport;
    import au.com.suncorp.services.payment.schema.x0.RequestIdDocument;
    import au.com.suncorp.services.payment.schema.x0.VendorDocument;
    @WebService(targetNamespace="http://suncorp.com.au/services/payment/wsdl/0")
    @WLHttpTransport(serviceUri="services/PaymentService")
    public class Payment {
         @WebMethod
         public RequestIdDocument setupVendor(VendorDocument request) {
              System.out.println(request.xmlText());
              RequestIdDocument result = RequestIdDocument.Factory.newInstance();
              RequestIdDocument.RequestId response = result.addNewRequestId();
              response.setCorrelationId("CorrelationId-" + request.getVendor().getName());
              return result;
    </BLOCKQUOTE>
    The XSD schema is as follows....
    <BLOCKQUOTE>
    <?xml version="1.0" encoding="UTF-8"?>
    <schema xmlns="http://www.w3.org/2001/XMLSchema"
    targetNamespace="http://suncorp.com.au/services/payment/schema/0"
    xmlns:tns="http://suncorp.com.au/services/payment/schema/0">
    <!-- ***************************************************************** -->
    <simpleType name="correlationIdType">
    <annotation>
    <documentation>
    The CorrelationId field.
    </documentation>
    </annotation>
    <restriction base="string"></restriction>
    </simpleType>
    <simpleType name="estTimeIntervalType">
    <annotation>
    <documentation>
    The Estimated Time Interval field.
    </documentation>
    </annotation>
    <restriction base="integer"></restriction>
    </simpleType>
    <simpleType name="vendorIdType">
    <annotation>
    <documentation>
    The Vendor Id field.
    </documentation>
    </annotation>
    <restriction base="string"></restriction>
    </simpleType>
    <simpleType name="nameType">
    <annotation>
    <documentation>
    The Vendor Name field.
    </documentation>
    </annotation>
    <restriction base="string"></restriction>
    </simpleType>
    <simpleType name="persistenceType">
    <annotation>
    <documentation>
    The Persistence field.
    </documentation>
    </annotation>
    <restriction base="boolean"></restriction>
    </simpleType>
    <simpleType name="ownerType">
    <annotation>
    <documentation>
    The Owner field.
    </documentation>
    </annotation>
    <restriction base="string"></restriction>
    </simpleType>
    <simpleType name="sourceReferenceType">
    <annotation>
    <documentation>
    The vendor Source Reference field.
    </documentation>
    </annotation>
    <restriction base="string"></restriction>
    </simpleType>
    <simpleType name="abnType">
    <annotation>
    <documentation>
    The vendor ABN field.
    </documentation>
    </annotation>
    <restriction base="string"></restriction>
    </simpleType>
    <simpleType name="countryType">
    <annotation>
    <documentation>
    The Country field.
    </documentation>
    </annotation>
    <restriction base="string"></restriction>
    </simpleType>
    <simpleType name="stateType">
    <annotation>
    <documentation>
    The State field.
    </documentation>
    </annotation>
    <restriction base="string"></restriction>
    </simpleType>
    <simpleType name="cityType">
    <annotation>
    <documentation>
    The City field.
    </documentation>
    </annotation>
    <restriction base="string"></restriction>
    </simpleType>
    <simpleType name="postcodeType">
    <annotation>
    <documentation>
    The Postcode field.
    </documentation>
    </annotation>
    <restriction base="string"></restriction>
    </simpleType>
    <simpleType name="gstRegisteredType">
    <annotation>
    <documentation>
    The GST Registered field.
    </documentation>
    </annotation>
    <restriction base="boolean"></restriction>
    </simpleType>
    <simpleType name="withHoldingType">
    <annotation>
    <documentation>
    The WithHolding field.
    </documentation>
    </annotation>
    <restriction base="boolean"></restriction>
    </simpleType>
    <simpleType name="vendorClassType">
    <annotation>
    <documentation>
    The Vendor Class field.
    </documentation>
    </annotation>
    <restriction base="string"></restriction>
    </simpleType>
    <simpleType name="statusType">
    <annotation>
    <documentation>The Status field.</documentation>
    </annotation>
    <restriction base="string">
    <enumeration value="ACTIVE">
    <annotation>
    <documentation>an enumerated value.</documentation>
    </annotation>
    </enumeration>
    <enumeration value="INACTIVE">
    <annotation>
    <documentation>an enumerated value.</documentation>
    </annotation>
    </enumeration>
    </restriction>
    </simpleType>
    <simpleType name="locationIdType">
    <annotation>
    <documentation>
    The Location Id field.
    </documentation>
    </annotation>
    <restriction base="string"></restriction>
    </simpleType>
    <simpleType name="effectiveDateType">
    <annotation>
    <documentation>
    The Effective Date field.
    </documentation>
    </annotation>
    <restriction base="dateTime"></restriction>
    </simpleType>
    <simpleType name="addressIdType">
    <annotation>
    <documentation>
    The AddressId field.
    </documentation>
    </annotation>
    <restriction base="string"></restriction>
    </simpleType>
    <simpleType name="addressType">
    <annotation>
    <documentation>
    The Address field.
    </documentation>
    </annotation>
    <restriction base="string"></restriction>
    </simpleType>
    <simpleType name="contactIdType">
    <annotation>
    <documentation>
    The ContactId field.
    </documentation>
    </annotation>
    <restriction base="string"></restriction>
    </simpleType>
    <simpleType name="contactMethodType">
    <annotation>
    <documentation>
    The Address field.
    </documentation>
    </annotation>
    <restriction base="string">
    <enumeration value="FAX">
    <annotation>
    <documentation>an enumerated value.</documentation>
    </annotation>
    </enumeration>
    <enumeration value="PHONE">
    <annotation>
    <documentation>an enumerated value.</documentation>
    </annotation>
    </enumeration>
    <enumeration value="EMAIL">
    <annotation>
    <documentation>an enumerated value.</documentation>
    </annotation>
    </enumeration>
    </restriction>
    </simpleType>
    <simpleType name="dispatchMethodType">
    <annotation>
    <documentation>
    The Dispatch Method field.
    </documentation>
    </annotation>
    <restriction base="string">
    <enumeration value="EFT">
    <annotation>
    <documentation>an enumerated value.</documentation>
    </annotation>
    </enumeration>
    <enumeration value="FAX">
    <annotation>
    <documentation>an enumerated value.</documentation>
    </annotation>
    </enumeration>
    <enumeration value="EMAIL">
    <annotation>
    <documentation>an enumerated value.</documentation>
    </annotation>
    </enumeration>
    </restriction>
    </simpleType>
    <simpleType name="currencyType">
    <annotation>
    <documentation>
    The Currency field.
    </documentation>
    </annotation>
    <restriction base="boolean"></restriction>
    </simpleType>
    <simpleType name="payGroupType">
    <annotation>
    <documentation>
    The Pay Group field.
    </documentation>
    </annotation>
    <restriction base="string"></restriction>
    </simpleType>
    <simpleType name="payHoldType">
    <annotation>
    <documentation>
    The Pay Hold field.
    </documentation>
    </annotation>
    <restriction base="boolean"></restriction>
    </simpleType>
    <simpleType name="freightTermsType">
    <annotation>
    <documentation>
    The Freight Terms field.
    </documentation>
    </annotation>
    <restriction base="string"></restriction>
    </simpleType>
    <simpleType name="payHandlingType">
    <annotation>
    <documentation>
    The Pay Handling field.
    </documentation>
    </annotation>
    <restriction base="string"></restriction>
    </simpleType>
    <simpleType name="delayDaysType">
    <annotation>
    <documentation>
    The Delay Days field.
    </documentation>
    </annotation>
    <restriction base="integer"></restriction>
    </simpleType>
    <simpleType name="payFromBankType">
    <annotation>
    <documentation>
    The Pay From Bank field.
    </documentation>
    </annotation>
    <restriction base="string"></restriction>
    </simpleType>
    <simpleType name="paymentInstructionsType">
    <annotation>
    <documentation>
    The Payment Instructions field.
    </documentation>
    </annotation>
    <restriction base="string"></restriction>
    </simpleType>
    <simpleType name="paymentTermsType">
    <annotation>
    <documentation>
    The Payment Terms field.
    </documentation>
    </annotation>
    <restriction base="string">
    <enumeration value="COD">
    <annotation>
    <documentation>an enumerated value.</documentation>
    </annotation>
    </enumeration>
    <enumeration value="SEVEN_DAYS">
    <annotation>
    <documentation>an enumerated value.</documentation>
    </annotation>
    </enumeration>
    <enumeration value="FOURTEEN_DAYS">
    <annotation>
    <documentation>an enumerated value.</documentation>
    </annotation>
    </enumeration>
    <enumeration value="TWENTYONE_DAYS">
    <annotation>
    <documentation>an enumerated value.</documentation>
    </annotation>
    </enumeration>
    <enumeration value="THIRTY_DAYS">
    <annotation>
    <documentation>an enumerated value.</documentation>
    </annotation>
    </enumeration>
    </restriction>
    </simpleType>
    <simpleType name="paymentMethodType">
    <annotation>
    <documentation>
    The Payment Method field.
    </documentation>
    </annotation>
    <restriction base="string">
    <enumeration value="EFT">
    <annotation>
    <documentation>an enumerated value.</documentation>
    </annotation>
    </enumeration>
    <enumeration value="CHEQUE">
    <annotation>
    <documentation>an enumerated value.</documentation>
    </annotation>
    </enumeration>
    </restriction>
    </simpleType>
    <simpleType name="payBankIdType">
    <annotation>
    <documentation>
    The PayBankId field.
    </documentation>
    </annotation>
    <restriction base="string"></restriction>
    </simpleType>
    <simpleType name="descriptionType">
    <annotation>
    <documentation>
    The Pay Bank Description field.
    </documentation>
    </annotation>
    <restriction base="string"></restriction>
    </simpleType>
    <simpleType name="bankIdType">
    <annotation>
    <documentation>
    The BankId field.
    </documentation>
    </annotation>
    <restriction base="string"></restriction>
    </simpleType>
    <simpleType name="branchIdType">
    <annotation>
    <documentation>
    The BranchId field.
    </documentation>
    </annotation>
    <restriction base="string"></restriction>
    </simpleType>
    <simpleType name="bankAccountType">
    <annotation>
    <documentation>
    The BankAccount field.
    </documentation>
    </annotation>
    <restriction base="string"></restriction>
    </simpleType>
    <!-- ***************************************************************** -->
    <complexType name="payBankDetailsType">
    <sequence>
    <element name="payBankId" type="tns:payBankIdType" maxOccurs="1" minOccurs="0" nillable="true"></element>
    <element name="description" type="tns:descriptionType" maxOccurs="1" minOccurs="0" nillable="true"></element>
    <element name="bankId" type="tns:bankIdType" maxOccurs="1" minOccurs="0" nillable="true"></element>
    <element name="branchId" type="tns:branchIdType" maxOccurs="1" minOccurs="0" nillable="true"></element>
    <element name="bankAccount" type="tns:bankAccountType" maxOccurs="1" minOccurs="0" nillable="true"></element>
    <element name="effectiveDate" type="tns:effectiveDateType" maxOccurs="1" minOccurs="0" nillable="true"></element>
    </sequence>
    </complexType>
    <complexType name="paymentDetailsType">
    <sequence>
    <element name="paymentTerms" type="tns:paymentTermsType" maxOccurs="1" minOccurs="0" nillable="true"></element>
    <element name="paymentMethod" type="tns:paymentMethodType" maxOccurs="1" minOccurs="0" nillable="true"></element>
    <element name="dispatchMethod" type="tns:dispatchMethodType" maxOccurs="1" minOccurs="0" nillable="true"></element>
    <element name="payGroup" type="tns:payGroupType" maxOccurs="1" minOccurs="0" nillable="true"></element>
    <element name="currency" type="tns:currencyType" maxOccurs="1" minOccurs="0" nillable="true"></element>
    <element name="payHold" type="tns:payHoldType" maxOccurs="1" minOccurs="0" nillable="true"></element>
    <element name="freightTerms" type="tns:freightTermsType" maxOccurs="1" minOccurs="0" nillable="true"></element>
    <element name="payHandling" type="tns:payHandlingType" maxOccurs="1" minOccurs="0" nillable="true"></element>
    <element name="delayDays" type="tns:delayDaysType" maxOccurs="1" minOccurs="0" nillable="true"></element>
    <element name="payFromBank" type="tns:payFromBankType" maxOccurs="1" minOccurs="0" nillable="true"></element>
    <element name="paymentInstructions" type="tns:paymentInstructionsType" maxOccurs="1" minOccurs="0" nillable="true"></element>
    <element name="bankDetails" type="tns:payBankDetailsType" maxOccurs="1" minOccurs="1"></element>
    </sequence>
    </complexType>
    <complexType name="contactDetailsType">
    <sequence>
    <element name="contactId" type="tns:contactIdType" maxOccurs="1" minOccurs="0" nillable="true"></element>
    <element name="effectiveDate" type="tns:effectiveDateType" maxOccurs="1" minOccurs="0" nillable="true"></element>
    <element name="name" type="tns:nameType" maxOccurs="1" minOccurs="0" nillable="true"></element>
    <element name="contactMethod" type="tns:contactMethodType" maxOccurs="1" minOccurs="0" nillable="true"></element>
    <element name="dispatchMethod" type="tns:dispatchMethodType" maxOccurs="1" minOccurs="0" nillable="true"></element>
    <element name="status" type="tns:statusType" maxOccurs="1" minOccurs="1"></element>
    </sequence>
    </complexType>
    <complexType name="arrayOfContactDetails">
    <sequence>
    <element name="contact" type="tns:contactDetailsType" maxOccurs="unbounded" minOccurs="0"></element>
    </sequence>
    </complexType>
    <complexType name="addressDetailsType">
    <sequence>
    <element name="addressId" type="tns:addressIdType" maxOccurs="1" minOccurs="0" nillable="true"></element>
    <element name="effectiveDate" type="tns:effectiveDateType" maxOccurs="1" minOccurs="0" nillable="true"></element>
    <element name="name" type="tns:nameType" maxOccurs="1" minOccurs="0" nillable="true"></element>
    <element name="address" type="tns:addressType" maxOccurs="1" minOccurs="1"></element>
    <element name="postcode" type="tns:postcodeType" maxOccurs="1" minOccurs="1"></element>
    <element name="city" type="tns:cityType" maxOccurs="1" minOccurs="1"></element>
    <element name="state" type="tns:stateType" maxOccurs="1" minOccurs="1"></element>
    <element name="country" type="tns:countryType" maxOccurs="1" minOccurs="1"></element>
    <element name="contacts" type="tns:arrayOfContactDetails" maxOccurs="1" minOccurs="0"></element>
    </sequence>
    </complexType>
    <complexType name="arrayOfAddressDetails">
    <sequence>
    <element name="address" type="tns:addressDetailsType" maxOccurs="unbounded" minOccurs="0"></element>
    </sequence>
    </complexType>
    <complexType name="locationDetailsType">
    <sequence>
    <element name="locationId" type="tns:locationIdType" maxOccurs="1" minOccurs="0" nillable="true"></element>
    <element name="effectiveDate" type="tns:effectiveDateType" maxOccurs="1" minOccurs="0" nillable="true"></element>
    <element name="orderingVendorId" type="tns:vendorIdType" maxOccurs="1" minOccurs="0" nillable="true"></element>
    <element name="invoicingVendorId" type="tns:vendorIdType" maxOccurs="1" minOccurs="0" nillable="true"></element>
    <element name="remittingVendorId" type="tns:vendorIdType" maxOccurs="1" minOccurs="0" nillable="true"></element>
    <element name="returningVendorId" type="tns:vendorIdType" maxOccurs="1" minOccurs="0" nillable="true"></element>
    <element name="status" type="tns:statusType" maxOccurs="1" minOccurs="1"></element>
    <element name="paymentDetails" type="tns:paymentDetailsType" maxOccurs="1" minOccurs="1"></element>
    <element name="addresses" type="tns:arrayOfAddressDetails" maxOccurs="1" minOccurs="0"></element>
    </sequence>
    </complexType>
    <complexType name="arrayOfLocationDetails">
    <sequence>
    <element name="location" type="tns:locationDetailsType" maxOccurs="unbounded" minOccurs="0"></element>
    </sequence>
    </complexType>
    <!-- ***************************************************************** -->
    <element name="Vendor">
    <complexType mixed="true">
    <annotation>
    <documentation>
    The Vendor request object.
    </documentation>
    </annotation>
    <sequence>
    <element name="vendorId" type="tns:vendorIdType" maxOccurs="1" minOccurs="1"></element>
    <element name="name" type="tns:nameType" maxOccurs="1" minOccurs="1"></element>
    <element name="persistence" type="tns:persistenceType" maxOccurs="1" minOccurs="1" default="true"></element>
    <element name="owner" type="tns:ownerType" maxOccurs="1" minOccurs="0" nillable="true"></element>
    <element name="sourceReference" type="tns:sourceReferenceType" maxOccurs="1" minOccurs="0" nillable="true"></element>
    <element name="corporateVendorId" type="tns:vendorIdType" maxOccurs="1" minOccurs="0" nillable="true"></element>
    <element name="abn" type="tns:abnType" maxOccurs="1" minOccurs="0" nillable="true"></element>
    <element name="country" type="tns:countryType" maxOccurs="1" minOccurs="1" default="AUS"></element>
    <element name="gstRegistered" type="tns:gstRegisteredType" maxOccurs="1" minOccurs="0" nillable="true" default="true"></element>
    <element name="withHolding" type="tns:withHoldingType" maxOccurs="1" minOccurs="0" nillable="true" default="false"></element>
    <element name="status" type="tns:statusType" maxOccurs="1" minOccurs="1" default="ACTIVE"></element>
    <element name="vendorClass" type="tns:vendorClassType" maxOccurs="1" minOccurs="1"></element>
    <element name="locations" type="tns:arrayOfLocationDetails" maxOccurs="1" minOccurs="0"></element>
    </sequence>
    </complexType>
    </element>
    <element name="RequestId">
    <complexType mixed="true">
    <annotation>
    <documentation>The typical response object for requests.
    </documentation>
    </annotation>
    <sequence>
    <element name="correlationId" type="tns:correlationIdType" maxOccurs="1" minOccurs="1"></element>
    <element name="estTimeInterval" type="tns:estTimeIntervalType" maxOccurs="1" minOccurs="0" nillable="true" default="24"></element>
    </sequence>
    </complexType>
    </element>
    </schema>
    </BLOCKQUOTE>

    Hi Paul
    I believe there is some issue with the TestClient.
    Instead to test, can you please try this?
    1) Right click on Payment.java and choose Webservices -> generate wsdl
    2) Right click on the wsdl and choose Webservices -> Test with WebServices Explorer.
    3) Click on setVendor method
    4) Enter the request parameters
    Sample one:
    <ns:Vendor xmlns="http://www.openuri.org/" xmlns:ns="http://suncorp.com.au/services/payment/schema/0">
    <vendorId xmlns="">Vendor Id</vendorId>
    <name xmlns="">My correlation Id</name>
    <persistence xmlns="">false</persistence>
    <country xmlns="">USA</country>
    <status xmlns="">ACTIVE</status>
    <vendorClass xmlns="">VendorClass</vendorClass>
    </ns:Vendor>
    5) Hit the button 'Go'. The entire soap response will be displayed in the bottom.
    I have tested this and it works fine.
    Output I got:
    <m:setupVendorResponse xmlns:m="http://suncorp.com.au/services/payment/wsdl/0">
    <RequestId xmlns="http://suncorp.com.au/services/payment/schema/0">
    <correlationId>CorrelationId-My correlation Id</correlationId>
    </RequestId>
    </m:setupVendorResponse>
    Thanks,
    Vimala

  • Need advice about web services and Java beans

    Hi
    I am very new to web services and to Java beans as well.
    I am trying to understand if and how a web service can use functionality I have in a Java bean. I couldn't find any documentation I can use.
    For example:
    InitialContext ic = new InitialContext();
    Adder adder = (Adder) ic.lookup("ejb/AdderJNDI");In a EJB client project (I'm working with Eclipse) if I add the EJB project to the build path, the Adder interface is recognized.
    Theoritacally I thought I can do the same in a web service server project, but the Adder interface is not recognized.
    Is there something I can read to understand how I need to use the EJB or implement the web service?
    Many thanks
    Sigal

    Okay....I think I made some errors with the original scenario:
    It basically comes down to this....I think. OCS Calendar has a set of Java classes and methods that provide an abstraction for their web services interface. I know how to create something to use these classes using an IDE like JDeveloper, but I'm not sure how that would work with HTML DB.
    I've noticed that the SQL Workshop has a place for Java sources and classes, and I've heard mentions of PL/SQL wrapping. Is there a way to import classes into an HTML DB workspace, wrap 'em up, and access them via PL/SQL?
    Thanks again,
    Jonathan

  • Importing external web service with SSL certificate security

    Hello,
    I'm trying to import an external web service (that resides in another server, independent of ours). However, right after I enter the WSDL in the import window I get the following error in the NWDS:
    sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target      [Error: com.sap.ide.es.core.ui.internal.wizards.fragments  Thread[ModalContext,6,main]]
    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(Alerts.java:174)
              at com.sun.net.ssl.internal.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1649)
              at com.sun.net.ssl.internal.ssl.Handshaker.fatalSE(Handshaker.java:241)
              at com.sun.net.ssl.internal.ssl.Handshaker.fatalSE(Handshaker.java:235)
              at com.sun.net.ssl.internal.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1206)
              at com.sun.net.ssl.internal.ssl.ClientHandshaker.processMessage(ClientHandshaker.java:136)
              at com.sun.net.ssl.internal.ssl.Handshaker.processLoop(Handshaker.java:593)
              at com.sun.net.ssl.internal.ssl.Handshaker.process_record(Handshaker.java:529)
              at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:893)
              at com.sun.net.ssl.internal.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1138)
              at com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1165)
              at com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1149)
              at sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:434)
              at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:166)
              at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1172)
              at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:234)
              at com.sap.ide.es.core.ui.internal.wizards.fragments.UrlValidationRunnable.getURLAsStream(UrlValidationRunnable.java:137)
              at com.sap.ide.es.core.ui.internal.wizards.fragments.UrlValidationRunnable.validate(UrlValidationRunnable.java:75)
              at com.sap.ide.es.core.ui.internal.wizards.fragments.UrlValidationRunnable.run(UrlValidationRunnable.java:55)
              at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:121)
    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(PKIXValidator.java:323)
              at sun.security.validator.PKIXValidator.engineValidate(PKIXValidator.java:217)
              at sun.security.validator.Validator.validate(Validator.java:218)
              at com.sun.net.ssl.internal.ssl.X509TrustManagerImpl.validate(X509TrustManagerImpl.java:126)
              at com.sun.net.ssl.internal.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:209)
              at com.sun.net.ssl.internal.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:249)
              at com.sun.net.ssl.internal.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1185)
              ... 15 more
    Caused by: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
              at sun.security.provider.certpath.SunCertPathBuilder.engineBuild(SunCertPathBuilder.java:174)
              at java.security.cert.CertPathBuilder.build(CertPathBuilder.java:238)
              at sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:318)
              ... 21 more
    Has anyone ever consumed an external web service with SSL certificate security? How do you import this in your Web Dynpro project?
    Cheers!

    Hi Alain,
    I just checked on a newer NW environment (NW 7.2) and was presented an empty list as well... It seems the mapping procedure I described is deprecated since NW 7.11, and the modeled CAF application service is already exposed as a web service.
    You may want to have a look at http://help.sap.com/saphelp_nwce711/helpdata/en/43/f173947bbb025be10000000a1553f7/content.htm or http://scn.sap.com/message/7852996 for more info

  • Secured Sybase Web Service with outside certificate authority

    Hello,
    I would like to use Secured Sybase Web Service with outside certificate authority, like Symantec. Could you let me know how I can create CSR for sending to Symantec? What other steps do I need to do?
    Thanks,
    Sudarat.

    Hello Jason,
    Thanks for your reply. The certificate authority require the CSR file before issue a signed certificate. If this is a signed certificate for IIS web server, I can create CSR from IIS. But I cannot use a signed certificate created from CSR of IIS with Sybase Web Service. The below steps are what I have tried.
    1. I use CreateCert.exe with /r parameter to create CSR and private key.
    2. I sent CSR to a certificate authority and they send back a signed certificate.
    3. I have to combine a signed certificate from #2 with private key created from #1. Then use that file to specify with -xs{https …when starting the service.
    Are the above steps what I have to do?  If so, do I need to redistribute createcert.exe to my customers who want to use my application and how? Why I cannot use the signed certificate created from CSR of IIS?
    Thanks,
    Sudarat.

  • Java app with web service and servlets

    Hi. I intend to make a java application which exposes some methods as a web service and as jsp/servlets. It's core functionality is not really web centric, but its more a java app with a web tier. I am not sure about how the architecture of such a system would look like using the java platform. I currently see three options:
    1. Run everything in a servlet container like tomcat. I hesitate to do this because i would be putting a lot of functionality which isn't about the web into a servlet container. Also, I have a lot of application scope data that is maintained and shared by all servlets/web services. However, it would be really easy just to put everything into tomcat and use ServletContext to maintain some global objects.
    2. Use a Java EE to seperate application/business logic and data access into session beans and entity beans. I hesitate to this because it seem a bit overkill because the system isn't very big or complex right now. It also means that I would have to learn to use EJB's instead of just using some POJOs.
    3. Run the web tier in a servlet container and the main app in a separate JVM, and then connect the tier by sending serialized objects over TCP sockets. I don't like writing network code but at least there is some separation of the tiers.
    What would you do? Maybe I have overlooked a much better solution to the problem?
    Let me just say that the system is the product of a student project spanning one semester, so it's important to choose the RIGHT solution (architectural-wise) instead of the something quick and dirty that is hard to defend.

    jschell wrote:
    Run everything in a servlet container like tomcatTomcat is a JEE container.Now I am confused. Maybe you mean Glassfish? Tomcat is definitely a web container(?).
    Let me just say that the system is the product of a student project spanning one semester, so it's important to choose the RIGHT solution (architectural-wise) That pretty much makes it impossible then.
    1. A "Right" solution is generally only proven by time.
    2. It requires a great deal of knowledge about the business domain.Yeah, you are right. Let be try to rephrase it. What solution (pattern) would be considered the most common or appropriate when you have a Java App and want to expose a few methods as a website and web service?
    I hesitate to do this because i would be putting a lot of functionality which isn't about the web into a servlet container. Also, I have a lot of application scope data that is maintained and shared by all servlets/web servicesHuh? Do you already have an exposed web service? If you already have a server which other clients communicate then where does this functionality that you don't want to be tomcat running now? Or where do you think that you want to run it? And if you are or do run it somewhere else then tomcat could access it the same way any other client accesses that server.Sorry, that sentence was written badly. I don't have anything right now. What I meant to write was that I will have a lot of application scope data, objects that are kept in memory as long as the server is running, shared by multiple servlet instances.

  • Deploying a VB dll using some web service and accessing it through java

    I'm new to Web Services Based Programming. I would like to know whether this is possible and if so has anyone tried it. I want to create a vb dll that contains the remote methods that the client will access from a java program. After going thru a lot of articles, I'm still unsure on how to do this. I found one method was to Create a VB program/dll, deploy it in a web service and create the java program that accesses by another web service.
    I'm doing this as part of my lab syllabus. The thing is My lab exercises do not state anything about the technologies that I can use to do this.
    This is all that is stated there:-
    Creation Of DLL Using VB And Deploy it in Java
    I just cant get any ideas other than deploying both the parts as web services. If anyone has Better ideas for this, I would really appreciate it.
    I dont know anything about CORBA for languages other than Java and I'm already using the servlets and EJB's in my normal life. I'm also learning the ORB based programming in java. Therefore your help will probably help me learn something new then what I know.

    Sorry I wasn't too specific in my last question.
    This is my java class calling the native method print
    //HeyWorld.java
    class HeyWorld {
    private native void print();
    public static void main(String[] args) {
    new HeyWorld().print();
    static {
    System.loadLibrary("HeyWorld");
    In this case, my C method for calling a C++ method: HelloWorld.cpp
    #include "jni.h"
    #include "stdio.h"
    #include "stdafx.h"
    #Include "HeyWorld.h" //this is where i get my function prototype
    #include "Test.h" //this is the C++ header where the print method and the Test class is
    JNIEXPORT void JNICALL
    Java_HeyWorld_print(JNIEnv *env, jobject obj)
    CTest a; //CTest is the print class I created
    a.print();
    //This is the header for Test.h
    class CTest: public CWinApp
    public:
         CTest(); //constructor
         void print(); //our method
    //And this is the implementation of the class Test.cpp
    void CTest::print()
         printf("Hey World!\n");
         return ;
    I could compile the Test.cpp, HeyWorld.cpp successfully. However when I tried to compile HeyWorld.cpp using
    cl -I<path of jdk include> -I<path of jdk include win32> -LD HeyWorld.cpp -FeHeyWorld.dll,
    the VC++ 6.0 compiler gave me this error:
    HeyWorld.obj:error LNK2001: unresolved external symbol "public:_thiscall CTest::CTest(void)"
    HeyWorld.obj:error LNK2001: unresolved external symbol "public:_thiscall CTest::print(void)"
    Thanks for the help.

Maybe you are looking for

  • Domain Names and Oracle

    Hi, I am preparing to install Oracle 8i on my Windows NT machine, and I stumped into something that I can find no answer for. Oracle asks me to say what my domain name is (e.g. suse.com). It uses this to manage the different Oracle instances, e.g., s

  • Airport Extreme in a Windows wireless network

    Hello I am connected to the internet via a Windows based NetGear wireless network. There are also other computers on this network, though they are running Windows (which is why I say it is a Win based network). I want to connect a wireless enabled pr

  • Error in connecting to Oracle webcenter DB with Endeca

    Hi, I gave the passthrough values and the rest of the details in the developer studio. However, on running baseline, I am getting the below error: Apr 15, 2013 5:22:23 PM com.endeca.soleng.itl.jdbc.AdvancedJDBCColumnHandler <init> WARNING: Could not

  • Property Inspector Problem.

    I am trying to change a button from text to image.  I want to view the other buttons in the folder but I can not see the open folder.  As you can see in the picture it is cut off and I cannot expand it.  Can anyone help me with this? Thank you, Chris

  • Need immediate response

    hi, i have created checkbox through lov,the name of checkbox is sport and its static values are cricket,football etc now i want to check whether cricket is checked or not if checked then i want to do insertion in data base. pls write the query need t