0

I have an issue with build-in (non accessible) webMethods Integration Server soapClient service. Somehow it changes the request it should send while processing it, renaming parameter items to item.

what is send to the method:

<request>
  <t1>1</t1>
  <operation>op</operation>
  <service>1</service>
  <params>
    <count>1</count>
    <items>
      <key>12</key>
      <value>12</value>
    </items>
  </params>
</request>

what request webmethods sends:

<request>
  <t1>1</t1>
  <operation>op</operation>
  <service>1</service>
  <params>
    <count>1</count>
    <item>
      <key>12</key>
      <value>12</value>
    </item>
  </params>
</request>

I'd be grateful for any workaround/idea for a solution.

SSV
  • 860
  • 3
  • 11
  • 25
  • The class works ok (you shouldn't decompile and post vendor code!! This is not legal! Please remove the link asap!). Most probably your Flow Service where you generate the data does not use/produce a document list for "items" but a mere document named "item". Please check this. – Henning Waack Jun 20 '17 at 10:45
  • This is how I debug it: http://i.imgur.com/csC40Hs.png It still changes the xml to in both cases. – SSV Jun 20 '17 at 11:04
  • Can you please post an example/screenshot how exactly you pass this document to the soap service? how do you create your soap request? Can you export your package and post it here? – Henning Waack Jun 21 '17 at 11:36
  • @HenningWaack Due to it being confidental, I cannot share whole package, but I replicated the idea behind building a request in a test package (note that no headers and other things are being passed) https://ufile.io/1e9jz sending request like this will change 'items' elements into 'item' element. – SSV Jul 03 '17 at 13:42

1 Answers1

0

I see in your example code that you first create an document named "items", then you map this document to a document list named "items". This is not valid. Please note that the pipeline in IntegrationServer is nothing but a key-value map, and the keys must be unique. That is the reason why you still have a single document named "items" instead of a document list. Rename your document to something like "item", and then use appendToDocumentList to add it to the "items" doc list.

Wrong mapping

Henning Waack
  • 410
  • 3
  • 10
  • I wanted to create a quick flow describing a problem and made a mistake, doing a document Your way doesn't change anything. Take a look at this package: (add items in input when debugging). The problem shouldn't occur here https://ufile.io/cwg74 – SSV Jul 12 '17 at 13:16
  • Sorry, this package is just to much slimmed down to reproduce anything! Please provide a working sample where this problem is reproduced, else it is hard/impossible to help. – Henning Waack Jul 14 '17 at 09:56
  • just try to send the request formed like that using webMethods soapClient. Looks like it's a mistake in implementation from Software AG side, I'll just write a java implementation of SOAP communication and use it in my flow. – SSV Jul 14 '17 at 11:05