• Entries (RSS)
  • Comments (RSS)

Dynamically assign web service endpoint urls

Posted by | Posted in Websphere Process Server / Integration Developer | Posted on 04-03-2009

Tagged Under : , , , ,

Dynamically assign web service endpoint urls

How do we assign an end point URL dynamically to a web service in WebSphere Process Server? Or how do we change the endpoint URL of the web service. If any our business process invokes an external web service, we may need to change the web service URLs for different environments. For e.g.: for DEV WPS server we will have one web service end point URL where for PROD there will be a different one. So in this case we should be able to set the endpoint urls dynamically depending on the environment so that we do not need to change our EAR file for each environment.

To assign a dynamic end point url for an external web service we have two different ways. One needs some administrative effort and one needs some programmatic effect.

To change the endpoint url from the admin console follow the below steps.

1. Login to your admin console

2. Click on Applications -> SCA Modules from the left hand Menu

sca_module

3. This will list all the SCA Modules installed in your server.

sca_module_display

4. Now click on your module.

sca_module_details

5. Now from Module components click on Imports. It will display all the imports present in your module. Expand the import for which you want to change the end point url. Once expanded, expand Binding which will display your service.

sca_module_component

6. Now click on the web service import.

webservice_import_binding

7. Enter the new endpoint url and click on Apply and OK.

I will blog about the second way of assigning a dynamic end point url for a webservice import in the next post.

JBoss url accessible only from localhost

Posted by | Posted in JBoss | Posted on 19-02-2009

Tagged Under : ,

JBoss url accessible only from localhost.

We are migrating some of our applications to JBoss from WAS. The migration went successful. The developers were accessing the page using localhost url, during the development time. Today when we tried to access the url from outside the machine using the IP address or server host name, the pages were not coming, even if we are trying to access the page from the same server. However anytime we access the page with localhost as the host name it was coming without any problems, but not for any other IP or hostname.

I did a search and a page in JBoss Wiki helped to resolve the issue. http://www.jboss.org/community/docs/DOC-10179 . For people who don’t have the patience to read the wiki page and find out how to solve it, just follow the below steps.

While starting the server pass the IP address using the -b option. For eg: if you want to access the page using IP address, start the servers using the following command.

run.bat -b 192.168.66.1

Where 192.168.66.1 is your IP address or if you want it to be for all the IPs instead of one, use

run.bat -b 0.0.0.0

WPS server move

Posted by | Posted in Websphere Process Server / Integration Developer | Posted on 27-01-2009

Tagged Under : , ,

WPS server move

We are moving our WebSphere Process Server instance from one machine to another. The biggest challenge in this WPS server move or migration is to keep the existing business processes and human tasks. Our current WPS instance has a lot of long running processes and completed tasks.

I feel the above scenario is very common and can happen to almost every company that has WPS running. However when I checked, there is no IBM supported solution to move a WPS instance from one server to another (At least in Infocenter). Starting from WPS 6.2 they have added support to WPS server moves, but versions prior to 6.2 there is no support. (I don’t know what IBM was thinking about their product? Do they think that only short running processes should be installed in a WPS machine? Or once installed you cannot change the server forever?)

Anyways we have found a workaround to keep the existing processes and tasks even after migrating to the new server. Our strategy is very simple. We have installed the new server and deployed all our applications. Now the new WPS server will have all our applications running except the old processes and human tasks. Now we took a dump of our old database and imported into the new server. It worked! All our old processes and tasks were there in the new instance too. If somebody is planning to follow the same approach remember to install all the old applications before importing the database. Else all your tasks and processes will be marked as invalid and deleted. Anyways we haven’t tried this approach in our production instance yet.

We have opened a PMR with IBM to see whether there is some IBM supported solutions for server move before actually implementing our work around in production server.

If some one else has a better approach for WPS server move than mine, please let me know.

Update: We got an update from IBM and they do not support the server move. Their solution was to migrate to 6.2 first and then move the server.

Business spaces in WebSphere Process Server

Posted by | Posted in Websphere Process Server / Integration Developer | Posted on 08-01-2009

Tagged Under : , , , ,

Business spaces in WebSphere Process Server.

Starting from version 6.1.2 IBM introduced a new feature in WebSphere Process Server called business spaces. A business space is a collection of content related to a business process which has the capability to act on that process. Basically it is a web based user interface for a business user to interact with a process. In business space we can have many different business space widgets for different actions like work on a task, monitor key performance indicators etc. This feature is very helpful when we have some human tasks associated with a process. Instead of writing custom client pages, business users can login to business space and start working on the task assigned to him

The business space manager can be opened using the url http://localhost:9080/BusinessSpace

Business space manager that comes with business spaces is used for managing your business space. Business space manager allows a user to create/edit/delete business space, page etc. You can open Business Space Manager by clicking on the Manage Business Spaces link which is present in the top right corner of your business space.

org.apache.commons.logging.LogConfigurationException: Class org.apache.commons.logging.impl.Log4JLogger does not implement Log

Posted by | Posted in JBoss Developer Studio | Posted on 05-01-2009

Tagged Under : , , ,

I was helping my team to migrate an application that was running on WebSphere Application Server to JBoss. The web application was using struts as the framework. The application did not show any error message in the IDE. The IDE we were using was JBoss Developer Studio. However at the time of deployment we get an error message like this

INFO  [ContainerBase] Marking servlet action as unavailable
ERROR [ContainerBase] Servlet /XXXWeb threw load() exception
	org.apache.commons.logging.LogConfigurationException: Class org.apache.commons.logging.impl.Log4JLogger does not implement Log

This makes our struts framework unavailable to the application.

After doing some research work we found a solution to this problem. Remove bundled commons-logging.jar from web application. I.e., remove commons-logging.jar from WEB-INF\lib folder of your web application.

I am not sure about the reason for this behavior. Seems like a bug to me. May be a bug in JBoss, Eclipse or JBoss Developer studio.