Problem with SoapClient

Hi,

I have built project which simulates online shop. I have done free trial tutorials from your website. Now I want to communicate with service mock which I prepared in SoapUI software. This mock is defenitely correct, because I have done the same project in other SOA technology and it worked properly.
When I try to send a message to my mock in SoapUI I want to use pub.client:soapClient element. I map all required field such as targetIntputSignature or targetOutputSignature. When I run my service as server it compilates properly (green sign on icon) but in messages I can see error message:

“[ISS.0088.9139] Output parameters do not conform to targetOutputSignature: errorCode=VV-005pathName=/st:successerrorMessage=[ISC.0082.9034] Field is absent, field must exist”

just as on screen capture which I attached to my mail. I attach also XSD file, which defines types in request and response. I try to use ‘CheckCardValidity’ service. I think all elements are definied properly.
Moreover, when I do the same in other technology with the same WSDL and XSD files with the same mock, there are no similar errors and it works well.

Does anyone have idea what could be the problem?
OrderService.wsdl (8.27 KB)
OrderService.xsd (1.89 KB)
Screens.zip (427 KB)

Hi Piotr,

looks like a message structure mismatch (eventually caused by a namespace issue).

The Error message indicates, that st:success field is expected on the top level of the reply.
But according to the screenschots you have it wrapped in a addiitional root node.

Can you verify that?

BTW:
Which version of wM are you using?

Regards,
Holger

Could you mark on the screenshot which additional root node you are talking about?

I noticed that child node of response was named as ‘Untitled’ but when I inserted it again with new name (‘aos:checkCardValidityResponse’ like in the mock) and did the same mapping, I received the same error as previously.

I am using version 9.7.

Hi Piotr,

can you do some more checks please:

Can you try to call the mock from SoapUI directly?
Can you verify the soapResponse with pub.soap.utils:soapDataToString?
This will show the complete structure of the soapResponse.

Another option might be to debug the service and check the out pipeline of the soapClient call.

Regards,
Holger

Hi Holger,

Yes, I have done it. Result of this action is shown in attached screenshot.

I have tried to map soaResponseData to soapDataToString, but I’m not sure if I have done it properly. After running whole service I receive an error. Mapping and error message are also attached.

Moreover, I have run debugger but I think results didn’t bring anything new.

Thank you for your help.

Regards,
Piotr
soapDataToString.zip (170 KB)


Hi Holger,

do you have any idea what could be the problem?

Regards,
Piotr

Hi Piotr,

before mapping to the soapDataToString you need to extract the Soap-Header and the Soap-Body from the soapResponse. There are appropriate get-Services in the WmPublic-Package.

The Header and the Body can then by mapped to soapDataToString.

Regards,
Holger

Hi Holger,

I have done what you said, but I have received the same error as previously: “Parameter soapData must be a valid soapData”, both for getHeader and getBody (even without using soapDataToString). I attach proper screenshots. It looks like parameter soapResponseData is always empty and that’s why this error comes.

Moreover, there is nothing in SoapUI Message logs. That’s weird because when I stop MockService in SoapUI and run my Flow Service in WebMethods, I receive exception: “First Element must contain the local name, Envelope, but found html”. So it looks like WebMethods is able to see that there is someting running in localhost:8088, but don’t send any Soap message there (no logs in SoapUI, problems with soapData). Unfortunately, I don’t understand why.

Regards,
Piotr
SOAP.zip (320 KB)

Hi Holger,

I’ve recently made some more tests. I’ve created another different service ‘ping’ to check, if SoapClient can send any message to SoapUI mock, without any input or output. Unfortulanely, I’ve received another error, which shows that I have to define any input element in Pipeline In.

Then I’ve added ‘test’ element to Pipeline In in Software AG, to request in SoapUI mock an ‘resp’ element to SoapUI mock response. The result was almost the same - there was nothing in SoapUI logs and I’ve received error message in Software AG.

Regards,
Piotr

empty ping.zip (113 KB)


one element ping .zip (115 KB)