WebServices Client on Weblogic 8.1 using HTTPS

Hi All,
I have created a custom keystore file based on the SSL certificate obtained from the browser and then importing it into a java keystore file using the keytool.
I am trying to do something like this:
System.setProperty( "javax.net.ssl.trustStore", (this.getClass().getResource("/resources/abc.keystore")).getPath());
HostnameVerifier hv = new HostnameVerifier(){
public boolean verify(String urlHostName, SSLSession session) {
return true;
HttpsURLConnection.setDefaultHostnameVerifier(hv);
This part goes fine and System.getProperty gives me the proper class path.
After this, I am able to access the Web Service using eclipse and WL8.1 SP4. Though, the moment I deploy the application to the actual server (also using WL8.1 SP4), it throws the following exception:
AxisFault
faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException
faultSubcode:
faultString: javax.net.ssl.SSLHandshakeException: sun.security.validator.Valida
torException: No trusted certificate found
faultActor:
faultNode:
faultDetail:
{http://xml.apache.org/axis/}stackTrace:javax.net.ssl.SSLHandshakeExcept
ion: sun.security.validator.ValidatorException: No trusted certificate found
at com.sun.net.ssl.internal.ssl.BaseSSLSocketImpl.a(DashoA6275)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.a(DashoA6275)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.a(DashoA6275)
at com.sun.net.ssl.internal.ssl.SunJSSE_az.a(DashoA6275)
at com.sun.net.ssl.internal.ssl.SunJSSE_az.a(DashoA6275)
at com.sun.net.ssl.internal.ssl.SunJSSE_ax.a(DashoA6275)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.a(DashoA6275)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.j(DashoA6275)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(DashoA6275)
at org.apache.axis.components.net.JSSESocketFactory.create(JSSESocketFac
tory.java:186)
at org.apache.axis.transport.http.HTTPSender.getSocket(HTTPSender.java:1
91)
at org.apache.axis.transport.http.HTTPSender.writeToSocket(HTTPSender.ja
va:404)
at org.apache.axis.transport.http.HTTPSender.invoke(HTTPSender.java:138)
at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrateg
y.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)
Shouldn't things like this just work as is. If it is working on my windows machine in eclipse, I was expecting it to work hassle-free on the server. Any thoughts and suggestions are appreciated.
Thanks,
Rahul
Edited by rcpatel79 at 05/30/2007 9:21 AM

So I added the DOCTYPE and now I get another error. And that is as follows:
ERROR: Error from ejbc: Error parsing file 'META-INF/ejb-jar.xml' at line: 5 column: 219. Attribute "xmlns:xsi" must be declared for element type "ejb-jar".
It seems that when the EJB is created, then it automatically creates the appropriate ejb-jar.xml and for some reason I guess the one it is creating this time is not good enough for Weblogic because first the DOCTYPE was missing and then after inserting the DOCTYPE I am getting the above error. Any help would be appreciated. This is the first time I am using Weblogic and this is a rather disheartening amount of progress I have made since last night! ;(
Thanks in advance for any help. If I am doing something silly please point it out so I can learn!
Cheers,
Surya

Similar Messages

  • Problem in SSL programation client in Weblogic 5.1 using JSSE

    How to solve this Exception. When I sent more than 8000 bytes of data in the request weblogic 5.1 in solaris server gives me this error. But the same server and same configuration in Window NT with same SSLClient program does not give any expection even if i send 60000 bytes in the request.
    SSLClient Program used given below. How to solve this problem. Any server setting is required.
    Exception got in the weblogic server 5.1 in solaris server
    weblogic.socket.MaxMessageSizeExceededException: [Incoming HTTP request headers of size 8320 bytes exceeds the configured maximum of 8192 bytes]
    at weblogic.socket.MuxableSocketHTTP.incrementBufferOffset(MuxableSocketHTTP.java:111)
    at weblogic.socket.SSLFilter.isMessageComplete(SSLFilter.java:195)
    at weblogic.socket.PosixSocketMuxer.processSockets(PosixSocketMuxer.java:361)
    at weblogic.socket.SocketReaderRequest.execute(SocketReaderRequest.java:23)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:129)
    SSLClient Program used: JSSE 1.0.2 package is used for SSL
    import java.io.*;
    import javax.net.ssl.*;
    import java.net.*;
    import com.sun.net.ssl.*;
    import java.security.KeyStore;
    public class SSLClient {
         public SSLClientCheck()
              System.out.println(" SSLClient is instantiated ...");     
         public String getSSLConnection(String host,String port,String keystorepwd,String truststorepwd,
                                            String keystorepath,String truststorepath,String filepath,String parName,String message)throws Exception
              String output = "";
              int iport = Integer.parseInt(port);
                             SSLSocketFactory factory = null;          
                             SSLContext ctx;
                             KeyManagerFactory kmf;                         
                             KeyStore ks;                         
                             KeyStore ks2;
                             TrustManagerFactory tmf;
                             char[] storepass = keystorepwd.toCharArray();
                             char[] truststorepass = truststorepwd.toCharArray();
                             ctx = SSLContext.getInstance("SSLv3");                    
                             kmf = KeyManagerFactory.getInstance("SunX509");
                             ks = KeyStore.getInstance("JKS");                         
                             ks.load(new FileInputStream(keystorepath), storepass);
                             kmf.init(ks, storepass);                         
                             tmf = TrustManagerFactory.getInstance("SunX509");                         
                             ks2 = KeyStore.getInstance("JKS");
                             ks2.load(new FileInputStream(truststorepath), truststorepass);
                             tmf.init(ks2);
                             ctx.init(kmf.getKeyManagers(),tmf.getTrustManagers(), null);     
                             factory = ctx.getSocketFactory();
                   SSLSocket socket = (SSLSocket)factory.createSocket(host,iport);
                   socket.startHandshake();
                   PrintWriter out = new PrintWriter(
                                  new BufferedWriter(
                                  new OutputStreamWriter(
                                       socket.getOutputStream())));
                   out.println("GET " + filepath+"?"+parName+"="+URLEncoder.encode(message) + " HTTP/1.0");
                   out.println();
                   out.flush();
                   if (out.checkError())
                        System.out.println("SSLSocketClient: java.io.PrintWriter error");
                   /* read response */
                   BufferedReader in = new BufferedReader(
                                  new InputStreamReader(
                                  socket.getInputStream()));
                        String inputLine ;                    
                        while ((inputLine = in.readLine()) != null){                         
                        output = output+inputLine;
                             //System.out.println(inputLine);                    
                   in.close();
                   out.close();
                   socket.close();                    
              return output;
         public static void main(String args[])
                   String host = "host name";
                   String port="7001";
                   String keystorepwd="cqrcqr";
                   String keystorepwd="changeit";
                   String keystorepath ="d:/weblogic/myserver/certificate/cqrstore";
                   String truststorepath="d:/jdk1.3/jre/security/cacerts";
                   String filepath="/servlets/SSLDemo";
                   String parName="xml_message";
                   String message="xml message";// of size more than 9000 bytes
              try{
              SSLClient ssl = new SSLClient();
              String output = ssl.getSSLConnection(host,port,keystorepwd,keystorepwd,keystorepath,truststorepath,filepath,parName,message);
              System.out.println(output);
              catch(Exception e)
                   e.printStackTrace();
    }

    Maybe you should consider upgrading your Weblogic to a newer one. It might resolve the issue.

  • Configuring Weblogic server  to use HTTP protocol instead of T3

    It is posible to set two Weblogic servers to communicate using the HTTP protocol instead of the T3 protocol? We are able to communicate between servers using the T3 protocol. We were also able to set a server to communicate to a client using the HTTP protocol. We can not configure two servers to communicate using the HTTP protocol. Any advise how to configure the servers to work this way?
    thanks,
    R.

    "There was a problem with your request,please contact your administrator."
    "Error details:Error building pipeline.Failed to instantiate ExtensionRuntime"Check the CAS logs to see if there are any further details or a stack-trace for the error.
    -->When I tried in browser it says
    "The address wasn't understood
    Firefox doesn't know how to open this address, because the protocol (idc) isn't associated with any program.
    You might need to install other software to open this address."Expected.
    URL format is like
    idc://<server_name>:<port>/folderPath/I think that only proto/hostname/port is required - you could try without the folder path. Which port are you actually using, and can you confirm that Intradoc is running on that port?
    Best
    Brett

  • WebService Client on Weblogic 10.3.5 invoke Webservice

    I have a web application on weblogic 10.3.5.This application needs to talk to another secure website via a webservice.
    I have setup keystores in weblogic as -Custom identity and Java Standard trust.
    Made a new keystore
    Included the certificate chain from the target website in my Java cacert file.
    Configured the SSl tab in weblogic but when I try to hit the wsdl from my application I get the following exception
    weblogic.wsee.jaxrpc.soapfault.WLSOAPFaultException: Failed to receive
    essage javax.net.ssl.SSLKeyException: [Security:090478]Certificate chain receiv
    d from ---------- was not signed properly causing SSL handshake failure.
    Is there some issue with the certificate chain for my target site or I am configuring it wrong.Please help.
    I am geting no clues how to fix this
    Any advice is appretiated .
    Thanks,

    You have to use it in the startWeblogic.cmd or startWeblolgic.sh file as JAVA_OPTIONS value :
    JAVA_OPTIONS="-Dssl.debug=true -Dweblogic.StdoutDebugEnabled=true ${JAVA_OPTIONS}" ----- For startWeblogic.sh
    set JAVA_OPTIONS=-Dssl.debug=true -Dweblogic.StdoutDebugEnabled=true ${JAVA_OPTIONS} ----- For startWeblogic.cmd
    If you are starting the servers through the node manager then use these flags From Admin console : servers >>>. MS1 >>>> server start >>>> Arguments :
    thanks,
    Sandeep

  • WLS 8.1.4 - Generating WebService client with HTTP 1.1 protocol

    I tried to generated a web service client (Weblogic Workshop 8.1.4) from a WSDL.
    When I run this client I found that it uses HTTP 1.0 protocol (from access log)
    Is there a way (flag,...) to force the client to use HTTP 1.1 protocol ?
    Thanks
    Andrea

    martin ng wrote:
    any reply so far?....seems to me weblogic need to improve their support. Whenever i make a query eveything goes to Forum.Hi. I hope it's documented somewhere that these forums are not
    official BEA/WebLogic support. For quick official support, open
    a case with them at:
    http://www.bea.com/framework.jsp?CNT=index.htm&FP=/content/support/contacts/
    Joe

  • Webservices client

    Hi,
    I have deployed webservice which is running on Weblogic server. For that I have to write a webservices client in VC++, for my java webservice the arguments are String and Complex type and return type is Complex type.
    Can any body tell me how to write webservice client in C++ or VC++ using VC++ compiler.
    Earliest response with sample code Appreciated.
    Thanks in advance,

    A web service client written on WLS [1], should work with
    service hosted by any vendor, including .Net, AXIS, Sun RI,
    etc.
    The client code you write in WLS which is based on JAX-RPC [1]
    should compile as is on other vendor JAX-RPC implementation.
    So, if you are looking for client code portability then JAX-RPC
    is your best bet.
    Regards,
    -manoj
    [1] http://edocs.bea.com/wls/docs81/webserv/client.html#1069703
    [2] http://java.sun.com/xml/jaxrpc/
    "hanks" <[email protected]> wrote in message
    news:3ea3392d$[email protected]..
    >
    I have tried webservices with apache and weblogic7.0 but i realised thatboth was
    to be done very specific to servers.I may be wrong. I am trying tounderstand
    how can i write a sercive for one server and access using another server.
    When i write webservice in java tomcat server, I create a service andregister
    as urn name. For a client to access this service, code kind of looks ejbcode
    where we lookup the service and call its method. Instead of looking upJNDI name
    we lookup urn and access method. Mind you this client uses ORG packagesspecific
    to tomcat.
    Now when we write a websercice with weblogic we have to create a ear whichhas
    webserverice and write a client to access that service, which lookscompletely
    diffrent from one that we wrote for tomcat. I am wondering how can i usethe same
    client to access both the services. It rarely happens that both side wouldbe
    using same servers.
    I am sure that there is some mistake i m doing cos webservices is supposeto be
    even language independent.
    Can you guys help me in resolving this, more questions later ;-)

  • Create a Client Proxy for consume wsdl via https URL return a 110 HTTP code

    Dear all.
    I has new in this forum, and i have a problem when trie to create a client proxy from external WSDL, using https URL, system returns me a 110 http code. For others externs WSDL called via http don´t have any problem, and create client proxy perfect
    Someone can help please.
    best regards in advance.

    Dear Anton I download de WSDL definition in a local file, but when I trie to use, the error persist.
    If I test de URL via WebService navigation option, this work correctly, but if I put this URL thats begins with https, in se80--> create client proxy -->insert URL and then system returns the message HTTP error (return code 110, message "") 
    What it´s happen?.
    Best regards in advance.
    Juliá

  • Weblogic WebServices Client: how to use HTTP 1.1 protocol ?

    Hi,
    I generated a stub ( jar file) to call a weblogic webservice from a client, both in weblogic workshop 8.1.4 and weblogic workshop 10.3.
    It seems that both jars (generated by weblogic) use HTTP 1.0 protocol (I can see the HTTP 1.0 requests from access log file)
    I would like to use HTTP 1.1 protocol : can I set some property ? Which property ? Can you help me ?

    Weblogic 10.3 generated client use HTTP 1.1 protocol

  • Weblogic WebServices Client: how to force HTTP 1.1 protocol ?

    I generated a stub ( jar file) to call a weblogic webservice from a client, both in weblogic workshop 8.1.4 and weblogic workshop 10.3.
    It seems that both jars use HTTP 1.0 protocol; I can see the HTTP 1.0 requests from access log file.
    I would like to use HTTP 1.1 protocol : can I set some property ? Which property ? Can you help me ?

    Weblogic 10.3 generated client use HTTP 1.1 protocol

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

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

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

  • WebServices and Java/Weblogic RPC Client

    Hi,
    I have a simple usability question :
    - Where would I want to use a java client that invokes the (WebLogic) Webservice
    using RPC/SOAP - especially the static client model?
    - Probably the corollary to that would be - why wouldn't I simply invoke the ejb
    using the EJB interface invocation?
    In both cases, the information required by the developer to write the code is
    same, the coding effort is same (only the Properties object being passed to obtain
    the InitialContext is populated with different values) - and everything is hardcoded
    i.e. no dynamic behavior advantage.
    I ran some quick and dirty benchmarks and the webService client is slower than
    the mundane ejb client to the order of magnitude of 1:4, 1:5. (duh .. xml!)
    Two advantages that I can think of are :
    - Because of HTTP, firewall/port issues may be circumvented when using WebServices.
    - The thin client.jar maybe easier to distribute than weblogic.jar.
    Shall deeply appreciate any insight to the utility from a business perspective
    (read ~ convincing clients).
    Thanks,
    Ajay

    It took me almost 3 seconds to find this so I can see why you would ask. http://java.sun.com/webservices/tutorial.html

  • WebService Client - how to enable HTTP Compression

    Hi
    I have written a simple WebService Client. The WebService expects that the WebService clients enable HTTP compression. This is the exact text from the docs:-
    ""1. Client should be HTTP Compression enabled
    HTTP Compression had been made mandatory for API�s. Thus API�s client should
    include �Accept-Encoding: zip� header as part of request and should be able to
    handle compressed data. Please note that system will send an error message if client
    are not http compression enabled saying client should be compression enabled."
    I do not know how to enable HTTP compression in the WebService Client. The method called is "GetInstantaneousFlowData". It accepts no arguments and returns xsd:datetime.
    The wsdl can be found at:-
    http://energywatch.natgrid.co.uk/EDP-PublicUI/PublicPI/InstantaneousFlowWebService.asmx?WSDL
    Can someone please help :-
    import javax.xml.rpc.ServiceFactory;
    import javax.xml.rpc.Service;
    import javax.xml.rpc.Call;
    import javax.xml.rpc.ParameterMode;
    import javax.xml.namespace.QName;
    import java.util.Calendar;
    public class TestNGPubTime4 {
    public static void main(String[] args) throws Exception {
         // Setup the global JAX-RPC service factory
         System.setProperty( "javax.xml.rpc.ServiceFactory", "weblogic.webservice.core.rpc.ServiceFactoryImpl");
    // create service factory
    ServiceFactory factory = ServiceFactory.newInstance();
    // define qnames
    String targetNamespace = "http://www.NationalGrid.com/EDP/BusinessEntities/Public/";
    QName serviceName = new QName(targetNamespace, "InstantaneousFlowWebService");
    QName portName = new QName(targetNamespace, "InstantaneousFlowWebServiceSoap");
    QName operationName = new QName("http://www.NationalGrid.com/EDP/UI/GetInstantaneousFlowData",
         "GetLatestPublicationTime");
    // create service
    Service service = factory.createService(serviceName);
    // create call
    Call call = service.createCall();
    // set port and operation name
    call.setPortTypeName(portName);
    call.setOperationName(operationName); // add parameters
         call.setProperty(Call.SOAPACTION_USE_PROPERTY, Boolean.TRUE);
         call.setProperty(Call.SOAPACTION_URI_PROPERTY, "http://www.NationalGrid.com/EDP/UI/GetInstantaneousFlowData");
    //     call.setProperty(Call.ENCODINGSTYLE_URI_PROPERTY, "http://schemas.xmlsoap.org/soap/encoding/");
    call.setReturnType(new QName( "http://www.w3.org/2001/XMLSchema","datetime") );
    // set end point address : soap address location
    call.setTargetEndpointAddress("http://energywatch.natgrid.co.uk/EDP-PublicUI/PublicPI/InstantaneousFlowWebService.asmx");
    // invoke the remote web service
    Calendar result = (Calendar) call.invoke(new Object[] {});
    System.out.println("result=" + result);
    }

    Rishika,
    Thanks for your reply.
    Could I get clariffication on some more thing?
    I am using Axis 1.4 version. And I am able to implement the gzip while doing the following steps.
    1) Change the pivote value to CommonsHTTpSender.
    <transport name="http" pivot="java:org.apache.axis.transport.http.CommonsHTTPSender"/>
    2) public class RetreiveReservationsSOAPBindingStubLocal extends RetreiveReservationsSOAPBindingStub.
    I Override the method to support GZIP.
    org.apache.axis.client.Call _call = super.createCall();
    call.setOperation(operations[0]);
    _call.setUseSOAPAction(true);
    _call.setSOAPActionURI("retreiveReservations");
    _call.setEncodingStyle(null);
    call.setProperty(org.apache.axis.client.Call.SENDTYPE_ATTR, Boolean.FALSE);
    call.setProperty(org.apache.axis.AxisEngine.PROPDOMULTIREFS, Boolean.FALSE);
    call.setProperty(HTTPConstants.MCACCEPT_GZIP, Boolean.TRUE);
    call.setProperty(HTTPConstants.MCGZIP_REQUEST, Boolean.TRUE);
    call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11CONSTANTS);
    _call.setOperationName(new javax.xml.namespace.QName("", "retreiveReservations"));
    super.setRequestHeaders(_call);
    super.setAttachments(_call);
    Object resp = call.invoke(new Object[] {retreiveReservationsRequest});
    I am able to send and receive the request and response in gzip encoded format.
    Now my clarrification is,
    Is it possible to set the piote value to CommonsHTTPSender for the transport http through my code?
    How could I set the values from code?
    Reason is, I don't want to manually edit the axis 1.4's client-config.wsdd
    Since this is very critical thing, please please help me.
    Thanks in advance.
    Regards,
    Nishad Ponery

  • Weblogic 8.1 Webservice Client Proxy Authentication not working

    We have a desktop console based Weblogic webservices client application that uses client stubs to establish the connection and communicate with the server where the WSDL was hosted.
    We are facing a problem in authenticating the Proxy user with valid credentials.
    We are using the following code to set the system properties and Authenticator class to authenticate the proxy user.
    //Code Segment #1
    Code:
    System.setProperty("http.proxyHost", proxyHost);System.setProperty("https.proxyHost", proxyHost);
    System.setProperty("weblogic.webservice.transport.http.proxy.host",proxyHost);
    System.setProperty("weblogic.webservice.transport.https.proxy.host",proxyHost);
    System.setProperty("http.proxyPort", proxyPort);
    System.setProperty("https.proxyPort", proxyPort);
    System.setProperty("weblogic.webservice.transport.http.proxy.port",proxyPort);
    System.setProperty("weblogic.webservice.transport.https.proxy.port",proxyPort);
    //System.setProperty("http.proxyType", "basic");
    //System.setProperty("https.proxyType", "basic");
    //System.setProperty("http.proxy.auth.type" ,"ntlm"); //This is not showing any impact
    System.setProperty("http.proxyUser", "bsil\\ashok.kumar");
    System.setProperty("https.proxyUser", "bsil\\ashok.kumar");
    System.setProperty("http.proxyPassword", " xyzddd");
    System.setProperty("https.proxyPassword", "xyzddd");
    Authenticator.setDefault(new MyAuthenticator());
    //Inner class
    public static class MyAuthenticator extends Authenticator {
    protected PasswordAuthentication getPasswordAuthentication() {
    String username = System.getProperty("http.proxyUser");
         String password = System.getProperty("http.proxyPassword");
         return new PasswordAuthentication(username, password.toCharArray());
    We are using following code initialize the stubs (Which internally opens a connection to the given endpoint base URL)
    //Code Segment #2
    Code:
    SessionService_Impl sessionService = new SessionService_Impl(getEndPointURL(SessionServicePort.class));
    port = sessionService.getSessionServicePort();
    return port;
    Using above code it always throws the following exception:
    Code:
    weblogic.webservice.tools.wsdlp.WSDLParseException: Failed to retrieve WSDL from https://apiclienttest.intralinks.com:443/webservices51/SessionService?WSDL. Please check the URL and make sure that it is a valid XML file [java.io.IOException: Proxy authenticator  failed: java.lang.ClassNotFoundException: ]
    if i replace the above code (Code Segment #2) to as bellow with Code Segment #3 then its working as expected. But we have been told that the Code Segment #2 is required as shwon above for the Weblogic ClientTimeout seconds feature so we cant replace the Code Segment #2 with Code Segment #3 since we don?t want to miss the ClientTimeout seconds feature for the application.
    //Code Segment #3
    Code:
    SessionService_Impl sessionService = new SessionService_Impl();
              SessionServicePort sessionServicePort = sessionService.getSessionServicePort();
              ((SessionServicePort_Stub) sessionServicePort)._setProperty("javax.xml.rpc.service.endpoint.address", endPointBaseURL+"SessionService");
    return sessionServicePort ;
    why the Proxy authentication is failing with the Code Segment #2 and why it is passing in case of Code Segment #3
    The endpoint base URL we are hitting is hosted on Weblogic server 9.0 (which is hosted at client side in US so it is behind our firewall).
    Is some thing more do we need to do in Authenticator class???
    Please help me if any one has worked on proxy server authenticator in java.

    We have a desktop console based Weblogic webservices client application that uses client stubs to establish the connection and communicate with the server where the WSDL was hosted.
    We are facing a problem in authenticating the Proxy user with valid credentials.
    We are using the following code to set the system properties and Authenticator class to authenticate the proxy user.
    //Code Segment #1
    Code:
    System.setProperty("http.proxyHost", proxyHost);System.setProperty("https.proxyHost", proxyHost);
    System.setProperty("weblogic.webservice.transport.http.proxy.host",proxyHost);
    System.setProperty("weblogic.webservice.transport.https.proxy.host",proxyHost);
    System.setProperty("http.proxyPort", proxyPort);
    System.setProperty("https.proxyPort", proxyPort);
    System.setProperty("weblogic.webservice.transport.http.proxy.port",proxyPort);
    System.setProperty("weblogic.webservice.transport.https.proxy.port",proxyPort);
    //System.setProperty("http.proxyType", "basic");
    //System.setProperty("https.proxyType", "basic");
    //System.setProperty("http.proxy.auth.type" ,"ntlm"); //This is not showing any impact
    System.setProperty("http.proxyUser", "bsil\\ashok.kumar");
    System.setProperty("https.proxyUser", "bsil\\ashok.kumar");
    System.setProperty("http.proxyPassword", " xyzddd");
    System.setProperty("https.proxyPassword", "xyzddd");
    Authenticator.setDefault(new MyAuthenticator());
    //Inner class
    public static class MyAuthenticator extends Authenticator {
    protected PasswordAuthentication getPasswordAuthentication() {
    String username = System.getProperty("http.proxyUser");
         String password = System.getProperty("http.proxyPassword");
         return new PasswordAuthentication(username, password.toCharArray());
    We are using following code initialize the stubs (Which internally opens a connection to the given endpoint base URL)
    //Code Segment #2
    Code:
    SessionService_Impl sessionService = new SessionService_Impl(getEndPointURL(SessionServicePort.class));
    port = sessionService.getSessionServicePort();
    return port;
    Using above code it always throws the following exception:
    Code:
    weblogic.webservice.tools.wsdlp.WSDLParseException: Failed to retrieve WSDL from https://apiclienttest.intralinks.com:443/webservices51/SessionService?WSDL. Please check the URL and make sure that it is a valid XML file [java.io.IOException: Proxy authenticator  failed: java.lang.ClassNotFoundException: ]
    if i replace the above code (Code Segment #2) to as bellow with Code Segment #3 then its working as expected. But we have been told that the Code Segment #2 is required as shwon above for the Weblogic ClientTimeout seconds feature so we cant replace the Code Segment #2 with Code Segment #3 since we don?t want to miss the ClientTimeout seconds feature for the application.
    //Code Segment #3
    Code:
    SessionService_Impl sessionService = new SessionService_Impl();
              SessionServicePort sessionServicePort = sessionService.getSessionServicePort();
              ((SessionServicePort_Stub) sessionServicePort)._setProperty("javax.xml.rpc.service.endpoint.address", endPointBaseURL+"SessionService");
    return sessionServicePort ;
    why the Proxy authentication is failing with the Code Segment #2 and why it is passing in case of Code Segment #3
    The endpoint base URL we are hitting is hosted on Weblogic server 9.0 (which is hosted at client side in US so it is behind our firewall).
    Is some thing more do we need to do in Authenticator class???
    Please help me if any one has worked on proxy server authenticator in java.

  • Invoking a bpel process using webservice client

    I am not able to run the sample webservice client from
    102.InvokingProcesses/ws.
    When I try my own program for 132.UserTasks(very similar to the example program),
    The correct input looks like
    <inputVariable>
    - <part xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="payload">
    - <ns1:stockReviewSheet xmlns:ns1="http://samples.otn.com">
    <ns1:symbol>ORCL</ns1:symbol>
    <ns1:targetPrice>100.0</ns1:targetPrice>
    <ns1:currentPrice>100.0</ns1:currentPrice>
    <ns1:action>200</ns1:action>
    <ns1:quantity>122</ns1:quantity>
    </ns1:stockReviewSheet>
    </part>
    </inputVariable>
    While from the invoking process whatever I give comes as
    <ns0:stockReviewSheet>
    <action>buy</action>
    <currentPrice>122.23</currentPrice>
    <quantity>100</quantity>
    <symbol>ORCL</symbol>
    <targetPrice>10.23</targetPrice>
    </ns0:stockReviewSheet>
    I am using the version 10.1.3 and the error I get on the application side is
    07/08/27 17:42:20.757 UserTaskSampleUI: Servlet error
    java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
         at java.util.ArrayList.RangeCheck(ArrayList.java:546)
         at java.util.ArrayList.get(ArrayList.java:321)
         at java.util.Collections$UnmodifiableList.get(Collections.java:1155)
         at displayTask.jspService(_displayTask.java:105)
         at com.orionserver[Oracle Containers for J2EE 10g (10.1.3.1.0) ].http.OrionHttpJspPage.service(OrionHttpJspPage.java:59)
         at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:453)
         at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:591)
         at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:515)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
         at com.evermind[Oracle Containers for J2EE 10g (10.1.3.1.0) ].server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:711)
         at com.evermind[Oracle Containers for J2EE 10g (10.1.3.1.0) ].server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:368)
         at com.evermind[Oracle Containers for J2EE 10g (10.1.3.1.0) ].server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:866)
         at com.evermind[Oracle Containers for J2EE 10g (10.1.3.1.0) ].server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:448)
         at com.evermind[Oracle Containers for J2EE 10g (10.1.3.1.0) ].server.http.HttpRequestHandler.serveOneRequest(HttpRequestHandler.java:216)
         at com.evermind[Oracle Containers for J2EE 10g (10.1.3.1.0) ].server.http.HttpRequestHandler.run(HttpRequestHandler.java:117)
         at com.evermind[Oracle Containers for J2EE 10g (10.1.3.1.0) ].server.http.HttpRequestHandler.run(HttpRequestHandler.java:110)
         at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260)
         at com.evermind[Oracle Containers for J2EE 10g (10.1.3.1.0) ].util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303)
         at java.lang.Thread.run(Thread.java:595)
    Can anybody point me to invocation of bpel process via web service for complex object types like User for 10.1.3??
    Any input would be highly useful!!!
    Message was edited by:
    user576399
    Message was edited by:
    user576399

    Sancho,
    Thanks for the prompt reply. We trying to automate the following process:-
    1. The user select multiple documents from a folder in a library that contains all released documents.
    2. He then locks the documents.
    3. Selects the locked documents and copies it to a folder in the personal library.
    We are trying to lock and copy the documents as a 1 step process, because its difficult for the users to select all of the documents locked earlier and then copy it the personal library.
    We are trying to take the folder name as the user parameter, when the files are locked, so that the process and create the lock the files, create the folder and copy the files in this folder.
    Thanks again for your time and help.
    Hetal

  • How to use HTTPS for my Webservices

    Hello,
    I'm devoloping one SIte of a Webservice-based Interface.
    - My Webservices have to to consumed using HTTPS
    - My Invoker(Oracle 10g PL/SQL-Procedure) has to invoke a Webservice over HTTPS
    So i have seen how to create Secure-SOAP-Webservices, but I don't find a tutorial, which shows the whole Process: Create the Webserver-Certificate (SAP WAS 6.40), tell the Webservice to use this certificates, etc...)
    It would also be graet, to get a link to tutorial..
    Greetings,
    Chris

    I don't use Oracle PL/SQL, but I can give you an idea how it can be done via eg PHP (pear soap in this case) consumer.
    I presume that you you have on the WAS already an FM which is webservice enabled.
    First you need to set up an array with all credentials
    $proxy = array('user'=>'someuser', 'pass'=>'somepass','proxy_user'=>'someuser', 'proxy_pass'=>'somepass');
    Then you set up the client with the wsdl and this proxy info
    $wsdl=new SOAP_WSDL("https://someuser:somepass@someurl",$proxy);
    $wsdl->proxy=$proxy
    $client->$wsdl->getProxy();
    $result=$client->someFMonWAS();
    It's that easy.

Maybe you are looking for

  • How can I display ONLY bookmarks, and not History?

    I'm sorry to ask a question with probably such an obvious answer, but I have never been able to figure this out. I want to display all my bookmarks so I can do a search & find the right page. But I always get my entire list of every page I've ever vi

  • Shortened Fiscal Year and its impact on BI back end and Bex reports

    Hi All, Our client is making some changes to the fiscal year period. Becuase of some business requirements, we will have to shortened the fiscal year. Can you please suggest - what are the watch points when we do this?                                

  • Toptimizer app not working in ISO 8 why?

    I Have recently upgraded to ISO 8 on my iPhone 4s and can no longer use the app toptimizer with scanning. What is wrong?  I can enter the vin number manually but it will not take the picture or scan the vin?

  • BW Reporting and R/3 Data

    Hi, I have deleted some data from a table in R/3. But when i am quering that Table in BW. I am still getting  records which are deleted from R/3. Please help me out.

  • Help activating Photoshop CS Education AGAIN after using AVG Tuneup

    Hi, I have owned and used Photoshop CS Education (yes i know its old) since 2008 on 1 PC and it has worked fine. Last week i installed and ran AVG Internet Securtiy 2013 and their Tuneup Utillities. I completed all the recommended "cleans" and though