Problems consuming a Web Service
rkisilenko2 Jul 3, 2006 3:48 PMHello,
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