Web Service Client over HTTPS
Hello everyone,
need help -
my project requires making a SOAP call to access a web service over HTTPS. We are using WSAD 5.0 server with IIS web server. I am very new to this. Could anyone sort of guide me?
I have the WSDL file & I generated Java Proxy clients using WSDL2Client. How do I go about ensuring that the SOAP goes over SSL/HTTPS? Are there any security changes required at the app server level? Should I have made any changes to WSDL document itself as it has http:// references in the soap binding.
The service provider uses real certificates (veriSign). How do I handle exchange of certificates?
Any help is greatly appreciated. Thanks in advance.
HI,
See the below links
http://help.sap.com/saphelp_nw2004s/helpdata/en/43/cc81c710460d87e10000000a1553f7/content.htm
http://help.sap.com/saphelp_nw2004s/helpdata/en/c4/2a91429cd5d665e10000000a155106/content.htm
Regards
Chilla
Similar Messages
-
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 -
Weblogic 10.3: web service client enable HTTP/HTTPS connection reuse?
hi all,
i am writing an client app to call a web service, through a client proxy generated by jdeveloper/weblogic.
My question is:
for the weblogic web service client proxy, is it possible to enable HTTP/HTTPS connection reuse/pooling?
i see there is many connection created when calling the web service (by command netstat)?
thank you.
lspanybody can help?
thanks -
Calling web service with SSL (HTTPS) hangs client stub
If anyone can help it would make my day! I've spent way too much time on this!!!
I'm running:
- Web service is running on Linux RedHat with Oracle9iAS 9.0.3
- Client is running from Windows XP under Jdeveloper
I've successfully installed and run the web security demo "ws_security" at http://otn.oracle.com/sample_code/tech/java/web_services/wssecurity/ws_security.jar.
This demo goes through installing the web service, certificates, etc... and the demo runs fine. I'm also able to connect to the web service from a browser using https://server1:4443/CreditCardValidator/CreditCardValidator. I can download the proxy, look at the WSDL, etc...
Now I've written my own very simple stateless java class web service, deployed it to 9iAS , and then downloaded the proxy stub jar. Using the proxy stub I can call my web service and everything works fine.
Then I configure the web service to use HTTPS by making the following changes to the proxy stub (per the ws_security demo).
1) Copy the following 5 lines to the proxy stub
System.setProperty("ssl.SocketFactory.provider","oracle.security.ssl.OracleSSLSocketFactoryImpl");
System.setProperty("ssl.ServerSocketFactory.provider","oracle.security.ssl.OracleSSLServerSocketFactoryImpl");
System.setProperty("java.protocol.handler.pkgs","HTTPClient");
System.setProperty("oracle.wallet.location","C:\\Data\\Oracle\\WALLETS\\ws_security\\wallet.txt");
System.setProperty("oracle.wallet.password","thewalletpassword");
2) modify the "m_soapURL" by changing "http" to "https" and the port number to 4443
3) add the following 3 jar files to my projects library class list:
C:\Program Files\jdev9031\jlib\jssl-1_2.jar
C:\Program Files\jdev9031\jdk\jre\lib\ext\jcert.jar
C:\Program Files\jdev9031\lib\jsse.jar;C:\Program Files\jdev9031\jlib\javax-ssl-1_2.jar
When I run the proxy stub it just hangs. I've traced the hang to the "Response response = call.invoke(new URL(m_soapURL), soapActionURI);" statement in the "makeSOAPCallRPC" method in the proxy stub.
Again, this works fine if I simply change the "m_soapURL" to use "http" instead of "https". It looks like it's hanging on the client side and the call is never making it to the server.
Any help is GREATLY appreciated!!!!!Could you explain it a little more, please.
Since my first message, I used the wallet manager to add the certificate the server where the web service is at, uses.
What else do I need to make it work??
Thanks in advance again. -
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). -
How to prevent downloading wsdl in weblogic web service client
Hi,
I get a problem regarding weblogic web service client. My working environment:
weblogic server 8.1
Windows XP SP2
JDK 1.4
I use the weblogic tool to generate the client jar file from the wsdl file.
<target name="generate-client">
<clientgen wsdl="ACCESS.wsdl"
packageName="xxxxxx.client"
clientJar="${client}/${AccessClient_jar_file}"
keepGenerated="true"
saveWSDL="true"
/>
<javac srcdir="${source}"
destdir="${client}"
includes="**/AccessClient.java">
<classpath>
<pathelement path="${client}/${AccessClient_jar_file}"/>
</classpath>
</javac>
</target>
After that, I create a client java file to invoke the service deploy in the server.
public static void main(String[] argv)
throws Exception
int transactionId = 100;
int id = 1000;
// Setup the global JAXM message factory
System.setProperty("javax.xml.soap.MessageFactory", "weblogic.webservice.core.soap.MessageFactoryImpl");
// Setup the global JAX-RPC service factory
System.setProperty( "javax.xml.rpc.ServiceFactory", "weblogic.webservice.core.rpc.ServiceFactoryImpl");
AccessServicePorts ws = new AccessServicePorts_Impl(argv[0]);
AccessService port = ws.getAccessService();
// Resource - create
Resource resource = new Resource();
resource.setRES_CD("Create ResCo");
resource.setCODE_CODE("code_cod");
resource.setRES_TYPE("Resource typ");
resource.setCOMMON_FIELD(common);
AccessDefaultResult resultItems = port.createResource(resource);
System.out.println("createResource : " + resultItems);
I find that this web service client always issue 2 http requests to invoke an web service method deployed in server.
1st http reqeust:
GET /AccessEpol/EpolServiceSoap?WSDL HTTP/1.1
User-Agent: Java/1.4.2_08
Host: 127.0.0.1:8001
Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2
Connection: keep-alive
the return result is the wsdl downloaded from the server.
2nd http request is the real web service request.
The question is how could I eliminate the 1st http request because it's really unnecessary. I use other web service client like Axis 1.x, Axis client never has the http request to download the wsdl from the server.
I read through weblogic web service document. It do mentions that put saveWSDL="true" in the clientgen ant task. the default value for saveWSDL is true already. I did try saveWSDL="false" also. None of them can eliminate the 1st http request.
appreciate for any answer my question?Hi David,
thanks for the reply.
More or less I agree some points you mentioned above.
I did use Axis 1.x to test the inter-operability. The web service was developed in Weblogic 8.1 and is a part of an existing web application. It will be merged to existing application deployed in weblogic 8.1.
I also program the web service client to test the web service.
The implementation of the server and client will be handed over the project team and training for supporting or continuous development have to be conducted by me. So I don't like to use two types of technologies which will make thing complex.
I found this issue when I tried to protected the web service endpoint, eg http://localhost:7001/epol/service, using the web application Basic mechanism. The wsdl URL http://localhost:7001/epol/service?WSDL is also protected in this case. Unfortunately the username/password pair is not sent to the server when the weblogic client download the WSDL from the server. In this case, the client failed and throw exception. -
Oracle Database Web Service Client using UTL_DBWS :: ORA-29532 Error
Hi,
I have the Oracle Database 10.2.0.1.0 :-
SQL> select * from v$version;
BANNER
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Prod
PL/SQL Release 10.2.0.1.0 - Production
CORE 10.2.0.1.0 Production
TNS for 32-bit Windows: Version 10.2.0.1.0 - Production
NLSRTL Version 10.2.0.1.0 - ProductionI have written a simple Web Services Client using the classes gfrom the UTL_DBWS package. I loaded the JAR file dbwsclient.jar in the SYS Schema and I am trying to use it in the USF Schema.
However, I have hit this error & I ma unable to proceed :-
SQL> select get_stock_price from dual;
select get_stock_price from dual
ERROR at line 1:
ORA-29532: Java call terminated by uncaught Java exception:
java.lang.IllegalAccessException: javax.xml.rpc.ServiceException:
java.security.AccessControlException: the Permission
(java.lang.RuntimePermission getClassLoader) has not been granted to USF. The
PL/SQL to grant this is dbms_java.grant_permission( 'USF',
'SYS:java.lang.RuntimePermission', 'getClassLoader', '' )
ORA-06512: at "USF.UTL_DBWS", line 193
ORA-06512: at "USF.UTL_DBWS", line 190
ORA-06512: at "USF.GET_STOCK_PRICE", line 17Can you please help me with this ?
Regards,
SandeepHi,
The error message said
the Permission(java.lang.RuntimePermission getClassLoader) has not been granted to USF.
I'd follow the suggestion
The PL/SQL to grant this is dbms_java.grant_permission( 'USF','SYS:java.lang.RuntimePermission', 'getClassLoader', '' )
In case you have not done so, consult the Callout Users Guide @
http://www.oracle.com/technology/sample_code/tech/java/jsp/callout_users_guide.htm
Kuassi http://db360.blogspot.com -
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, ValeriyHi Valeriy,
I have exactly the same problem. Have you been able to resolve this yet?
Thanks
Stu -
Problems - WLS 10.0 web service client
I'm having a few issues with WLS 10.0 web service client.
I generated a service control from the WSDL. The service is provided by a 3rd party (non-WLS) at another company. I generated the control within my web project and it's deployed as part of the web application. I experience the following problems with the service control API:
1) The methods setKeyStore(), setTrustStore(), setClientCert() all seem to be ignored - the server always uses the values set in the server's environment definition. Note - the setEndpointAddress() seems to work.
2) The client request does not set the 'Content-Type' HTTP header correctly (it's set to text/html) - I have no way to override this via the service control API (that I can see).
3) I don't see any way/place to turn on more detailed tracing of what's going on internally with the service control invocation - is there a way to enable a detailed trace log of what is happening within the service control?
Note: I'm able to call the web service via the test client (after importing the 3rd party server cert into my local cacerts).
Thanks,
[email protected]Thank you for the reply..
But im still geting the same error. I have tried to include all the libraries in JWSDP pack but still.. I have managed to narrow down the place where the error occures.. It actually happens when I try to get the WebService Client Servant which is located in the package LSC:
---> LSC.LWServiceGenClient.LWS_Impl service = new LSC.LWServiceGenClient.LWS_Impl();
LSC.LWServiceGenClient.LWSServantInterface lagerServiceServant = LSC.LWServiceGenClient.LWSServantInterface_Stub)service.getLWSServantInterfacePort();
return lagerServiceServant;
Could something be wrong with the way I package the Jar? I'm using Sun One Studio and have tried including the 5 packages the application consists of; I have tried including just the files; moving the main class to <root>.. Still same problem..
Or could there be some different fundemental thingy I have forgotten ??
thanks
Aqoi -
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.
RobinSorry 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. -
OC4J web service client and Spring
Hello!
I'm trying to use the Web Service client mechanism of Spring 1.2.6 in conjunction with OC4J by subclassing org.springframework.remoting.jaxrpc.JaxRpcPortProxyFactoryBean and using generated classes from soap-ui.
Problem is that I keep getting errors like this when starting the (embedded) OC4J:
org.springframework.beans.FatalBeanException: Could not instantiate class [at.sozvers.bva.shared.util.CommaSeparatedClassPathContext]; constructor threw exception; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'zpvPartnerAdresseWebService' defined in class path resource [onlineContext.xml]: Initialization of bean failed; nested exception is oracle.j2ee.ws.client.ServiceExceptionImpl: service: {http://oasdev1.bva.sozvers.at:8192/zpvPartnerAdresse/}PartnerAdresse does not contain port: {http://oasdev1.bva.sozvers.at:8192/zpvPartnerAdresse/}PartnerAdresse
The WSDL:
<?xml version="1.0" encoding="UTF-8"?><wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:ns1="http://service.zpv.esb.bva.sozvers.at" xmlns:ns2="http://error.shared.bva.sozvers.at" xmlns:ns3="http://dto.zpv.esb.bva.sozvers.at" xmlns:soap11="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope" xmlns:soapenc11="http://schemas.xmlsoap.org/soap/encoding/" xmlns:soapenc12="http://www.w3.org/2003/05/soap-encoding" xmlns:tns="http://service.zpv.esb.bva.sozvers.at/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="http://service.zpv.esb.bva.sozvers.at/">
<wsdl:types>
<xsd:schema attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://service.zpv.esb.bva.sozvers.at/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:element name="lesen">
<xsd:complexType>
<xsd:sequence>
<xsd:element maxOccurs="1" minOccurs="1" name="in0" nillable="true" type="ns1:PartnerAdresseServiceRequest"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="lesenResponse">
<xsd:complexType>
<xsd:sequence>
<xsd:element maxOccurs="1" minOccurs="1" name="out" nillable="true" type="ns3:ZPVPartnerAdresseDTO"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="schreiben">
<xsd:complexType>
<xsd:sequence>
<xsd:element maxOccurs="1" minOccurs="1" name="in0" nillable="true" type="xsd:string"/>
<xsd:element maxOccurs="1" minOccurs="1" name="in1" nillable="true" type="ns1:PartnerAdresseServiceRequest"/>
<xsd:element maxOccurs="1" minOccurs="1" name="in2" nillable="true" type="ns3:ArrayOfZPVAdresseDTO"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="schreibenResponse">
<xsd:complexType>
<xsd:sequence>
<xsd:element maxOccurs="1" minOccurs="1" name="out" nillable="true" type="ns3:ZPVResponseDTO"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<xsd:schema attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://service.zpv.esb.bva.sozvers.at" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:complexType name="PartnerAdresseServiceRequest">
<xsd:sequence>
<xsd:element minOccurs="0" name="bisDat" type="xsd:dateTime"/>
<xsd:element minOccurs="0" name="bkFachschluessel" nillable="true" type="xsd:string"/>
<xsd:element minOccurs="0" name="bkInput" nillable="true" type="xsd:string"/>
<xsd:element minOccurs="0" name="vonDat" type="xsd:dateTime"/>
</xsd:sequence>
</xsd:complexType>
</xsd:schema>
<xsd:schema attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://dto.zpv.esb.bva.sozvers.at" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:complexType name="ZPVPartnerAdresseDTO">
<xsd:sequence>
<xsd:element minOccurs="0" name="exceptionDTO" nillable="true" type="ns2:ExceptionDTO"/>
<xsd:element minOccurs="0" name="responseDto" nillable="true" type="ns3:ZPVResponseDTO"/>
<xsd:element minOccurs="0" name="zpvAdresseDTOs" nillable="true" type="ns3:ArrayOfZPVAdresseDTO"/>
<xsd:element minOccurs="0" name="zpvPartnerStammdatenDTO" nillable="true" type="ns3:ZPVPartnerStammdatenDTO"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="ZPVResponseDTO">
<xsd:sequence>
<xsd:element minOccurs="0" name="exceptionDTO" nillable="true" type="ns2:ExceptionDTO"/>
<xsd:element minOccurs="0" name="fehlerJN" nillable="true" type="xsd:boolean"/>
<xsd:element minOccurs="0" name="zpvFehlerId" nillable="true" type="xsd:string"/>
<xsd:element minOccurs="0" name="zpvMeldungstext" nillable="true" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="ArrayOfZPVAdresseDTO">
<xsd:sequence>
<xsd:element maxOccurs="unbounded" minOccurs="0" name="ZPVAdresseDTO" nillable="true" type="ns3:ZPVAdresseDTO"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="ZPVAdresseDTO">
<xsd:sequence>
<xsd:element minOccurs="0" name="abgabestelle" nillable="true" type="xsd:string"/>
<xsd:element minOccurs="0" name="adresstyp" nillable="true" type="xsd:string"/>
<xsd:element minOccurs="0" name="anschriftzusatz" nillable="true" type="xsd:string"/>
<xsd:element minOccurs="0" name="beginn" type="xsd:dateTime"/>
<xsd:element minOccurs="0" name="beharrungsadresse" nillable="true" type="xsd:boolean"/>
<xsd:element minOccurs="0" name="bundeslandKennzeichen" nillable="true" type="xsd:string"/>
<xsd:element minOccurs="0" name="ende" type="xsd:dateTime"/>
<xsd:element minOccurs="0" name="exceptionDTO" nillable="true" type="ns2:ExceptionDTO"/>
<xsd:element minOccurs="0" name="gebrauchKurz" nillable="true" type="xsd:string"/>
<xsd:element minOccurs="0" name="hausnummer" nillable="true" type="xsd:string"/>
<xsd:element minOccurs="0" name="ort" nillable="true" type="xsd:string"/>
<xsd:element minOccurs="0" name="plz" nillable="true" type="xsd:string"/>
<xsd:element minOccurs="0" name="postfach" nillable="true" type="xsd:string"/>
<xsd:element minOccurs="0" name="staatkennzeichen" nillable="true" type="xsd:string"/>
<xsd:element minOccurs="0" name="staatname" nillable="true" type="xsd:string"/>
<xsd:element minOccurs="0" name="stocktuernummer" nillable="true" type="xsd:string"/>
<xsd:element minOccurs="0" name="strasse" nillable="true" type="xsd:string"/>
<xsd:element minOccurs="0" name="updatecount" nillable="true" type="xsd:int"/>
<xsd:element minOccurs="0" name="verwendungsartKurz" nillable="true" type="xsd:string"/>
<xsd:element minOccurs="0" name="zpvAevnummer" nillable="true" type="xsd:long"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="ZPVPartnerStammdatenDTO">
<xsd:sequence>
<xsd:element minOccurs="0" name="angehoeriger" type="xsd:boolean"/>
<xsd:element minOccurs="0" name="bkFachschluesselAngabe" nillable="true" type="xsd:string"/>
<xsd:element minOccurs="0" name="exceptionDTO" nillable="true" type="ns2:ExceptionDTO"/>
<xsd:element minOccurs="0" name="familienname" nillable="true" type="xsd:string"/>
<xsd:element minOccurs="0" name="familiennameDiakritisch" nillable="true" type="xsd:string"/>
<xsd:element minOccurs="0" name="geburtsDAT" type="xsd:dateTime"/>
<xsd:element minOccurs="0" name="geschlechtKZ" nillable="true" type="xsd:string"/>
<xsd:element minOccurs="0" name="isoa3Staatsbuergerschaft" nillable="true" type="xsd:string"/>
<xsd:element minOccurs="0" name="landesstellenKennzeichen" nillable="true" type="xsd:int"/>
<xsd:element minOccurs="0" name="namensergaenzung" nillable="true" type="xsd:string"/>
<xsd:element minOccurs="0" name="namenskorrektur" type="xsd:boolean"/>
<xsd:element minOccurs="0" name="staatsbuergerschaftSonderformKZ" nillable="true" type="xsd:string"/>
<xsd:element minOccurs="0" name="stornoJN" nillable="true" type="xsd:string"/>
<xsd:element minOccurs="0" name="titelHintenKurz" nillable="true" type="xsd:string"/>
<xsd:element minOccurs="0" name="titelVorneKurz" nillable="true" type="xsd:string"/>
<xsd:element minOccurs="0" name="todesDAT" type="xsd:dateTime"/>
<xsd:element minOccurs="0" name="updatecount" nillable="true" type="xsd:int"/>
<xsd:element minOccurs="0" name="versicherter" type="xsd:boolean"/>
<xsd:element minOccurs="0" name="vorname" nillable="true" type="xsd:string"/>
<xsd:element minOccurs="0" name="vornameDiakritisch" nillable="true" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
</xsd:schema>
<xsd:schema attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://error.shared.bva.sozvers.at" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:complexType name="ExceptionDTO"/>
</xsd:schema>
</wsdl:types>
<wsdl:message name="schreibenResponse">
<wsdl:part element="tns:schreibenResponse" name="parameters">
</wsdl:part>
</wsdl:message>
<wsdl:message name="lesenRequest">
<wsdl:part element="tns:lesen" name="parameters">
</wsdl:part>
</wsdl:message>
<wsdl:message name="lesenResponse">
<wsdl:part element="tns:lesenResponse" name="parameters">
</wsdl:part>
</wsdl:message>
<wsdl:message name="schreibenRequest">
<wsdl:part element="tns:schreiben" name="parameters">
</wsdl:part>
</wsdl:message>
<wsdl:portType name="PartnerAdresseServicePortType">
<wsdl:operation name="lesen">
<wsdl:input message="tns:lesenRequest" name="lesenRequest">
</wsdl:input>
<wsdl:output message="tns:lesenResponse" name="lesenResponse">
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="schreiben">
<wsdl:input message="tns:schreibenRequest" name="schreibenRequest">
</wsdl:input>
<wsdl:output message="tns:schreibenResponse" name="schreibenResponse">
</wsdl:output>
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="zpvPartnerAdresseBinding" type="tns:PartnerAdresseServicePortType">
<wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
<wsdl:operation name="lesen">
<wsdlsoap:operation soapAction=""/>
<wsdl:input name="lesenRequest">
<wsdlsoap:body use="literal"/>
</wsdl:input>
<wsdl:output name="lesenResponse">
<wsdlsoap:body use="literal"/>
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="schreiben">
<wsdlsoap:operation soapAction=""/>
<wsdl:input name="schreibenRequest">
<wsdlsoap:body use="literal"/>
</wsdl:input>
<wsdl:output name="schreibenResponse">
<wsdlsoap:body use="literal"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="PartnerAdresse">
<wsdl:port binding="tns:zpvPartnerAdresseBinding" name="zpvPartnerAdresse">
<wsdlsoap:address location="http://0.0.0.0:8192/zpvPartnerAdresse/"/>
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
The Spring configuration of the WS- bean:
<bean id="zpvPartnerAdresseWebService" class="at.sozvers.bva.panda.m02.service.PartnerAdresseProxyFactoryBean">
<property name="serviceInterface">
<value>at.sozvers.bva.panda.m02.service.RemotePartnerAdresseBean</value>
</property>
<property name="wsdlDocumentUrl">
<value>http://oasdev1.bva.sozvers.at:8192/zpvPartnerAdresse/main.wsdl</value>
</property>
<property name="namespaceUri">
<value>http://oasdev1.bva.sozvers.at:8192/zpvPartnerAdresse/</value>
</property>
<property name="serviceName">
<value>PartnerAdresse</value>
</property>
<property name="portName">
<value>PartnerAdresse</value>
</property>
</bean>
Does anyone have ideas or experience using Spring 1.2.6 for web service clients with oc4j 10.1.3 ?
Thank you in advance
StefanI also tried to use "zpvPartnerAdresse" as portName, but this didn't change anything.
Stefan -
Java.lang.OutOfMemoryError in a web service client
Please...
I'm doing a web service client.
To access to the webservice I have to enter a date
I'm using Axis api to connect to the webservice
everything its ok until in some day an exception appears
Exception in thread "main" AxisFault
faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server
faultSubcode:
faultString: [java.lang.OutOfMemoryError]
faultActor: /apiws/Manifiesto
faultNode:
faultDetail:
{http://xml.apache.org/axis/}stackTrace: [java.lang.OutOfMemoryError]
at org.apache.axis.message.SOAPFaultBuilder.createFault(SOAPFaultBuilder.java:222)
at org.apache.axis.message.SOAPFaultBuilder.endElement(SOAPFaultBuilder.java:129)
at org.apache.axis.encoding.DeserializationContext.endElement(DeserializationContext.java:1087)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.endElement(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanEndElement(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)
at javax.xml.parsers.SAXParser.parse(Unknown Source)
at org.apache.axis.encoding.DeserializationContext.parse(DeserializationContext.java:227)
at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:696)
at org.apache.axis.Message.getSOAPEnvelope(Message.java:435)
at org.apache.axis.handlers.soap.MustUnderstandChecker.invoke(MustUnderstandChecker.java:62)
at org.apache.axis.client.AxisClient.invoke(AxisClient.java:206)
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 MANIF.QueryManif_wsdl.QueryManifBindingStub.consultaManif(QueryManifBindingStub.java:218)
at prueba.main(prueba.java:75)
{http://xml.apache.org/axis/}hostname:Martin-ciappe
[java.lang.OutOfMemoryError]
at org.apache.axis.message.SOAPFaultBuilder.createFault(SOAPFaultBuilder.java:222)
at org.apache.axis.message.SOAPFaultBuilder.endElement(SOAPFaultBuilder.java:129)
at org.apache.axis.encoding.DeserializationContext.endElement(DeserializationContext.java:1087)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.endElement(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanEndElement(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)
at javax.xml.parsers.SAXParser.parse(Unknown Source)
at org.apache.axis.encoding.DeserializationContext.parse(DeserializationContext.java:227)
at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:696)
at org.apache.axis.Message.getSOAPEnvelope(Message.java:435)
at org.apache.axis.handlers.soap.MustUnderstandChecker.invoke(MustUnderstandChecker.java:62)
at org.apache.axis.client.AxisClient.invoke(AxisClient.java:206)
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 MANIF.QueryManif_wsdl.QueryManifBindingStub.consultaManif(QueryManifBindingStub.java:218)
at prueba.main(prueba.java:75)
I already change the virtual machine memory with -Xms256m -Xmx1200m
And I tried everything... so please if you know the answer to my problem please answer me
Thanks a lot
Edited by: elchape on Jun 18, 2008 1:22 PMcan't anybody help me?
-
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
DevMove server socket creation out of while loop. You don't need to create new server socket every time.
-
Hi @ll
I try to define a specific jms response queue for a web service client that communicates SOAP/jms, running on a WLS 9.2. The web service itself runs also on a WLS 9.2 where also the request and response queues are located. By default the client receives the responses from a temporary response queue. Is there a way to define a specific response queue e.g. setting the JMSReplyTo property in the request on the client side?
/cheers&greetz
DaniWLS do not have a light SOAP client with callbacks yet. It is
not a planed feature for 7.0, but we will considering this for
post 7.0.
regards,
-manoj
"markhu" <[email protected]> wrote in message
news:[email protected]..
Hi, guys:
I have a system : client written in Java/Swing, HTTPS authentication,
and then subscribes to a WLS 61. SP2 based JMS Topic and also has the
ability to send message to a Queue, since I can not bring down the size of
the client side WLS JMS dependency lib, I am thinking about using SOAP /
web service as the communication tier between my client and server, so the
question is: since the client need get the price updates in a real time
mode, I need build a server side based PUSH for all the new price updates
which come into the JMS Topic, and broadcast as SOAP messages to client,is
this mean that I have to build the Call - Back for the Java Swing Client,so
it can automatically get the new price updates as it's getting from JMS
Topic now ? Any Idea on how to build server side PUSH based SOAP message
center as web service ?? Thanks a lot.
regards,
mark
FYI:
I need the same PUSH service for my .NET based client as well.
Maybe you are looking for
-
Freight charge in MIRO details tab
Dear expert, Please help me on below scenario. I raised PO. My PO cost is 10000 INR. and My delivery charge is 200 INR. I have not maintained delivery charge in PO. While doping MIRO I am mantaning the Delivery cost in Details tab. But My issue is Go
-
What is the correct part number for an iPhone 3g battery
It seems there are many different APN's for iPhone batteries. What are the proper part numbers for the 3G and 3Gs? Does it matter what the iOS is?
-
Item Artist Type Unit Price Firework - Ringtone Report a Problem Katy Perry Ringtone $1.29 Order Total: $1.29 Please retain for your records Please See Below For Terms And Conditions Pertaining To This Order. Apple Inc.
-
Every email I have ever sent just showed up in my sent box. I can't delete them. What's up?
-
Moving disabled user to another OU
Hi, I am using Oracle Identity Manager 9.1.9.1 with AD connector 9.1.1. When a user is disabled in oim (when the Disable check box in OIM is checked), I would like the user to be automatically moved to an another OU for disabled users. I have created