Ok, I figured out why I was getting the 400 errors.. I was omitting my webapp context in the url sent by the axis2 client. Once I fixed this, I was able to get my Endpoint to handle the message.
I still have one concern. The following are the HTTP headers from the response to GetServerVersion from Axis2:
Code:
HTTP/1.1 200 OK
HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
Content-Type: application/soap+xml; action="urn:getServerVersionResponse";charset=UTF-8
Transfer-Encoding: chunked
Date: Mon, 02 Nov 2009 18:19:02 GMT
And here is the response as sent from my Spring-WS endpoint:
Code:
HTTP/1.1 200 OK
HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
Accept: application/soap+xml, text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2
SOAPAction: ""
Content-Type: application/soap+xml;charset=utf-8
Content-Length: 229
Date: Mon, 02 Nov 2009 19:16:43 GMT
As you can see, the Axis2 version includes the response message name in the Content-Type. The Spring-WS version omits this, and adds a blank SOAPAction header. Should this be a concern?