Creating web services with the Integration Framework

Along with the many other ways to insert and retrieve data, you can create and deploy web services to be integration with third party tools, just like our workorder assignment module that allows you to quickly batch assign workorders to your labor force.  It follows all of Maximo’s business rules when entering data, but you can also use web services to query data.  However you choose to use web services, it’s there at your disposal.

First thing you need to check is your system properties.  Ensure that the ‘mxe.int.globaldir’ and ‘mxe.int.webappurl’ are populated.  You can set the global directory to any value you want.  The value for the webappurl can be set to:

http://<servernane>:9080/meaweb

or if you have multiple instances of Maximo running on the same machine, you can just change the port number accordingly.  Save your changes and restart the application server.

Now you are ready to create the web service.  Navigate to Integration -> Web Services Library.  We will create a web service from an object structure.  You can create a web service from either an object structure, enterprise service, or a standard service.  In this tutorial we will choose the MXPerson object structure.  Navigate to Select Action -> Create Web Service -> Create WS from Object Structure.  In the dialog box, select MXPerson and click OK.  For every object you wish integrate with, you will have to create a seperate web service for, which will then have its own WSDL file.

MXPerson should now be populated in your list.  Click it to open it up in the Web Services Library tab, then navigate to Select Action -> Deploy Web Service.  Once deployed, you can select the operation and view the schema or XML by clicking on the ‘Generate Schema/View XML’ button.

Web Service - Operations
Web Service – Operations

There are different operations for different purposes.  Of course if you want to create a new record, you would use the ‘CreateMXPerson’ operation, or you can query data with the ‘QueryMXPerson’ operation.

Lastly, to access the WSDL file, point your browser to your mxe.int.webappurl value and append “wsdl/<object structure>.wsdl”.  So it should look something like this:

http://<servername>:9080/meaweb/wsdl/MXPerson.wsdl

You can then now test out the web service with your favorite SOAP tool.

Series NavigationassetmoveSingleAsset operation and the standard web service >

Did You Know...

As Maximo Experts, we have developed several add-on products for Maximo that mobilize the work force, simplifies assignments, provides ad-hoc reporting capabilities and facilitates the seamless integration of Service Requests into Maximo.

Check out our products by clicking on the following links: EZMaxMobileEZPLanner and EZInsight.

Find Out More

20 thoughts on “Creating web services with the Integration Framework

  1. I have been using SoapUI and have been creating, updating and doing queries successfully,….

    However, if I try and update an SR record I get “BMXAA1496E – SR does not exist. Cannot update or delete.”

    I can create SR’s fine, and can update changes? it seems to only be updating SR’s that has an issue,…

    Anyone come across this?

    Thanks,

  2. Hi Yes,.. I can create/query etc on SR’s and my update is very simple,..one field whilst I’m testing..

    Similar XML works fine on updating changes.

    I can’t see anything obviously wrong/different,…

    Thanks,

    1. I believe it is because the error message is saying that the SR record does not exist and it can’t update. It can’t find the record because some fields are probably missing from the XML that is need to find that record. Try including the TICKETID field in the XML.

  3. Hi,..yes I have tried adding the TICKETID and TICKETUID,..get the same error,…

    I have copied the change one which works and replaced it with the SR bits,.. (change wonum to ticketid etc) and still not working.

    I have tried it on another system and have the same issue…

  4. Hi yes,.. I went to the webservices library,.. selected the SR object and clicked the ‘Generate schema/view xml, it listed all the methods,… create, update, delete, sync,.. then deployed it,

    The change one which works ok is in this format;

    1001
    This is an update
    TESTSITE
    MAXADMIN

    So I basically took this and used ticketid instead of wonum,.. and changed the change references to correct SR ones,.

    Many thanks for your interest in this,

  5. Hi there. At first – Im newbie in MIF, Java, XML. I’ll try to give step by step description of my problem:
    1.I’ve created and deployed an Object Structure based Web Service and checked format of XML-message that it expects for “create” operation.
    2.Then i’ve wrote simple SOAP-client that sends SOAP-envelope with XML-message for create operation:

    ORG
    TSITE
    123

    And server returned:
    soapenv:ClientThe endpoint reference (EPR) for the Operation not found is http://10.7.253.2:9080/meaweb/services/GSXML and the WSA Action = org.apache.axis2.AxisFault: The endpoint reference (EPR) for the Operation not found is http://10.7.253.2:9080/meaweb/services/GSXML and the WSA Action =
    ……

    Does it mean that apache doesnt know about web-service that was deployed by maximo? Whats wrong?

  6. One other question,.. I wanted a new log entry added on an update to a Incident or SR etc,..

    I added the worklog object to the incident object and added the replaceship,…

    When I run the first update, I get a log entry added to the log tab which is great,.. however, if I run it again, it simply deletes the 1st entry and replaces it,.. any idea how to get it to add a second line in the worklog table?

    Thanks,

  7. Chon,

    Great write up!

    Is there anyway to secure the web service? I would like to force the caller to pass in credentials. I haven’t been able to force that.

    Thanks,

    Derek

  8. Chon,

    I need to prepare the wsdl file to use any webservices operation. Can you please explain how can I prepare the wsdl file (which tool or any resources).

    Thanks

Leave a Reply