ITPAM integration fails with Processing instructions are not allowed within SOAP messages

Document ID : KB000126200
Last Modified Date : 04/02/2019
Show Technical Document Details
Issue:
In Catalog GUI,  go to Administration -> Configuration -> CA Process Automation ->  When clicking "Test" button to check catalog to ITPAM connection , it always fails and  there are the following messages in view.log  


2019/01/02 13.01.01.755 INFO  [http-nio-8080-exec-14] [WPFServlet] END: Time taken for GET request, Node=icguinode.toolsconfigedit&sh=2IMoc4nqM%2F2rJIoK%2BpVkt9gpIpk%3D&Args=ADP&Args=INSTALLED_DEFAULT%2C%20itpam%2C%20hostname:devhostname is:47
2019/01/02 13.01.01.755 INFO  [http-nio-8080-exec-14] [WPFServlet] NUmber of sqls=17
2019/01/02 13.01.02.026 ERROR [pool-2-thread-1] [ITPAMWebserviceManager] Catalog connection to ITPAM failed.
AxisFault
 faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException
 faultSubcode: 
 faultString: org.xml.sax.SAXException: Processing instructions are not allowed within SOAP messages
Environment:
ITSM Service Catalog 14.1 or 17.1 or 17.2 
Cause:

In view.log ( TRACE level ) on your non-working env  while reproducing the problem ,   you will see the following messages :

2019/01/25 13.18.12.533 TRACE [http-nio-8080-exec-12] [AbstractWebserviceManager] WS URL Full Address = http://devhostname:8080/
2019/01/25 13.18.12.533 TRACE [http-nio-8080-exec-12] [AbstractWebserviceManager] WS Class Name= com.ca.usm.webservices.ITPAMWebserviceManager
2019/01/25 13.18.12.533 TRACE [http-nio-8080-exec-12] [AbstractWebserviceManager] userpass:DEFAULT:C:/Program Files/CA/Service Catalog\:itpamadmin_stag:0:15
2019/01/25 13.18.12.533 TRACE [http-nio-8080-exec-12] [ITPAMWebserviceManager] Max Retry Count : 3, Max Wait Time: 15000
2019/01/25 13.18.12.533 TRACE [http-nio-8080-exec-12] [ITPAMWebserviceManager] Testing: Catalog connection to ITPAM...
2019/01/25 13.18.12.551 TRACE [http-nio-8080-exec-12] [ITPAMWebserviceManager] auth instance 
2019/01/25 13.18.12.551 ERROR [http-nio-8080-exec-12] [ITPAMWebserviceManager] Catalog connection to ITPAM failed.
AxisFault
 faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException
 faultSubcode: 
 faultString: org.xml.sax.SAXException: Processing instructions are not allowed within SOAP messages
 faultActor: 
 faultNode: 
 faultDetail: 
{http://xml.apache.org/axis/}stackTrace:org.xml.sax.SAXException: Processing instructions are not allowed within SOAP messages
at org.apache.axis.encoding.DeserializationContext.startDTD(DeserializationContext.java:1161)


Notice that the web service soap call wsdl to ITPAM in Catalog is   WS URL Full Address = http://devhostname:8080/  .  That is the cause of the problem .    It should be WS URL Full Address = http://devhostname:8080/itpam/soap 

The fundamental  cause of this problem is that  :  The  value in usm_configuration table  where group_name like '%itpam%'and name='wsbasepath'   is empty instead of itpam/soap somehow .  
 
Resolution:
1)  first take a backup copy of  your current usm_configuration table in  your MDB  .
 
2)  then set the  value  in  usm_configuration table where  group_name like '%itpam%'and name='wsbasepath' as itpam/soap :

update usm_configuration set value='itpam/soap' where group_name like '%itpam%'and name='wsbasepath'

3)  recycle catalog service 

4)  login catalog GUI to click  that "test" button .   Catalog should be able to connect to ITPAM .