One problem was in the MessageDefinition.table.
I was missing the Operation type (Operation = Export;). So this is how another web service shows up now!
UserCoreRequestService = { Operation = Export; Signature = { Error = {}; ListenerClass = "integration.service.GeneralDataRequestProcessor"; Reply = { Schema = "ariba.user.core.User"; }; Request = { BasicMessage = integration.messages.WebServiceBasicMessage; }; Response = {}; }; TopicName = UserCoreRequestService; Type = Service; };
The reason why I have my own listener class is because I want to process the request and response on a custom fashion.
For example, I would like to list all PRs associated to a user.
One thing I noticed is the Request needs to be an ClusterRoot type. I tried something like below but got a 500 validation error:
Request = { AuthtenticatedUser = java.lang.String; };
FYI, this is how my actual ../Server/config/variants/@variant/partitions/@partition/ws/MessageConfiguration.table looks like:
UserCoreRequestService = { Channel = { Encoding = UTF-8; WSDLLocation = "config/variants/cvar1/wsdl/UserCoreRequestService.wsdl"; Operation = "UserCoreRequest"; Port = ""; ObjectNameTag = "DataRequest"; TimeoutInSec = 60; Decoder = { Name = WSChannelDecoder; }; Encoder = { Name = WSChannelEncoder; }; FileType = SOAP; Name = WS; }; MessageParameters = { Request = { Parameters = { EventSource = "External"; Operation = "Export"; Filename = "TBD"; }; SchemaName = ariba.integration.SimpleFileSchema; }; }; TopicName = UserCoreRequestService; };
With this I was able to start up the application and see the web service listed under my service URL: https://buyer.com/Buyer/soap/@partition
As a heads up, if you try to generate the WSDL by clicking on the link https://buyer.com/Buyer/soap/@partition/UserCoreRequestService?wsdl you a 500 error.
It is because it is trying to validate. To work around this you just add "&validate=false":
https://buyer.com/Buyer/soap/@partition/UserCoreRequestService?wsdl&validate=false
I am still working on a web page to make a SOAP request to that service and see how it goes.
Regards
Murilo