Get WebServiceException : No Content-type in the header! when Content-type: is set
----------------------------------------------------------------------------------
Key: JBWS-2440
URL:
https://jira.jboss.org/jira/browse/JBWS-2440
Project: JBoss Web Services
Issue Type: Bug
Security Level: Public (Everyone can see)
Components: jbossws-native
Affects Versions: jbossws-native-3.0.4
Environment: Windows XP SP3, JBoss 5.0.0.GA (not the jdk6 version), Native Web
Services stack 3.0.4 SP1, jdk1.6.0_10
I've copied the 4 jbossws-native*.jar files into the lib/endorsed dir.
Reporter: Dean Schulze
Priority: Critical
When a client invokes a method on a web service it throws a WebServiceException: No
Content-type in the header! even though the Content-type: is set.
This same web service and client run properly when deployed on Glassfish V3 Prelude. (I
have to remove the web.xml file from the .war to run on Glassfish, but otherwise
everything is the same.)
Here's the client output (I've included the protocol output):
---[HTTP request -
http://127.0.0.1:8080/credit.service/CreditService]---
Content-type: text/xml;charset="utf-8"
Soapaction: ""
Accept: text/xml, multipart/related, text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2
<?xml version='1.0' encoding='UTF-8'?><S:Envelope
xmlns:S="http://schemas.xmlsoap.org/soap/envelope/"><S:Bo...
xmlns="http://ns.soacookbook.com/credit"><cardNumber>4...
---[HTTP response -
http://127.0.0.1:8080/credit.service/CreditService - 200]---
null: HTTP/1.1 200 OK
Content-length: 0
X-powered-by: Servlet 2.5; JBoss-5.0/JBossWeb-2.1
Server: Apache-Coyote/1.1
Date: Sun, 28 Dec 2008 18:39:07 GMT
--------------------
Exception in thread "main" javax.xml.ws.WebServiceException: No Content-type in
the header!
at
com.sun.xml.ws.transport.http.client.HttpTransportPipe.process(HttpTransportPipe.java:183)
at
com.sun.xml.ws.transport.http.client.HttpTransportPipe.processRequest(HttpTransportPipe.java:94)
at
com.sun.xml.ws.transport.DeferredTransportPipe.processRequest(DeferredTransportPipe.java:116)
at com.sun.xml.ws.api.pipe.Fiber.__doRun(Fiber.java:598)
at com.sun.xml.ws.api.pipe.Fiber._doRun(Fiber.java:557)
at com.sun.xml.ws.api.pipe.Fiber.doRun(Fiber.java:542)
at com.sun.xml.ws.api.pipe.Fiber.runSync(Fiber.java:439)
at com.sun.xml.ws.api.pipe.helper.AbstractTubeImpl.process(AbstractTubeImpl.java:112)
at com.sun.xml.xwss.XWSSClientPipe.process(XWSSClientPipe.java:160)
at com.sun.xml.ws.api.pipe.helper.PipeAdapter.processRequest(PipeAdapter.java:115)
at com.sun.xml.ws.api.pipe.Fiber.__doRun(Fiber.java:598)
at com.sun.xml.ws.api.pipe.Fiber._doRun(Fiber.java:557)
at com.sun.xml.ws.api.pipe.Fiber.doRun(Fiber.java:542)
at com.sun.xml.ws.api.pipe.Fiber.runSync(Fiber.java:439)
at com.sun.xml.ws.client.Stub.process(Stub.java:222)
at com.sun.xml.ws.client.sei.SEIStub.doProcess(SEIStub.java:135)
at com.sun.xml.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:109)
at com.sun.xml.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:89)
at com.sun.xml.ws.client.sei.SEIStub.invoke(SEIStub.java:118)
at $Proxy36.authorize(Unknown Source)
at client.CreditServiceClient.main(CreditServiceClient.java:42)
The server side .log has this:
2008-12-28 12:00:17,892 DEBUG [org.jboss.wsf.stack.jbws.RequestHandlerImpl]
(http-127.0.0.1-8080-2) handleWSDLRequest:
jboss.ws:context=credit.service,endpoint=CreditService
2008-12-28 12:00:17,892 DEBUG [org.jboss.wsf.stack.jbws.RequestHandlerImpl]
(http-127.0.0.1-8080-2) WSDL request, using host: 127.0.0.1
2008-12-28 12:00:19,674 DEBUG [org.jboss.wsf.stack.jbws.RequestHandlerImpl]
(http-127.0.0.1-8080-2) doPost: /credit.service/CreditService
2008-12-28 12:00:19,674 DEBUG [org.jboss.wsf.stack.jbws.RequestHandlerImpl]
(http-127.0.0.1-8080-2) handleRequest:
jboss.ws:context=credit.service,endpoint=CreditService
2008-12-28 12:00:19,674 DEBUG [org.jboss.ws.core.soap.MessageContextAssociation]
(http-127.0.0.1-8080-2) pushMessageContext:
org.jboss.ws.core.jaxws.handler.SOAPMessageContextJAXWS@1fa1e7 (Thread
http-127.0.0.1-8080-2)
2008-12-28 12:00:19,674 DEBUG [org.jboss.wsf.stack.jbws.RequestHandlerImpl]
(http-127.0.0.1-8080-2) BEGIN handleRequest:
jboss.ws:context=credit.service,endpoint=CreditService
2008-12-28 12:00:19,674 DEBUG [org.jboss.ws.core.soap.MessageFactoryImpl]
(http-127.0.0.1-8080-2) createMessage: [contentType=text/xml; charset=utf-8]
2008-12-28 12:00:19,674 DEBUG [org.jboss.ws.metadata.umdm.EndpointMetaData]
(http-127.0.0.1-8080-2) Configure SOAPBinding
2008-12-28 12:00:19,674 ERROR [org.jboss.ws.core.jaxws.SOAPFaultHelperJAXWS]
(http-127.0.0.1-8080-2) SOAP request exception
java.lang.UnsupportedOperationException: setProperty must be overridden by all subclasses
of SOAPMessage
at javax.xml.soap.SOAPMessage.setProperty(SOAPMessage.java:441)
at org.jboss.ws.core.soap.SOAPMessageImpl.<init>(SOAPMessageImpl.java:82)
at org.jboss.ws.core.soap.MessageFactoryImpl.createMessage(MessageFactoryImpl.java:215)
at org.jboss.ws.core.soap.MessageFactoryImpl.createMessage(MessageFactoryImpl.java:193)
at
org.jboss.wsf.stack.jbws.RequestHandlerImpl.processRequest(RequestHandlerImpl.java:479)
at
org.jboss.wsf.stack.jbws.RequestHandlerImpl.handleRequest(RequestHandlerImpl.java:295)
at org.jboss.wsf.stack.jbws.RequestHandlerImpl.doPost(RequestHandlerImpl.java:205)
at
org.jboss.wsf.stack.jbws.RequestHandlerImpl.handleHttpRequest(RequestHandlerImpl.java:131)
at
org.jboss.wsf.common.servlet.AbstractEndpointServlet.service(AbstractEndpointServlet.java:109)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:235)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at
org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:190)
at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:92)
at
org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.process(SecurityContextEstablishmentValve.java:126)
at
org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:70)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at
org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:330)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:828)
at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:601)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Thread.java:619)
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira