We are currently replacing a J2EE web service with Yaws' soap library goodness.

When we invoke the new service via yaws_soap_lib:call/4 it works fine, in that the .yaws "shim" is invoked, which in turn calls the Yaws soap server.

However the format of the actual SOAP messages we receive from the field are slightly different to that which is generated by yaws_soap_lib:call/4, in that the elements explicitly assert their types by means of 'xsi:type' attributes as follows:

  <dataaggrws:SendDeviceEventsRequest xsi:type="dataaggrws:SendDeviceEventsRequest">

When we invoke the service with a message that contains such xsi:type attributes (e.g. using curl) then we get a "Type not found in hierarchy" from yaws_server (via the erlsom side of things):

=ERROR REPORT==== 26-May-2009::11:48:13 ===
yaws_soap_srv(210): Cli Error: {decoding,
                                   "Type not found in hierarchy: p:SendDeviceEventsRequest"}},
                                  {startElement, "http://msdp.radialpoint.com/data-aggregation-service/1.0",

Can anyone point out where we're going wrong?

Thank you kindly,

Edward Garson