4 Replies Latest reply on Nov 7, 2006 8:24 AM by Joern

    Problems consuming a Web Service

    Roman Kisilenko Newbie

      Hello,

      I'm trying to implement JSR-181 EJB webservice. It deploys fine, but when I trying to access it from client-side, I'm getting following Exception at client-side:

      java.lang.NoSuchFieldError: fFeatures
       at org.jboss.xb.binding.parser.xni.XniJBossXBParser$ParserConfiguration.configurePipeline(XniJBossXBParser.java:459)
       at org.apache.xerces.parsers.DTDConfiguration.reset(Unknown Source)
       at org.apache.xerces.parsers.DTDConfiguration.parse(Unknown Source)
       at org.apache.xerces.parsers.DTDConfiguration.parse(Unknown Source)
       at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
       at org.jboss.xb.binding.parser.xni.XniJBossXBParser.parse(XniJBossXBParser.java:192)
       at org.jboss.xb.binding.UnmarshallerImpl.unmarshal(UnmarshallerImpl.java:151)
       at org.jboss.ws.metadata.jaxrpcmapping.JavaWsdlMappingFactory.parse(JavaWsdlMappingFactory.java:79)
       at org.jboss.ws.deployment.JSR109ClientMetaDataBuilder.buildMetaData(JSR109ClientMetaDataBuilder.java:73)
       at org.jboss.ws.jaxrpc.ServiceImpl.<init>(ServiceImpl.java:96)
       at org.jboss.ws.jaxrpc.ServiceFactoryImpl.createService(ServiceFactoryImpl.java:157)
       at org.jboss.ws.jaxrpc.ServiceFactoryImpl.createService(ServiceFactoryImpl.java:142)
       at session.SessionUnitTest.testLogin(SessionUnitTest.java:21)
      ...
      I have spend many hours trying to find any info in User's Guide, Wiki and Forums. But found nothing and still unable to resolve the problem. It seems error happens even before client connects to a web service.

      My web service code:
      package session;
      
      import javax.ejb.Stateless;
      import javax.jws.WebMethod;
      import javax.jws.WebService;
      import javax.jws.soap.SOAPBinding;
      
      @WebService
      @SOAPBinding(style = SOAPBinding.Style.RPC)
      @Stateless
      public class SessionBean implements Session {
      
       @WebMethod
       public void login() {
       System.out.println("call");
       }
      
      }

      My client code:
      ServiceFactoryImpl factory = new ServiceFactoryImpl();
       URL wsdlURL = new URL("http://localhost:8070/teststatelessendpoint/SessionBean?wsdl");
       URL mappingURL = new File("src-gen/jaxrpc-mapping.xml").toURL();
       QName qname = new QName("http://localhost:8070/teststatelessendpoint", "SessionBean");
       Service service = factory.createService(wsdlURL, qname, mappingURL);
       session.jaws.SessionBean port = (session.jaws.SessionBean)service.getPort(session.jaws.SessionBean.class);
       port.login();

      Possibly I'm missing something very simple or obvious. Hope for your help.

      Thank you in advance for your help,
      Roman