I'm using Oxygen 8.2, WSDL/SOAP Analyzer tool to send SOAP request to Axis 2 server. When I use HTTP client it doesn't complain about content-type=application/xml in the response. However, Oxygen is unable to understand the SOAP response and fails with following error message: Invalid Content-Type:application/xml. Is this an error message instead of a SOAP response?
I tried sending a SOAP request with a dummy URI in the SOAPAction from Oxygen and still get above error message. This is the response I received from Oxygen support team: The axis server responds with a "Content-Type: application/xml; charset=utf-8" header. Unfortunately the "com.sun.xml.messaging.saaj.soap.MessageImpl" class from the "saaj-impl.jar" we are using to interpret the message tries to map the content type received from the server either as "text/xml" in which case it considers the SOAP response to be of version 1.1 or as "application/soap+xml" in which case it considers the response to be of version 1.2. As neither matches, the SOAP client throws the error message you received. Thanks Chandru Ganesan ________________________________ From: keith chapman [mailto:[EMAIL PROTECTED] Sent: Tuesday, October 02, 2007 11:30 AM To: axis-user@ws.apache.org Subject: Re: Axis 2.0 Content-type Hi, The SOAPaction is an attribute which can be used to dispatch a message. If a service advertises that it uses a SOAPAction you can set it in the client so that the client sends it in the request. As SOAPaction is mandatory in SOAP 1.1 request you should atleast have the following header SOAPAction: "" What is the client that your using. If its axis2 it does the above (Add an empty SOAPaction if its not specified) if the request is SOAP 1.1. Thanks, Keith On 10/2/07, Ganesan, Chandru <[EMAIL PROTECTED]> wrote: Hi Keith Thanks for the quick response. As you've guessed correctly the request does not contain a SOAPAction. I'm not quite clear about what should the value of SOAPAction be so that Axis 2.0 treats it as SOAP 1.1 request. As I'm researching this topic, appreciate your thoughts on it. Thanks Chandru Ganesan ________________________________ From: keith chapman [mailto:[EMAIL PROTECTED] Sent: Tuesday, October 02, 2007 10:59 AM To: axis-user@ws.apache.org Subject: Re: Axis 2.0 Content-type No you dont need to modify your axis2.xml leave it as it was. Can you check the SOAP request you sent. I'm sure it does not contain the SOAPAction header. In SOAP 1.1 the SOAPAction is mandatory and axis2 uses this as a key to differentiate between REST request and SOAP 1.1 request (As some REST request uses text/xml as the contentType). The reason your response was application/xml is because Axis2 treated your request as a REST request and responded accordingly. Thanks, Keith. On 10/2/07, Ganesan, Chandru <[EMAIL PROTECTED]> wrote: Hi When I send a SOAP request to Axis 2.0 service the response contains content-type=application/xml in the HTTP header. This causes WSDL/SOAP client tool to throw an exception as it doesn't understand the content-type of application/xml. For SOAP 1.1 it expects content-type=text/xml. I modified the Axis2.xml to include following lines. But this still doesn't return content-type=text/xml. Am I missing something in the Axis2.xml so that content-type of text/xml can be returned in the response. Appreciate your input very much. Modified Axis2.xml contains following lines for text/xml: ========================================================= <messageBuilders> <messageBuilder contentType="text/xml" class=""/> <messageBuilder contentType="" class=""/> <messageBuilder contentType="multipart/form-data" class=""/> </messageBuilders> SOAP response ============= "HTTP/1.1 200 OK[\r][\n]" 128708 DEBUG [ class ro.sync.ui.application.A.J ] httpclient.wire.header - << "Via: 1.1 HOUWEBPROXY03[\r][\n]" 128708 DEBUG [ class ro.sync.ui.application.A.J ] httpclient.wire.header - << "Connection: Keep-Alive[\r][\n]" 128708 DEBUG [ class ro.sync.ui.application.A.J ] httpclient.wire.header - << "Proxy-Connection: Keep-Alive[\r][\n]" 128708 DEBUG [ class ro.sync.ui.application.A.J ] httpclient.wire.header - << "Transfer-Encoding: chunked[\r][\n]" 128708 DEBUG [ class ro.sync.ui.application.A.J ] httpclient.wire.header - << "Date: Mon, 01 Oct 2007 19:37:41 GMT[\r][\n]" 128708 DEBUG [ class ro.sync.ui.application.A.J ] httpclient.wire.header - << "Content-Type: application/xml; charset=utf-8[\r][\n]" 128708 DEBUG [ class ro.sync.ui.application.A.J ] httpclient.wire.header - << "Cache-Control: no-cache="set-cookie"[\r][\n]" 128708 DEBUG [ class ro.sync.ui.application.A.J ] httpclient.wire.header - << "Set-Cookie: JSESSIONID=zLGnHBMF7LRLqfr59qZ8TGWQXyHx6j7qh1BBTZyGQRXjsZn3Wb9n!16440382 36; path=/[\r][\n]" 128708 DEBUG [ class ro.sync.ui.application.A.J ] httpclient.wire.header - << "X-Powered-By: Servlet/2.4 JSP/2.0[\r][\n]" thanks Chandru Ganesan --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Keith Chapman WSO2 Inc. Oxygen for Web Services Developers. http://wso2.org/ -- Keith Chapman WSO2 Inc. Oxygen for Web Services Developers. http://wso2.org/