0 Replies Latest reply on Dec 19, 2006 8:21 PM by aslocal

    Calling a web service via soap

    aslocal

      Hello. I'm trying to call a webservice via SOAP. I keep getting this exception:

      javax.xml.rpc.JAXRPCException: Cannot create SOAPFault message for: javax.xml.rpc.soap.SOAPFaultException: setProperty must be overridden by all subclasses of SOAPMessage

      My class looks like this:

      @Stateless
      @WebService(serviceName = "ListingWebService")
      @SOAPBinding(style = SOAPBinding.Style.RPC, use=SOAPBinding.Use.LITERAL)

      public class ListingWebService {
      public ListingWebService() {
      }

      @WebMethod(operationName="HelloWorld")
      public String setHelloMessage(String test) {
      return "Hello This is my first EJB3.0 webservice developed in JDeveloper and deployed on the glassfish platform";
      }
      }

      My SOAP message looks like:

      <?xml version="1.0" encoding="UTF-8"?>
      <SOAP-ENV:Envelope
      SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
      xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
      xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance"
      xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
      xmlns:xsd="http://www.w3.org/1999/XMLSchema"
      >
      <SOAP-ENV:Body>
      <ns1:HelloWorld xmlns:ns1="http://webservice.ejb.smile4u.com/jaws" SOAP-ENC:root="1">
      <v1 xsi:type="xsd:string">boo</v1>
      </ns1:HelloWorld>
      </SOAP-ENV:Body>
      </SOAP-ENV:Envelope>

      My WSDL is as follows:

      <?xml version="1.0" encoding="UTF-8"?>
      <definitions name="ListingWebService" targetNamespace="http://webservice.ejb.smile4u.com/jaws" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:tns="http://webservice.ejb.smile4u.com/jaws" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/">
       <types>
       <schema elementFormDefault="qualified" targetNamespace="http://webservice.ejb.smile4u.com/jaws" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:soap11-enc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns="http://webservice.ejb.smile4u.com/jaws" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
       <complexType name="HelloWorld">
       <sequence/>
       </complexType>
       <complexType name="HelloWorldResponse">
       <sequence>
       <element name="result" nillable="true" type="string"/>
       </sequence>
       </complexType>
       <element name="HelloWorld" type="tns:HelloWorld"/>
       <element name="HelloWorldResponse" type="tns:HelloWorldResponse"/>
       </schema>
       </types>
       <message name="ListingWebService_HelloWorldResponse">
       <part name="result" element="tns:HelloWorldResponse"/>
       </message>
       <message name="ListingWebService_HelloWorld">
       <part name="parameters" element="tns:HelloWorld"/>
       </message>
       <portType name="ListingWebService">
       <operation name="HelloWorld">
       <input message="tns:ListingWebService_HelloWorld"/>
       <output message="tns:ListingWebService_HelloWorldResponse"/>
       </operation>
       </portType>
       <binding name="ListingWebServiceBinding" type="tns:ListingWebService">
       <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
       <operation name="HelloWorld">
       <soap:operation soapAction=""/>
       <input>
       <soap:body use="literal"/>
       </input>
       <output>
       <soap:body use="literal"/>
       </output>
       </operation>
       </binding>
       <service name="ListingWebService">
       <port name="ListingWebServicePort" binding="tns:ListingWebServiceBinding">
       <soap:address location="http://2fast:8080/smile4u/ListingWebService"/>
       </port>
       </service>
      </definitions>
      
      

      What am I doing wrong?

      Thanks, Graeme.