I was able to solve this by adding in a SOAP Header for the "To:" that
they were looking for (I was lucky enough to have a working .NET
example, so basically I just mimicked the xml produced by that
application as best I could). Of course now I get a 400 error, but
there's alot more to send them so I am unstuck by this error anyway.
Code to add the "To:" header:
org.apache.axis.message.SOAPHeaderElement element = new
org.apache.axis.message.SOAPHeaderElement("http://schemas.xmlsoap.org/ws/2004/03/addressing",
"To");
element.setPrefix("wsa");
element.setAttribute("wsu:Id", "Id-" + idGenerator.nextUUID());
element.setObjectValue("urn:AWordICannotFindAnywhereInMyCode");
_call.addHeader(element);
Jim
Anne Thomas Manes wrote:
So you should tell the folks that built the service that they should
define a more reasonable Actor attribute. To make it easier for
consumers, the Actor attribute should be the same as the service
endpoint URL.
The wsa:To value specifies the "destination" property, which is a URI
that represents the Actor to whom the request is targeted -- not the
physical location of the service. (The physical location may change,
after all.)
Based on your error message, you should specify the destination
property as "urn:AWordICannotFindAnywhereInMyCode".
Anne