Path to access a java web service? - web-services

I created a simple java class and created a web service based on that class using a bottom up approach. I am able to create the service in eclipse but for checking the WSDL file through browser (to confirm the web service is deployed successfully) i am not sure what URL (basically the path) should i use. I tried using URL
http://localhost:8080/POSStore/ConsultServices?WSDL
but it doesn't work. Any suggestions?

Instead i need to use below URL. Though not sure why services was included in the path.
http://localhost:8080/POSStore/services/ConsultServices?WSDL

Related

How to invoke a web service in a jBPM Drools project?

Is there a way to create a service task using a WSDL to call a SOAP web service? I have tried to use the domain specific processes, but I can't find where to put the URL of the WDSL file.
You can use the 'Service Task' for that. It's under the 'Task' category under designer, or just create a Task and change it to type Service Task. Change the service implementation to web service and it has properties like interface and operation you need to specify.
Maybe take a look at the following example:
https://github.com/droolsjbpm/jbpm/blob/master/jbpm-workitems/src/test/resources/BPMN2-JaxWSServiceTask.bpmn2

How do you put IIS web services into maintenance mode?

How do you put web services into maintenance mode?
I've tried the app_offline.htm, doesn't seem to work well for web services. Does work for web site though.
app_offline.htm worked fine for web sites, but not for web service. When I called an web service function via code that's supposedly under maintenance (put the app_offline.htm under the root directory of the IIS web service), I still got the proper response as usual.
Ideally I would like the web service that's under maintenance to return to me a message like "under maintenance".
You can edit your Global.asax as suggested by this answer to another question. Then trigger it by setting a flag when you are in maintenance mode
In my opinion, when a service is unavailable, you should respond with a 503 Service Unavailable status; but you can do anything you like with the response.
Create a utility function for your web services, which checks for the presence of app_offline.htm at your website's root path, and responds accordingly.
Note that if you wanted to get fancy with it, you could use a part of the WCF pipeline (assuming you're using WCF and not the legacy .ASMX services) to modify your services/methods by using an attribute (eg, this method).

Best way to deploy a web site alongside an axis2 web service via Tomcat?

I am using Axis2 (1.5.3 currently) and Tomcat (6.0.26 currently) and am running a web service. I would like to also host HTML pages for configuring the web service.
What is the best way to go about this? I assume keeping the same context is key, but perhaps it is not.
My current distribution is located under a folder structure similar to this:
Tomcat/webapps/mycompany
With the actual service code here:
Tomcat/webapps/mycompany/WEB-INF/services/myService
In a browser, I can hit my web service by going to here:
/mycompany/services/myService
I note that I can drop actual HTML files in this path and Tomcat will, indeed serve them up.
For instance, if I put "index.html" under Tomcat/webapps/mycompany, I can navigate to /mycompany/index.html and see my html.
What I want to do is have this HTML be attached to JAR/class files that can interact with the already-existing service class files in the same context as the service. Therefore, I can have the browser configure the web service directly.
Is this possible, and is there a tutorial or something out there that will help me with this? Note that I have been working with Tomcat and Axis2 for a while now for this particular web service, but I have never actually deployed a web application/html using Tomcat before.
Thanks.
First of all what do you mean by a configuring a service. Normally in SOA world services are analogous to interfaces. IMHO you can just change a service, since their are other users that rely on the services you are exposing.
If i want to change a service i would rather introduce a new version of the service after deprecating the existing one.
Are you talking about applying QoS to existing serviecs. Then that makes sense.
Anyway, If you want to have a web-app alongside with axis2 service engine, it is possible. If you look inside the axis2 war file you'll find the web.xml entry to Axis2Servlet. It is this servlet that serves the web services requests.
So, what you need is the Axis2Servlet mapping in your web-app along with your usual servlet-mappings. Number of possible ways to configure your services using web-app files. One options is to use web-services call itself to (with authentication) to configure it.
By "configure a service", take this example:
The service has a set of datasets.
Each dataset exists in a separate database.
The service can manage 0..n datasets.
The service must be configured to know about each dataset.
This is what I'm configuring. I'm not trying to configure Axis itself or redefine the service.
I would like to host the HTML using the same instance of Tomcat that I'm hosting the web service with. It needs to manage sessions, have login capability, an whatnot, and has to be able to configure the web service live.
From what I'm reading, it's probably best to make an interface to the web service that the web application module can call into from a different context.
Is there a better way?

how to make a webservice (WSDL) which can only be used from my e.g. android app?

i have a question about a .net WSDL webservice.
i want to make a android app which access the webservice, but i dont want to make a public webservice. the webservice should only be accessable by the application so no other user who know the url can access it.
are there any methods to do this?
I don't think there's a 100% safe method to do this. I can suggest generating and sending a key with each request. Normally only the application code would be able to generate a valid key that would be recognized by the web service. You can also use HTTPS on top of that for added privacy against sniffers.

Sharepoint: how to use web services method

I need to use the web services available by adding /_vti_bin/webs.asmx to your site URL. In particular GetAllSubWebCollection.
Sorry if this is a noobish question, I work in a split 2007-front 2010-back environment and do not have access to the server so I have little experience with advanced features.
What do I have to enter into the URL to get this method to work? Am I supposed to create a page to handle the info?
Thanks!
Add a Web Reference (not a Service Reference) in Visual Studio. This service is a SOAP service, so you won't be able to just type a url into your browser to call this method. You'll need to send a SOAP message to the service. .NET handles this for you when you add a web reference. If you're using SP 2010, use the Client Object Model instead.