[jboss-user] [JBoss Web Services] - JBOSS5+java6+Cannot obtain java type mapping+setProperty must be overridden by all subclasses of SOAPMessage

Ravi Sawlani do-not-reply at jboss.com
Fri Oct 8 01:37:35 EDT 2010


Ravi Sawlani [http://community.jboss.org/people/ravisawlani86] created the discussion

"JBOSS5+java6+Cannot obtain java type mapping+setProperty must be overridden by all subclasses of SOAPMessage"

To view the discussion, visit: http://community.jboss.org/message/565500#565500

--------------------------------------------------------------
Hi
*A Web Service is deployed on jboss-as server of jboss-soa-p.5.0.0 (Server version 5.0.2.GA) running on jdk 1.6.0_30, following is the code and WSDL* 
** 
*import* javax.jws.WebMethod;
*import* javax.jws.WebService;
 
@WebService
*public* *class* TestService {
     
      @WebMethod
      *public* String sayHello(String name){
            String greeting="Welcome......"+name;
            *return* greeting;
      }
}
** 
*WSDL :* 
** 
<definitions name="TestServiceService" targetNamespace=" http://testpack/ http://testPack/" xmlns=" http://schemas.xmlsoap.org/wsdl/ http://schemas.xmlsoap.org/wsdl/" xmlns:soap=" http://schemas.xmlsoap.org/wsdl/soap/ http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns=" http://testpack/ http://testPack/" xmlns:xsd=" http://www.w3.org/2001/XMLSchema http://www.w3.org/2001/XMLSchema">
<types>
<xs:schema targetNamespace=" http://testpack/ http://testPack/" version="1.0" xmlns:tns=" http://testpack/ http://testPack/"                 xmlns:xs=" http://www.w3.org/2001/XMLSchema http://www.w3.org/2001/XMLSchema">
  <xs:element name="sayHello" type="tns:sayHello" /> 
  <xs:element name="sayHelloResponse" type="tns:sayHelloResponse" /> 
<xs:complexType name="sayHello">
<xs:sequence>
  <xs:element minOccurs="0" name="arg0" type="xs:string" /> 
  </xs:sequence>
  </xs:complexType>
<xs:complexType name="sayHelloResponse">
<xs:sequence>
  <xs:element minOccurs="0" name="return" type="xs:string" /> 
  </xs:sequence>
  </xs:complexType>
  </xs:schema>
  </types>
<message name="TestService_sayHelloResponse">
  <part element="tns:sayHelloResponse" name="sayHelloResponse" /> 
  </message>
<message name="TestService_sayHello">
  <part element="tns:sayHello" name="sayHello" /> 
  </message>
<portType name="TestService">
<operation name="sayHello" parameterOrder="sayHello">
  <input message="tns:TestService_sayHello" /> 
  <output message="tns:TestService_sayHelloResponse" /> 
  </operation>
  </portType>
<binding name="TestServiceBinding" type="tns:TestService">
  <soap:binding style="document" transport=" http://schemas.xmlsoap.org/soap/http http://schemas.xmlsoap.org/soap/http" /> 
<operation name="sayHello">
  <soap:operation soapAction="" /> 
<input>  <soap:body use="literal" />  </input>
<output>  <soap:body use="literal" />   </output>
  </operation>
  </binding>
<service name="TestServiceService">
<port binding="tns:TestServiceBinding" name="TestServicePort">
  <soap:address location=" http://ipadd:8080/TestWebService http://ipadd:8080/TestWebService" /> 
  </port>
  </service>
  </definitions>
 
*When we call this service through following DII client code :*
 
URL url = *new* URL("http://ipadd:8080/TestWebService?wsdl"); 
String ns = "http://testPack/";
QName qname = *new* QName (ns,"TestServiceService"); 
QName port = *new* QName (ns, "TestServicePort"); 
QName operation = *new* QName(ns, "sayHello"); 
ServiceFactory factory = ServiceFactory.+newInstance+(); 
Service service = factory.createService(url, qname); 
Call call = service.createCall(port, operation); 
String test1=(String)call.invoke(*new* Object[]{"XYZ"}); 
System.+out+.println("this is the call" +test1);
** 
*It gives the following java mapping  error :*
Exception in thread "main" 
 
org.jboss.ws.WSException: Cannot obtain java type mapping for: {http://testPack/}sayHelloat org.jboss.ws.metadata.builder.jaxrpc.JAXRPCMetaDataBuilder.processDocElement(JAXRPCMetaDataBuilder.java:627)at org.jboss.ws.metadata.builder.jaxrpc.JAXRPCMetaDataBuilder.buildParameterMetaDataDoc(JAXRPCMetaDataBuilder.java:886)
at org.jboss.ws.metadata.builder.jaxrpc.JAXRPCMetaDataBuilder.setupOperationsFromWSDL(JAXRPCMetaDataBuilder.java:214)
at org.jboss.ws.metadata.builder.jaxrpc.JAXRPCClientMetaDataBuilder.buildMetaDataInternal(JAXRPCClientMetaDataBuilder.java:217)
at org.jboss.ws.metadata.builder.jaxrpc.JAXRPCClientMetaDataBuilder.buildMetaData(JAXRPCClientMetaDataBuilder.java:134)
at org.jboss.ws.metadata.builder.jaxrpc.JAXRPCClientMetaDataBuilder.buildMetaData(JAXRPCClientMetaDataBuilder.java:86)
at org.jboss.ws.core.jaxrpc.client.ServiceImpl.<init>(ServiceImpl.java:111)
at org.jboss.ws.core.jaxrpc.client.ServiceFactoryImpl.createService(ServiceFactoryImpl.java:157)
at org.jboss.ws.core.jaxrpc.client.ServiceFactoryImpl.createService(ServiceFactoryImpl.java:128)
 
*Instead if Complex Types are removed from previous WSDL and changed to xs:string as shown:*
** 
<types>
<xs:schema targetNamespace=" http://testpack/ http://testPack/" version="1.0" xmlns:tns=" http://testpack/ http://testPack/"                 xmlns:xs=" http://www.w3.org/2001/XMLSchema http://www.w3.org/2001/XMLSchema">
<xs:element name="sayHello" type=" xs:string " /> 
<xs:element name="sayHelloResponse" type=" xs:string " /> 
</xs:schema>
</types>
** 
*Now when we run the DII client again, it does not ask for java mapping but gives an error regarding set Property as shown (when client is running on jdk 1.6.0_30):*
** 
Exception in thread "main" java.rmi.RemoteException: Call invocation failed; nested exception is:
      java.lang.UnsupportedOperationException: setProperty must be overridden by all subclasses of SOAPMessage
      at org.jboss.ws.core.jaxrpc.client.CallImpl.invokeInternal(CallImpl.java:535)
      at org.jboss.ws.core.jaxrpc.client.CallImpl.invoke(CallImpl.java:275)
 
*However when this modified wsdl is called using DII client running on jdk 1.5 the web service is invoked without any error*
*but the web method do not receive the parameters being passed to it from the DII client.*
*But when we make stubs using jbossws API and call the web method using stubs, everything works fine irrespective of jdk version.*
** 
*Please HELP ME OUT!!!!  :(*
--------------------------------------------------------------

Reply to this message by going to Community
[http://community.jboss.org/message/565500#565500]

Start a new discussion in JBoss Web Services at Community
[http://community.jboss.org/choose-container!input.jspa?contentType=1&containerType=14&container=2044]

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/jboss-user/attachments/20101008/f9f11598/attachment-0001.html 


More information about the jboss-user mailing list