[jboss-user] [JBossWS] - JBoss 5.0.1.GA, JBossWS 3.0.5, JDK 1.6 - java.lang.Unsupport

a.fluegge do-not-reply at jboss.com
Fri Jul 10 06:00:20 EDT 2009


Hello!

I'm trying to call a simple web service with following configuration: 5.0.1.GA, JBossWS 3.0.5, JDK 1.6.0_14. Details below.

Callin the service gets the following exception:


  | 11:33:16,163 ERROR [SOAPFaultHelperJAXWS] SOAP request exception
  | java.lang.UnsupportedOperationException: setProperty must be overridden by all subclasses of SOAPMessage
  | 	at javax.xml.soap.SOAPMessage.setProperty(SOAPMessage.java:445)
  | 	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:455)
  | 	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:85)
  | 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
  | 	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:829)
  | 	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)
  | 

I suppose that the SOAPMessage class comes from the JDK 1.6 which is incompatible with the one from JBossWS (in jbossws-native-saaj.jar). The jar file is located in the <JBOSS_HOME>/lib/endorsed dir. All suggestions to solve this problem are to copy the jar files to the endorsed dir, but they are already there!

Can anybody help me?

Thanks,
Andreas


This is the source:


  | package test;
  | 
  | import javax.ejb.Stateless;
  | import javax.jws.WebMethod;
  | import javax.jws.WebService;
  | 
  | import org.apache.commons.logging.Log;
  | import org.jboss.seam.annotations.Logger;
  | 
  | @Stateless
  | @WebService(name = "testService", serviceName = "testService")
  | public class TestService implements TestServiceRemote {
  | 
  | 	@Logger
  | 	private Log	log;
  | 
  | 	@WebMethod
  | 	public String testService(String name) {
  | 		String txt = "testService:" + name;
  | 
  | 		log.info("testService:" + name);
  | 
  | 		return txt;
  | 	}
  | }
  | 
  | package test;
  | 
  | import javax.ejb.Remote;
  | import javax.jws.WebMethod;
  | 
  | @Remote
  | public interface TestServiceRemote {
  | 	@WebMethod
  | 	public String testService(String name);
  | }
  | 

Deployment is no problem, calling the http:.../TestService?wsdl URL gets the following:


  | <definitions name='testService' targetNamespace='http://test/' xmlns='http://schemas.xmlsoap.org/wsdl/' xmlns:soap='http://schemas.xmlsoap.org/wsdl/soap/' xmlns:tns='http://test/' xmlns:xsd='http://www.w3.org/2001/XMLSchema'>
  |  <types>
  |   <xs:schema targetNamespace='http://test/' version='1.0' xmlns:tns='http://test/' xmlns:xs='http://www.w3.org/2001/XMLSchema'>
  |    <xs:element name='testService' type='tns:testService'/>
  |    <xs:element name='testServiceResponse' type='tns:testServiceResponse'/>
  |    <xs:complexType name='testService'>
  |     <xs:sequence>
  |      <xs:element minOccurs='0' name='arg0' type='xs:string'/>
  |     </xs:sequence>
  | 
  |    </xs:complexType>
  |    <xs:complexType name='testServiceResponse'>
  |     <xs:sequence>
  |      <xs:element minOccurs='0' name='return' type='xs:string'/>
  |     </xs:sequence>
  |    </xs:complexType>
  |   </xs:schema>
  |  </types>
  |  <message name='testService_testServiceResponse'>
  | 
  |   <part element='tns:testServiceResponse' name='testServiceResponse'></part>
  |  </message>
  |  <message name='testService_testService'>
  |   <part element='tns:testService' name='testService'></part>
  |  </message>
  |  <portType name='testService'>
  |   <operation name='testService' parameterOrder='testService'>
  |    <input message='tns:testService_testService'></input>
  |    <output message='tns:testService_testServiceResponse'></output>
  | 
  |   </operation>
  |  </portType>
  |  <binding name='testServiceBinding' type='tns:testService'>
  |   <soap:binding style='document' transport='http://schemas.xmlsoap.org/soap/http'/>
  |   <operation name='testService'>
  |    <soap:operation soapAction=''/>
  |    <input>
  |     <soap:body use='literal'/>
  |    </input>
  | 
  |    <output>
  |     <soap:body use='literal'/>
  |    </output>
  |   </operation>
  |  </binding>
  |  <service name='testService'>
  |   <port binding='tns:testServiceBinding' name='testServicePort'>
  |    <soap:address location='http://127.0.0.1:8080/spaceserver-spaceserver/TestService'/>
  |   </port>
  | 
  |  </service>
  | </definitions>
  | 

View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4242812#4242812

Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=4242812



More information about the jboss-user mailing list