connecting to WSDL URL throws MalformedURLException: no protocol - java

We have a web service that is running on a web server. A web app (currently running on localhost) tries to access it. I can call the location in my browser and it will show me the WSDL so the web service is working. Also if I run the web app against the same service running on my localhost, it will work.
But if I try to connect to the remote web service it will give me a
java.net.MalformedURLException: no protocol: <URL here>
which will be wrapped by the wsdl2java generated Service class into
Can not initialize the default wsdl from <web service location here>
Yes, the URL is really working. It is there and running...
What could cause this? Do I need to set permissions or open a port on the remote web service server? (We're using CXF for the web service)
Thanks!

Thanks to Thihara I found the problem:
When accessing my local wsdl service I used
"http://localhost/pathToWsdl"
But when trying to access the remote wsdl I used
"ip.add.res.s/pathToWsdl"
So obviously there was no protocol in the latter and thus the exception.

Related

tomcat to send SSL client certificate

I am trying to do a https rest API call with a SSL certificate(PFX file) which have a password. I tested the connection from my desktop with SOAP UI and it is working fine.
I have a web application which is running on tomcat and I need my tomcat to send this certificate for all the http/https call which it will make.
I am not a tomcat person so i am stuck with this now.
I can find in online about how to set up a keystore & server.xml so that my web app can use Client Authentication against things connecting to it, not for when it needs to connect out to some other server(outgoing call).
my tomcat version is : 9.0.22
connector settings on my server.xml file

SSL exception when calling web service from server

I'm consuming a web service in a java class standalone and it works fine.
I deployed that class as a part of a web-app in tomcat apache and it works fine.
Then, I deployed it in a glassfish server and I get this error:
WSS1601: Transport binding configured in policy but incoming message was not SSL enabled
I have several weeks stuck here. Seems like some glassfish setting doesn't accepts that my web-app uses a web service that works through HTTP (this is, and has to be the case).
The webservice client was made with the web service client wizard tool of netbeans (it uses wsimport-JAX-WS). More details on the error trace from the server:
com.sun.xml.wss.impl.XWSSecurityRuntimeException: WSS1601: Transport binding configured in policy but incoming message was not SSL enabled
at com.sun.xml.wss.impl.policy.verifier.MessagePolicyVerifier.verifyPolicy(MessagePolicyVerifier.java:125)
Has anybody else faced this issue?
Any help or ideas appreciated.
EDIT: I tried generating the stubs using the axis2 tool and it works great, so i'm sensing some kind of error in jax-ws when used in glassfish.
I guess you are trying to access the service enables with SSL. Try invoking the service with https also you have to install the valid SSL certificate in the client JDK.
The following link explain how to obtain and install a signed certificate :
https://docs.oracle.com/cd/E19798-01/821-1794/aeogl/index.html
Good luck :)

WebService test from within Weblogic server (12c)

I have deployed a sample webservice application to remote weblogic server (12C) which has a datasource that accesses a remote database server.
The deployment was successful.
The data source was tested OK from within the Weblogic Server.
But when I am trying to test the webservice (which uses this datasource) I am getting the following error
inside weblogic
When I am testing the same webservice from standalone url (webservice test client - see image) I am getting the following error for the same method. The User name and passowrd for base authentication is correct. Though I am not very sure what/why the base authentication is required, since the data-source has it all. Please advise how to test a webservice that is acessing a remote database through a data source. Link to an example using remote weblogic server and remote database server will also be a great help.
! [In webservice test client]

How to Connect to a web service (SSL enabled and proxy interface)

There is a web service running on tomcat on a server. It is built on Java Servlet. It is listening others to call itself on a SSL enabled http port. so its web service adreess looks
like: https://172.29.12.12/axis/services/XYZClient?wsdl
On the other hand I want to connect the web service above from a windows application which is built on .NET frame work.
Finally, when I want to connect the web service from my computer; I get some specific erros;
Firstly I get; Proxy authentication error; then I added some new line to my code;
Dim cr As System.Net.NetworkCredential = New System.Net.NetworkCredential("xname", "xsurname", "xdomainname")
Dim myProxy As New WebProxy("http://mar.xxxyyy.com", True)
myProxy.Credentials = cr
Secondly, after this modifications It says that bad request.
I did not get over this error.
Moreover I did try to connect the web server on the same computer. I copied my executable program to the computer where the web service runs. The error was like;
The underlying connection was closed:
Could not establish trust relationship
for SSL/TLS secure channel
PS: When I try to connect to web service by using Internet Explorer; I see firstly some warnings about accepting an unknown certificate and I click take me to web service an I get there clearly.
I want to know what are the basic elements to connect a web service, could you please tell me the requirements that I have to use on my windows project.
regards bk
This page offers a simple step-by-step guide on building a web service client with C#.NET.
Step 5 on this page shows how to add a certificate to your trusted store and Step 6 is another way to build a very simple web service client in C#.NET.

Axis Web Service throws error: Exception occurred while trying to invoke service method

I am trying to invoke a web service that I have just hosted on out linux redhat server but it throws the error {http://xml.apache.org/axis/}stackTrace:Exception occurred while trying to invoke service method + "methodname"
I host the service in apache tomcat webserver
The same service works fine when i host it in the windows xp environment with the same apache web server...
Is there anyone who has experienced a similar problem.
thanks..
in the axis2.xml ...
<parameter name="sendStacktraceDetailsWithFaults">false</parameter>
set the sendStacktraceDetailsWithFaults parameter to true and you should get a copy of the stacktrace in the response (reset to false for production)
I have experienced something similar. Our dev environment was running JBoss and Ubuntu, and prod/test was running Red Hat, Apache in front and JBoss.
Prod/test was running https with certificates, and our problem was that our certificates where out of date. When we fixed that, the webservice calls got through.
Maybe thats your problem?
Another thing you should do to debug is see if the wsdl is deployed and check what the webservice address it is deployed under. Maybe the address is very different in prod?
For instance in JBoss if you go to
http://localhost:8080/jbossws/services you will see all the services that are deployed and what url they have.

Categories