Tried to get a Java client using webMethods to communicate with my .NET web service. I was not on the Java end. A 3rd party client was. We had an interoperability problem when the Java client sent the SOAP message:
<?xml version="1.0" encoding="UTF-8"?> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <soapenv:Body> <StartEvaluation xmlns="http://ottawa.byu.edu/Emar"> <parameters href="#id0"xmlns=""/> </StartEvaluation> <multiRef id="id0"soapenc:root="0" soapenv:encodingStyle=""xsi:type="ns1:StartEvaluation"xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"xmlns:ns1="http://ottawa.byu.edu/Emar"> <PIN xsi:type="xsd:string">TESTPIN</PIN> <QuestionnaireNamexsi:type="xsd:string">READY</QuestionnaireName> </multiRef> </soapenv:Body> </soapenv:Envelope>
The multiRef was not interpreted by the .NET web service the way the Java client was expecting, and the result was that none of the arguments actually got passed into the web method.
After researching on Google for a while, it appeared that using links with multiRef is a rather "advanced" topic and some implementors do not support it.
Still researching how to solve the problem. See future web blogs for solution (hopefully).