Running MDM transactions in a development environment

After setting up an MDM Server development environment you will probably want to start running transactions sooner or later to test things out. Having recently needed to do just that and, by coincidence, following a question about the subject, here are a couple of simple options to get started quickly:

Option 1: Web Service Adapter Sample Client

Using the web service adapter sample client lets you submit MDM XML transactions from a simple web page. The web service adapter is a legacy part of the product which simply wraps up traditional MDM transaction requests in a web service request but it’s ideal for running quick tests.

The developer environment set up process leaves an unpacked set of MDM files behind, including WCCWSAdapter.war and WCCWSAdapterSampleClient.war files. For example on my machine, the files are in C:\MDM\UNPACK\WCC\legacyAdapters\WebServicesAdapter. (You set the location to unpack the files in to on the set up wizard, which you can re-run if you cleaned up afterwards.)

I imported the war files into my workspace, configured the webservices.properties settings in WCCWSAdapter/WebContent/WEB-INF/classes and deployed everything with the MDM EAR.

Once deployed, you can open the following URL to submit transactions:

http://localhost:9080/WCCWSAdapterSampleClient/sample/WsDWLServiceControllerAdapterProxy/TestClient.jsp

Set the end point to http://localhost:9080/WCCWSAdapter/services/WsDWLServiceControllerAdapter before submitting the first request.

Option 2: Test with Web Services Explorer

In RSA you can right click on any .wsdl file and select ‘Web Services > Test with Web Services Explorer’, which includes the .wsdl files in the MDM *WSEJB projects.

Before testing the MDM web services you’ll need to modify some .xmi files since, by default, security for the test environment server will be off, but the web services will be configured for security being on. For example, if you want to run Party web services, look in the PartyWSEJB/ejbModule/META-INF/ directory. You should see ibm-webservices-bnd.xmi and ibm-webservices-ext.xmi files, plus *_SecurityDisabled.xmi and *_SecurityEnabled.xmi versions of the same files. Copy the *_SecurityDisabled.xmi versions over the the plain *.xmi files and redeploy the MDM application.

Finally, open your chosen .wsdl file and set the end point to the test server. For example I opened PartyWSEJB/ejbModule/META-INF/wsdl/PartyService.wsdl and set the PartyPort address to http://localhost:9080/PartyWS_HTTPRouter/services/PartyPort

Then you’re ready to right click on the .wsdl file and select ‘Web Services > Test with Web Services Explorer’.

Those aren’t the only ways to run MDM transactions, but I’ve found them really useful for quick and dirty tests. For a more in depth look at using the web services interface, check out the Configure and invoke Web services for WebSphere Customer Center developerWorks tutorial. I hope to cover more options in the furtue, for example using the messaging adapter, but in the mean time I’d be very interested to hear of any other articles out there for submitting requests.

Update: see also Option 3 for using the InstallVerification project to run transactions (27 August 2008)

About these ads

7 thoughts on “Running MDM transactions in a development environment

  1. Pingback: Setting up an MDM Server development environment « Notes from a small field

  2. This is for testing in Development, or at most a mini environment. But when a full fledged testing is required, such as testing a deployment, or for automated testing,
    Can you give me any idea about it?

  3. Hi Sagnik,

    Sure, these techniques are really just for experimenting with the MDM Server transactions, rather than testing a deployment. I haven’t reached the option you’d probably want to use as a basis for fully fledged testing on this blog yet…

    Have a look in the samples .tar.gz and you should find a couple of samples that will get you started. One service controller example and one for the messaging adapter. (Or you could generate a web service client if that’s how you plan to use MDM Server transactions.)

    Once you have the client code working, use something like JUnit or your favourite automated test tool to drive each of the test cases you create.

    Hope that helps

  4. Pingback: Another way to run MDM transactions in a development environment « Notes from a small field

  5. Is it possible that I write a simple webservices client as in using the DynamicProxy method and JAX-RPC that can invoke the process method in WsDWLServiceControllerAdapter?
    I’am actually trying to write a webservice client using the JAX-RPC API to invoke this webservice but getting runtime errors that is unable to invoke the process method of the WsDWLServiceControllerAdapter. I used the wscompile tool to generate the client stubs from the published .wsdl file.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s