webMethods 6.5 & SOAP-RPC


I’ve noticed a strange output in the SOAP when using the built-in SOAP-RPC processor. I have a method which comes back with a list of dates. I’m looking at the SoapResponseData object in my webMethods WSDL client to it and here’s what comes back:
xmlns:xsd=“XML Schema
<ser-root:getVersionsResponse xmlns:ser-root=“urn:company:namespace:v1” SOAP-ENC:root=‘1’>

<_x0040_success xsi:tyoe=“xsd:boolean”>true</_x0040_success>
<VersionList xsi:type="sc1:_VersionList id=“id2”>




Why would getVersionsResponse show up twice when it’s only there once in my output for the adapter? If I build a webMethods 6.5 client to it, it seems to be able to parse it correctly and come back with one getVersionsResponse node. I’ve noticed that if I build a 7.1 client to my 6.5 service though it thinks there is two nodes and throws a validation error.


Looks like you are running into multi-reference. You can disable that with an IS watt.server.soap config setting. Search wMusers or Advantage for the specific config setting.

Also, don’t use SOAP-RPC. Lots of posts here on why not.


Should I maybe not have called my output document getVersionsResponse? It looks like the RPC processor creates a root node around the response called Response - where my operation happens to be called getVersions.

Is that setting a 7.1.1 setting? I saw something called "watt.server.SOAP.useMultiReference" on the net but didn’t see it in the 6.5 administration guide. Is it just an issue with 7.1 clients? Do you think other clients (non-webmethods) would be able to parse it correctly?


The useMultiReference param is for all versions of IS after 4.6 SP2, I believe, but you would need to confirm with a few minutes of research on Advantage.

Did I mention the thing about not using SoapRPC? I don’t think naming your operation name is causing this.