Secure Webservice Client on Glassfish - web-services

I have an secure external webservice at URL https://my-webservice-path?wsdl, and i want to connect to use this. This is a 2-way ssl.
I create a webservice client in following:
Create an java application Application1
at Project window, click Application1 icon -> new -> Web service client
paste my URL at WSDL URL, client type is JAX-WS, package: com.mypackage
finish
But an error appears: Error: An I/O error occured. Received fatal alert: handshake_failure
And i can not create Web Service References. I use Glassfish 3.0.1 server.
I tried to replace the alias s1as in keystore.jks and cacerts.jks of the Glassfish by my keypair and certificate, but it still fails.
I also tried to use wsimport parsing wsdl file but fail:(
I posted this question in Oracle Forum at http://forums.oracle.com/forums/thread.jspa?threadID=2214292&tstart=0 but get no answer.
i've tried to solve this for 2 days :(
What can i do now to solve this problem?
Plz help me, thank you!

please check out the answer from Catchwa in Mutual-authentication with web services. The steps to implement a glassfish based mutual authentication are described in detail.

Related

ERROR loading WSDL into SOAPUI when testing the web service created by Anypoint(mule)

I am completely new to AnyPoint Platform, and wanted to give it a shoot by running the "howto-wrapping a SOAP web service over a data base" I strictly followed the instructions and successfully got the APP deployed in AnyPoint.
However,when I wanted to test the web service by SOAPUI, an error came out
error loading wsdl
I tried to open it in the browser and it worked. Could anyone give any hint about how to solve the problem? Thanks in advance.
This is how the WSDL opened in the IE look like:
wsdl opend in the browser

WSO2 ESB (4.9.0) throw out SOAPProcessingException when connecting Salesforce through proxy server

I try to use WSO2 ESB at workplace where Proxy Server is available.
Set Proxy Server settings in axis2.xml,
Install certificate.
Initialize Salesforce connector(Salesforce certificate has been installed).
Test the API, run into an exception - SOAPProcessingException,
Really appreciate if someone can give ideas of solution.
First of all I have tried this type of a scenario using WSO2 ESB 4.9.0 and which was perfectly working fine. By looking at your error messages I can see that there was an Authentication failure, hence Sales Force end point returns some HTML error message. The ESB tries to build this HTML error message using the SOAP builder leading to this situation.
This could be due to some missing configuration in your setting. You may follow [1] to enable HTTP Proxy to Sales Force. Then to setup Sales Force [2] will be helpful.
Couple of thing I need to highlight here. Did you import the Salesforce certificate into the ESBs client trust store using the keytool import command. If not please go ahead and do so. Also is there a particular reason for you to use NHTTP transport here. Ideally we would use Passthrough transport to add the proxy host as given in [1].
If you still get the error after following the above steps please enable the wirelogs and post it here to investigate further. Follow these steps to enable wirelogs.
Open log4j.properties file from a text editor.
log4j.properties file is located in $ESB_HOME/repository/conf directory.
Un-comment the following entry.
log4j.logger.org.apache.synapse.transport.http.wire=DEBUG
Hope this helps you.
[1] https://docs.wso2.com/display/ESB470/Enabling+SSL+Tunneling+through+a+Proxy+Server
[2]https://docs.wso2.com/display/ESBCONNECTORS/Working+with+Salesforce+Connector+Operations

Invalid WSDL request message (HTTP 405) on WSDL request (Glassfish v3)

I've a web service, which is basically a #Stateless EJB annotated with #WebService, and other JAX-WS related annotations. I can deploy this bean on my machine's glassfish instance, and see its WSDL through Glassfish's administrative GUI. I can also call its methods without any problems, from a SE client.
When I deploy this web service to a server instance in any other machine, I can no longer browse its WSDL through glassfish, and the client fails to connect to the server. The message displayed is:
Invalid WSDL request: http://ip:port/context/serviceEndpoint?wsdl
The HTTP error returned by Glassfish on such request is 405 (method not allowed).
I browsed around, and couldn't get anything directly related to glassfish v3. There are issues open on Glassfish's bugzilla for version 2, meaning they're old and have been labelled as CLOSED/FIXED already.
Anyone ran into this before? Any help or any clues about what could be happening here?
Thanks in advance!
For the sake of those who might come across this problem one day: I had OpenSSO on the target server. And by many obvious reasons, it was a classpath clashing problem that prevented the WSDL to be generated by glassfish.
Once OpenSSO has been removed of the equation, everything worked as it was supposed too. So, even if you're not an OpenSSO user, check your classpath for multiple Metro instances, or any other JAX related library that might be conflicting with glassfish's own on your domain.

Communicating with web service on SSL

I have a web service which previously was deployed on http. I used to generate stub classes using wsimport using wsimport http://localhost:8080/MiniForumService/MiniForumService?wsdl.
Now I deployed it on SSL. But when I try to generate the stub classes from it using wsimport https://localhost:8443/MiniForumService/MiniForumService?wsdl but I'm getting the following error:
unable to find valid certification path to requested target
I'm using a self-signed certificate on the server. How can I solve this please? I've googled about but haven't found a solution till now
Thanks and regards,
Krt_Malta
Assuming you use Netbeans and Metro, this tutorial may help you.
This trick is to check the "Secure Service" check-box as described.

SOAP Request fails with "Invalid service URL" error

My BlackBerry application consumes axis2 web services. SOAP POST HTTP request constantly fails with this error "Invalid service URL". I launch my app in 8800 simulator with ";deviceside=false" option specified. MDS is running.
I can't test my app on real device for now. Any help?
Problem solved. You need to add specific options to MDS configuration to make it work behind proxy. Here's an artical that describes the solution.