Implementing web service Client? need help

hi,
i need to develop a funciton in java that takes WSDL address as a input. and using the web service address, start the web service programmatically from that function. the web service could be any.
i need help and suggestion what to do in the area, how can i start this, as i am a new bie.
thanks
Farurkh

I got the following error.
But If I call it from a jsp page or a servlet. Nothing happend, Transaction is successful.
java.lang.NullPointerException
     at org.apache.commons.discovery.resource.ClassLoaders.getAppLoaders(ClassLoaders.java:206)
     at org.apache.axis.AxisProperties.getClassLoaders(AxisProperties.java:118)
     at org.apache.axis.AxisProperties.getNameDiscoverer(AxisProperties.java:105)
     at org.apache.axis.AxisProperties.getResourceClassIterator(AxisProperties.java:112)
     at org.apache.axis.configuration.EngineConfigurationFactoryFinder$1.run(EngineConfigurationFactoryFinder.java:116)
     at java.security.AccessController.doPrivileged(Native Method)
     at org.apache.axis.configuration.EngineConfigurationFactoryFinder.newFactory(EngineConfigurationFactoryFinder.java:113)
     at org.apache.axis.configuration.EngineConfigurationFactoryFinder.newFactory(EngineConfigurationFactoryFinder.java:160)
     at org.apache.axis.client.Service.getEngineConfiguration(Service.java:813)
     at org.apache.axis.client.Service.getAxisClient(Service.java:104)
     at org.apache.axis.client.Service.<init>(Service.java:113)
     at org.tempuri.wsdl.EFSnet2Locator.<init>(EFSnet2Locator.java:10)
     at com.ipharmacy.payment.Payment.main(Payment.java:12)

Similar Messages

  • Web service client needs to share data with a SOAP Message Handler

    I have a web service client that is built using WebLogic 10 clientgen. I also have a Soap Message Handler configured that will create the required Soap Headers for the web service call.
    Creating these Soap Headers works great as long as the header data is static but the problem comes up when I need to place some dynamic data in these headers. The web service client has this data and somehow needs to pass it to the Soap Message Handler. It looks like I need to somehow have the client place this data in the MessageContext before the call so the data can be accessed by the Soap Message Handler.
    How do I get access to the MessageContext from the client or is there a better way to do this?
    Thanks in advance for any help you can give.

    You may want to check the response to this previous post to see if it yields any ideas for you:
    Not able to Pass header info to Microsoft MapPoint WebService using WLS10

  • How to implement web service client timeout

    I'm trying to implement a web service client using JAX-RPC specification and the client is generated by clientgen utility. We are using weblogic8.1(sp5).
    How do I control the connection timeout and data transmission timeout? I have tried:
    BindingInfo.setTimeout() method and stub._setProperty("weblogic.webservice.rpc.timeoutsecs", "1" /* secs */);
    and they don't seem to be working...
    I have searched the web service documentation and didn't found any mentioning on this. Can someone shred some light on this?
    Thanks.
    Ren
    null

    Hi,
    I had a problem too for setting the timeout of a webservice client. but i didn't find any thing on this.
    But there is a work around for this see if it suits you but for this you have to use Apache AXIS webservice api to generate the client in that Api you have the Stub.timeOut() function to over come this problem
    Cheers !!
    Vivek:-)

  • NPE when working with connections.xml for Web Service client

    Our ADF Web Service clients needs to read the WSDL and End point URL from connections.xml. But this is giving an Error.
    Here are the details:
    jdevloper 11.1.1.6.0
    Weblogic 10.3.5
    OWSM 11.1.1.6
    From my ADF based Application I need to call out a web service.
    For this I have built a Web Service Proxy and coded to call it from the application.
    Since the app needs to run through the development testing deployment lifecycle and hence be deployed on different environments, we need the ability allow configuration of wsdl and end point URL for the web service call without the need to recompile the app.
    We want to leverage the connections.xml for this purpose.
    http://docs.oracle.com/cd/E23943_01/web.1111/b31974/web_services.htm#autoId6
    My connection.xml looks like:
       <Reference name="MyService" className="oracle.adf.model.connection.webservice.impl.WebServiceConnectionImpl" xmlns="">
          <Factory className="oracle.adf.model.connection.webservice.api.WebServiceConnectionFactory"/>
          <RefAddresses>
             <XmlRefAddr addrType="WebServiceConnection">
                <Contents>
                   <wsconnection description="file:/C:/JDeveloper/mywork/jdev116/DeployTstCnnxtnLov/LovProxy/src/abc/lov/proxy/MyService.wsdl" service="{http://xmlns.oracle.com/Enterprise/HCM/services/MyService.1}MyService">
                      <model name="{http://xmlns.oracle.com/Enterprise/HCM/services/MyService.1}MyService" xmlns="http://oracle.com/ws/model">
                         <service name="{http://xmlns.oracle.com/Enterprise/HCM/services/MyService.1}MyService">
                            <port name="MyService_Port" binding="{http://xmlns.oracle.com/Enterprise/HCM/services/MyService.1}MyService_Binding">
                               <soap addressUrl="http://<machine:port>/PSIGW/PeopleSoftServiceListeningConnector" xmlns="http://schemas.xmlsoap.org/wsdl/soap/"/>
                               <operation name="MyServiceOperation">
                                  <soap soapAction="MyServiceOperation.v1" xmlns="http://schemas.xmlsoap.org/wsdl/soap/"/>
                                  <output name="MyService_RESP.V1"/>
                                  <input name="MyService_REQ.V1"/>
                               </operation>
                            </port>
                         </service>
                      </model>
                   </wsconnection>
                </Contents>
             </XmlRefAddr>
          </RefAddresses>
       </Reference>
    My code in the Service Client Looks like:
      @WebServiceRef
      private static MyService myservice;
                Context ctx = ADFContext.getCurrent().getConnectionsContext();
                WebServiceConnection wsc =
                    (WebServiceConnection)ctx.lookup("MyService");
                String urlString = wsc.getWsdlUrlStr();
                System.out.println("WSDL URL: "+urlString);
                myservice = wsc.getJaxWSPort(MyService.class);
                MyService_PortType port = myservice.getMyService_Port();
      ServiceRequest request = new ServiceRequest();
      ServiceResponse response = port.MyServiceOeration(request);
    The WSDL URL is being read correctly.
    Error:
    This error appears to be triggered by the code:
        myservice = wsc.getJaxWSPort(MyService.class);
    java.lang.NullPointerException
            at java.lang.Class.isAssignableFrom(Native Method)
            at oracle.j2ee.ws.common.jaxws.runtime.GenericJavaType.create(GenericJavaType.java:97)
            at oracle.j2ee.ws.common.jaxws.runtime.GenericJavaType.create(GenericJavaType.java:118)
            at oracle.j2ee.ws.common.jaxws.runtime.OperationMappingModeler.processParameters(OperationMappingModeler.java:268)
            at oracle.j2ee.ws.common.jaxws.runtime.OperationMappingModeler.processMethod(OperationMappingModeler.java:155)
            at oracle.j2ee.ws.common.jaxws.runtime.ServiceEndpointRuntimeModeler.buildRuntimeModel(ServiceEndpointRuntimeModeler.java:114)
            at oracle.j2ee.ws.client.jaxws.WsClientProxyFactory.getRuntimeMetadata(WsClientProxyFactory.java:69)
            at oracle.j2ee.ws.client.jaxws.WsClientProxyFactory.createProxy(WsClientProxyFactory.java:126)
            at oracle.j2ee.ws.client.jaxws.WsClientProxyFactory.createProxy(WsClientProxyFactory.java:106)
            at oracle.j2ee.ws.common.jaxws.ServiceDelegateImpl.getPort(ServiceDelegateImpl.java:219)
            at oracle.j2ee.ws.common.jaxws.ServiceDelegateImpl.getPort(ServiceDelegateImpl.java:249)
            at oracle.adf.model.connection.webservice.impl.WebServiceConnectionImpl.getJaxWSPort(WebServiceConnectionImpl.java:385)
            at abc.lov.proxy.MyService_PortClient.fetchDesc(MyService_PortClient.java:84)
            at abc.lov.ServiceManager.fetchEmplID(ServiceManager.java:13)
            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
            at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

    Hi Frank,
    I got the following two lines of code just to check if WebServiceConnection was able to read the connections file alright.
                String urlString = wsc.getWsdlUrlStr();
                System.out.println("WSDL URL: "+urlString);
    I am not using urlString for further processing.
    The output is
    WSDL URL: http://<host>/PSIGW/PeopleSoftServiceListeningConnector/MyService.1.wsdl
    java.lang.NullPointerException
            at java.lang.Class.isAssignableFrom(Native Method)
            at oracle.j2ee.ws.common.jaxws.runtime.GenericJavaType.create(GenericJavaType.java:97)
            at oracle.j2ee.ws.common.jaxws.runtime.GenericJavaType.create(GenericJavaType.java:118)
    The WSDL Url pointed to is the one that I configure in the connection while deploying the App.
    Ran a test and WSDL Url is accessible by the app.

  • HTTP Analyzer help for web service client in 11g

    I am using jDev 11.1.1.3.0 to build a web service client (proxy) to a potential vendor's web service. I've used the Http Analyzer before but I'm having trouble configuring it for a WS proxy. I just want to see the SOAP stream between my client and the web service. I used the Web Service Proxy wizard to create the Java code, but the web service provider has kept some of the contract in the WSDL private so that I had to manually generate the meat and potatoes of the Java code. I need to be able to see the SOAP my Java code is sending.
    I have tried to configure the Http Analyzer to listen on it's own localhost and port with a forward rule to forward the request to the real WS, but I cannot figure out how to get the client to send it's requests to localhost instead of the actual WS.
    Actually, I did figure it out, but then the request fails as it apparently tries to connect to the real WSDL before actually sending the request and cannot find a WSDL at the localhost URL. Here's the error:
    Exception in thread "main" javax.xml.ws.WebServiceException: {http://localhost:8099}CatalogRequest is not a valid service. Valid services are: {http://[actual URL here]}CatalogRequest
         at com.sun.xml.ws.client.WSServiceDelegate.<init>(WSServiceDelegate.java:249)
    I have also tried to configure the Http Analyzer to somehow 'sniff' the actual URL by listening on the actual URL and port, but either I cannot get the Analyzer to see the request or it fails because the Analyzer is using the same port the request is trying to use.
    Can someone explain how to configure the Http Analyzer to see the SOAP stream for a Web Client Proxy?

    Hi, I'm just using the default setup for HTTP Analyzer and having no problem using it.
    Just make sure to run the HTTP Analyzer first before running or starting your app server (Integrated weblogic Server).

  • Where should I place the web service client implementation?

    Hi,
    I created a web service client, and some java classes are automatically generated like stub, servicelocator, proxy...
    I wrote the client code to access and invoke a web service.Where should I place this code.
    Thanks.

    pls see Left outer join in Infoset

  • Web Service client running on Tomcat behind Apache-ModJk

    Hi all.
    I've realized a web service, which have been deployed on a Tomcat 5.5 instance running behind a firewall.
    The Web Service is published through an Apache 2.0 Web Server, which is in the DMZ and which is connected to Tomcat via modjk.
    Everything is working fine (as apache forwards to tomcat clients' calls), except from one thing: one of the web-methods needs to connect to a remote server to validate some data... that is, this web-method implements a "web service client" piece of code, by which a remote validating method must be called.
    So, the problem is that this remote method must be accessed from something running behind the firewall...
    One way could be to open a hole in the firewall, allowing only calls to that remote address, but I'd rather avoid this.
    Do someone have other suggestions?
    Is there perhaps any way to use mod_jk also for "exiting" and not only for "entering"?
    Any help will be very appreciated!!

    Could you not use a proxy server. The web service client would go through the proxy server to the internet

  • Change jsp's in web service client when creating a web service in WID

    Hi, Actually , when we a web service, on websphere Integration Developer,JSP's get generated after creating the web service client.
    Those JSP's are named as input.html, invoke.jsp etc, I need to change the jsp's for good look and feel,
    But I am unalble to do that as there is no configuration information included in the jsps created by default, Please let me know, if any has come across this kind of situation and knows how to deal with.

    Hi,
    Not sure if you can get answer to WID specific questions on the Oracle-WebServices forum. Here, we are mainly talking about SOAP and WSDL, and mostly with the Oracle OC4J implementation.
    When you generate a static proxy, you can set the endpoint URL dynamically using a helper method on the class generated by JDeveloper - look for setEndpoint()
    import javax.xml.rpc.ServiceFactory;
    import javax.xml.rpc.Stub;
        public void setEndpoint(String endpoint) {
            ((Stub) _port)._setProperty(Stub.ENDPOINT_ADDRESS_PROPERTY, endpoint);
        }The generated code uses the JAX-RPC APIs under the cover, which may also apply to Websphere's internal implementation.
    Hope it Helps,
    -Eric

  • Deploying Web Service clients to earlier versions of AS

    Hello,
    I'm using JDeveloper to create web service proxy for existing service to use in my Web Service client. For development, I'm using JDeveloper 10.1.3.3, for deployment of client application I'm using Application Server 10.1.3.0.
    The problem is that AS 10.1.3.0 contains other versions of the libraries, for example, wsclient.jar, so, there's an error using Web Service Proxy (stub) as method setSOAPVersion() doesn't exist.
    The question is how can I use generated stub with earlier versions of Application Server.
    I've tried some things, but they didn't work. Maybe I did something wrong and step-by-step guidelines to deploy application are needed - I hope, it could be useful not only for me.
    So, I found JDev 10.1.3 Release Notes (http://www.oracle.com/technology/products/jdev/htdocs/10.1.3.0.3/readme.html) and the following abstract:
    Workaround for URL / WS Data Control Apps When Deploying to Third Party Application Servers or Oracle Application Server 10.1.2 (4931009)
    1. Copy the following JAR files to your target application server along with the rest of the ADF installed JAR files. The following JAR files are available under your JDeveloper's home directory.
    bc4j/jlib/dc-adapters.jar
    bc4j/jlib/adf-connections.jar
    j2ee/home/lib/http_client.jar
    webservices/lib/wsdl.jar
    webservices/lib/orajaxr.jar
    webservices/lib/orawsrm.jar
    webservices/lib/wsclient.jar
    webservices/lib/orasaaj.jar
    webservices/lib/xsdlib.jar
    webservices/lib/mdds.jar
    jlib/osdt_core.jar
    jlib/osdt_cert.jar
    jlib/osdt_xmlsec.jar
    jlib/osdt_wss.jar
    jlib/osdt_saml.jar
    jlib/ojpse.jar
    jlib/oraclepki.jar
    webservices/lib/wssecurity.jar
    webservices/lib/orawsdl.jar
    j2ee/home/jazncore.jar
    2. Shutdown the application server and modify the application server's class path to include all of the JAR files that were extracted from the archive. Please refer to the application server documentation for details on how to modify the class path.
    3. Restart the application server. You are now ready to deploy / run the application successfully.
    So, I've created a new Shared Library with Enterprise Manager, uploaded all this files and, deploying application, checked this library too. This didn't help.
    Thanks in advance, Valeriy

    Hi Valeriy,
    I have exactly the same problem. Have you been able to resolve this yet?
    Thanks
    Stu

  • Application Server 8.2 + Axis Web Service Client +Win Server 2003 Issue

    Hi everyone,
    I'm facing a weird problem the last couples of days and I'm getting bored of banging my head against the logs/screen, so please if you could help I'd really appreciate it.
    I'm working on a Sun Application Server 8.2 project that includes an axis web service client. I am using Netbeans 5 to do the writing plus I am on a Win XP platform.
    The developers of the web service I intend to absorb were kind enough to package the client into a jar so all I have to do is to import the client and the axis related jar files (axis, axis-ant etc.) in my project and my classpath.
    Everything is working perfect on my pc but when I deploy the project on my actual server the web service client is running forever, leaving my end users with a blank browser window that is also loading forever.
    The server OS is Win Server 2003 and is directly connected to a gateway - no proxies. Also my development pc and my server are running the same jre and have the exact server police settings; but Sun's Application Server is running on port 8080 on my pc whereas on my server it's running on port 80.
    Here's my server's log:
    [#|2008-04-14T21:50:01.795+0300|SEVERE|sun-appserver-pe8.2|javax.enterprise.system.container.web|_ThreadID=14;|StandardWrapperValve[obos]: Servlet.service() for servlet obos threw exception
    AxisFault
    faultCode: {http://xml.apache.org/axis/}HTTP
    faultSubcode:
    faultString: (0)null
    faultActor:
    faultNode:
    faultDetail:
         {}:return code: 0
         {http://xml.apache.org/axis/}HttpErrorCode:0
    (0)null
         at org.apache.axis.transport.http.HTTPSender.readFromSocket(HTTPSender.java:744)
         at org.apache.axis.transport.http.HTTPSender.invoke(HTTPSender.java:144)
         at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)
         at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
         at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
         at org.apache.axis.client.AxisClient.invoke(AxisClient.java:165)
         at org.apache.axis.client.Call.invokeEngine(Call.java:2784)
         at org.apache.axis.client.Call.invoke(Call.java:2767)
         at org.apache.axis.client.Call.invoke(Call.java:2443)
         at org.apache.axis.client.Call.invoke(Call.java:2366)
         at org.apache.axis.client.Call.invoke(Call.java:1812)
         at uk.ac.ebi.ook.web.services.OntologyQuerySoapBindingStub.getOntologyNames(OntologyQuerySoapBindingStub.java:509)
         at org.dude.ols.client.obos.processRequest(obos.java:30)
         at org.dude.ols.client.obos.doGet(obos.java:64)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:747)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:860)
         at sun.reflect.GeneratedMethodAccessor99.invoke(Unknown Source)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:585)
         at org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:249)
         at java.security.AccessController.doPrivileged(Native Method)
         at javax.security.auth.Subject.doAsPrivileged(Subject.java:517)
         at org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:282)
         at org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:165)
         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:257)
         at org.apache.catalina.core.ApplicationFilterChain.access$000(ApplicationFilterChain.java:55)
         at org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:161)
         at java.security.AccessController.doPrivileged(Native Method)
         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
         at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:263)
         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:551)
         at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:225)
         at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:173)
         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:551)
         at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)
         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:551)
         at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:132)
         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:551)
         at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:933)
         at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:189)
         at com.sun.enterprise.web.connector.grizzly.ProcessorTask.doProcess(ProcessorTask.java:604)
         at com.sun.enterprise.web.connector.grizzly.ProcessorTask.process(ProcessorTask.java:475)
         at com.sun.enterprise.web.connector.grizzly.ReadTask.executeProcessorTask(ReadTask.java:371)
         at com.sun.enterprise.web.connector.grizzly.ReadTask.doTask(ReadTask.java:264)
         at com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:281)
         at com.sun.enterprise.web.connector.grizzly.WorkerThread.run(WorkerThread.java:83)
    |#]
    Any ideas?

    Hi Paz,
    Thanks for taking the time :)
    To answer your questions:
    1. Has this WebServices ever worked or is this the first time?
    The web service is working perfectly fine on my working station, the problem appears only when I deploy it on my actual server, which means that the web service is working.
    2. What Apache Axis Version are you using?
    1.4
    3. What JRE version are you using?
    Both my development pc and my server run jre 1.5.0_14
    4. In the actual server environment, can you confirm all information are exactly same as DEV environment...
    Oh yes! Absolutely.
    My recent assumption is that some windows service might be needed to run the web service client and obviously I have no clue which one it might be.
    Just to make sure; is the security policy of my Application Server set correctly?
         permission java.lang.RuntimePermission     "getClassLoader";
         permission java.lang.RuntimePermission "createClassLoader";
         permission java.lang.RuntimePermission "loadLibrary.*";
         permission java.lang.RuntimePermission "queuePrintJob";
         permission java.net.SocketPermission "*", "connect,accept,resolve";
         permission java.io.FilePermission "<<ALL FILES>>", "read,write,delete";
    // work-around for pointbase bug 4864405
    permission java.io.FilePermission "${com.sun.aas.instanceRoot}${/}lib${/}databases${/}-", "delete";
    permission java.io.FilePermission "${java.io.tmpdir}${/}-", "delete";
         permission java.util.PropertyPermission "*", "read,write";
         permission java.lang.RuntimePermission     "modifyThreadGroup";
    Again thanks for taking the time :)

  • Web service client and SSL Certificate

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

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

  • WLDL files exported from XI 2.0 not valid for Web Service Clients

    Hi there,
    Im struggling for almost a week with a <b>BAPI WSDL file</b> exported from the XI repository. My scenario is very simple; A BAPI in R/3 exposed as web service through XI using the SOAP adapter.
    The intention was to generate a Web Service Client based on this WSDL file, unfortunately I get all kind of errors when trying to generate the client. (using tools like, SOAPScope, XML Spy and WebSphere Developer Studio none of this tools can validate the generated WSDL file obtained from XI)
    Can someone <b>Please explain</b> me how/what exaclty do I have to do in order to expose my BAPI as Web Service in XI 2.0? Or Please tell me if this is just impossible in this version of XI.
    Thanks a lot!
    Rob.

    Hi Rob,
    It seems that when exporting to a WSDL file from the Repository, <service> and <binding> are missing from the structure.
    A way to work this out is to either add them maually, or to create the WSDL from the Directory, using the Create End Point as Webservice in the Tools menu.
    When you do that, consider a couple of things:
    1. The message interface, by which you create the wsdl should be inbound. The message interface in the scenario should be outbound.
    2. In the binding section, the produced url is of the intergration server, and you need to change it to that defined in the SOAP adapter configuration.
    Hope this helps.
    Avihai

  • Web Service Client, BindException, Address already in use, saaj.SOAPExcepti

    Hello,
    Am caught up with an error and i can't get past it, need some help here.
    My application is a batch processing web service client, reads some input rows, sends web service requets, processes the responses and logs it.
    The application runs well in normal mode, but under load(more thread count), I get this wierd error and I can't make it go away.
    java.security.PrivilegedActionException: com.sun.xml.messaging.saaj.SOAPExceptionImpl: Message send failed
    Caused by: java.net.BindException: Address already in use: connect
    at java.net.PlainSocketImpl.socketConnect(Native Method)
    at java.net.PlainSocketImpl.doConnect(Unknown Source)
    I have properly closed the connections after each web service calls, but it still says Address in use. Please refer below for the complete stack trace and a piece of the code. Am using SAAJ and JWSDP and am not using AXIS api. I have searched the web but couldn't find any solutions.
    This is not an error that server is not closing connections properly as I was able to test with SOAPUI and LoadRunner with even higher threads and it ran without problems. SOAPUI and LoadRunner scripts were executed from the same client machine as my application uses. Please help.
    For each inputrow
    SOAPConnection connection = null;
    try
    SOAPConnectionFactory soapConnFactory = SOAPConnectionFactory.newInstance();
    connection = soapConnFactory.createConnection();
    SOAPMessage request = getRequest(inputRow);
    SOAPMessage response = connection.call(request, "http://<<server>>:<<port no>>/Domain/Services/Mgmt");
    finally
    if (connection != null)
    connection.close();                         
    }catch(SOAPException se){
    System.out.println("Error while closing connection. " + se.getMessage());
    connection = null;
    } // End of for loop
    Stack Trace:
    java.security.PrivilegedActionException: com.sun.xml.messaging.saaj.SOAPExceptio
    nImpl: Message send failed
    at java.security.AccessController.doPrivileged(Native Method)
    at com.sun.xml.messaging.saaj.client.p2p.HttpSOAPConnection.call(HttpSOA
    PConnection.java:121)
    at ClientImpl.getResponse(ClientImpl.java:440)
    at input.InputSampler$MyCallable.call(Sampler.java:63)
    at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
    at java.util.concurrent.FutureTask.run(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)
    Caused by: com.sun.xml.messaging.saaj.SOAPExceptionImpl: Message send failed
    at com.sun.xml.messaging.saaj.client.p2p.HttpSOAPConnection.post(HttpSOA
    PConnection.java:325)
    at com.sun.xml.messaging.saaj.client.p2p.HttpSOAPConnection$PriviledgedP
    ost.run(HttpSOAPConnection.java:150)
    ... 12 more
    Caused by: java.net.BindException: Address already in use: connect
    at java.net.PlainSocketImpl.socketConnect(Native Method)
    at java.net.PlainSocketImpl.doConnect(Unknown Source)
    at java.net.PlainSocketImpl.connectToAddress(Unknown Source)
    at java.net.PlainSocketImpl.connect(Unknown Source)
    at java.net.Socket.connect(Unknown Source)
    at java.net.Socket.connect(Unknown Source)
    at sun.net.NetworkClient.doConnect(Unknown Source)
    at sun.net.www.http.HttpClient.openServer(Unknown Source)
    at sun.net.www.http.HttpClient.openServer(Unknown Source)
    at sun.net.www.http.HttpClient.<init>(Unknown Source)
    at sun.net.www.http.HttpClient.New(Unknown Source)
    at sun.net.www.http.HttpClient.New(Unknown Source)
    at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(Unknown
    Source)
    at sun.net.www.protocol.http.HttpURLConnection.plainConnect(Unknown Sour
    ce)
    at sun.net.www.protocol.http.HttpURLConnection.connect(Unknown Source)
    at sun.net.www.protocol.http.HttpURLConnection.getOutputStream(Unknown S
    ource)
    at com.sun.xml.messaging.saaj.client.p2p.HttpSOAPConnection.post(HttpSOA
    PConnection.java:282)
    Is there something like connection pooling for web services, is that the answer to this issue, if yes, please let me know where i should start.
    Thanks
    Dev

    Move server socket creation out of while loop. You don't need to create new server socket every time.

  • Web service client ignores http proxy settings

    I have a web service client using Weblogic's web service client library. I'm trying to instruct it to use a http proxy. I've set all the following system properties:
    -Dhttp.proxyHost=127.0.0.1
    -Dhttp.proxyPort=8080 -Dweblogic.webservice.transport.http.proxy.host=127.0.0.1 -Dweblogic.webservice.transport.http.proxy.port=8080
    No traffic is passing through the proxy.
    When the proxy is down, the application works fine too. I suspect that the proxy settings are completely ignored for some reason.
    I'm using Weblogic 8.1 SP4 on a Windows XP box and JDK 1.4.2 (Sun's bundled JDK with Weblogic).

    Sorry about the delay,
    You just need to use the standard java http proxy properties, take a look at:
    http://download-west.oracle.com/docs/cd/A97329_03/web.902/a95453/useservices.htm
    Does this help?
    Gerard

  • NoClassdefFound Problem using EJB as web service client

    Hello there, I am trying to use a MDB as a web service client. The architecture,
    briefly is in the form of a java program communicating with a MDB via JMS, the
    MDB gets the data from some external server via SOAP. I am using JBuilder to generate
    the client side classes choosing the Axis framework. When my MDB is trying to
    bind using locator.getPort() it throws an error as follows:
    java.lang.NoClassDefFoundError: org.apache.axis.client.AxisClient. java.lang.NoClassDefFoundError:
    org.apache.axis.client.AxisClient at org.apache.axis.client.Service.getAxisClient()Lorg.apache.axis.client
    AxisClient;(Service.java:143) at org.apache.axis.client.Service.<init>()V(Service.java:152)
    Note that it works fine if I use the web services client as a standalone java
    program(no weblogic ). I tried putting the Axis.jar file as well as the relevant
    files from this jar file(JBuilder's feature) in the EJB module that is deployed,
    of no avail. Following is the classloader printed from the EJB's onMessage method
    if needed for better understanding
    weblogic.utils.classloaders.GenericClassLoader@afdd3a finder: weblogic.utils.cla
    ssloaders.MultiClassFinder@20d7479 annotation: SecurityEJBModule@
    Any help will be appreciated

    Slava, I did exactly that and it worked! I wish I had seen your reply before.
    Thanks
    "Slava Imeshev" <[email protected]> wrote:
    >
    "Santosh" <[email protected]> wrote in message news:405074c7$[email protected]..
    Hello there, I am trying to use a MDB as a web service client. Thearchitecture,
    briefly is in the form of a java program communicating with a MDB viaJMS, the
    MDB gets the data from some external server via SOAP. I am using JBuilderto generate
    the client side classes choosing the Axis framework. When my MDB istrying to
    bind using locator.getPort() it throws an error as follows:
    java.lang.NoClassDefFoundError: org.apache.axis.client.AxisClient.java.lang.NoClassDefFoundError:
    org.apache.axis.client.AxisClient at org.apache.axis.client.Service.getAxisClient()Lorg.apache.axis.client
    AxisClient;(Service.java:143) at org.apache.axis.client.Service.<init>()V(Service.java:152)
    Note that it works fine if I use the web services client as a standalonejava
    program(no weblogic ). I tried putting the Axis.jar file as well asthe relevant
    files from this jar file(JBuilder's feature) in the EJB module thatis deployed,
    of no avail. Following is the classloader printed from the EJB's onMessagemethod
    if needed for better understandingYou need to package all Axis jars and dependancoes into the EAR and
    refer tham
    in your ejb-jar MANIFEST.MF. If you are running weblogic 8.1, you may
    just put them
    into APP-INF/lib. Than you won't need to modify manifest.
    Hope this helps.
    Regards,
    Slava Imeshev

Maybe you are looking for