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

Reply via email to