0 Replies Latest reply on May 8, 2006 8:46 AM by Boerre Brox

    Something is wrong with my wsdl

    Boerre Brox Newbie

      Hi I'm new to webservices, and have a issue I can't seem to figure out.

      I've followed some tutorials, and made a helloworld example implementation which was written for jboss ws4ee, using RPC/literal.
      It worked fine when I tested it, and all seemed nice..

      Then I wanted to test my app on a mobile device, and that ment I had to rewrite the wsdl to document/literal.
      The application deploys fine, and comes up in the list of services, however I get errors when trying to run a simple client, or run stub generation from Suns wireless toolkit.

      The errors I get are as follows:


      Deserializing parameter 'getHelloWorld': could not find deserializer for type {http://www.w3.org/2001/XMLSchema}reqElement

      And from suns wireless toolkit:
      error: modeler error: invalid entity name: "resElement" (in namespace: "http://www.w3.org/2001/XMLSchema")

      I've been at this for three days now, trying to figure out whats wrong, but cant seem to find anything that works.. Any help at all would be greatly appreciated! :)

      Here's my WSDL:
       <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
       <xsd:element name="reqElement" type="xsd:string" />
       <xsd:element name="resElement" type="xsd:string" />
      <message name="getHelloWorldRequest">
       <part name="req" type="xsd:reqElement" />
      <message name="getHelloWorldResponse">
       <part name="res" type="xsd:resElement" />
      <portType name="HelloWorld">
       <operation name="getHelloWorld" parameterOrder="req">
       <input name="getHelloWorldRequest" message="impl:getHelloWorldRequest"/>
       <output name="getHelloWorldResponse" message="impl:getHelloWorldResponse"/>
      <binding name="HelloWorldSoapBinding" type="impl:HelloWorld">
       <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
       <operation name="getHelloWorld">
       <soap:operation soapAction="" style="document"/>
       <input name="getHelloWorldRequest">
       <soap:body use="literal"/>
       <output name="getHelloWorldResponse">
       <soap:body use="literal" />
      <service name="HelloWorldService">
       <port name="HelloWorld" binding="impl:HelloWorldSoapBinding">
       <soap:address location=""/>

      My client:
      import javax.xml.namespace.QName;
      import org.apache.axis.client.Call;
      import org.apache.axis.client.Service;
      public class TestClient {
       * @param args
       public static void main(String[] args) {
       try {
       System.out.println("Here we go...");
       String endpoint = "";
       Service service = new Service();
       Call call = (Call) service.createCall();
       call.setTargetEndpointAddress(new java.net.URL(endpoint));
       call.setOperationName(new QName("http://what.com", "getHelloWorld"));
       for(int i=1; i<=10; i++) {
       String ret = (String) call.invoke(new Object[] { "TYPO! " + i } );
       System.out.println("Sent TYPO!" + i + ", got '" + ret + "'");
       System.out.println("End of code...");
       catch(Exception e) {

      If theres any more code I should supply, please tell me.