WS Consumer xml parameter

Hi,

I have encountered a problem when I try to use a web service consumer. I’ve created the consumer from a wsdl-file and that seems to work. The consumer sends data and does get a reply but does not send the data with correct parameters for unknown reasons.

The consumer takes the following IS doc as input parameter:

tns:ConsumerMethod
 - tns:xml
 - tns:password

I map my data to “tns:xml” and password to “tns:password”, the message is sent and I get an answer from the consumer. However, the data inside “tns:xml” does not reach the consumer endpoint but “tns:password” does.

I turned on logging for SOAP/WSDL as suggested here:
watt.server.SoapRPC.debug=true
watt.server.SoapRPC.trace=true
watt.server.SoapRPC.verbose=true
watt.server.WSDL.debug=true

And the actual message that was logged to the server log was this:

<?xml version="1.0" encoding="UTF-8"?><SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <SOAP-ENV:Header xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"/>
    <SOAP-ENV:Body>
        <tns:ConsumerMethod xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:tns="http://tempuri.org/">
            <tns:_x0078_ml xmlns:tns="http://tempuri.org/">
                xml_data_here
            </tns:_x0078_ml>
            <tns:password xmlns:tns="http://tempuri.org/">password_here</tns:password>
        </tns:ConsumerMethod>
    </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

So somewhere “tns:xml” gets translated to “tns:_x0078_ml” which I think is the reason for my problems. I don’t know why this happens nor how to fix this. Has anyone else experience similar problems?

Thank you for reading,
/Hyui

Hi again,

At the moment I’m using a workaround where I created the SOAP request myself through pub.client:http (http-post). I should also mention that the WSDL works fine in SoapUI and does generate correct parameter names for the tns:xml input.

However I’m still interested in why the built-in SOAP support doesn’t work in this case and/or how to fix it. I’m using a few other SOAP web services that are working fine with the built-in support.

/Hyui